Очень интересная программа на языке Pascal
Эта задача очень интересна именно тем, что показывает, что наипростейшую задачу можно решить нестандартно.
Задача – поменять значения переменных a и b.
Пусть a=5, а b=7.
Как бы мы решали её просто.
Program name_name;
uses crt;
var a,b,c:LongInt;
begin
readln(a);
readln(b);
c:=b;
b:=a;
a:=c;
write(a,b);
end.
Проверяем работоспособность…
Готово!
Но если мы учимся программировать правильно, то давайте добавим для себя дополнительное условие – перемену значений нужно сделать без дополнительной переменной. Тогда:
program name_eman;
uses crt;
var a,b:LongInt;
begin
readln(a,b);
…
Занесем в переменную A результат суммирования A и B (A := A + B): A = A1 + B1; B = B1;
Занесем в переменную B разность A и B (B := A – B): A = A1 + B1; B = A1;
Занесем в переменную A разность A и B (A := A – B): A = B1; B = A1;
…
writeln(a,b);
end.
Стоит подумать, как словесный псевдокод, представить в виде программного.
Я не буду приводить его здесь, так как я вас очень конкретно направил на решение поставленной задачи. Если ваших умений пока не хватает, чтобы его преобразовать, попробуйте разобраться в первом коде.
© RCE.SU
4 комментария к “Очень интересная программа на языке Pascal”
Написать комментарий
RCE.SU рекомендует!
Поделиться
Свежие записи
- Видеокурсы по JAVA
- Наша компания займется созданием самого лучшего проекта – лендинг пейдж
- Как создать галерею Pixabay в Joomla
- Мы предлагаем создание сайтов с уникальной структурой и функционалом, разработанных под конкретные задачи клиента!
- Сайты для покупки-продажи недвижимости
- Enext.ua – копания по производству электротехнического оборудования
- Преимущества продвижения сайта в поисковых системах
- Анализ ключевых слов на новом уровне
- JOOMLA? Это как раз то, что вам было нужно!
Напоминает школьную задачку по информатике :)
Сдавали сессию и одногруппницу попросили написать прогу поменять значения переменных местами, ну она написала x:=y; y:=x;
var a,b:integer;
begin
readln(a,b);
a:=b+a;
b:=a-b;
a:=a-b;
write(a,b);
end.
Так?
Да. Еще для решения этой задачи можно использовать XOR и тогда три строки будут выглядеть так:
A := A xor B;
B := B xor A;
A := A xor B;