Програмування алгоритмів лінійної структури

Лабораторна робота №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 Як здійснюється форматний і бесформатний висновки в Паскалі?