Решение 1-й задачи:
//PascalABC.Net
//NaaMan
var
i, n : integer;
begin
i := 0;
repeat
write('Введите число > ');
readln(n);
if (n > 0) then
if (n mod 2 = 0) then
if (n mod 3 = 0) then i := i + 1;
until (n = 0);
writeln('Количество чётных чисел, кратных 3: ', i)
end.
Для решения второй задачи нужно заменить (n mod 2 = 0) на (n mod 2 = 1) и (n mod 3 = 0) на (n mod 7 = 0).
//Pascal ABC.NET v3.1 сборка 1219
Const
n=5;
Var
ar:array[1..n] of integer;
i:integer;
begin
for i:=1 to n do
readln(ar[i]);
for i:=1 to n-1 do
if ar[i]>ar[i+1] then
begin
writeln('Убывает на одном из участков');
exit;
end;
writeln('Возрастает');
end.
Пояснение.
Заменим буквы Д, Е, К, О, Р на 0, 1, 2, 3, 4 соответственно (для них порядок очевиден — по возрастанию).
Выпишем начало списка, заменив буквы на цифры:
1. 0000
2. 0001
3. 0002
4. 0003
5. 0004
6. 0010
...
Полученная
запись есть числа, записанные в пятеричной системе счисления в порядке
возрастания. Первое слово, начинающееся с «К» — 2000 переведём его в
десятичную: 3 · 52 + 0 · 52 + 0 · 51 + 0 · 50 = 250.
Не забудем о том, что есть слово номер 1, записывающееся как 0, а значит, 250 — число, соответствующее номеру 251.
Ответ: 251.
Var a,b,c,m: integer;
begin
readln (a,b,c);
m:=a;
if b<m then m:=b;
if c<m then m:=c;
if m mod 2 = 0 then write('чётное, ') else write('нечётное, ');
if m = 0 then write('ноль') else
if m > 0 then write('положительное') else write('отрицательное')
end.