align="justify"> програмування delphi алгоритмічне
Детальна роздруківка модуля, що вирішує поставлене завдання, представлена ​​в додатку A (частина 1).
2.2.2 Аналіз отриманих результатів
Для перевірки правильності виконання програми зробимо розрахунок математично, отримані вирази порівняємо з результатом виконання програми.
Математичний розрахунок:
K = 135
S = 1 +3 +5 = 9
Результат роботи програми наведені на Рис3.
В
Ріс.3.Результат роботи програми
Отримані результати збігаються. З цього можна зробити висновок про правильність роботи програми при обчисленні суми цифр тризначного цілого числа k. br/>
.3.1 Завдання № 2
Числа Фібоначчі (fn) визначаються формулами f0 = f1 = 1; fn-1 + fn-2 при n = 2,3 ... Визначити 40-е число Фібоначчі.
Розглянемо алгоритм вирішення задачі.
Числа Фібоначчі - це ряд чисел, в якому кожен наступний член дорівнює сумі двох попередніх. Будь n-ий член ряду можна знайти за формулою Біне: (a1n - a2n) /? 5. Де a1 = (1 +? 5)/2; a2 = (1 -? 5)/2. p align="justify"> Тепер приступимо до створення форми. Зовнішній вигляд форми, що відповідає за створення інтерфейсу користувача для вирішення завдання, наведено на рис. 4:
В
Рис.4. Інтерфейс програми
Для зручності перегляду результатів виконання поставленого завдання на форму був поміщений стандартний компонент Edit1. Вікно пояснюється Label1 - В«40-е число ФібоначчіВ». При натисканні на кнопку Button1 В«ОбчислитиВ» організовується захоплення події "Натискання кнопки", при якому відбувається обробка інформації. У результаті вікно редагування Edit1 виводить результат роботи програми. Натискання на кнопку BitBtn1 - "Close" дозволяє перервати виконання програми. br/>
Блок-схема алгоритму розв'язання задачі № 2 наведена на рисунку 5:
Рис. 5. Блок-схема алгоритму розв'язання задачі № 2
У блоці 1 за формулою розраховується 40-е число Фібоначчі. p align="justify"> Роздруківка процедури представлена ​​в лістингу 2:
Лістинг 2TForm1.Button1Click (Sender: TObject);: = 40;
{Обчислюємо}: = (1 + sqrt (5))/2;: = - (1 - sqrt (5))/2;: = (exp (N * ln (a1)) - exp (N * ln (a2)))/sqrt (5);
{Виводимо рез-тат}. Text: = FloatToStr (f);;
Детальна роздруківка модуля, що вирішує поставлене завдання, представлена ​​в додатку 1 (частина 2).
.2.2 Аналіз отриманих результа...