Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

_TPLab_My_Посібник

.pdf
Скачиваний:
20
Добавлен:
08.06.2015
Размер:
1.85 Mб
Скачать

1.Відповіді на всі запитання завдань до лабораторної роботи, а також детальний опис дій щодо виконання тієї чи іншої операції.

2.Відповіді на контрольні запитання .

ВІДОМОСТІ З ТЕОРІЇ.

Система Turbo Pascal є інтегрованим середовищем проектування (ІDE - Integrated Design Environment), яке включає всі засоби для створення, редагування (текстовий редактор), компілювання (компілятор), компонування (компонувальник, редактор зв'язків), запуску, керування та відлагодження (debugger - відлагоджувач) програм.

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

Головне вікно середовища зображено на Рис.1.

Рисунок 1. Головне вікно ІDE Turbo Pascal

У верхній частині вікна розміщується рядок системного меню, в якому згруповані спеціальні опції та операції, які можна застосувати до виділених у вікні об’єктів. Перехід в системне меню здійснюється клавішею F10 (виділиться пункт меню, який відкривався останнім) або лівим Click'ом на будь-якому пункті меню (відкриється каскадне меню опцій і команд даного пункту).

File

(Файл)

Debug

(Відлагодження)

Edit

(Редагування)

Tools

(Інструменти)

Search

(Пошук)

Options

(Опції)

Run

(Запуск)

Window (Вікно)

Compile (Компілювання)

Help

(Довідка)

Врежимі редагування тексту можна викликати локальне меню комбінацією клавіш ALT+F10 або правим Click'ом (Рис.2).

Впункті меню File містяться команди для створення і зберігання (запису) нових файлів, відкривання (завантаження) існуючих файлів, зберігання модифікацій та копій, зміни поточного каталогу, налаштування принтера та друку активного файлу, тимчасового виходу в DOS і виходу із середовища Turbo Pascal.

New

(Новий)

Open

(Відкрити, завантажити)

Save

(Зберегти)

Save As

(Зберегти як)

Save All

(Зберегти все)

Change Dir

(Змінити каталог)

Print

(Друк)

Printer setup

(Налаштування принтера)

DOS shell

(Сеанс DOS)

Exit

(Вихід)

21

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

Рисунок 2. Локальне меню ІDE Turbo Pascal

ПОРЯДОК ВИКОНАННЯ РОБОТИ

1.Завантажте систему Turbo Pascal.

2.Перейдіть до системного меню (F10).

3.За допомогою клавіш керування курсором перегляньте зміст пунктів системного меню і визначте призначення кожної команди та опції (відображається в рядку стану в нижній частині вікна). Зверніть увагу на «гарячі клавіші».

4.Створіть новий файл (File New). В головному вікні Turbo Pascal відкриється вікно редагування тексту програми з горизонтальною та вертикальною смугами прокручування та елементами керування вікном: ■ (в лівому верхньому куті вікна) – закрити активне вікно, ↑ або ↕ (в правому верхньому куті вікна) – розгорнути активне вікно або згорнути його до попереднього розміру (Рис.3).

Зауважимо, що користувач може працювати з декількома файлами одночасно, активуючи будьякий з них.

Рисунок 3. Вікна редагування тексту програм.

5.За замовчуванням новому файлу присвоюється ім'я NONAME00.PAS, яке користувач може змінити при першому зберіганні за допомогою команди File Save (Рис.4).

6.Користувачеві пропонується зберегти файл в поточному каталозі, повне ім'я (шлях) якого відображається в нижній частині діалогового вікна. Ім'я файлу необхідно ввести в полі Save file as і підтвердити зберігання кнопкою ОК.

Рисунок 4. Діалогове вікно зберігання програми.

Примітка. Нагадаємо, що ім'я файлу в Turbo Pascal задається у форматі х...х.pas, де х – дозволений символ (літера, цифра, або знак підкреслення „_“ ). В полі Save file as достатньо ввести

22

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

тільки ім’я файлу, так як розширення pas Turbo Pascal додає автоматично. Хоч Turbo Pascal допускає використання довгих імен, в діалогових вікнах запису та відкривання файлів відображаються тільки перші 6 символів імен каталогів і файлів.

7. Зміна поточного каталогу для даного сеансу Turbo Pascal здійснюється командою File Change dir

(Рис.5).

Рисунок 5. Діалогове вікно зміни поточного каталогу.

Створіть, перейшовши до Windows, свою папку та зробіть її поточним каталогом для даного сеансу Turbo Pascal.

8.Наберіть у вікні текстового редактору будь-який текст, наприклад, відомості про себе. При набиранні тексту зверніть увагу на те, що курсор може переміщатись вниз тільки до останнього рядка. Нові рядки створюються натисканням клавіші Enter.

9.Встановіть курсор посередині будь-якого рядка з текстом. Натисніть декілька разів клавішу

Backspace, а потім Del. Занотуйте різницю в їх роботі. Відмініть внесення останніх змін (Edit Undo).

10.Натисніть декілька разів клавішу Ins (Insert – вставка). Як змінюється курсор? Встановіть курсор в середину будь-якого рядка та спробуйте змінити будь-які символи на інші в режимі «вставка» (режим Insert ввімкнений) та в режимі «автозаміна» (режим Insert вимкнений). Занотуйте різницю.

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

12.Закрийте активне вікно (Window Close або ALT_F3).

13.Завантажте збережений файл (File Open або F3) та створіть новий (File New). Перейдіть у перше вікно, натиснувши ALT_1. Поверніться знову в друге вікно (ALT_2). Спробуйте активувати вікна за допомогою меню вікон - (ALT_0).

14.Робота з блоками (фрагментами тексту). В середовищі текстового редактора системи Turbo Pascal користувач має змогу виконувати операції (видалення, вирізання/копіювання, вставки) над виділеними блоками (фрагментами тексту).

14.1.Виділення блоків. Виділити блок можна за допомогою клавіш керування курсором при затисненій клавіші Shift або за допомогою команд виділення блоків. Занотуйте основні команди виділення фрагментів тексту Вашої програми та відпрацюйте їх застосування.

Примітка. Всі команди текстового редактора для роботи з фрагментами тексту (символами,

рядками і блоками) можна переглянути в довідці Turbo Pascal (Help Contents Команды редактора).

14.2. Операції над блоками. Занотуйте команди роботи з блоками та відпрацюйте виконання операцій видалення виділеного блоку, вирізання та копіювання виділеного блоку до буферу обміну (Clipboard), вставки блоку з буферу обміну в режимі Insert та в режимі «автозаміна».

15.Дослідіть використання команди Redo (Edit Redo) та занотуйте результати досліджень.

16.Дослідіть способи розташування кількох вікон редагування в головному вікні Turbo Pascal (Window

Tile та Window Cascade).

17.При натиснення Ctrl+F5 рамка активного вікна редагування змінює колір, що свідчить про можливість змінювати його розміри та розташування в головному вікні. Утримуючи клавішу Shift за допомогою клавіш керування курсором, спробуйте змінити вертикальні та горизонтальні розміри вікна редагування. Встановивши розміри вікна, відпустіть клавішу Shift та спробуйте переміщати вікно або вводити буд-який текст. Те ж саме спробуйте після натиснення клавіші Enter. Занотуйте результати своїх досліджень.

18.Закінчіть сеанс роботи в Turbo Pascal (File Exit або ALT+X).

23

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

КОНТРОЛЬНІ ЗАПИТАННЯ.

1.Як завантажити та записати файл програми користувача?

2.Які режими вмикаються/вимикаються клавішею Insert? Як при цьому змінюється курсор?

3.Які написи є на рамці вікна редагування тексту програми?

4.Чи може користувач одночасно редагувати декілька програм? Які є способи розташування та перемикання вікон?

5.Як виділити блок та які операції над ним можна виконати?

6.Для чого використовується команда Change dir?

7.Як видалити поточний рядок програми?

8.Який формат повного імені файлу?

9.Які опції (команди) містяться в пункті Search системного меню?

10.Які компоненти входять до складу ІDE Turbo Pascal?

24

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

ЛАБОРАТОРНА РОБОТА № 2.

Проектування та відлагодження програм опрацювання простих типів даних

(реалізація лінійних та розгалужених алгоритмів)

МЕТА РОБОТИ: Навчитись проектувати лінійні і розгалужені алгоритми та програми їх реалізації для опрацювання простих типів даних – дійсних та передописаних; отримати навички організації введеннявиведення даних та застосування стандартних функцій Turbo Pascal.

ЗАВДАННЯ:

Спроектувати алгоритми та програми розв’язання задач з використанням умовного оператора (завдання 1, табл.1) та оператора вибору (завдання 2, табл.2) за варіантами завдань, номери яких визначає викладач.

МЕТОДИЧНІ ВКАЗІВКИ

1.Перед виконанням роботи необхідно пригадати:

основні поняття програмування - алгоритм, програма, компіляція, тощо;

базові конструкції алгоритмів та способи їх запису;

алфавіт та основні елементи мови Turbo Pascal – ідентифікатор, вираз, операнд, операція, класифікація та пріоритет операцій;

логічну структуру програми на мові Turbo Pascal;

інтерфейс IDE Turbo Pascal, способи завантаження та зберігання програми користувача, основні команди текстового редактора, режими компіляції, виконання та засоби відлагодження програми.

2.Перед виконанням роботи необхідно вивчити:

поняття про тип даних та виразів, сумісність та перетворення типів;

синтаксис виразів та порядок дій при їх обчисленні;

класифікацію типів даних мови Turbo Pascal (зокрема, простих типів) - формат опису, діапазони допустимих значень;

оператор присвоювання, його синтаксис та правила застосування;

допустимі операції над даними простих типів;

оператори розгалуження, їх синтаксис та правила застосування;

оператори процедур введення-виведення, синтаксис їх параметрів.

стандартні функції Turbo Pascal, їх синтаксис та застосування до стандартних типів даних.

3.Ініціалізацію вхідних даних здійснити введенням їх значень з клавіатури.

4.Функції, які необхідні для виконання обчислень але відсутні в бібліотеці стандартних функцій Turbo Pascal, необхідно виразити через наявні.

5.Відлагодження програми здійснити шляхом контролювання та перевірки правильності проміжних результатів.

ВІДОМОСТІ З ТЕОРІЇ.

1. Типи даних мови Turbo Pascal.

Мова Turbo Pascal відноситься до алгоритмічних мов з нестрогою статичною типізацією, в яких є обов’язковим опис типів змінних, параметрів і функцій, які використовуються в програмі, але допускається неявне приведення типів – у випадку, якщо значення одного типу присвоюється змінній другого типу, то компілятор автоматично генерує код для перетворення значення в потрібний тип, якщо тільки таке перетворення не призводить до втрати даних.

Статична типізація означає, що об’єкт зв’язується з типом в момент оголошення і тип не може бути змінений пізніше.

Означення 1. Тип даних визначає набір об'єктів типу, набір операцій і відношень, введених для цих об'єктів, та набір аксіом, які задають властивості операцій і відношень.

Об'єкт типу – елемент даних (константа або змінна), операнд, вираз, функція.

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

Кардинальним числом Т називається число різних значень, які належать типу Т і яке визначає розмір пам’яті, необхідної для розміщення об’єкту типу Т. (Н.Вірт)

Структурна схема всіх типів даних мови Turbo Pascal приведена в додатку 7.

25

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

Логічна структура програми на мові Turbo Pascal передбачає наявність двох розділів для опису об’єктів, які використовуються в програмі – розділу опису нових типів (типів користувача) із заголовком Type (Тип) та розділу опису змінних, типи яких визначені (дозволені) в Turbo Pascal, із заголовком Var (Variables – змінні).

Формат опису нового типу даних:

Type <ім’я_нового_типу> = <ідентифікатор_типу>;

де ім’я_нового_типу – правильний ідентифікатор нового типу даних, який вводиться користувачем, а ідентифікатор_типу – ідентифікатор одного з типів даних, дозволених в Turbo Pascal.

Формат опису змінних:

Var <список_імен_змінних> : <ім’я_нового_типу>;

Var <список_імен_змінних>: <ідентифікатор_типу>;

де список_імен_змінних – список ідентифікаторів змінних одного і того ж типу, розділених комою.

Наприклад:

Type Masiv = Array [1. .5] Of Byte;

Var a, b : Masiv; c, d, e : Real; i, j : Integer;

f, l : Boolean;

nn, mm : Array [1. .10] Of Real; kk : Array [Byte] Of Single;

До простих типів відносяться ординальні (порядкові) та дійсні типи. До ординальних типів відносяться цілі та логічні типи, символьний тип, перелічувальний тип та тип-діапазон (інтервальний, обмежений).

Свою назву ординальні типи отримали тому, що до кожного з них можна застосувати вбудовану функцію ORD(Х), яка повертає порядковий номер значення об’єкта Х в множині його допустимих значень.

Специфікація цілих типів приведена в Табл.1, специфікація дійсних типів – в Табл.2, а специфікація логічних типів – в Табл.3.

В додатку 8 приведена таблиця символів (тип Char) та їх кодів відповідно до стандарту ASCII (American Standard Code for

Information Interchange – американський стандартний код для обміну інформацією).

 

Таблиця 1

 

 

 

 

Ідентифікатор

Діапазон

 

 

Об’єм

типу

значень

 

пам’яті, байт

Byte

0...255

 

 

1

Shortint

-128...127

 

 

1

Integer

-32768...32767

 

 

2

Word

0...65535

 

 

2

Longint

-2147483648...2147483647

 

4

 

Таблиця 2

 

 

 

Ідентифікатор

Діапазон

Точність,

 

Об’єм

типу

значень

значущих

 

пам’яті,

 

 

цифр

 

байт

Real

2.9Е-39 .. 1.7Е38

11-12

 

6

Single

1.5E-45 .. 3.4E38

7-8

 

4

Double

5.0E-324 .. 1.7E308

15-16

 

8

Extended

3.4E-4932 ..1.1E4932

19-20

 

10

Comp

-9.2E18 .. 9.2E18

19-20

 

8

-263+1 .. 263-1

 

Таблиця 3

26

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

Ідентифікатор

Діапазон

Об’єм пам’яті,

типу

значень

байт

Boolean

True, False

1

ByteBool

True, False

1

WordBool

True, False

2

LongBool

True, False

4

Примітка 1. Типи ByteBool, WordBool, та LongBool введені в Turbo Pascal для сумісності з Windows.

2. Вирази, операнди та оператори.

Означення 2. Вираз – граматична конструкція, яка складається з операндів, знаків операцій, круглих дужок і визначає порядок обчислення значення.

Означення 3. Операнд - граматична конструкція, яка визначає об’єкти (числа, константи, змінні, звернення до функцій), над якими виконуються операції.

Класифікація операндів:

постійний – задає значення, яке відоме при складанні програми і не змінюється в процесі її виконання, тобто це – константа;

змінний - задає значення, яке визначається і може змінюватись в процесі виконання програми. Це значення має бути визначене до початку обчислення виразу, в якому воно використовується. Такими операндами є змінні мови Turbo Pascal;

обчислюваний – задає значення, яке не визначене навіть до початку обчислення виразу, в якому воно використовується – це значення обчислюється в процесі обчислення самого виразу. Такими операндами є звернення до функцій (виклики функцій, функції).

Для опису дій над даними, які необхідно виконати для розв’язання поставленої задачі, в алгоритмічній мові служить поняття оператора.

Означення 4. Оператор - граматична конструкція, яка визначає базову одиницю дії – деякий логічно завершений, самостійний етап процесу опрацювання даних на комп’ютері.

Означення 5. Оператор (програмування) - мовна конструкція, що являє собою один крок послідовності дій, вказівка, призначена для задання деякої завершеної дії в процесі переробки інформації на ЕОМ. [Вікіпедія].

Для однозначного розуміння та інтерпретації програми виконавцем (комп’ютером) визначені множина допустимих операторів мови та їх синтаксис (правила або формат запису).

Всі оператори мови Turbo Pascal поділяються на дві групи – прості і складені.

Означення 6. Простий оператор - це оператор, який не містить в собі ніяких інших операторів. Означення 7. Складений оператор - це послідовність операторів, яка замкнена в операторні дужки Begin-End і трактується як один оператор.

Складений оператор, строго кажучи не є оператором. Справа в тому, що, як арифметичні дії іноді буває необхідно помістити в дужки, послідовності команд (операторів) теж іноді вимагають об'єднання. Це дозволяють зробити операторні дужки Begin-End.

Синтаксис складеного оператора:

Begin

<Оператор 1>; <Оператор 2>;

......

<Оператор N>

End;

Зверніть увагу на те, що крапка з комою перед End може не ставитися.

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

3. Оператор присвоювання.

Означення 8. Оператор присвоювання вказує обчислити вираз, заданий в його правій частині, і присвоїти результат змінній, ідентифікованій іменем, розміщеним в лівій частині (зліва від символу присвоювання).

Синтаксис:

27

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

<ім’я_змінної_типу_Т1> <вираз_типу_Т2>;

Типи Т1 і Т2 мають бути однакові або сумісні.

4. Умовний оператор.

Означення 9. Умовний оператор (оператор розгалуження, альтернативний) визначає порядок (напрям) виконання обчислень в залежності від результатів перевірки деякої умови.

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

Синтаксис умовного оператора (альтернативи):

If<логічний_вираз>Then<Оператор А>Else<Оператор В>;

Якщо логічний вираз має значення True (істина), то виконується оператор А, в протилежному випадку (False) – оператор В. Оператори А і В можуть бути простими або складеними.

Синтаксис оператора єдиного вибору:

If <логічний_вираз> Then <Оператор А> ;

Якщо логічний вираз має значення True (істина), то виконується оператор А, в протилежному випадку (False) – оператор, наступний за даною конструкцією.

Примітка 2: Настання деякої умови (істинність логічного виразу) і виконання відповідної дії закінчує умовний оператор, а перевірки, які ще залишаються, пропускаються.

5. Оператор множинного вибору.

Означення 10. Оператор множинного вибору (оператор варіанту) визначає порядок (напрям)

виконання обчислень в залежності від значення, яке приймає зміна-селектор.

Оператор вибору реалізує базову керуючу структуру – розгалуження (множинного вибору). Синтаксис:

Case <селектор> Of

<список_значень_1> : <оператор_1>;

<список_значень_N> : <оператор_N> Else <оператор N+1>

End.

Тут селектор – це ідентифікатор змінної порядкового (ординального) типу; списки значень (константи вибору) – сталі або діапазони значень, тип яких відноситься до типу селектора. Якщо список значень складається з декількох елементів, то вони перераховуються через кому. Частина Else <оператор N+1> може бути відсутня.

Якщо значення селектора співпадає зі значенням з списку і, то виконується оператор з номером і, а інші оператори не виконуються. Якщо значення селектора не співпадає з жодним значенням з жодного списку, то виконується оператор з номером N+1, а у випадку відсутності Else – наступний оператор після оператора Case.

6. Оператор безумовного переходу.

Означення 11. Оператор безумовного переходу – це оператор, який примусово змінює порядок (напрям) виконання обчислень, вказуючи на точку (мітку) переходу.

Синтаксис:

GoTo <мітка>;

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

7. Оператори процедур введення-виведення даних.

Означення 12. Оператори процедур введення-виведення – це оператори виклику (звертання до)

вбудованих процедур введення (з клавіатури або файлу) та виведення (на екран або у файл) даних.

Синтаксис операторів процедур введення даних:

Read (< ім’я_змінної 1>, …,< ім’я_змінної k>);

28

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

Readln (< ім’я_змінної 1>, …,< ім’я_змінної k>); Readln;

Змінні в списку введення можуть бути типу char, string, а також будь-якого цілого чи дійсного

типу.

Значення змінних із списку введення набираються на клавіатурі через пропуск («пробіл») або з натисненням після кожного значення клавіші «Enter» (підтвердження введення).

Виклик процедури Readln без параметрів (пропуску всіх символів поточного рядка) використовується в середовищі Turbo Pascal для MS-DOS, щоб оглянути результати виконання програми на екрані (виконання програми при цьому призупиняється).

Синтаксис операторів процедур виведення даних:

Write (<v1>[:n1[:m1]], …,<vk> [:nk[:mk]]);

Writeln(<v1>[:n1[:m1]], …,<vk> [:nk[:mk]]);

Writeln;

Тут v1, …,vk елементи списку виведення - константи, змінні простих стандартних типів (char, boolean, будь-якого цілого чи дійсного), вирази та рядки символів (в апострофах), n та m – необов’язкові модифікатори: n - ширина поля виведення (ціле число позицій), m - кількість позицій для дробової частини дійсних чисел.

Якщо число символів в представленні значення, яке виводиться, є меншим ширини n поля виведення, то воно (поле) зліва доповнюється пропусками.

Якщо вказано тільки ширину n поля виведення або цей модифікатор відсутній, то значення дійсних типів виводяться в експоненційній формі (х.хххххххЕ±хххх, де х – будь-яка цифра).

Примітка 3. Значення змінних діапазонного (інтервального) та перерахованого типу не можуть бути елементами списків введення - виведення.

Примітка 4. Значення змінних логічного типу не можуть бути елементами списку введення, а виводяться у вигляді констант True або False.

8. Стандартні функції мови Turbo Pascal.

Перелік основних стандартних (вбудованих) функцій мови Turbo Pascal та їх специфікації приведений в додатку 8.

ПРИКЛАД ОФОРМЛЕННЯ ЗВІТУ ПРО ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ. Звіт про виконання лабораторної роботи №2.

Завдання №1, варіант № ххх.

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

1. Аналіз задачі на змістовному рівні, обґрунтування вибору методу розв’язування задачі та її інформаційна модель.

Математичною моделлю об’єкта, який досліджується в даній задачі, тобто, трикутника, заданого довжинами своїх сторін, є множина трьох відрізків заданої довжини з умовою утворення ними трикутника:

М = { (a, b, c): (a + b)>c ˄ (b + c)>a ˄(a + c)>b }

Існує аналітичний розв’язок задачі – площа трикутника за заданими довжинами його сторін обчислюється за формулою Герона:

S=p(p a)(p b)(p c) ,

де p=(a+b+c)/2 - півпериметр, a,b,c – довжини сторін, використавши стандартну функцію SQRT.

Для визначення цілої частини значення площі використаємо стандартну функцію Trunc або Int, а для заокругленого значення - стандартну функцію Round.

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

2.Проектування алгоритму розв’язування задачі.

a)Обґрунтування структури алгоритму: Алгоритм розв’язування даної задачі включає дві керуючі

