Начнем с того, что существует две формы оператора if: полная и неполная. Полная содержит в себе действия, происходящие в результате выполнения условия и действия, в результате невыполнения условия. Неполная же предназначена только для действий, выполняющихся в результате успешного выполнения условия.
Рассмотрим форматы записи полной и неполной формы оператора if
if <условие> then <оператор-да> else <оператор-нет> — полная
if <условие> then <оператор-да> — неполная
Теперь рассмотрим, что можно писать вместо, и
<условие> — любое условие,например x>3 или y<z ,или x=10 и т.д.
<оператор-да> — любое действие,например x:=x+1,y=1-y,z:=x-y и т.м.
<оператор-нет>- аналогично полю <оператор-да>
А теперь как это все будет выглядеть в Паскале
if x>3 then y:=x+2 else y:=x-2;
if y>x then x:=(x*y-2)(x-y) else y:=x*x-5x;
Внимание! Перед else нельзя ставить точку с запятой!
Решим простую задачу на использование if
Дано 10 чисел. Найти сумму всех чисел ,больше пяти, и произведение всех чисел, меньше 1 Для решения такой задачи необходимо использовать массивы. Вот как будет выглядеть полный код задачи
var
x, y, i: integer;
s: array [1..10] of integer;begin
writeln(‘Введите 10 чисел через запятую и нажмите Enter’);
x := 0;
y := 1;
for i := 1 to 10 do
begin
read(s[i]);
if s[i] > 5 then x := x + s[i];
if s[i] < 1 then y := y * s[i];
end;
writeln(‘Сумма чисел,больших 5 = ‘, x);
writeln(‘Произведение чисел,меньших 1 = ‘, y);
readln;
end.
Program1.pas(1) : Ожидалось question
почему когда запустила вашу программу вышло такое сообщение. У меня ABC Pascal
Елена,
Поправлено
Теперь все работает )
Доброе время суток! А уменя выдает
Program1.pas(9) : Ошибка времени выполнения: Input string was not in a correct format.
Может я что-то не так делаю?
sidrelena,обновите страницу браузера
в задаче была ошибка , которую я уже поправил.
if s[i] < 1 then x := x * s[i];
простите. а эта строчка правильная?
writeln('Произведение чисел,меньших 1', y);
а где же y
sidrelena,
извините, у меня сегодня что-то с компьютером
некорректно сохраняет
вместо конечного решения сохранилось промежуточное
попробуйте еще раз