Начало формы
Конец формы
Школьный АЯ
алгФибоначчи (арг целМ,рез целS)
дано | M>0
нач целF0, F1, F2
F0:=1; F1:=1; F2:=2
S:=4 | 4 – сумма первых трех чисел Фибоначчи
нц пока F2<=M
F0:=F1; F1:=F2; F2:=F0+F1 | серия переприсваиваний
S:=S+F2;
кц
S:=S–F2 | из S вычитается последнее значение F2, превосходящее M
Кон
Исполнение алгоритма
| F0
| F1
| F2
| S
| F2<M
| |
|
|
|
4+3=7
7+5=12
12+8=20
20+13=33
| +
+
+
+
-(кц)
| | | | | 33-13=20
| | | Блок-схема
|
Turbo Pascal
Program SummaFib;
Uses Crt;
Var M, {заданное число }
F0, F1, F2, {три последовательных числа Фибоначчи}
S : Integer; {сумма чисел Фибоначчи}
BEGIN
ClrScr;
Write(’Введите натуральное М : ’);
ReadLn(M);
F0:=1; F1:=1; F2:=2;
S:=4; {4 – сумма первых трех чисел Фибоначчи}
Write(’Числа Фибоначчи, не превосходящие ’, M, ’ :’, F0:4, F1:4);
While F2<=M do
Begin
F0:=F1; F1:=F2; Write(F1 : 4);
F2:=F0+F1; S:=S+F2;
end;
S:=S–F2; {вычитание из суммы последнего числа, которое превосходит М}
WriteLn; WriteLn;