Составим полный код к нашему заданию а:
program ex1;
uses crt;
var
k, a: integer;
begin
k := 1;a := 12;
while a < 100 do
begin
a := 2 * a - 4;
Writeln('Значения a ', a);
k := k + 1;
Writeln('Значения k ', k);
end;
end.
После выполнения программы получаем такие значения:
Значения a 20
Значения k 2
Значения a 36
Значения k 3
Значения a 68
Значения k 4
Значения a 132
Значения k 5
Составим полную программу к заданию б:
program ex2;
uses crt;
var
k, a, s: integer;
begin
s := 0;a := 1;k := 1;
while a < 50 do
begin
s := s + a;
Writeln('Значения s ', s);
k := k + 1;
Writeln('Значения k ', k);
a := k * k;
Writeln('Значения a ', a);
end;
end.
После выполнения программы получаем такие значения:
Значения s 1
Значения k 2
Значения a 4
Значения s 5
Значения k 3
Значения a 9
Значения s 14
Значения k 4
Значения a 16
Значения s 30
Значения k 5
Значения a 25
Значения s 55
Значения k 6
Значения a 36
Значения s 91
Значения k 7
Значения a 49
Значения s 140
Значения k 8
Значения a 64
begin
var a:array[1..20] of integer;
Randomize;
for var i:=1 to 20 do a[i]:=Random(-50,50); a.Println;
var b:=Range(2,20,2).Select(i->a[i]);
Writeln('Элементы с четными индексами по возрастанию');
b.Sorted.Println;
Writeln('Элементы с четными индексами по убыванию');
b.SortedDescending.Println;
end.
Тестовое решение:
-15 46 -34 -3 43 16 -17 -28 -19 12 -28 -11 48 -12 -1 33 -37 9 6 -40
Элементы с четными индексами по возрастанию
-40 -28 -12 -11 -3 9 12 16 33 46
Элементы с четными индексами по убыванию
46 33 16 12 9 -3 -11 -12 -28 -40