
Составим полный код к нашему заданию а:
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
Python 3.6
n = int(input())
a = [int(i) for i in input().split()]
up, now, max_, min_ = False, 0, 0, 0
if n == 1:
print('0 0')
else:
for i in range(1, n):
if a[i - 1] < a[i]:
if not up:
up = True
now = 0
now += a[i] - a[i-1]
if now > max_:
max_ = now
if a[i-1] > a[i]:
if up:
up = False
now = 0
now += a[i-1] - a[i]
if now > min_:
min_ = now
print(max_, min_)
PascalABC.NET 3.5.1
Program c_contest;
var Data: array of longword;
i, n, count, max, min, now: longword;
up: boolean;
F: textfile;
begin
Assign(F, 'input.txt');
Reset(F);
readln(F, n);
SetLength(Data, n);
for i := 0 to n-1 do
begin
read(F, Data[i]);
end;
Close(F);
if n = 1 then write('0 0')
else
begin
for i := 1 to n-1 do
begin
if Data[i-1] < Data[i] Then
begin
if not up Then
begin
up := True;
now := 0;
end;
now := now + (Data[i] - Data[i-1]);
if now > max Then max := now;
end;
if Data[i-1] > Data[i] Then
begin
if up Then
begin
up := False;
now := 0;
end;
now := now + (Data[i-1] - Data[i]);
if now > min Then min := now;
end;
end;
write(max, ' ',min);
end;
end.
Объяснение:
По коду видно