С объяснением? Хорошо. Сначала общие моменты. Таблица истинности для ИЛИ: 0 0 0 0 1 1 1 0 1 1 1 1 То есть если одно true-результат true. Про НЕ и гуманитарий догадается. Теперь к нашим примерам. Первое выражение- число НЕ делится на 3 Второе выражение- число меньше 35 Нас устраивает лишь тот вариант если оба выражения ложны, как можно прочитать из таблицы истинности. И варианты: 1. Мусор, оно не делится на 3 2. Мусор, число меньше 35 3. Годно, оно больше 35 и делится на 3 4. Мусор, оно не делится на 3 Таким образом, ответ 3.
1. Для цикла For есть решение выложенное выше от Srzontmp.
2. Почти ничего не меня получим код для цикла while: var i, n, k: integer; begin i := 2; readln(n); while i <= n div 2 do begin if (n mod i) = 0 then k := i; i:=i+1; end; writeln('наибольший делитель ', n, ' = ', k); end.
3. Аналогично для цикла Repeat: var i, n, k: integer; begin i := 2; readln(n); repeat if (n mod i) = 0 then k := i; i:=i+1; until i> n div 2; writeln('наибольший делитель ', n, ' = ', k); end.
var x,n,p:longint; i:integer; begin readln (x,n); p:=1; for i := 1 to N do p:=p*x; writeln(x,' в степени ',n,' равно ',p ); end.
2. Для цикла While var x,n,p:longint; i:integer; begin readln (x,n); p:=1; i:=1; while i<=n do begin p:=p*x; i:=i+1; end; writeln(x,' в степени ',n,' равно ',p ); end.
3. Для цикла Repeat
var x,n,p:longint; i:integer; begin readln (x,n); p:=1; i:=1; repeat p:=p*x; i:=i+1; until i>n; writeln(x,' в степени ',n,' равно ',p ); end.
Сначала общие моменты.
Таблица истинности для ИЛИ:
0 0 0
0 1 1
1 0 1
1 1 1
То есть если одно true-результат true.
Про НЕ и гуманитарий догадается.
Теперь к нашим примерам.
Первое выражение- число НЕ делится на 3
Второе выражение- число меньше 35
Нас устраивает лишь тот вариант если оба выражения ложны, как можно прочитать из таблицы истинности.
И варианты:
1. Мусор, оно не делится на 3
2. Мусор, число меньше 35
3. Годно, оно больше 35 и делится на 3
4. Мусор, оно не делится на 3
Таким образом, ответ 3.