Завдання № 47. Вивести на екран суму чисел Фібоначчі до n-ного включно » Pascal - основи програмування

Основи програмування на мові Pascal

 

Спонсори

Завдання № 47. Вивести на екран суму чисел Фібоначчі до n-ного включно

Завдання № 47. Вивести на екран суму чисел Фібоначчі до n-ного включно
Формулювання. Дано натуральне n (яке також може бути дорівнює 0). Вивести на екран суму чисел Фібоначчі до n-ного включно. Наприклад, при n = 3 нам необхідно отримати суму 0-го, 1-го, 2-го і 3-го членів послідовності.
Рішення. Завдання заснована на попередній, так як тут нам теж необхідно знайти кожне число Фібоначчі до n включно, однак тепер ми повинні додавати знайдені числа до деякої змінної суми (sum), яка потім буде виведена на екран.
Використовуємо код попередньої задачі:

readln (n);
fib0: = 0;
fib1: = 1;
for i: = 2 to n do begin
  fib: = fib1 + fib0;
  fib0: = fib1;
  fib1: = fib
end;
if n = 0 then fib1: = 0;
writeln (fib1);


Щоб переробити цей код за поточним призначенням, ми повинні додати в цикл прибав-ня знайденого числа Фібоначчі до змінної sum. Наприклад, так:

for i: = 2 to n do begin
  fib: = fib1 + fib0;
  sum: = sum + fib;
  fib0: = fib1;
  fib1: = fib
end;


Крім того, слід виправити висновок відповіді, так як нам необхідно вивести не останнє знайдене число Фібоначчі, а суму знайдених чисел:
writeln (sum);
Очевидно, що вхід в цикл не відбувається при n = 0 і n = 1. Отже, правильну об-работку цих випадків ми повинні забезпечити инициализацией значень змінної sum, як ми це робили в попередній задачі.
Так як сума нульового і 1-го чисел Фібоначчі дорівнює 1, то sum можна ініціалізувати значенням 1. При вході в цикл перші два числа вже оброблені, тому при введенні n> = 2 накопичення суми також буде вірним. Але очевидно, що в разі n = 0 необхідно ініціал-зировать змінну sum значенням 0. Реалізувати ці два варіанти можна так:

if n = 0 then sum: = 0 else sum: = 1;


Код:


  1. program FibonacciNumbersSum;
  2. var
  3. fib0, fib1, fib, sum: integer;
  4. i, n: byte;
  5. begin
  6. readln(n);
  7. fib0 := 0;
  8. fib1 := 1;
  9. if n = 0 then sum := 0 else sum := 1;
  10. for i := 2 to n do begin
  11. fib := fib1 + fib0;
  12. sum := sum + fib;
  13. fib0 := fib1;
  14. fib1 := fib
  15. end;
  16. writeln(sum)
  17. end.

0047.-FibonacciNumbersSum.rar [731 b] (cкачувань: 2)

скачать dle 10.4фильмы бесплатно Наступна сторінка » Завдання № 48. Вивести на екран всі чис... Попередня сторінка » Завдання № 46. Вивести на екран n-ну кіл...