Програмування алгоритмів лінійної структури
Лабораторна робота №6. алгоритми
Мета роботи - ознайомлення з правилами побудови алгоритмів, структурою програми на мові Паскаль, правилами запису арифметичних виразів, особливостями програмування алгоритмів лінійної структури, а також використання оператора присвоювання, процедур введення і виведення даних.
1.1 Алгоритм і блок-схема
При вирішенні завдань на ЕОМ проводиться підготовча робота, що включає в себе наступні етапи: математична формулювання завдання, розробка алгоритму її рішення, запис програми і підготовка вихідних даних. Якщо математична формулювання завдання є, то можна відразу почати з розробки алгоритму.
1.2 Особливості мови Турбо Паскаль і структура програми
До основних особливостей Турбо Паскаль можна віднести досить суворі вимоги до структури програми. Програма на мові Паскаль записується у вигляді послідовності символів, до числа яких відносяться латинські букви, арабські цифри, розділові знаки, знаки операцій. Для позначення вихідних даних і результатів обчислень (проміжних і підсумкових) вживаються змінні. імена (ідентифікатори) яких можуть бути не тільки буквами - a, b, X, Y і т.д. але і послідовністю символів виду x1, time, alfa2 і т.д. які складаються з літер і цифр і починаються з літери. Ключові слова - це безліч імен, які використовуються в мові для написання операторів і інших конструкцій. Імена, що застосовуються користувачем для позначення конструкція не повинні збігатися з ключовими словами. Список зарезервованих слів і перелік операцій мови наведені в таблицях В1 і В2. Відповідне вихідне дане або результат обчислення називається значенням змінної. Константи відрізняються від змінної тим, що їх значення не змінюються в ході виконання програми. Числа записуються в десятковій системі, замість коми ставиться крапка: 0, -19, 0.27, 3.1415 і т.д.
До основних типів даних мови Паскаль відносяться: речовинний (Real), цілочисельний (Integer), логічний (Boolean) і літерний (Char). Цілі числа і числа з плаваючою точкою можуть бути представлені в різних формах (таблиця В3).
Структура найпростішої програми на Паскалі приведена в таблиці С1. В описовій частині задається ім'я програми, все мітки і константи, які будуть використовуватися в програмі, а також ідентифікатори та тип змінних. Головною частиною програми є її виконавча частина, тобто послідовність інструкцій, яку повинен виконати комп'ютер. Ці інструкції прийнято називати операторами.
Більш складні арифметичні вирази будуються з операндів (констант і змінних), з'єднаних знаками арифметичних операцій. Крім того, в вираженні можуть бути використані круглі дужки і функції (таблиця С2). Результатом розрахунку арифметичного виразу є число. При складанні арифметичних виразів повинні дотримуватися таких правил:
- два знака арифметичних операцій не повинні стояти поруч;
- при обчисленні значень арифметичних виразів діють правила старшинства операцій: покажчики функцій; множення і ділення зліва направо; додавання і віднімання зліва направо; круглі дужки змінюють цей природний порядок, тобто старшим дією є дія в дужках.
1.3 Алгоритми лінійної структури і використовувані в них оператори
Алгоритм називається лінійним. якщо всі операції в ньому виконуються послідовно один за одним.
Оператор присвоювання дозволяє змінити поточне значення змінної. Вид оператора наведено в таблиці D1. Обчислюється вираз, що стоїть праворуч від знака ": =" ( "привласнити"), отриманий результат присвоюється змінної, що стоїть в лівій частині оператора. При цьому старе значення, яке зберігалося в ній, безповоротно пропадає. Наприклад, Р: = 5; (В змінну Р запишеться число 5).
Для введення даних і виведення результатів використовуються процедури введення і виведення (таблиця D1). Існують форматний і бесформатний способи виведення.
1.4 Приклад алгоритму і програми лінійної структури
Дано змінні a і b. знайти
При складанні алгоритму необхідно виділити однотипні вирази (тут a 2 + b 2), які досить порахувати один раз, а потім використовувати результат обчислень. Бажано розбити складні обчислення одного виразу на більш прості (наприклад, окремо обчислити чисельник і знаменник дробу) для того, щоб в алгоритмі не було громіздких формул. На малюнку 1.1 представлений варіант блок-схеми алгоритму та програма.
Program Primer1; Var a, b, c, z: real; Begin Write ( 'Введіть a і b'); Read (a, b); C: = sqr (a) + sqr (b); z: = sqrt (sqrt (c)) + sin (c) - 1 / с; Write ( 'Z =', z: 10: 3) End.
Малюнок 1.1 - Блок-схема алгоритму і програма лінійної структури
Обчислення значення Z проводиться в такій послідовності:
1) в блоці 2 вводяться вихідні дані - значення a і b;
2) в блоці 3 обчислюється арифметичне вираз a 2 + b 2 і результат запам'ятовується в змінній c;
3) в блоках 4-6 обчислюються перший доданок, чисельник і знаменник другого доданка;
4) в блоці 7 проводиться остаточний розрахунок Z;
5) в блоці 8 виводяться вихідні дані і результат.
У програмі дії блоків 3-7 записуються операторами присвоювання, блоки 2 і 8 реалізуються операторами введення / виведення. Введення здійснюється із запитом, тому спочатку записаний оператор Write. а потім Read. Висновок здійснюється форматним способом. Всі змінні, що беруть участь в програмі, оголошуються в розділі Var її описової частини.
1.5 Варіанти завдань
Скласти блок-схему і програму обчислення значень функції при заданих значеннях аргументу.
1.6 Контрольні питання
1 Назвіть основні етапи підготовки і рішення задач на ПК?
2 Що таке алгоритмічний мову?
3 Що таке алгоритм? Назвіть основні властивості алгоритмів.
4 Що розуміється під «блок-схемою»? Назвіть елементи блок-схеми.
5 Опишіть структуру найпростішої Паскаль-програми.
6 Які типи даних використовуються в Паскалі?
7 Який алгоритм називається лінійним? Опишіть оператор присвоювання.
8 Яких правил слід дотримуватися при складанні арифметичних виразів?
10 Які оператори використовуються для введення і виведення даних в Паскалі?
11 Як здійснюється форматний і бесформатний висновки в Паскалі?