Алгоритми математичних формул
Розглянемо вирази типу
Або
В математиці таку cукупність елементів називаюгь рядами і завдання обчислення відповідно суми або добутку позначають символами та
В прикладах такого типу, з метою прискорення виконання алгоритму шляхом зменшення числа операцій, доцільно встановити залежніоть між наступним і попереднім членами ряду, якщо це тільки можливо.
У випадку обчиcлення суми S= , , а наступний за ним член . Тоді .
Таким чином .
Побудуємо алгоритм обчислення розглянутої нами суми ряду. При побудові алгоритму необхідно зарезервувати змінні під та , лічильник I, при допомозі якого перебиратимемо члени ряду та суму S.
Розглянуті принципи конструювання алгоритмів не залежать від конкретних особливостей і природи виконуваного завдання, а також від того, на якого виконавця орієнтовано алгоритм. Проте вибір виконавця (з відповідною системою операцій) може вплинути на ступінь деталізації операцій і на структуру алгоритму.
Слід зауважити, що розглянуті принципи розбиття задач на підзадачі не є новими. Вони використовувалися раніше при розв'язуванні різноманітних задач, навчанні учнів виконувати ті чи інші виробничі операції, осмислюванні різних явищ. Проте цей метод був чітко розроблений лише в зв'язку з конструюванням алгоритмів для виконання їх на ЕОМ.
Очевидно, фахівець будь-якої спеціальності, перш ніж доручати виконавцеві певне завдання (складну операцію), повинен навчити його виконувати простіші операції, тобто розкладати задану операцію на простіші, які він вже вміє виконувати. При цьому виконавець може і не розуміє суті поставленого завдання, проте успішно виконуючи задану послідовність операцій, зуміє виконати все завдання. Ця задана послідовність операцій є алгоритмом виконання поставленого завдання про виконання складної операції.
Дещо аналогічне відбувається й при конструюванні алгоритмів, призначених для комп'ютерів. Знаючи, які операції «вміє виконувати» комп'ютер, і розкладаючи задану операцію на сукупність простіших операцій, можна «навчити» комп'ютер виконувати задану операцію, якщо тільки система операцій комп'ютера достатня для того, щоб задану операцію разкласти на сукупність операцій з такої системи.
Алгоритм виконання певного завдання, поданий як деяка скінченна послідовність операцій із системи операцій комп'ютера, називають програмою.
2.МОВАПРОГРАМУВАННЯПАСКАЛЬ
Мова Паскаль, названа в честь французського математика і філософа Блеза Паскаля (1623-1662), створена як навчальна мова програмування в 1968-1971 рр. Ніклаусом Віртом у вищій технічній школі в Цюріху. В теперішній час дана мова програмування має більш широку сферу застосування, ніж передбачалось при її створенні. Метою роботи Вірта було створення мови, котра будувалася б на невеликій кількості базових понять, мала простий синтаксис, допускала перевід програм в машинний код простим компілятором. Лінгвістична концепція Паскаля пропагує системний підхід, що виражається, зокрема, в розбитті великих проблем на менші по складності і розміру задачі, що легше розв’язуються.
Основні принципи Паскаля такі:
n структурне програмування. Його суть полягає в оформленні послідовностей команд, як замкнених функцій або процедур і в об’єднанні даних, пов’язаних по змісту, в складні структури даних. Завдяки такому підходу підвищується наглядність тексту, спрощується його відлагодження.
n об’єктно-орієнтоване програмування робить наступний крок від ремесла до науки програмування. Дані об’єднуються з властивими їм операціями обробки в об’єкти.
2.1. Алфавіт, Імена, числа, рядки
Важливими особливостями мови Паскаль є можливість послідовного здійснення ідей структурного програмування та концепція структур даних, як одного з фундаментальних понять, що лежить в основі алгоритмізації і програмування. Мова програмування Паскаль з успіхом використовується для навчання програмуванню, а також як практична мова для написання ефективних і надійних програм. Системне програмне забезпечення сучасних ЕОМ містить, як правило, неменшеодного транслятора з мови Паскаль.
Алфавіт мови Паскаль містить букви, десяткові цифри, а також такі спеціальні символи:
1) знаки операцій +, -, *, =, /, <>, <, >, <=, >=, :=
2) обмежувачі: , . ; : ( ) [ ] { } .. _
3) службові слова AND | ARRAY | BEGIN | CASE | CONST | DIV | DO | DOWNTO | ELSE | END | FILE | FOR | FUNCTION | GOTO| IF | IN | LABEL | MOD | NIL | NOT | OF | OR | PACKED | PROCEDURE | PROGRAM | RECORD | REPEAT |SET | THEN | TO | TYPE | UNTIL | VAR | WHILE | WITH
Службові слова інтерпретуються як єдині символи з фіксованим значенням.
Авторський варіант мови Паскаль (Стандартний Паскаль) дає змогу використовувати великі і малі букви латинського алфавіту. Алфавіти конкретних реалізацій можутьбутирозширені буквами російського алфавіту або обмежені наприклад, вилученням малих букв.
Інколи в реалізаціях мови деякі з основних символів можуть бути відсутні, тоді замість них використовують комбінації інших символів.
Для позначення констант, змінних, типів, процедур, функцій, файлів і програм використовуються імена (ідентифікатори).
Ім'ям може бути будь-яка послідовність букв, цифр і знаку підкреслювання, яка починається з букви (пропуски в іменах не припустимі). Імена не повинні збігатися із службовими словами. Кількість символів імені (довжина імені), взагалі кажучи, може бути довільною. Проте, в деяких реалізаціях мови вимагається, щоб імена, які позначають різні об'єкти, відрізнялися першими вісьмома символами. Для кращого розуміння програми доцільно вибирати значущі імена, а не просто довільний набір символів. Знак підкреслювання в іменах зручно використовувати тоді, коли імена складаються з кількох слів. Тоді слова сполучають знаком підкреслювання. Наприклад, modul— junga, середня -температура.
Для зображення чисел, які є константами цілого (integer) чи дійсного (real) типу в мові Паскаль використовується десяткове подання. Дійсні константи можуть бути написані в двох формах: у звичайній (з фіксованою крапкою) (1.2, —0.5, 14.0), в експоненціальній (з плаваючою крапкою) (7.2Е-2,19.2Е+3, 8.0.Е4, 5Е—2). Якщо число записано в експоненціальній формі, то порядку передує буква Е, яку слід читати як «помножити на десять в степені...». Якщо число містить десяткову крапку, то синтаксис мови вимагає, щоб перед нею і після неї було принайні по одній цифрі.
У мові Паскаль можна використовувати константи-рядки. Рядок — це будь-яка послідовність символів, взятих в апострофи.. Якщо одним із символів рядка повинен бути апостроф, то його повторюють двічі. Наприклад, 'Два розвозки', 'PASCAL', 'Pascal', 4988', 'C,';'.
Рядки, що містять лише один символ, є константами стандартного символьного типу (типу char).