Объясню на примере первой задачи.
Перед нами написана программа (алгоритм) на языке псевдокода.
В начале программы объявляются переменные, с которыми мы будем работать. В данном случае, объявляются переменные s и n целочисленного типа (цел). Дальше идет присвоение переменной s значения 1. нц говорит о том, что дальше идет цикл. Каждую его итерацию (шаг) будет выполняться его тело (все, что между нц и кц). Конструкция для x от n до m говорит о том, что каждую итерацию переменная x будет увеличиваться на единицу (если указан шаг, т.е. конструкция выглядит так: для x от n до m шаг y, то будет увеличиваться на y) от числа n до числа m. Как только x будет равна m, цикл прекратится и будут выполняться действия после него. В нашем случае переменной n присваивается 3, выполняется тело s:=s*3. Т.е. после этого шага s будет равна 9. Теперь новая итерация. Переходим в начало цикла. Переменной n присваивается 4 (в предыдущий раз было 3). И опять выполняется действие s:=s*3. s становится равной 27. Потом опять новая итерация. И так далее. Когда n будет равна 5 ,то произойдет последняя итерация. Дальше пойдет вывод s, который после 4 итераций (n от 2-х до 5-ти включительно) будет равна 81.
Итерации более детально:
1. n = 2; s = 1*3 = 3
2. n = 3; s = 3*3 = 9
3. n = 4; s = 9*3 = 27
4. n = 5; s = 27*3 = 81
Все, цикл завершился.
ответы:
1) 81
2) 50
Итерации более детально:
1. n = 3; s = 0+2*3 = 6
2. n = 4; s = 6+2*4= 14
3. n = 5; s = 14+2*5 = 24
4. n = 6; s = 24+2*6 = 36
5. n = 7; s = 36+2*7 = 50
3) 13
4) 11
5) 121
6) 120
7) 38
8) 20
9) 40
Заметим, что в данной задаче указан шаг (step 2). Это значит, что каждую итерацию k будет увеличиваться не на 1-цу, а на 2-ку.
Итерации более детально:
1. k = 6; s = 0+10 = 10
2. k = 8; s = 10+10 = 20
3. k = 10; s = 20+10 = 30
4. k = 12; s = 30+10 = 40
var
n:integer;
begin
readln(n);
if(n<0)then write(0)
else write(n+4);
end.
2)
var
a, b: integer;
begin
readln(a, b);
if(a = b) then
write(1)
else
write(0);
end.
3)
var
a, b, c, s: integer;
begin
s := 0;
readln(a, b, c);
if(a >= 0) then s := s + 1;
if(b >= 0) then s := s + 1;
if(c >= 0) then s := s + 1;
write(s);
end.
4)
var
a, b, c, s: integer;
begin
s := 0;
readln(a, b, c);
if(a > 0) then s := s + a;
if(b > 0) then s := s + b;
if(c > 0) then s := s + c;
write(s);
end.
5)
var
a, b, c: integer;
begin
readln(a, b, c);
if (a < b) then swap(a, b);
if (a < c) then swap(a, c);
if (b < c) then swap(b, c);
write(a, ' ', b, ' ', c);
end.
6)
var n, k, s, i: integer;
begin
s := 0;
readln(n, k);
for i := 1 to n.ToString.Length do
if(strtoint(n.ToString[i]) > k) then s := s + strtoint(n.ToString[i]);
write(s);
end.
7)
var n, s, i: integer;
begin
s := 0;
readln(n);
for i := 1 to n do
s := s + i;
write(s);
end.
9)
var n, i: integer;
begin
readln(n);
for i := n downto 1 do
write(i);
end.
12
var
n, i: integer;
s: real;
begin
s := 0;
readln(n);
for i := n downto 1 do
s:=s+(0.1*i);
write(s);
end.
13)
var n, i: integer;
begin
readln(n);
for i := 1 to n do
write(sqr(i), ' ');
end.
14)
var
n, i, c: integer;
begin
i := 1;
c := 0;
readln(n);
while (c <> n) do
begin
if(i mod 3 = 0) then begin write(i, ' ');c := c + 1; end;
i := i + 1;
end;
end.
15)
var
n, i, a: integer;
c: real;
begin
i := 1;
c := 0;
readln(n);
for i := 1 to n do
begin
read(a);
c := c + a;
end;
write(c / n)
end.
16)
var
n, i, a: integer;
begin
i := 1;
while true do
begin
read(a);
if(a = 0) then break;
n := n + 1;
end;
write(n)
end.