Добавил:
Hist
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Паскаль (I семестр) / K01-172 / 03 / fibo
.pas program Fibonnacci;
procedure InputK(var K:integer);
begin
write('‚ўҐ¤ЁвҐ ®¬Ґа K вॡ㥬®Ј® зЁб« ”ЁЎЎ® зЁ: ');
readln(K);
end;
procedure Compute(K:integer;var FiK:longint);
var
FiMinus1,FiMinus2:longint;
i:integer;
begin
if (K=1) or (K=2) then
FiK:=1;
if K>2 then
begin
FiMinus1:=1;
FiMinus2:=1;
for i:=3 to K do
begin
FiK:=FiMinus1+FiMinus2;
FiMinus2:=FiMinus1;
FiMinus1:=FiK;
end;
end;
end;
procedure OutputData(K:integer;FiK:longint);
begin
if K>0 then
writeln(K,'-Ґ зЁб«® ”ЁЎЎ® зЁ а ў® ',FiK)
else
writeln(K,'-Ґ зЁб«® Ґў®§¬®¦® ўлзЁб«Ёвм!');
readln;
end;
var
K:integer;
FiK:longint;
begin
InputK(K);{ўў®¤ ®¬Ґа K вॡ㥬®Ј® зЁб« }
Compute(K,FiK);{а бзҐв зЁб« }
OutputData(K,FiK);{ўлў®¤ १г«мв в®ў}
end.
procedure InputK(var K:integer);
begin
write('‚ўҐ¤ЁвҐ ®¬Ґа K вॡ㥬®Ј® зЁб« ”ЁЎЎ® зЁ: ');
readln(K);
end;
procedure Compute(K:integer;var FiK:longint);
var
FiMinus1,FiMinus2:longint;
i:integer;
begin
if (K=1) or (K=2) then
FiK:=1;
if K>2 then
begin
FiMinus1:=1;
FiMinus2:=1;
for i:=3 to K do
begin
FiK:=FiMinus1+FiMinus2;
FiMinus2:=FiMinus1;
FiMinus1:=FiK;
end;
end;
end;
procedure OutputData(K:integer;FiK:longint);
begin
if K>0 then
writeln(K,'-Ґ зЁб«® ”ЁЎЎ® зЁ а ў® ',FiK)
else
writeln(K,'-Ґ зЁб«® Ґў®§¬®¦® ўлзЁб«Ёвм!');
readln;
end;
var
K:integer;
FiK:longint;
begin
InputK(K);{ўў®¤ ®¬Ґа K вॡ㥬®Ј® зЁб« }
Compute(K,FiK);{а бзҐв зЁб« }
OutputData(K,FiK);{ўлў®¤ १г«мв в®ў}
end.