Розробка програми для виведення на екран чисел Фібоначчі

Написання програми для виведення чисел Фібоначчі. Загальна характеристика мови Паскаль. Науковий доробок Леонардо Фібоначчі. Історія і властивості послідовності. Особливості програмування мовою Turbo Pascal. Відкалібрування та синхронізування програми.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 09.10.2013
Размер файла 325,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

Зміст

  • Вступ.
  • 1. Загальна характеристика мови Паскаль (Pascal)
  • 2. Науковий доробок Леонардо Фібоначчі
    • 2.1. Історія і властивості послідовності.
  • 2.2. Властивості чисел Фібоначчі
    • 2.3. Історія відкриття
  • 3. Лістинг програми
  • Висновки.
  • Список використаної літератури:
  • Додатки

Вступ

Актуальність курсової роботи. Дана програма навчальною, за її допомогою прискорюється процес знаходження чисел Фібоначчі В умовах розвитку і постійного вдосконалення програмного забезпечення, потрібно надати поштовху і початку роботи і навчання. Таким чином програма є аналогом генератора чисел Фібоначчі, користувачеві потрібно ввести тільки значення і вона видасть готову відповідь.

Також розробляючи програму я використав багато відомих мені і деякі нові прийоми і методи.

Мета курсової. Роботи: розробити програму для виведення на екран чисел Фібоначчі після задання їх кількості та оформити для неї документацію.

Об'єкт дослідження. Способи задання умов та циклів у мові програмування Pascal, а також синхронізація з командами користувача.

Предмет дослідження. Середовище програмування Pascal.

Згідно поставленої мети виникли завдання дослідження:

1. Написати програму для виведення чисел Фібоначчі;

2. Відкалібрувати і синхронізувати її;

3. Написати документацію до виконання роботи.

Структура та обсяг роботи. Курсова робота складається з трьох розділів, вступу, висновку списку використаної літератури і додатку з прикладом роботи програми.

1. Загальна характеристика мови Паскаль (Pascal)

Мова програмування Паскаль, названа на честь французького філософа і математика Блеза Паскаля (1623 - 1662), була вперше створена швейцарцем Ніклаусом Віртом, який працював на кафедрі інформатики Стенфорського університету. Широке ж поширення він одержав тільки через багато років після розробки діалекту Турбо Паскаль широко відомої і донині фірмою Borland International.

У першій версії були об'єднані швидкий компілятор і редактор тексту, а так само додане могутнє розширення.

У версії Turbo Pascal 3.0 крім старих функцій до нової мови був доданий набір супутніх програм (так званих "Tools"), що дозволили зробити програми, написані на Турбо Паскалі, максимально компактними по обсягу і легкими для читання і редагування. Можливості вбудованого текстового редактора були значно розширені, завдяки його тісному зв'язку з пакетом WordStar.

Турбо Паскаль 4.0, що з'явився пізніше, дозволяв працювати з компілятором, що не має обмежень, закладених у попередній версії. Ця версія вже дозволяла розробляти на Турбо Паскалі великі програмні продукти.

У ще одну нову версію мови, цього разу позначену "5.0", був убудований відладчик, що значно полегшив пошук і виправлення помилок у тексті програми, а так само апарат перекриттів, прискорюючих роботу програм і підтримка розширеної пам'яті. Ця версія цілком забезпечувала роботу програм у графічному стандарті VGA.

Версія Turbo Pascal 5.5 мала небагато змін, що були спрямовані, в основному, на поліпшення технічних характеристик програмного пакета. Важливим же нововведенням з'явилася теоретична реалізація концепції об'єктно-орієнтованого програмування.

Кардинально новим з'явилася мова Turbo Pascal 6.0. У ній стало можливим практично застосовувати концепцію обєктно-орієнтованого програмування. Це дозволило створювати програми, що могли б вирішувати прикладні задачі користувача. Був уперше введений багатовіконний інтерфейс і підключене миша, що значно полегшує роботу користувача.

