Изучите код:
-- блоки условий можно переписать более кратко, без использования сравнения = true или = false, с сохранением той же логики работы программы.
Подсказки:
оператор if итак неявно сравнивает значение логического выражения в скобках с true (и принимает решение, какую именно ветку then или else выполнить)
для второго if в коде выше потребуется использование оператора Not.
Есть программа:
-- в двух условных операторах действия частично совпадают, а значит наблюдается дублирование кода. Перепишите код так, чтобы дублирования не было.
Есть программа:
-- при этом известно, что если s равно 1, то на экран должно вывестись только первое сообщение (а второе выводиться не должно), а если s не равно 1, но равно m, то второе (а первое выводиться не должно).
Но сейчас программа работает не так, исправьте это.
Есть программа, где стоит проверка на ввод пользователем числа 1 или числа 5: -- но сейчас код написан неоптимально и при каждом запуске выполняется 2 сравнения, при этом код можно переписать так, что при вводе одного из двух значений, которые приводят к выводу сообщения, сравнение будет выполняться только один раз.
Коля набрал k баллов, Миша n баллов, а Петя d баллов в ходе соревнований. Если:
сумма баллов Коли и Миши больше 20
или произведение баллов Пети и Миши меньше 55
--то тогда вывести в консоль сообщение о том, что ничья, в противном случае вывести сообщение, что победил Коля.
var k, n, d: integer;
begin
k:= 9;
n:=9;
d:=9;
if ((k+n)>20) or ((d*n)<55) then
writeln('ничья')
else
writeln('Коля победил');
end.
Пользователь вводит целое число, если оно больше 100, то выведите на экран все числа от этого числа до 1, иначе же все числа от 1 до этого числа.
var i,a:integer;
begin
writeln('Vvedite celoe chislo: ');
readln(a);
if (a>100) then for i:=a downto 1 do write (i,' ')
else for i:=1 to a do write (i,' ');
end.