Var n,a,b,c,d,i:integer;
begin
write('n = '); readln(n);
write('A и B: '); readln(a,b);
write('C и D: '); readln(c,d);
for i:=1 to a-1 do write(i,' ');
for i:=b downto a do write(i,' ');
for i:=b+1 to c-1 do write(i,' ');
for i:=d downto c do write(i,' ');
for i:=d+1 to n do write(i,' ');
end.
Пример:
n = 20
A и B: 5 10
C и D: 14 18
1 2 3 4 10 9 8 7 6 5 11 12 13 18 17 16 15 14 19 20
Переменная b будет увеличиваться на единицу с каждым выполнением нижнего блока, а в переменной c будет накапливаться сумма всех b.
Раз сумма в c считается до увеличения b, то значит в конце (выход происходит при b=11), получим сумму всех целых чисел от единицы до десяти. Такая сумма равна 55.
Вот как будут меняться значения переменных при выполнении программы по этому алгоритму:
c b
0 0
0 1
1 2
3 3
6 4
10 5
15 6
21 7
28 8
36 9
45 10
55 11
Ответ: после выполнения алгоритма c=55
Программа (вариант 1):
var
b, c: integer;
begin
b := 0;
c := 0;
repeat
c := c + b;
b := b + 1;
until b = 11;
Print('b=', b, ' c=', c);
end.
Программа (вариант 2):
var
b, c: integer;
label loop1, loop2;
begin
b := 0;
c := 0;
loop1: if b = 11 then
goto loop2
else
begin
c := c + b;
b := b + 1;
goto loop1;
end;
loop2: Print('b=', b, ' c=', c);
end.
Допустим Pascal. На нем обычно ведется обучение.
IF x>7 then y:=x-3 else
IF x<-5 then y:=4*sqr(x) else
y:=5;
Делим на 4 и записываем остатки от деления, все элементарно! ответ 321