Нарешті, у 1992 році все та ж фірма Borland International випустила Turbo Pascal 7.0. Тут було застосовано виділення різними кольорами елементів структури програми, зовсім новий компілятор і новий інтерфейс.

2. Науковий доробок Леонардо Фібоначчі

Італійський купець Леонардо з Пізи ( 1180-1240), більш відомий під прізвиськом Фібоначчі був, безумовно, найзначнішим математиком середньовіччя. Роль його книг в розвитку математики і розповсюдженні в Європі математичних знань важко переоцінити.

Життя і наукову кар'єру Леонарда найтіснішим чином пов'язано з розвитком європейської культури і науки.

В століття Фібоначчі до відродження було ще далеко, проте історія дарувала Італії короткий проміжок часу, який цілком можна було назвати репетицією епохи Ренесансу, що насувається. Цією репетицією керував Фрідріх 2, імператор (з 1220 року) "Священної римської імперії Німецької Нації". Вихований в традиціях південної Італії Фрідріх II був внутрішньо глибоко далекий від європейського християнського рицарства. Тому до викладання в заснованому їм Неаполітанському університеті, разом з християнськими ученими, він привернув арабів і євреїв.

На таких турнірах і заблищав талант Леонарда Фібоначчі. Цьому сприяла хороша освіта, яку дав сину купець Боначчи, що узяв його з собою на схід і що приставив до нього арабських вчителів.

Згодом Фібоначчі користувався незмінним заступництвом Фрідріха II.

Це заступництво стимулювало випуск наукових трактатів Фібоначчі: найобширнішій "Книзі абака", написаній в 1202 році, але що дійшла до нас в другому своєму варіанті, який відноситься до 1228 г.; "Практики геометрії"( 1220г.); "книги квадратів"(1225г.). По цих книгах, що перевершують по своєму рівню арабські і середньовічні європейські твори, вивчали математику мало не до часів Декарта ( 17 в.).

Найбільший інтерес представляє твір "Книга абака". Ця книга є об'ємною працею, що містить майже всі арифметичні і алгебра відомості того часу і що зіграв значну роль в розвитку математики в Західній Європі в перебігу декількох наступних століть. Зокрема, саме по цій книзі європейці познайомилися з індуськими ("арабськими") цифрами.

2.1 Історія і властивості послідовності

Леонард Фібоначчі - один з найбільших математиків Середньовіччя. В одному і своїх праць “Книга обчислень” Фібоначчі описав индо-арабську систему числення і переваги її використовування перед римською.

Числова послідовність Фібоначчі має багато цікавих властивостей. Наприклад, сума двох сусідніх чисел послідовності дає значення наступного за ними (наприклад, 1+1=2; 2+3=5 і т.д.), що підтверджує існування так званих коефіцієнтів Фібоначчі, тобто постійних співвідношень.

Одне з найголовніших слідств цих властивостей різних членів послідовності визначаються таким чином:

1. Відношення кожного числа до подальшого більш і більш прагне 0.618 після збільшення порядкового номера. Відношення ж кожного числі до попереднього прагне 1.618 (зворотному до 0.618). Число 0.618 називають (ФЕ), і ми поговоримо про нього докладніше трохи пізніше.

2. При розподілі кожного числа на наступний за ним через одне одержуємо число 0.382; навпаки - відповідно 2.618.

3. Підбираючи таким чином співвідношення, одержуємо основний набір коефіцієнтів Фибоначчі: . 4.235, 2.618, 1.618, 0.618, 0.382, 0.236. згадаємо також 0.5 (1/2). Всі вони грають особливу роль в природі, і зокрема - в технічному аналізі.

Важливо відзначити, що Фібоначчі як би нагадав свою послідовність людству. Вона була відома ще стародавнім грекам і єгиптянам. І дійсно, з тих пір в природі, архітектурі, образотворчому мистецтві, математиці, фізиці, астрономії, біології і багатьох інших областях були знайдені закономірності, описувані коефіцієнтами Фібоначчі.

