В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.
пока i<=50 делай нц если a[i]>max то нц max:=a[i]; n_max:=i; кц если a[i]<min то нц min:=a[i]; n_min:=i; кц если (i mod 2)==0 то sum:=sum+a[i]; k:=k+1; кц
srednee_znachenie:=sum/k;
//
var a:array(10..50) of integer; max,min,n_min,n_max,k,i,sum:integer; sr:float;
begin max:=a[1]; min:=a[1];
for i:=10 to 50 do begin if a[i]>max then begin max:=a[i]; n_max:=i; end; if a[i]<min then begin min:=a[i] n_min:=i; end; if ((i mod 2)=0) then begin k:=k+1; sum:=a[i]+sum; end; end; end;
В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.
Код процедуры:
procedure print_fib(n: integer);
var a, b, t: integer;
begin
a := 0;
b := 1;
while n > 0 do
begin
write(b, ' ');
b := a + b;
a := b - a;
n := n - 1;
end;
end;
Пример основной программы:
begin
print_fib(10)
end.
Вывод:
1 1 2 3 5 8 13 21 34 55
a=массив(10..50);
max:=a[1]'
min:=a[1];
n_min:=0;
n_max:=0;
k:=0;
i:=10;
пока i<=50 делай
нц
если a[i]>max то
нц
max:=a[i];
n_max:=i;
кц
если a[i]<min то
нц
min:=a[i];
n_min:=i;
кц
если (i mod 2)==0 то
sum:=sum+a[i];
k:=k+1;
кц
srednee_znachenie:=sum/k;
//
var
a:array(10..50) of integer;
max,min,n_min,n_max,k,i,sum:integer;
sr:float;
begin
max:=a[1];
min:=a[1];
for i:=10 to 50 do
begin
if a[i]>max then
begin
max:=a[i];
n_max:=i;
end;
if a[i]<min then
begin
min:=a[i]
n_min:=i;
end;
if ((i mod 2)=0) then
begin
k:=k+1;
sum:=a[i]+sum;
end;
end;
end;
sr:=sum/k;
end.