конструкції (базові структури) – слідування та розгалуження. Слідування означає, що керування

29

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

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

Для перевірки, чи значення площі є більшим за довжину кожної із сторін, використаємо в операторі виведення Writeln логічний вираз:

(S>a) AND (S>b) AND (S>c).

Якщо значення площі є більшим за довжину кожної із сторін, то виведемо логічну константу True,

інакше - False.

b) Блок-схема алгоритму: зображена на Рис.1.

 

 

Пуск

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Очистка екрану

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Інформація про

 

 

Інтерфейс

 

 

тему, завдання та

 

 

користувача

 

 

виконавця

 

 

 

 

 

 

 

 

 

лабораторної

 

 

Введення

 

 

 

 

 

довжин

 

 

 

 

 

відрізків

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Виведення

 

 

 

Оператори

 

 

довжин

 

 

 

 

 

 

 

 

відлагодження

 

 

відрізків

 

 

 

Ні

 

 

 

 

 

(a+b)<c або (a+c)<b

Трикутник?

 

 

 

 

 

Так

 

 

 

або (b+c)<a

 

 

 

 

 

 

 

 

p=(a+b+c)/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S= p(p-a)(p-b)(p-c)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Виведення S

Зупинка

Рис.1. Блок-схема алгоритму.

3. Обґрунтування структури програми та специфікація змінних і функцій.

Програма міститиме опис змінних – вхідних даних та результатів обчислень, оператори присвоєння та оператори процедур введення-виведення, звернення до стандартних функцій SQRT, TRUNC, INT, ROUND.

Для використання оператора ClrScr (очистка екрану) необхідно підключити модуль CRT керування екраном в текстовому режимі.

Інтерфейс користувача міститиме такі відомості:

номер і тема лабораторної роботи;

прізвище, ім’я та група студента;

призначення і дата створення програми;

запрошення-інструкції щодо введення даних;

30

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)