Наприклад, число 0.618 є постійним коефіцієнтом в так званому золотому перетині (рис.1), де будь-який відрізок ділиться таким чином, що співвідношення між його меншою і переважно рівно співвідношенню між переважно і всім відрізком. Таким чином, число 0.618 відоме ще як золотий коефіцієнт або золота середина. Такого типу пропорцію можна зустріти абсолютно скрізь (рис.2).

Малюнок 1. Золотий перетин

Малюнок 2. Приклади співвідношень Фібоначчі

Золотий коефіцієнт використовується природою для побудови її частин, починаючи від великих і закінчуючи малими. Сучасна наука вважає, що Всесвіт розвивається по так званій золотій спіралі (рис.3), яка будується саме за допомогою золотого коефіцієнта. Ця спіраль в буквальному розумінні не має кінця і початку. Менші витки ніколи не сходяться в одну і ту ж крапку, а великі необмежено розвиваються в просторі.

Малюнок 3. Золота спіраль

Деякі із співвідношень, що дотримуються:

Найважливіше полягає в тому, що за допомогою всіх цих, в якомусь роді містичних, чисел, описуються різнорідні процеси у Всесвіті.

2.2 Властивості чисел Фібоначчі

Найбільший спільний дільник двох чисел Фібоначчі дорівнює числу Фібоначчі з індексом рівним найбільшому спільному дільнику індексів, тобто: . В наслідок цього:

Fm ділиться Fn тоді й тільки тоді, коли m ділиться на n (за виключенням n = 2);

· кожне третє число Фібоначчі парне (F3 = 2,F6 = 8,F9 = 34);

· кожне четверте ділиться на три (F4 = 3,F8 = 21,F12 = 144);

· кожне п'ятнадцяте закінчується нулем (F15 = 610);

· два сусідніх числа Фібоначчі взаємно прості;

