У вас вопросы?
У нас ответы:) SamZan.net

тематике часто встречаются последовательности чисел в которых каждый следующий член выражается через преды

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.4.2025

Практическая работа №11. Вычисление последовательности Фибоначчи

1. Цель работы:

Получение навыков в программировании циклов.

2. Темы для предварительной проработки

  •  Основные алгоритмические конструкции С++
  •  Арифметические операции
  •  Функции стандартного ввода и вывода.

3. Теоретический материал

В математике часто встречаются последовательности чисел, в которых каждый следующий член выражается через предыдущие.

В арифметической прогрессии, например, каждый следующий член равен предыдущему, увеличенному на разность прогрессии:   ai=ai-1 + d

В последовательности чисел 1, 1, 2, 3, 5, 8, 13,... каждый член последовательности равен сумме двух предыдущих. Эта последовательность называется последовательностью Фибоначчи. Для этой последовательности:   ai = ai-1 + ai-2              a1 = a2 = 1

Формулы, выражающие очередной член последовательности через один или несколько предыдущих членов, называются рекуррентными соотношениями.

Иногда для n-ного члена есть простая формула. Например, для арифметической прогрессии an = a1 + d * (n – 1). Чаще, однако, такой простой формулы нет или она неизвестна. В этом случае члены последовательности вычисляют по рекуррентному соотношению один за другим от i = 1  до i = n.

Для рекуррентного соотношения, задающего последовательность Фибоначчи, очередной элемент выражается через два предыдущих элемента. Поэтому в процессе вычисления надо хранить значения двух элементов. Будем делать это с помощью двух целочисленных переменных - a и b.

Сопоставим значения первых трех чисел последовательности Фибоначчи, математическую запись последовательности и переменные в программе.

этап

Числа Фибоначчи

1

1

2

3

5

8

13

ai-2

ai-1

ai

1

a

b

x=a+b

значение

1

1

2

запомнить

a=b

1

b=x

2

2

x=a+b

значение

1

2

3

запомнить

a=b

2

b=x

3

3

x=a+b

значение

2

3

5

запомнить

a=b

3

b=x

5

4

x=a+b

значение

3

5

8

запомнить

a=b

5

b=x

8

5

x=a+b

значение

5

8

13

запомнить

a=b

8

b=x

13

В переменной a будем хранить значение ai-2, в переменной b - значение ai-1. Очередное значение обозначим x. Присвоим значения: a = 1; b = 1; Соответственно закону образования последовательности Фибоначчи x =a + b. Получено третье число, равное 2. Запомним значение переменной b в a,  x в b (1 и 2). На этапе 2 получаем очередное число: x=a+b, равное 3. Запоминаем значение переменной b в a,  x в b (2 и 3). На этапе 3 получаем очередное число: x=a+b, равное 5 и так далее.

Блок-схема решения задачи

4. Пример

//последовательность Фибоначчи

#include <iostream.h>

#include <conio.h>

int main(){long int a=1, b=1,x; int i,n; clrscr(); n=10;

for(i=3;i<=n;i++){ x=a+b; a=b; b=x; cout<<x<<" "; }

getch(); return 0; }

/*  n= 10

1 1 2 3 5 8 13 21 34 55  */

5. Задание

Задание на «удовлетворительно»

Ввести текст программы, получить последовательность 20 чисел Фибоначчи.

Задание на «хорошо»

Изменить программу так, чтобы пользователь мог получить последовательность чисел любой длины. Рассмотреть возможность переполнения типа long int.

Задание на «отлично»

Изменить программу так, чтобы пользователь мог по запросу получить число Фибоначчи по номеру в последовательности.

PAGE  2




1. 2014 День 1йДели По прибытию в международный аэропорт Дели
2. Административная ответственность
3. I ФОРМИРОВАНИЕ НОВОЙ РОССИЙСКОЙ ГОСУДАРСТВЕННОСТИ Исчезновение СССР с политической карты мира демонтаж с
4. Автоматизований аналіз злочинності по областям
5. Тема нашей сегодняшней лекции проблема восприятия в детской психологии
6. Совершенствование организации учета краткосрочного кредитования в ОАО АвтоТехИнвест
7. зуба для того чтобы подтвердить его вывих и опровергнуть фрактуру корня
8. Автоматизированная система оперативного управления перевозками
9.  Укажите систему уравнений соответствующую расчету данной цепи по методу контурных токов
10. Ответ для АСПЗ 5 Юнита- 0502