Fm може бути простим тільки для простих m (за єдиним виключенням m = 4, що пов'язано з F2 = 1). Зворотнє твердження невірно: хоча 19 -- просте число. На даний момент невідомо, чи існує нескінченно багато простих чисел Фібоначчі.

Використовуючи те саме рекурентне співвідношення, що і на початку, у вигляді Fn = Fn + 2 ? Fn + 1, можливо поширити визначення чисел Фібоначчі і на від'ємні індекси:

Неважко переконатися, що F ? n = ( ? 1)n + 1Fn, тобто одержуємо таку саму послідовність з перемежуючимися знаками.

Послідовність чисел Фібоначчі є частковим випадком генерованої послідовності, її характеристичний многочлен рівний x2 ? x ? 1 й має корені ? і ? 1 / ?.

Генератрисою послідовності чисел Фібоначчі є:

Числа Фібоначчі можна представити значеннями континуант на наборі одиниць: , тобто

, а також ,

де матриці мають розмір , i -- уявна одиниця.

Для будь-якого n,

Ця формула надає швидкий алгоритм обчислення чисел Фібоначчі за допомогою матричного варіанта алгоритма швидкого піднесення до степеня. Обчислення визначників дає:

Відношення є підходящими дробами золотого перетину ? і, зокрема, .

Суми біноміальних коефіцієнтів на діагоналях трикутника Паскаля є числами Фібоначчі з огляду на формулу

.

У 1964 р. J. H. E. Cohn довів, що єдиними точними квадратами серед чисел Фібоначчі є F0 = 0,F1 = F2 = 1 і F12 = 144 = 122.

Множина чисел Фібоначчі співпадає з множиною додатних значення наступного полінома двох змінних

P(x,y) = 2xy4 + x2y3 ? 2x3y2 ? y5 ? x4y + 2y,

де -- цілі числа, див. P. Ribenboim, The New Book of Prime Number Records, Springer, 1996, стор. 153. Цей факт, знайдений Дж. Джоунзом, відіграє ключову роль у теоремі Матиясевича (негативному розв'язанні десятої проблеми Гільберта), тому що він надає спосіб задати експоненціально зростаючу послідовність чисел Фібоначчі у вигляді діофантової множини.

2.3 Історія відкриття

У XIII столітті італійський математик Фібоначчі розв'язував таку задачу:

Фермер годує кроликів. Кожен кролик народжує одного кролика коли йому стає 2 місяці, а потім дає потомство в 1 кролик кожен місяць. Скільки кроликів буде у фермера через n місяців, якщо спочатку у нього був лише один (вважаємо, що кролики не гинуть і кожен народжений дає потомство за вище описаною схемою)? фібоначчі програма програмування паскаль

Очевидно, що першого та другого місяця у фермера залишається один кролик, оскільки потомства ще немає. На третій місяць буде два кролика, оскільки перший через два місяці народить другого кролика. На четвертий місяць перший кролик дасть ще одного, а другий кролик потомства не дасть, оскільки йому ще тільки один місяць. Отже на четвертий місяць буде три кролики. Можна помітити, що кількість кроликів після n - го місяця дорівнює кількості кроликів, які були у n - 1 місяці плюс кількість народжених кроликів. Останніх буде стільки, скільки є кроликів що дають потомство, або дорівнює кількості кроликів, яким вже виповнилося 2 місяці (тобто кількості кроликів після n - 2 місяця).

Якщо через Fn позначити кількість кроликів після n - го місяця, то має місце наступне рекурентне співвідношення:

Fn = Fn-1 + Fn-2, F1 = F2 = 1

Покладемо F0 = 0, при цьому співвідношення при n = 2 залишиться істинним. Таким чином утворюється послідовність

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... ,

У 1225 році імператор Римської імперії Фрідріх II на турнірі в Пізі запропонував Леонардо Фібоначчі таку задачу: Знайти повний квадрат, який залишаеться повним квадратом як після збільшення, так і після зменшення його на 5. Фібоначчі після деяких розміркувань знайшов це число. Воно виявилося дробовим: 1681/144, або (41/12)2. Справді, 1681/144-5=961/144, 1681/144+5=2401/144. інакше (41/12)2-5=(31/12)2 і (41/12)2+5=(49/12)2. Якими міркуваннями керувався Фібоначчі під час турніру, ми ніколи не з'ясуемо, але задачу він розв'язав блискуче.

3. Лістинг програми

Заголовок програми і опис змінних використаних у ній

program fibonachchi;

uses crt;

var f1,f2,fi: real;

i,n: integer;

begin

Виведення на екран запиту про кількість елементів

clrscr;

write('Vvedit kilkist chusel Fibonachi: ');

readln(n);

writeln(n,' pershuh elementiv:');

f1:=1; f2:=1;{наданна початкових значень числам f1та f2}

Накладання початкових умов на змінні

if n>0 then write(f1:1:0);

if n>1 then write(' ',f2:1:0);

for i:=3 to n do {цикл}

Цикл, який обчислює і-ий елемент

begin

fi:=f1+f2;

f1:=f2;

f2:=fi;

write('',fi:15:0);{виведення на екран елементів}

end;

readln;{команда дає змогу побачити результат роботи програми}

end.

Висновки

В результаті виконаної роботи була вивчена послідовність і властивості чисел Фібоначчі, яка полягає в тому, що сума двох сусідніх чисел послідовності дає значення наступного за ними.

В ході курсової роботи мною були вивчені деякі аспекти програмування мовою Turbo Pascal. При оформленні курсової роботи були отримані навички оформлення програмної документації, а також великий практичний досвід роботи в Turbo Pascal v7.0, Microsoft Word 2007, Microsoft Excel 2003 (хоча освоєння цих програмних продуктів не було метою курсової роботи, дані навички не можна вважати марними). Теоретичні відомості були закріплені практичними заняттями.

Мета і завдання виконані. Програма виконується без помилок.

Список використаної літератури

1. Підручник по Pascal;

2. opensource.com.ua/products.php?info=p1016

3. pascalstudy.narod.ru

4. www.bhv.kiev.ua/books/book.php?id=4&book_id=142

5. Страустрап Б. Введення в мову Pascal Ресурси електронної бібліотеки ІnfoCіty (http://www.іnforcіty.kіev.ua), 1995.

6. Довідкова система мови Pascal.

7. http://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE

8. У. Сустаков. Мова програмування Pascal. М.: Радіо і зв'язок. 1994.

9. До. Ликов. А. Бабонин. Мова програмування Pascal для персонального комп'ютера. М.: Радіо і зв'язок. 1993.

10. М. Русаків та інших. Довідник виконуваних функцій Borland Pascal 7.0. Київ: Діалектика. 1994.

11. http://www.trader-lib.ru/books/507/14.html#58

12. http://samara.teletrade.ru/glossary/tech/index3.php

13. http://www.stock.narod.ru/fibo.htm

Додатки

1) Початок роботи програми

2) Робота програми при виборі виведення 25 перших елементів Фібоначчі

Размещено на Allbest.ru


Подобные документы

  • Програми і мови програмування. Алфавіт мови програмування. Лексеми, зарезервовані слова мови Pascal. Ідентифікатори, типи даних. Арифметичні вирази, операції. Стандартні функції, структура програми. Процедури введення-виведення. Правила написання команд.

    лекция [445,0 K], добавлен 24.07.2014

  • Розробка програми, яка вираховує з введених чисел парні та непарні та додає парні числа. Особливості синтаксису й семантики операторів мови С++. Перевірка коректності введення кількості чисел. Написання коду програми, проведення її тестування на прикладі.

    лабораторная работа [860,5 K], добавлен 20.12.2012

  • Характеристика мов програмування. Історія виникнення мови C#, її особливості, версії та нові можливості. Приклад програм виведення на екран, виведення поточної дати та часу та програми музичного програвача. Програмний код та результат виконання програм.

    контрольная работа [321,3 K], добавлен 13.06.2012

  • Розробка і описання програми перевірки гіпотези про розподіл Пуассона емпіричного ряду за допомогою критерію Пірсона. Розробка програми мовою Паскаль (середовище Turbo Pascal 6.0.). Програма розроблена із застосуванням методики процедурного програмування.

    курсовая работа [51,0 K], добавлен 23.04.2010

  • Створення програми "Шаховий кінь" в системі програмування Turbo Pascal. Генерування відповідно до заданих початкових кординат маршруту руху коня. Алгоритм задачі: початок, виведення зображення та пошук. Реалізація програми та демонтрація її роботи.

    курсовая работа [1,3 M], добавлен 23.06.2010

  • Алгоритмічна мова програмування універсального призначення Turbo Pascal. Розробка і створення програми для гри "Шибениця". Алгоритм функціонування программи, блок-схема алгоритму. Використання додаткових модулів Graph та Crt у процессі створення програми.

    курсовая работа [2,0 M], добавлен 23.06.2010

  • Аналіз сучасного стану технологій програмування. Порівняння відстані між центрами кіл з радіусами. Класи, які використовуються при розробці програми меню. Розробка та виконання тестового прикладу. Виведення кіл на екран та інструкція користувача.

    курсовая работа [229,0 K], добавлен 14.03.2013

  • Написання програми для мобільного приладу, яка буде переводити числа з однієї системи числення в іншу. Розробка графічного інтерфейсу, яким зручно буде користуватись. Опис процедур, обробників та мови програмування. Дослідження логічних частин програми.

    курсовая работа [1,2 M], добавлен 27.08.2014

  • Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.

    курсовая работа [1,3 M], добавлен 23.06.2010

  • Особливості об'єктно-орієнтованого програмування. Розробка програми для елементарних математичних розрахунків, виведення результату на екран та запису у файлі. Сортування слів у рядку. Програма, яка реалізовує ходи шахових фігур. Програма-калькулятор.

    отчет по практике [2,0 M], добавлен 19.03.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.