4. Дрінь Б.М. Мова програмування pascal: лабораторний

107
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ ПРИКАРПАТСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ІМЕНІ ВАСИЛЯ СТЕФАНИКА Б.М. ДРІНЬ МОВА ПРОГРАМУВАННЯ TURBO PASCAL ЛАБОРАТОРНИЙ ПРАКТИКУМ, Ч.1

Upload: nguyennhu

Post on 13-Feb-2017

321 views

Category:

Documents


14 download

TRANSCRIPT

Page 1: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИПРИКАРПАТСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ

ІМЕНІ ВАСИЛЯ СТЕФАНИКА

Б.М. ДРІНЬ

МОВА ПРОГРАМУВАННЯ TURBO PASCAL

ЛАБОРАТОРНИЙ ПРАКТИКУМ, Ч.1

Івано-Франківськ, 2013

Page 2: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

УДК 004.41=93(075.8)ББК 32Т48

Рекомендовано до друку Вченою радою факультету математики та інформатики Прикарпатського національного університету імені Василя Стефаника, протокол № від

Рецензенти:Горелов В.О., кандидат технічних наук, доцент кафедри інформатики факультету

математики та інформатики Прикарпатськийо національний університет імені Василя Стефаника

Ткачук В.М., кандидат фізико-математичних наук, доцент кафедри інформаційних технологій Прикарпатськийо національний університет імені Василя Стефаника

Дрінь Б.М.

Т48 Мова програмування TURBO PASCAL: Лабораторний практикум / Б.М. Дрінь, – Івано-Франківськ, Прикарпатський національний університет імені Василя Стефаника, ВДВ ЦІТ “Плай”, 2013. – с.

Лабораторний практикум короткі відомості роботи в інтегрованому середовищі TURBO PASCAL, контрольні питання з теорії, завдання для самопідготовки та зразки написання програм, які дозволяють студенту підготовитись до лабораторних занять

Тематика робіт відповідає робочій програмі базового курсу «Інформатика і програмування» для студентів 3-го курсу спеціальності «Математика».

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

УДК Д95004.41=93(075.8)

ББК 32

© Дрінь Б.М., 2013© Видавництво Прикарпатського національногоуніверситету імені Василя Стефаника, 2013

Зміст

ЗМІСТ.................................................................................................................................2

2

Page 3: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

ВСТУП................................................................................................................................3

ЛАБОРАТОРНА РОБОТА №1...............................................................................................4

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

ЛАБОРАТОРНА РОБОТА №3.............................................................................................33

ЛАБОРАТОРНА РОБОТА №4.............................................................................................40

ЛАБОРАТОРНА РОБОТА №5.............................................................................................48

ЛАБОРАТОРНА РОБОТА №6.............................................................................................55

ЛАБОРАТОРНА РОБОТА №7.............................................................................................62

ЛАБОРАТОРНА РОБОТА №8.............................................................................................69

ЛАБОРАТОРНА РОБОТА №9.............................................................................................77

ВИСНОВКИ...................................................................................................................78

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ТА ЛІТЕРАТУРИ........................................................79

3

Page 4: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Вступ

Лабораторний практикум написаний згідно робочої програми курсу

“Інформатика і програмування” для студентів спеціальностей «Інформатика» та

«Статистика» з урахуванням вивченого матеріалу по FREE PASCAL в

Прикарпатському національному університеті імені Василя Стефаника.

Лабораторний практикум складається з 9 лабораторних робіт, пов’язаних

між собою за принципом “з низу до гори”. Кожна робота складається з

контрольних питань, ходу роботи, який включає в себе завдання для

самопідготовки, прикладу розв’язування задачі та набору завдань для виконання

на лабораторних заняттях. Розв’язуючи задачі з кожної лабораторної роботи,

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

їх реалізації.

4

Page 5: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Лабораторна робота №1

Тема. Робота з компілятором мови програмування Free Pascal (FP).

Стандартні типи даних, процедури, функції і операції роботи з ними. Структура

програми.

Мета. Ознайомити студентів з основами роботи в середовищі Free Pascal,

сформувати навички та уміння використання стандартних типів даних при

розробці і реалізації найпростіших програм.

ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

1. Як записується заголовок програми?

2. Які основні розділи програми ви знаєте?

3. Які стандартні типи даних вам відомі?

4. Перелічіть стандартні функції для стандартних типів даних.

5. Як задається форматний вивід?

6. Як виконуються операції з блоками в середовищі Free Pascal?

ТЕОРЕТИЧНІ ВІДОМОСТІ

1. Запуск середовища.

Free Pascal (повна назва Free Pascal Compiler) — використовуваний

компілятор мови програмувания Pascal.

При його запуску на екрані відображається основне вікно, яке містить:

- рядок заголовку – – верхній рядок екрану;

- головне меню;

- робоче поле;

- інформаційний рядок;

- рядок стану;

Головне меню містить ряд пунктів, з допомогою яких можна звертатись до

наступних команд:

File – робота з файлами;

Edit – багатовіконне редагування;

Search – пошук і заміна в тексті;

5

Page 6: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Run – запуск програми на виконання;

Compile – компіляція програми;

Debug – налагодження програми, що знаходиться у робочому полі;

Tools – виконання деяких програм компілятора;

Options – установка режимів (параметрів );

Windows – маніпуляція вікнами;

Help – допомога.

Робоче поле ( the desktop ) використовується для введення і редагування

програми.

Інформаційний рядок містить інформацію про положення курсору в

робочому полі ( номер рядка і позиція в рядку ).

Рядок стану (the status line ) містить призначення функціональних клавіш, а

саме : F1- Help; F2- Save; F3- Open; Alt- F9- Compile; F9- Make;

Alt-F10- Local menu – ( містить ряд команд аналогічних пункту меню Edit ).

Звернутись до пунктів головного меню можна одним із наступних трьох

способів:

1) натиснути (F10) із допомогою клавіш переміщення курсору

вибрати відповідний пункт і натиснути (Enter);

2) натиснути комбінацію клавіш (Alt) і виділеної (гарячої) букви.

Наприклад (Alt+F)…

3) з допомогою миші.

Для виходу із меню потрібно натиснути (Esc).

Для виходу із середовища TP потрібно натиснути (Alt+X) (Exit) і відповісти

на запит – зберегти чи ні програму робочого вікна.

2. Робота в редакційному вікні по створенню програми (редактор

текстів).

Для переміщення курсору по тексту використовують клавіші:

- переміщення курсору;

Home/End – на початок (кінець рядка);

PgUp/PgDn – на сторінку вверх /вниз;

6

Page 7: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Ctrl+ -на слово вліво / вправо;

Ctrl + Home/END –на початок/кінець вікна;

Ctrl + PgUP/Pgpn –на початок/кінець файла.

Для корегування тексту використовують клавіші:

Ins; DEL; Bachspace; Ctrl + Y – вилучити рядок;

Ctrl +Q +Y – виділення символів від курсору до кінця рядка;

Ctrl + N – вставка рядка;

Shift + - виділення тексту;

Виділення тексту мишкою.

Редактор дозволяє також працювати з блоками, тобто виділеними

частинами тексту за допомогою команд пункту меню Edit, або комбінацій

клавіш, а саме:

[Shift + Del] (Cut) – вирізати із тексту і помістити в буфер;

[Ctrl + Ids] (Copy) – копіювати в буфер;

[Shift + Ins] (Paste) – вставити у текст із буфера;

[Ctrl + Del] (Clear) – вилучити.

Редактор дозволяє здійснювати пошук підрядка у тексті. Це можна зробити

за допомогою команди Find пункту меню Search. У діалоговому вікні, яке при

цьому відкривається у рядку Text to find потрібно задати пошуковий текст і

натиснути [Enter], або клацнути на Ok. Якщо текст буде знайдено, то курсор

вкаже на перший символ пошукового тексту, в противному випадку буде видано

повідомлення “ Search string not found “, яке можна видалити з екрана клавішою

[Esc].

Зауваження.

Пошук здійснюється від позиції курсору до кінця текста.

Для входження в робоче вікно, потрібно натиснути [ F10], виділити пункт

[File] і [Enter], або натиснути комбінацію клавіш [Alt + F]. При цьому

відкривається підменю, а саме:

7

Page 8: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Якщо тепер вибрати рядок New і натиснути клавішу Enter, то на екрані

відкривається порожнє вікно, яке має назву NONAME00.PAS. Це – ім’я, дається

середовищем по замовчуванні майбутній програмі. Якщо повторити операцію, то

відкривається ще одно вікно, але вже з іменем NONAME01.PAS. Таким чином

можна відкрити достатню кількість вікон.

У порожньому вікні в лівому верхньому куті мигає курсор, який вказує, що

користувач може набирати текст програми натискаючи [Enter] в кінці кожного

рядка.

Зауваження.

Якщо при запуску ТР замість робочого поля буде виведено на екран сіре

поле, то потрібно виконати одну із наступних дій:

[F3] і задати <ім’я файлу>:

виконати команду FILE/NEW і задати ім’я файлу.

3. Управління конфігурацією.

Перед початком написання програми можна здійснити ( або перевірити)

установку опцій конфігурації інтегрованого середовища ТР за допомогою команд

пункта меню Options.

У даному підменю відкривають підменю команди Environment, яке містить

наступні команди:

8

New

Open…

F3

Save

F2

Save as …

Save all

Page 9: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

preferences – дозволяє встановити параметри, які визначають умови роботи

інтегрованого середовища в цілому;

editor – дозволяє встановити параметри роботи редактора;

mouse – дозволяє ... опції роботи маніпулятора миші;

startup - ... опції, які визначають початкові параметри інтегрованого

середовища;

colors – установка кольору.

4. Компіляція програми

Для компіляції програми потрібно увійти в пункт Compile в основному

меню натиснувши для цього [ Alt + C ], або через [F10].

Команда Compile ([Alt + F9]) компілює файл в активному робочому вікні.

При виникненні помилки у верхній частині редакційного вікна з’явиться

відповідне повідомлення. Якщо компіляція попередньо уже була виконана, то у

вікні Compiling буде вказано повідомлення Compile successful: press any key –

компіляція виконана.

Команда Make компілює і створює. EXE файл.

Команда Build перестроює всі файли незалежно від їх новизни.

5. Виконання програми

Для запуску програми на виконання потрібно вибрати пункт Run в

основному меню. Підменю, яке при цьому відкривається, містить зокрема такі

команди:

Команди меню Run [Ctrl + F9] дозволяють запускати програму на

виконання, починаючи та закінчуючи сеанс налагодження.

Команда Trace info запускає програму покрочно ( оператор за оператором).

Команда Go to cursor запускає програму від місця зупинки (підсвічений

рядок вихідного тексту в редакційному вікні) до рядка, біля якого встановлено

9

Page 10: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

курсор. Якщо курсор знаходиться на рядку, який не містить виконуючих

операторів, Турбо Паскаль висвічує попередження.

Після виконання програми результат буде закритий робочим вікном з

програмою. Для перегляду результату потрібно вибрати команду User Screen в

підменю пункта меню Debug (або натиснути [Alt + F5]).

6. Збереження програми

Для збереження програми на диску потрібно вибрати команду Save або

Save as з меню File. Турбо Паскаль відкриває діалогове вікно Save File As для

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

його в потрібному каталозі на потрібному диску.

Діалогове вікно містить текстовий рядок (поле введення імен), список

файлів і стандартні перемикачі Ok, Cancel, Help. Переключення між елементами

вікна здійснюється клавішою [Tab].

У текстовому рядку File as користувач може записати ім’я, під яким віп

хоче запам’ятати файл ( чи файлову маску для блоку Files.

Блок Files містить імена файлів в поточному каталозі, у відповідності з

маскою, встановленому в текстовому рядку Save File as.

Наприклад, якщо в рядку Save File as записати *.PAS, то в блоці Files

з’являться імена всіх файлів каталогу, які мають розширення PAS.

Якщо вибрати Save для програми, яка уже записувалась у файл з певним

іменем, то вона повторно запишеться у файл без запиту імені.

Перемикач Ok СЛУЖИТЬ ДЛЯ ПІДТВЕРДЖЕННЯ ВИКОНАНИХ ДІЙ.

Кнопка Cancel відміняє всі дії і виводить з ділового вікна.

Кнопка Help виводить вікно з підказкою.

Команда Change dir підменю File відкриває діалогове вікно Change

Direсtory, в якому можна задати каталог, який потрібно зробити поточним, тобто

такий, який використовується Турбо Паска лем для запам’ятовування файлів та їх

пошуку.

7, Завантаження і налагодження програми

10

Page 11: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Для завантаження в робоче вікно програми, потрібно у підменю File

вибрати команду Open ([F3]).

Команда Open відкриває діалогове вікно Open File, в якому можна вибрати

файл для відкриття в редакційному вікні:

Open a File

Діалогове вікно містить поле введення імен файлів, список файлів,

інформаційну панель, стандартні кнопки CANCEL і HELP та кнопки ( OPEN,

REPLACE). Якщо виділити файл і [Enter] то у рядок Name виведеться ім’я файла

із списку файлів Files.

Для початку сеансу налагодження потрібно вибрати команду Trace Into в

меню Run (або натиснути [F7]). Перший натиск клавіші [F7] ініціалізує сеанс налагодження. Повторний

натиск [F7], почне виконання програми.

8. Робота з вікнами.

Для роботи з вікнами використовуються команди пункта меню Window, а

саме:

Size/Move (Ctrl + F5) – переміщення вікна мишкою установивши курсор на

екрані або на рядку імені.

11

Name

Files

Інформаційна панель

Open

Replac

Cancel

Help

Page 12: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Zoom (F5) – зміна розмірів вікна ( розкривається мишкою на все робоче

вікно або перейде до попереднього розміру).

Next (F6) – перехід до наступного вікна .

Previous ([Shift + F6]) – перехід до попереднього ( до першого після

останнього, до другого після першого).

Close ([Alt + F3]) – закрити всі вікна.

[Close + Enter] - розкриття робочого вікна на весь екран.

Перехід від одного вікна до іншого можна здійснювати також за допомогою

комбінацій клавіш [Alt + N ], де N – номер існуючого вікна, тобто того, яке

попередньо було створено як робоче.

9. Отримання допомоги про оператори, функції тощо.

Для отримання допомоги потрібно виконати одну із наступних дій:

1. Натиснути [ Shift + F1]. У списку, що відкриється вибрати потрібне і

[Enter].

2. Натиснути [Shift + F1], перемістити курсор на чисте поле вікна і набрати

потрібний оператор. Як тільки буде набрана достатня кількість букв, на екрані

появляться оператори чи функції із даними буквами.

3. Виділити у програмі потрібний оператор ( встановивши на нього курсор)

і натиснути [Ctrl + F1]. Якщо оператор написаний неправильно, то виведуться всі

назви подібні до виділеного.

10. Загальна структура програми на мові Паскаль

Загальна структура програми на мові Паскаль має вигляд :

PROGRAM <ім’я>;

[<блок описувачів ;>]

BEGIN

<блок операторів, кожен із яких закінчується символом;>

END.

12

Page 13: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

BEGIN вказує на початок блоку і після нього не ставиться ніяких знаків;

END вказує на кінець блоку (програми) після нього ставиться”;” або ”.”;

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

програму коментарі не виконуються і поміщаються між символами ” {} ”. Крім

таких коментарів у програму можна включити, при потребі, спеціальні глобальні

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

програми, містили вказівки на включення у текст програми фрагментів других

програм тощо. Такі директиви починаються парою символів ({$) і закінчуються

символом (}). Приклад: директива {$R+} відміняє діапазон типу даних.

В програмі також можна використовувати пропуски, які не впливають на

її виконання, але завдяки яким можна зміщувати оператори один по відношенню

до другого і тим самим робити програму легшою для читання.

Відповідно програма складається із:

- заголовка програми;

- опису даних, з якими виконуються дії (описова частина);

- опису послідовності дій, які необхідно виконати (виконувана частина).

Дії представляються операторами мови, дані вводяться за допомогою

описів і визначень.

Опис даних текстуально повинен передувати опису дій і має містити

інформацію про всі об’єкти, що будуть використовуватись в діях (операторах).

Опис даних і опис послідовності дій утворюють блок (тіло) програми.

Наприклад, задавши USES Crt; можна у розділі операторів задати

оператор очистки екрану ClrScr;.

Повна структура програми може мати такий вигляд:

PROGRAM <ім’я;>

USES <список модулів і бібліотек;>

[Описова частина, яка може містити наступні розділи:

Розділ оголошення позначок LABEL…;

Розділ констант CONST…;

Розділ типів даних TYPE…;

Розділ змінних VAR…;

13

Page 14: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Розділ процедур PROCEDURE<ім’я;>

<тіло процедури;>

Розділ функцій FUNCTION<ім’я;>

<тіло функції;>]

Виконувана частина яка записується в операторних дужках.

BEGIN

<оператори;>

END.

Примітки:

1. Будь-який із перших шести розділів може бути відсутнім.

2. Оператор USES може бути включений у програму тільки один раз і він

пишеться зразу після службового слова PROGRAM.

ЗАВДАННЯ ДЛЯ САМОПІДГОТОВКИ

1. Розпочніть роботу з Free Pascal (FP).

2. Створіть новий файл-програму {Активізація головного меню – F10, File /

New}

3. Наберіть текст нуль-програми з назвою EmpyCode.

4. Збережіть програму у файлі з іменем Prog101.pas {File / Save}.

5. Закрийте вікно {Window / Close}.

6. Завершіть роботу з FP {File / Exit}.

7. Завантажте FP.

8. Відкрийте збережену програму .

9. Змініть назву програми на FirsCode.

10. Збережіть змінену програму у файл Prog102.pas {File / Save As}.

11. Використовуючи процедуру виводу {Writeln()}, виведіть значення

виразів на екран:

14

Page 15: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Примітка. Зручно набрати процедуру Writeln(), виділити цей рядок і

скопіювати {Edit / Copy}, тоді три рази вставити {Edit / Paste}, а потім

записати відповідні вирази.

12. Виконайте дану програму {Run / Run}.

13. Погляньте на результат виконання програми {Debug / User Screen}.

14. Закрийте даний файл.

15. Створіть нову нуль-програму з іменем Numbers1 і збережіть файл,

змінивши назву на Prog103.pas.

16. Опишіть змінні A, B, C, D, E, F, G, H цілого типу.

17. Використовуючи оператор присвоєння, надайте змінним таких значень:

A:=123, B:=45, C:=6789.

18. Добавте оператор виводу значення цих змінних на екран.

19. Перевірте дію програми.

20. Створіть нову програму.

21. Перейдіть у попереднє вікно {Window / Next чи Window / Previous}.

22. Виділіть весь текст програми.

23. Скопіюйте його у буфер.

24. Закрийте дане вікно.

25. Помістіть текст програми з буфера у вікно створеної програми.

26. Змініть ім’я файлу на Prog104.pas.

27. Змінній D надайте значення A+B, а змінній E надайте значення B div A

(ціла частина від ділення числа B на A).

28. Змінній F надайте значення B mod A (остача від ділення числа B на A).

29. Виведіть на екран змінні D, E, F.

30. Збережіть програму.

31. Перевірте дію програми.

32. Змінній G надайте значення 12345.

33. Виведіть на екран останню цифру змінної {G mod 10}.

34. Змінній присвойте значення, що утворюється з трьох останній цифр

значення і виведіть результат на екран.

15

Page 16: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

35. Збережіть і перевірте дію програми.

36. Закрийте дане вікно.

37. Створіть нову програму з іменем Numbers2.

38. Змініть ім’я файлу на Prog105.pas.

39. Опишіть дійсні змінні K, L, M, N.

40. Надайте змінним таких значень: K:=12.543, L:=6.789е3, М:=-3е5.

41. Змінній N присвойте абсолютне значення {Abs()} добутку чисел L, M і

виведіть на екран.

42. Виведіть на екран значення квадрату {Sqr()} всіх змінних.

43. Перевірте дію програми.

44. Збережіть і закрийте програму.

45. Завершіть роботу з FP.

16

Page 17: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Лабораторна робота №2

ТЕМА. Лінійні програми. Арифметичні вирази.

МЕТА. Формування навичок та умінь розробки і реалізації найпростіших

лінійних програм.

ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

1. Ким була розроблена перша версія мови ТР?

2. Що входить в алфавіт мови?

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

4. Яка структура тіла програми?

5. Які арифметичні операції вам відомі, і який порядок їх виконання в мові

ТР?

6. Які стандартні функції використовуються в ТР?

ТЕОРЕТИЧНІ ВІДОМОСТІ

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

Ідентифікатори складаються самим програмістом і являють собою ім’я для

задання елементів програми (констант, змінних, імен програм, процедур, функцій

тощо.)

Ідентифікатори складаються за наступними правилами:

- він повинен починатись з букви або знака підкреслення;

- букви використовуються із латинського алфавіту і можуть бути великі,

малі...(rezalt, Rezalt..);

- починаючи з другої позиції поряд із буквами можна приміняти і цифри;

- в якості ідентифікатора не можна використовувати зарезервовані слова;

- ідентифікатор не повинен містити пропусків;

- довжина ідентифікатора може бути довільна у межах допустимого і

складатись із довільної кількості слів, об’єднаних наприклад знаком підкреслення.

Наприклад, my_text_1.

У ТР 7.0 порівняння ідентифікаторів здійснюється по перших 63-х

символах.

17

Page 18: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Розділ опису позначок

Розділ опису позначок починається із службового слова LABEL, за

якими слідує список позначок, що розділяються між собою комою.

Позначкою може бути довільне ціле число чи ім’я константи.

Закінчується розділ “;”

Наприклад: LABEL 20,18,1960,M1;

Позначка від оператора відділяється символом “:”.

Наприклад: MI: <оператор;>

20:;

Позначки ставляться перед операторами, які необхідно виділити для

передачі на них управління, наприклад з допомогою оператора GOTO.

Розділ задання константВсі дані у програмі інтерпретуються як константи (сталі) або змінні.

Розділ задання констант починається із службового слова

CONST. ( ) Визначення задання констант здійснюється шляхом

присвоєння ідентифікатору конкретного значення яке від імені ”=”. відділяється символом Одна константа від другої

відділяється символом“;”

Приклад задання констант:

CONST MILE =5280; {числова}

K =’A’; {символьна}

Z =’відомість’; {рядкова}

Існує ряд констант, до значень яких можна звертатись без попереднього

визначення. Такі константи ще називаються зарезервованими.

ТАБЛИЦЯ ЗАРЕЗЕРВОВАНИХ КОНСТАНТ

Ідентифікатор Тип Значення Опис

18

Page 19: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Pi Real 3.1415926536E+00 Число ПІ

True boolean True Істина

False boolean False Хибність

Maxint integer 32767 Max мале число

Будь-який визначений в програмі ідентифікатор константи може входити у

всі конструкції, у яких може бути присутнє зв’язане з ним значення.

Наприклад, якщо X, Y, ONE визначені як константи, SUM як змінна, то

вираз, SUM = (X+Y)/ ONE; є правильним. В той же час вираз X = Y /ONE не

допустимий, оскільки ідентифікатор константи X буде міняти своє значення, що є

невірним.

Крім звичайних констант, у мові PASCAL можна використовувати

типізовані константи, які описуються у розділі опису констант разом із

звичайними константами і які містять як тип так і значення const.

Наприклад: CONST Max: integer =999;

T: string =’заголовок’.

Дані константи не можуть використовуватись при описі других констант чи

типів, а також у лівій частині оператора присвоєння.

Розділ задання типів даних

Починається із службового слова TYPE.

В мові Pascal довільна зміна характеризується своїм типом. Під типом

розуміють множину значень, які може приймати змінна і, як наслідок, множину

операцій, допустимих над даною змінною.

Pascal є типізованою (статичною мовою). Це означає, що тип змінної

визначається при її описі і не може бути змінений.

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

Тип даних визначає:

- формат представлення даних в пам’яті комп’ютера;

- множину допустимих значень, які може приймати змінна, що належить

даному типу;

19

Page 20: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

- множину допустимих операцій, які можна приміняти по відношенню до

даного типу.

У мові Pascal користувач може використовувати стандартні (базові) типи

даних, а також може сам задавати типи даних, які йому потрібні для роботи, тобто

на базі стандартних типів створювати типи даних користувача. Стандартні типи

даних і типи користувача називаються скалярними типами.

Стандартні скалярні типи даних в мові Pascal діляться на чотири групи:

цілий тип;

дійсний тип;

символьний (літерний) тип;

булевий (логічний) тип.

Розглянемо кожен із даних типів.

1. Цілий тип.

Дана група типів задає цілі числа із різних діапазонів. Є п’ять типів цілих

даних, для задання яких використовуються слова ідентифікатори.

Діапазони даних:

Shorting -128…127

Integer -32768…32767

Longint -2147483648…2147483647

Byte -0…255

Word -0…65535

Значення цілих типів можуть задаватись у програмі як у десятковому, так і

у шістнадцятковому виді.

2. Дійсний тип.

Дана група визначає множину дійсних значень із різних діапазонів.

Розділювачем між цілою і дробовою частинами є символ (.). Для для їх завдання

використовуються слова ідентифікатори:

Ім’я Значення Кількість знаків

Real 2.9 E-39...1.7 E 38 11-12

20

Page 21: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Single 1.5 E-45...3.4 E 38 7-8

Double 5.0 E-324...1.7 E 308 15-16

Extended 3.4 E-4932...1.1 E 4932 19-20

Comp -2 E 63...+2 E 62 19-20

3. Символьний тип.

Значеннями даного типу є символи із множини ASCII (American Standart

Code For Information Interchange – американський стандартний код для обміну

інформацією). Дана множина містить 256 різних символів, включаючи букви

(малі і великі), цифри і спеціальні символи. Для задання даного типу

використовують слово char. Значення даного типу береться в апострофи. Над

ними можна виконувати тільки операції порівняння. Наприклад, вираз ‘B’>’А’

буде правильним, оскільки В має більший номер у кодовій таблиці, ніж А.

Користувач має можливість також задавати значення символьного типу

вказанням безпосередньо числового значення ASCII – коду. Для цього перед

числом, що задає код символу ставиться знак # (дієз).

Наприклад,

VAR

St : char;

BEGIN

St:=# 65; {присвоїти змінній st символ ‘A’, код якого = 65}

Числове значення після символу # не повинно перевищувати 255.

Можна також вказувати в якості значень змінних типу char спеціальні

“управляючі коди”. Їх задають за допомогою структури “^С” (ctrlС), де С – код

управляючого символу.

4. Булевий тип.

Може приймати тільки одне з двох значень істинне і хибне.

Існує два значення булевого типу: істина і хибність. Для їх задання

використовуються відповідно ідентифікатори true і false.

Діляться на: арифметичні, операції відношення і логічні.

Розділ змінних

21

Page 22: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Починається службовим словом Var за яким слідує список змінних

значення яким в подальшому буде присвоєно будь-яким допустимим способом :

тип елементів. Закінчується список символом “ ;”.

Однотипні елементи у списку розділяються між собою символом кома.

Операції

1. Арифметичні операції.

Дані операції виконують арифметичні дії у виразах над значенням

операндів цілого і дійсного типів.

Операція Дія Тип операндів Тип результатівБінарні:

+ Додавання цілий, дійсний цілий, дійсний– Віднімання цілий, дійсний цілий, дійсний* Множення цілий, дійсний цілий, дійсний/ Ділення цілий, дійсний дійсний

Div Ділення націло цілий цілийMod Остача цілий цілий

And Арифметичне “і” цілий цілий

Or Арифметичне“або” цілий цілий

Hor Виключаюче“або” цілий цілий

Унарні :

+ Збереження знаку цілий, дійсний цілий, дійсний

– Заперечення або зміна знаку

цілий, дійсний цілий, дійсний

Not Арифметичне заперечення

цілий цілий

2. Операції відношення.

Дані операції виконують порівнення операндів і визначають, істинне чи

хибне значення виразу, тобто результатом є true або false.

Операції: -, <,>,<>,>=,<=

In – приналежність (A in B) буде давати true, якщо А знаходиться в списку

В, ( інакше false).

3. Логічні операції.

22

Page 23: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Результатом виконання логічних операцій є логічне значення true або false.

Операндами служать дані типу boolean.

Логічні операції:

Not – логічне заперечення (not A)ж

And – логічне “і” (A and B)

Or – логічне “або” (A or B)

Xor – виключає “або” (A xor B)

Приклад, (A<10) and (B<100). Тут операції відношення повинні братись у

дужки.

Вирази

Вираз задає порядок виконання дій над елементами даних і складається іх

операндів (сталих, змінних, звернень до функцій), круглих дужок і знаків

операцій.

Пріоритет виконання операцій: обчислення функцій; піднесення до степеня;

присвоєння знаку ; not, *, /, div, mod, and, +, -, xor, =, <>, <,>, <=, >=, in.

Для точного визначення порядку виконання обчислень у виразі необхідно

враховувати наступні правила:

1. Операнд, що знаходиться між двома операціями з різними пріоритетами

пов’язуються з операцією, що має більш високий пріоритет.

2. Операнд, що знаходиться між двома операціями з рівними пріоритетами

пов’язується з тією операцією, яка знаходиться зліва від нього, тобто операції з

однаковими пріоритетами виконуються зліва направо.

3. Частина виразу, що міститься в круглих дужках виконується швидше, ніж

операції що розміщені зліва чи справа від дужок.

Стандартні функції і процедури роботи з числовими типами даних.

1. Арифметичні

ABS (x), x – цілого або дійсного типу і такий же результат;

ARCTAN (x), x I результат тільки дійсного типу;

COS (x), x I результат тільки дійсного типу, значення кута в радіанах;

23

Page 24: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

SIN (x), x I результат тільки дійсного типу в радіанах;

EXP (x),x I результат тільки дійсного типу (е=2,718282)

FRAC (x), x I результат тільки дійсного типу – обчислення дробової частини

числа х;

INT (x), x I результат тільки дійсного типу – обчислення цілої частини від х,

(відкидає дробову частину числа).

LN (x), x I результат тільки дійсного типу – обчислює Ln(x);

SIN (x), x I результат тільки дійсного типу в радіанах;

SQR (x),x – ціле чи дійсне; піднесення х до квадрату;

SQRT (x), x – дійсне; обчислення квадратного кореня із х;

RANDOM, дійсне, генерує значення випадкового числа із діапазону 0..99

RANDOM (I), тип WORD (0,…,65535) – генерує значення випадкового

числа із діапазона 1..I

X =e - піднесення до степеня

2. Скалярні.

Процедура DEC (x[,n]) – зменшує значення цілочисельної змінної х на

величину n. Якщо n відсутнє, то х зменшується на 1.

Процедура INC (x[,n]) – збільшує значення цілочисельної змінної х на

величину n. Якщо відсутнє, то х збільшує на 1.

Функція ODD (I),I –цілого типу, результат – булевого. Повертає True якщо I

непарне, і False, якщо I – парне.

3. Перетворення типів.

Функція ORD (X), тип дискретний, результат ціле – видає код символу Х.

Приклад, ORD (a) →97;

ORD (s)→5;

Функція СHR (I) тип 1 – ціле, результат Char (літ.). Повертає символ

стандартного коду рівного значенню I. Якщо 1>255, то виникає програмне

переривання.

24

Page 25: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Функція ROUND (x), x – дійсне, результат – longint (ціле) – повертає

значення, заокруглене до ближчого цілого числа.

Функція TRUNC (x), x – дійсне, результат – longint (ціле) – повертає ближче

ціле число <=x, якщо x>=0, і>=x, якщо х<0.

Функція Upcase (x), - тип аргумента і результата char. Змінює малу

латинську букву на велику.

Функція LEIGHT (St), St –string, результат – integer – підраховує довжину

символів в рядку St.

Процедура CONCAT (strl, str2,…strn) –типи – string – виконує з’єднання

рядків str1,…strn в тому рядку, у якому вони вказані в списку параметрів.

Результуючий рядок не повинен перевищувати 255 символів.

Процедура DELETE ( St, Poz, N) – удаляє N символів із рядка St починаючи

з позиції Poz.

Процедура INSERT (Str1, Str2,Poz) – вставляє рядок Str1 в рядок Str2

починаючи з позиції Poz.,

Процедура STR (I, St)- перетворює числове значення величини І у тип рядок

і розміщує результат у рядок St.

Процедура VAL (St, I,Cod) – перетворює значення St у величину цілого чи

дійсного типу і поміщає результат в І. Cod - ціла змінна. Якщо під час операції

перетворення помилки не виявлено, то Cod = 0, якщо виявлено ( наприклад,

літерне значення буде переводитись у числове), то Cod буде містити номер

позиції першого помилкового символу.

Функція POS (Str1,Str2), тип аргументу – string, результату – byte (байтовий

О..255) – знаходить підрядок Str2 в рядку Str1 і вказує номер позиції, у якій

знаходиться перший символ підрядка.

Функція COPY (St,I,j) – формує рядок довжиною з позиції і рядка St.

Введення –виведення даних

1. Процедури Read i Readln для введення даних.

25

Page 26: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Процедура читання Read забезпечує введення числових даних , символів ,

рядків і т.д. для подальшої їх обробки операторами програми . Формат : ( [FV] ,

X1, X2, …, Xп);

Де FV – ім’я пристрою , звідки вводяться дані . По замовчуванню Fv

відповідає CON, тому при введенні даних з клавіатури FN можна не вказувати .

Х1, Х2, ..., Хп –список ідентифікаторів змінних допустимих типів . Дані

значення при введенні набираються на клавіатурі як мінімум через один пропуск і

висвічуються на екрані . Після набору даних для процедури Read натискається

клавіша введення [ENTER] .

Якщо у програмі є декілька процедур Read , то дані для них вводяться

потоком , тобто після введення значень змінних для однієї процедури Read дані

для наступної процедури можна набирати у тому ж рядку , що і для попередньої

аж до закінчення рядка . Після цього здійснюється перехід на наступний рядок .

Наприклад :

VAR A, B; integer ; C, D: real , ;

begin Read( A, B ) ;

Read( C, D ) ;

На клавіатурі набираємо : 20 75 2.46 4.12 {ENTER}, хоча можна натискати

[ENTER] після кожного Read.

Оператор Read можна використати для організації пауз довільної довжини

при виконанні програми .

Для цього досить записати :

Read( CON , Ch );

CON – ім’я стандартного файлу клавіатури , Ch – літерна змінна .

Програма продовжить роботу тільки після того , як буде натиснута довільна

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

26

Page 27: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Процедура читання Readln аналогічна процедурі Read, тільки після

зчитування останнього в списку значення для одної процедури Readln дані для

наступної процедури Readln будуть зчитуватись з початку нового рядка .

Наприклад :

Readln( A, B );

Readln( C, D);

Набравши тепер на клавіатурі значення для А і В: 43_76 {Enter} курсор

автоматично перейде на 2-ий рядок , де будуть набиратись дані для С і D:

2.46_7.15 {Enter}, якщо ввести всі 4-и числа для A, B, C, D і тоді [Enter] то

сприймуться перші два .

2. Процедури Write Writeln для виводу даних .

Процедура Write служить для виводу числових даних, символів, рядків і

булевих значень.

Формат:

Write( [ FV ], Y1, Y2, …,Yn );

де FV – ім’я вивідного пристрою. По замовчуванню FV відповідає CON.–

консолі і його можна опускати;

Y1,Y2,…, Yn – результати виконання виразів , сталих , імен змінних текстів

і т. п.

Наприклад :

Write( 500 ) ;

Write( A+B-5 ); Результат виведення злиється .

Write( Lst, результат обчислень =’, Rezalt );

Процедура виводу Writeln.

Дія даної процедури аналогічна Write, але після виводу останнього у

списку значення для поточної процедури здійснюється переведення курсора на

початок наступного рядка . Запис процедури Writeln без параметру , викликає

переведення рядка ( тобто виводить порожній рядок ) .

Наприклад :

27

Page 28: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Const

A=4;

B=6;

Begin

Writeln( ‘A =’, A );

Writeln( ‘B =’, B ) ;

Writeln( ‘Сума А+В рівна’, A+B );

End .

Результат виконання :

A=4

B=6

Сума А+В рівна 10

Оператори мови

1. Оператор присвоєння ( : = )

Формат:

<змінна>:=<вираз;>

Тут: : <змінна> – довільна допустима змінна і нічого іншого;

<вираз> – довільний допустимий вираз, в чому числі і константа.

Дія оператора

Виконується вираз, що стоїть в його правій частині, і результат

присвоюється змінній, ідентифікатор якої розміщений в лівій частині. При цьому

тип виразу повинен бути сумісний з типом змінної.

Наприклад :

Begin

Fact := True;

A: = G;

Suma := X + Y;

C:=5;

2. Складений оператор.

28

Page 29: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Cкладений оператор представляє собою групу із довільного числа

операторів, відділених один від іншого символом “;” і обмежену операторними

дужками Begin i End;.

Формат:

Begin

< оператор ; >

< оператор ; >

…………. …

<оператор ; >

end;

Наприклад :

begin

A: =A * B + D;

Rez : = A * Pi;

Writeln( Rez : 10:5 )

end;

Складений оператор сприймається як одне ціле і може знаходиться в

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

ЗАВДАННЯ ДЛЯ САМОПІДГОТОВКИ

1. Розпочати роботу з ТР.

2. Відкрити файл F007.

3. Змінити назву програми на Expression.

4. Описати змінні а, х, у, дійсного типу.

5. Додати рядки, що вводять значення змінних а, х з клавіатури.

6. Обчислити значення змінної у за формулою для

довільних а, х, вивести результат на екран.

7. Зберегти програму у файлі з іменем F008.

8. Перевірити дію даної програми.

9. Описати константу Рі.

29

Page 30: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

10. Добавити у формулу для обчислення у ще один доданок:

11. Зберегти і перевірити дію програми.

12. Створити нову програму з іменем Plosha.

13. Описати змінні а, b, с, s як змінні дійсного типу.

14. Додати рядки, які вводять значення змінних а, b, с з клавіатури.

15. Обчислити площу трикутника за формулою Герона S=

.

16. Вивести дане значення на екран.

17. Зберегти дану програму і перевірити її дію.

18. Закрити всі вікна.

19. Виконати завдання, використовуючи хід роботи, згідно вказаного

варіанту.

20. Завершити роботу з ТР.

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ

1. Скласти програми обчислення функцій для довільних допустимих

значень а,в,с.( Вибираємо варіант задачі згідно порядкового номера у

журналі.):

1

2

3

4

5

6

30

Page 31: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

2.Вибираємо варіант задачі згідно порядкового номера у журналі:

1. Скласти програму обчислення об’єму прямокутного паралелепіпеда та його

бічної поверхні.

2. Скласти програму обчислення площі трапеції, коли відомі основи а і b та

висота h.

3. Задано координати вершин трикутника. Скласти програму обчислення

площі даного трикутника.

31

Page 32: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

4. Скласти програму обчислення відстані між двома точками на площині,

заданими своїми координатами.

5. Дано периметр рівностороннього трикутника. Скласти програму

обчислення площі даного трикутника.

6. Дано два дійсні числа. Обчислити їх суму, різницю та добуток. Результати

вивести на екран.

7. Дано два дійсні числа. Знайти середнє арифметичне та середнє геометричне

значення. Результати вивести на екран.

8. Дано катети прямокутного трикутника. Знайти його гіпотенузу та площу.

Результати вивести на екран.

9. Дано довжину кола. Визначити площу круга, обмеженого цим колом.

Результати вивести на екран.

10.Обчислити відстань між двома точками, що задані своїми координатами.

Результати вивести на екран.

11.Скласти програму обчислення об’єму правильного трикутника, якщо

відомий периметр.

12.Скласти програму обчислення об’єму квадрата, якщо відомий периметр.

13.Скласти програму обчислення периметра квадрата, якщо відомий об’єм.

14.Скласти програму обчислення об’єму кулі.

15.Скласти програму обчислення об’єму циліндра.

16.Написати програму обчислення об’єму куба.

17.Написати програму обчислення вартості покупки, що складається з

декількох зошитів і олівців.

18.Написати програму обчислення вартості деякої кількості (по вазі) яблук.

19.Написати програму обчислення площі трикутника, якщо відома довжина

основи і висота.

20.Написати програму обчислення площі поверхні циліндра.

ПРИКЛАД СКЛАДАННЯ ПРОГРАМИ1. Скласти програму обчислення функції для довільних допустимих значень

а,в,с:

Графічна блок-схема алгоритму

32

Page 33: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Програма:

program pryklad_lab1;

var a,b,c,y: real;

begin

write(‘Vvedit a’); readln(a);

write(’Vvedit b’); readln(b);

write(‘Vvedit c’); readln(c);

y:=(exp(abs(a-b)))*(exp(a*(ln(sqr(sin(c)/cos(c)+1))));

writeln(‘y=’,y);

readln

end.

Пояснення. Описуємо змінні, вводимо довільні числа a,b,c, обчислюємо

функцію і виводимо результат.

Лабораторна робота №3

Тема. Оператор розгалуження (умови) IF.

Мета. Формування навичок та умінь розробки і реалізації програм з

використанням оператора умовного переходу IF.

33

Початок

Кінець

Ввести a,b,c

aba ctgey )1(: 2

Вивести у

Page 34: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

1. Як діє коротка і повна форма оператора умовного переходу IF?

2. Як працюють вкладені оператори IF?

ТЕОРЕТИЧНІ ВІДОМОСТІОператори умови.

Оператори умови забезпечують виконання або невиконання деякого

оператора , групи операторів чи блоку в залежності від заданих умов . У мові

Паскаль є два оператори умови IF,CASE.

Оператор умови IF.

Формат:

IF < умова > THEN < оператор 1 > [ ELSE < оператор 2 > ] ;

Тут <умова> - вираз булевого типу. Він може бути простим або складним.

Складені утворюються з допомогою логічних операцій and, or, not і операцій

відношення.

Наприклад:

If A>B then Writeln (‘A більше B’)

else Writeln (‘ A менше або рівне В ‘ );

I|f ( A=1 ) or ( A=3 ) or ( A=8 ) then …

Оператори IF можуть бути вкладені .

Формат:

IF < умова 1 > THEN

begin

ІF < умова 2 > THEN < оператор 1>

ELSE < оператор 2 >

end

[ELSE <оператор;>]

Наприклад:

If A>=15 then

begin

34

Page 35: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

if A<=20 then Writeln( ‘A v diapazoni 15-20 ‘)

else Writeln ( ‘A >20 ‘ )

end

else Writeln(‘A<15’);

ЗАВДАННЯ ДЛЯ САМОПІДГОТОВКИ

1. Розпочніть роботу з FP.

2. Відкрийте файл Prog101.pas .

3. Змініть назву програми на If_Then і збережіть файл, змінивши назву на

Prog301.pas.

4. Опишіть дві змінні A, B, типу integer.

5. Присвойте змінним A і B деякі значення, ввівши їх з клавіатури.

6. За допомогою оператора умовного переходу виведіть друге число, якщо

воно є більшим.

7. Збережіть програму у файлі та перевірте її виконання.

8. Зробити у попередній програмі такі зміни, щоб менше з двох чисел

замінювалось на квадрат цього ж числа і виводилось на екран.

9. Збережіть програму у файлі та перевірте її виконання.

10. Перетворіть попередню програму так, щоб на екран виводилось більше

з двох чисел, якщо ж числа рівні, то вивести повідомлення “A=B”.

11. Збережіть програму у файлі та перевірте її виконання.

12. Збережіть і закрийте програму.

13. Відкрийте файл Prog101.pas .

14. Змініть назву програми на If_Then_2 і збережіть файл, змінивши назву

на Program302.pas.

15. Опишіть дві змінні дійсного типу X та Y.

16. Присвойте їм значення, ввівши їх з клавіатури.

17. За допомогою оператора If виведіть на екран число у якого більше

абсолютне значення.

18. Модифікуйте програму. Опишіть дві нові змінні: змінна S=X+Y та

R=X-Y.

35

Page 36: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

19. Виведіть на екран значення тієї змінної, квадрат якої менший.

20. Обчисліть значення функції , для довільних X і Y.

21. Збережіть програму у файлі та перевірте її виконання.

22. Збережіть і закрийте програму.

23. Завершіть роботу з FP.

ПРИКЛАДИ СКЛАДАННЯ ПРОГРАМПриклад №2. Скласти програму виведення на екран більшого з двох чисел

Якщо числа рівні, то вивести повідомлення “A=B”.

Програма

program Bilshe; uses crt;var a,b:integer; begin

clrscr; writeln('Vvedit a:');readln(a);writeln('Vvedit b:');readln(b); if a>b then writeln('a=',a) else

if a<b then writeln('b=',b) else writeln('a=b');end.

36

Page 37: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Пояснення. Вводимо з клавіатури значення двох змінних A і B типу integer.

Перевіряємо чи A більше ніж B. Якщо умова виконується, то виводимо на екран

змінну A та її значення, інакше перевіряємо чи B більше ніж A. Якщо умова

виконується, то виводимо на екран змінну B та її значення, інакше виводимо на

екран повідомлення “A=B”.

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ

№ ва-

ріанту Вид функції

Аргу-

мент

Значен-

ня аргу-

мента

A B

1 2 3 4 5 6

1 ye x

x a x

x a

sin( ),

( ) cos( )

x = a

, a < x < a 22 2x 1.62

1.41

1.62 -1.25

2 zy

y a y bb

ln ( ),

,.

2

1 5

1 y < a

ay 2.86

3.98

3.463 4.215

3 cg b a

x g b

1 4 2

1 4

2.

.

sin ( / )

( )

b g < a

g < bg 4.751

1.17

6.435 1.87

37

Початок

Кінець

Ввести a,b

вивести 'a=',a

a>b

a<b

вивести 'b=',b вивести 'a=b'

ні

так ні

так

Page 38: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

4 da b

b

sin( / )

cos ( )

102 2

= b

b < a 1.321

2.65

3.65 1.321

5e

arctgx

b

ba b

x

32 1

x 2a

b x < aarcsinln( )

x 11.68

3.86

4.63 0.68

6f

l ba

a a

2

1 0 1

2sin ( )

sin( . )

a l < 2a

l 4a

l 2.38

7.6

1.361 -

7 ha b b

b a b

lg ( )

ln( / )

2

2

x b

a x > bx 4.26

7.29

8.3 6.8

8 gh a

b h

2

3

2 2

2

cos ( )

ln( sin( ))

h < a

a < h < b + ah 0.21

1.65

0.261 1.658

9 oa q

ba q

ln ( )

sin ( )

2

23

2

q > a + b

b < q aq 9.477

4.35

4.652 3.825

10p

e

b tg x

xx

2

2

10

a < x

b > xln ( )

x 3.2

6.856

7.21 5.638

11 ro o

o a o

ln( )

sin( / )

3

2 12

a > o b

o > ao 1.651

0.581

12.83 0.863

12s

a pb b p

pa

2

2

3511

log ( )

.

2.5 p < a

4 < p b

p 3.271

4.956

3.651 5.82

13t

a rr b

aer

r

2 3

2ln ( ) r a

a / 2 > r a / 3

r 8.269

2.892

6.347 21.4

14 i

b a s

sab tg s

cos

ln( / / )

2 2

53 12

1.5 > s b - a

s > b

s 1.326

3.906

0.854 3.625

15 k

b t

at

sin /

cos

23 45

3 12

t < a

t > bt 0.365 1.265 3.126

16l

ay y y b y a

y ay

bya

sin ( )

.

2

2

2

2 5

b

y b

y 0.375

0.506

0.265 -0.883

17 ma e b

a b

l

0 5.

ln( )

l a

(a + b) / 2 < l b l 2.685

7.21

4.735 8.216

18

a e

a

ba

1

23

012

a < 1.6a

b >.

3.656

8.350

2.876 12.393

19

lg

ln

2

2

a

b c a

c b b c > a

c < 3c 18.106

28.318

6.208 23.575

20

x a b

x a

3

3

2

x > ab

b / a > x bx 1.627

0.291

1.326 0.967

21 ca tg b a

btg b a b

2 2

2

( / )

1.36

2.314

2.128 0.366

22 de b a b

e a b a

b

b

3

ln( ) 8.272 16.283 2.283

38

Page 39: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

3.214

23 fa be

a be ay

y y

y y

1 1

1 1

a > y 1.5

y > 2a/ y 2.225

7.093

2.703 12.385

24 yb i

i i

3 2

3 2

ln

ln

i < b

i > ai -5.5

-2.638

-2 -8

25 xat at

t bt

1 2

1 3

2

3

/

/

t a + b / 2

3a t > a + b / 2t 2.937

6.283

2.673 3.085

26 ye x

x a x

x a

sin( ),

( ) cos( )

x = a

, a < x < a 22 2x 1.62

1.41

1.62 -1.25

27 zy

y a y bb

ln ( ),

,.

2

1 5

1 y < a

ay 2.86

3.98

3.463 4.215

28

cg b a

x g b

1 4 2

1 4

2.

.

sin ( / )

( )

b g < a

g < bg 4.751

1.17

6.435 1.87

29 da b

b

sin( / )

cos ( )

102 2

= b

b < a 1.321

2.65

3.65 1.321

30e

arctgx

b

ba b

x

32 1

x 2a

b x < aarcsinln( )

x 11.68

3.86

4.63 0.68

39

Page 40: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Лабораторна робота №4

Тема. Оператор вибору CASE.

Мета. Формування навичок та умінь розробки і реалізації програм з

використанням оператора вибору.

ТЕОРЕТИЧНІ ВІДОМОСТІ

Оператор вибору CASE.

Оператор вибору CASE являє собою узагальнення оператора IF і дозволяє

здійснити вибір із довільного числа варіантів.

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

параметрів, кожному із яких передує список ( або одна ) з констант вибору .

Формат:

CASE < вираз –селектор > OF

< список 1 >: < оператор1 ;>

………………………………..

< список N >: <оператор N >

[ELSE <оператор >]

END;

Дія даного оператора . Спочатку обчислюється значення виразу – селектору

потім забезпечується реалізація того оператора, константа вибору якого рівна

поточному значенню. Якщо ні одна із констант не буде рівна поточному

значенню селектора, то виконується оператор, що стоїть за словом ELSE, а якщо

воно відсутнє, то іде перехід на оператор, що стоїть за словом END.

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

Список констант вибору складається з довільної кількості значень,

відділених між собою символом кома, чи діапазонів значень. Тип констант

повинен співпадати з типом селектора .

Приклад 1. Селектор цілого типу .

CASE I OF

1: z: =I+1;

2: z: =I+10;

40

Page 41: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

3,4,5: z: =І+100;

END;

Якщо І=1, то на 1: і т.д.

Приклад 2. Селектор інтервального типу.

CASE I OF

1..10 :Writeln (‘ число’, I:4,’в діапазоні 1-10’);

11..20: Writeln (‘ число ‘, І:4, ‘в діапазоні 11-20 ‘);

ELSE Writeln (‘ число ‘, I:4, ‘за діапазоном контролю ‘);

END;

Приклад 3. Селектор перелічувального типу .

TYPE

SON=( Winter, Spring, Summer );

Var

Season : SON;

Begin

CASE Season OF

Winter : Writeln ( ‘Winter’);

Spring : Writeln (‘ Spring ‘ );

Summer : Writeln (‘Summer ‘ );

END;

При використанні оператора вибору потрібно дотримуватись наступних

правил :

1. Значення селектору повинні належати дискретному типу; для цілого

типу вони повинні лежати в діапазоні –32767 ... 32768.

2. Всі константи, що передують операторам альтернатив, повинні мати тип,

сумісний з типом виразу.

3. Всі константи в альтернативах повинні бути унікальні в межах оператора

вибору ( тобто їх повторення в альтернативах не допускається ); діапазони не

41

Page 42: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

повинні перетинатись і не повинні містити констант вказаних в даній чи іншій

альтернативах.

ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

1. Яке призначення команди вибору і як вона виконується?

2. Який має вигляд оператор вибору в повній та скороченій формі?

ЗАВДАННЯ ДЛЯ САМОПІДГОТОВКИ

1. Розпочніть роботу з FP.

2. Відкрийте файл Prog101.pas .

3. Змініть назву програми на Case_of і збережіть файл, змінивши назву на

Program401.pas.

4. Опишіть перелічувальний тип Days, зі значеннями ‘Mon’, ‘Tue’, ‘Wed’,

‘Thu’, ‘Fri’, ‘Sat’, ‘Sun’.

5. Опишіть змінну A цього типу. Опишіть змінну Num типу integer.

6. Введення значення змінної Num організувати з клавіатури.

7. За допомогою команди вибору вивести на екран для заданого номера

назву дня тижня (1 – Mon, 2 – Tue, ..., 7 – Sun). Інакше вивести повідомлення

“Error”.

8. Збережіть програму у файлі та перевірте її виконання.

9. У цій же програмі, за допомогою оператора вибору вивести на екран

повідомлення, що день робочий – “Work”, або вихідний – “Rest”. Вихідними

вважати ‘Sat’, ‘Sun’, решта – робочі.

10. Збережіть програму у файлі та перевірте її виконання.

11. Збережіть і закрийте програму.

12. Завершіть роботу з FP.

ПРИКЛАД СКЛАДАННЯ ПРОГРАМИ

Приклад №1.

Використання структури case ... of для переведення цілого числа в його

словесний вигляд.

42

Page 43: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

43

Ввести Num

Num

Вивести 'Один'

 

Вивести 'Два'

 

Вивести 'Три'

 

Вивести 'Чотири'

 

Вивести 'П’ять'

 

Вивести 'Шість'

 

Вивести 'Сім'

 

Вивести 'Дев’ять'

 

Вивести 'Вісім'

 

Вивести 'Нуль'

 

Вивести 'Число не є цифрою'

0

1

2

3

4

5

6

7

8

9

-

1

5

7

Початок

Кінець

Page 44: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Program lab_4; var Num: integer; beginwrite('Введіть число:');readln(Num); case Num of 0: writeln('Нуль'); 1: writeln('Один'); 2: writeln('Два' ); 3: writeln('Три '); 4: writeln('Чотири') 5:writeln('П’ять')6:writeln('Шість')7:writeln('Сім')8:writeln('Вісім')9:writeln('Дев’ять') else writeln('Число не є цифрою')end; readln end.

Пояснення. Вводимо з клавіатури число. Перевіряємо чи належить він

проміжку (0;9). Якщо умова не виконується, то виводимо повідомлення “Число

не є цифрою”. Інакше виводимо словесний вигляд числа.

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ

1. Скласти діалогову програму, яка запитує вік користувача і визначає до

якої вікової категорії користувач належить:

a) від 1 до 10 – дитина;

b) від 11 до 15 – підліток;

c) від 16 до 20 – юнак;

d) від 21 до 30 – молода людина;

e) після 31 –людина у зрілому віці.

2. Дано ціле число n , яке вказує порядковий номер місяця в році.

Скласти програму яка б за введеним значення n вивела назву відповідного місяця

та кількість днів у ньому.

44

Page 45: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

3. Дано ціле число n , яке визначає пору року. Скласти програму

яка б за введеним значенням n вивела перелік місяців, які належать до цієї пори

року.

4. Залежно від введеного символу L, S, V програма повинна обчислювати

довжину кола; площу кола; об’єм циліндра.

5. Визначити, чи є введена буква українського алфавіту голосною.

6. Напишіть програму, яка по введеному числу з проміжку 0 .. 24, визначає

час доби.

7. Напишіть програму, яка по введеному номеру місяця високосного або

невисокосного року, виводить кількість днів у місяці і назву місяця.

8. По введеному числу від 0 до 15 вивести назву кольору, відповідного

цьому коду.

9. Арифметичні дії над числами пронумеровані таким чином: 1 -

додавання, 2 - віднімання, 3 - множення, 4 - ділення. Дано номер дії N (ціле число

в діапазоні 1-4) і дійсні числа A і B (В не дорівнює 0). Виконати над числами

вказану дію і вивести результат.

10. Вводиться число від 1 до 15. Вивести дане число, записане римськими

цифрами (I, II, III, IV, V, VI, ...., XV);

11. Вводиться число від 1 до 15. Вивести дане число, записане в двійковій

системі числення (1, 10, 11, 100, 101, ...., 1111);

12. Написати алгоритм, що дозволяє отримати словесне найменування

шкільних оцінок.

13. Обчислити значення функції за однією з формул:

y=

x a, x 10;x a,10 x 20sqr(x),20 x 30sqr(a) x,30 x 60sqr(x) sqr(a), x 60

14. Дано ціле число N (1 <= N <= 3) та дійсне число X. За значенням

змінної N, яка є номером Функції, визначити: 

1) sin X; 

45

Page 46: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

2) cos X; 

3) tg X.

15. Розробити алгоритм-"лотерею", який, використовуючи генератор

випадкових чисел, визначатиме призи:

1) комп'ютер;

2) принтер;

3) сканер;

4) компакт-диск;

5) набір дискет.

Якщо ми хочемо зробити безпрограшну лотерею, необхідно примусити

генератор випадкових чисел генерувати числа в діапазоні від 1 до 5. Для цього

можна скористатися наступним виразом:

Random(4) + 1.

16. При введенні цифри отримати висновок - парна вона чи непарна.

17. У Давньояпонському календарі був прийнятий дванадцятирічний

цикл. Роки всередині циклу носили назви тварин: миші, корови, тигра, зайця,

дракона, змії, коня, вівці, мавпи, півня, собаки і свині. Написати програму, яка

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

Довідка: 1996 р. - рік миші - початок чергового циклу (залишок від ділення на 12

дорівнює 4).

18. Скласти програму випадкового передбачення одного з десяти

варіантів найближчого майбутнього з імовірністю 1/20, в інших випадках - ви

"невдаха".

19. Для цілого числа K від 1 до 99 надрукувати фразу "Мені k років",

враховуючи при цьому, що при деяких значеннях K слово "років" треба замінити

на слово "рік" або "роки". Наприклад, 11 років, 22 роки, 51 рік.

20. Вовочка, аматор стріляти з рогатки, 7 разів попадав у міліцію. Увести

із клавіатури ціле позитивне число - № влучення. Визначити результат: 4,6,7 –

46

Page 47: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

«Міліціонери вставляли нове скло», 2,5 – «Нове скло вставляв тато Вовочки», 1, 3

– «Скло не розбилося».

47

Page 48: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Лабораторна робота №5

Тема. Оператор циклу FOR.

Мета. Формування навичок та умінь розробки і реалізації циклічних

програм з регулярною змінною аргумента.

ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

1. Що таке цикл?

2. Який вигляд має оператор циклу з параметром?

3. Що таке параметр?

4. Опишіть дію команди оператор циклу з параметром.

5. Як змінюється значення параметра в команді циклу з параметром?

6. Коли даний оператор вигідно використовувати?

ТЕОРЕТИЧНІ ВІДОМОСТІ

Оператор повторення FOR.

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

двох форматах.:

1. FOR< параметр циклу >: =< S1> TO <S2> DO <оператор; >

2. FOR< параметр циклу > :=< S1> DOWNTO <S2> DO < оператор; >

Де: FOR…DO - службові слова ( для, виконати ) які задають заголовок

циклу;

S1 I S2 – вирази , які визначають відповідно початкові і кінцеві значення

параметру циклу;

<оператор > – тіло циклу, яке може бути простим або складеним

оператором .

Параметр циклу, його початкове і кінцеве значення повинні належати до

одного і того ж типу даних. При цьому допускається будь-який скалярний тип

крім дійсного. Значення параметру циклу послідовно збільшується ( при FOR…

48

Page 49: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

TO ) або зменшується ( при FOR. ..DOWNTO ) на одиницю при кожному

повторенні.

Оператор Результат

FOR I: =I TO 5 DO WRITE ( 1:2 ); _1_2_3_4_5

FOR I:=14 DOWNTO 10 DO WRITE ( 1: 3 ); _14_13_12_11_10

FOR CH: =’A’ TO ‘E ‘ DO WRITE ( CH:2 ); _ А_В_С_D_E

Якщо вам потрібно використати крок відмінний від одиниці , то його можна

задати при організації циклів в операторах REPEAT i WHILE.

Якщо в тілі циклу, використовується складений оператор, то в ньому не

повинні використовуватись оператора, які б змінювали значення параметру циклу

.

Наприклад ;

FOR I: =1 TO 10 DO

BEGIN

Z:=I/Pi;

1:= I+1 помилка

END;

Для виходу із циклу швидше ніж , параметр циклу досягне свого кінцевого

значення можна використати оператор GOTO, але це не самий вдалий спосіб

виходу із циклу .

У тілі оператора FOR можуть знаходитись інші оператори FOR, що

дозволяє будувати цикли, які називаються вкладеними.

Наприклад :

FOR I:=1 TO10 DO

FOR J:= 1 TO 5 DO

S:=S+ I*J;

Приклади :

№1. Скласти програму виведення на екрані цілих чисел від 1 до 15.

PROGRAM druk;

Var I: integer;

49

Page 50: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Begin

for I: =1 to 15 do write( 1:3 )

END.

№2. Скласти програму для підрахунку суми натуральних чисел від 1 до N

(N<=100).

PROGRAM Z2 ;

{ значення N задаватиметься користувачем по запиту }.

VAR

N,I,SUMA: INTEGER;

BEGIN

SUMA:=0;

WRITELN (‘N?’);

READLN ( N );

FOR 1: = I TO N DO

SUM|A := SUMA+I;

WRITELN (‘SUMA=’, SUMA:10 )

END.

ЗАВДАННЯ ДЛЯ САМОПІДГОТОВКИ

Цикл складається із заголовка і тіла циклу. Заголовок циклу

описується оператором циклу FOR. В цьому операторі задається початкове

значення параметра циклу, крок його зміни і перевірка досягнення

параметром циклу кінцевого значення. Тіло циклу являє собою

послідовність операторів, які виконуються в циклі. Цикли можна

створювати за допомогою операторів: for...to …do, або for...downto …do;

repeat…until; while…do.

1. Розпочніть роботу з FP.

2. Відкрийте файл Prog101.pas .

50

Page 51: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

3. Змініть назву програми на FTD і збережіть файл, змінивши назву на

Prog501.pas.

4. Опишіть змінні і, a та n типу integer, змінну b типу real.

5. Присвойте змінній n деяке натуральне значення.

6. За допомогою команди циклу з параметром виведіть на екран перші n

натуральних чисел (N<=100).

7. Збережіть програму у файлі та перевірте її виконання.

8. Виведіть їх у зворотному порядку.

9. Збережіть програму у файлі та перевірте її виконання.

10. Зробіть у попередній програмі такі зміни, щоб для чисел від 1 до n

обчислити квадратний корінь та квадрат числа. Числа та результати

вивести на екран у вигляді трьох стовпчиків.

11. Збережіть програму у файлі та перевірте її виконання.

12. Перетворіть попередню програму так, щоб вона працювала тільки для

парних чисел.

13. Збережіть програму у файлі та перевірте її виконання.

14. Збережіть і закрийте програму.

15. Завершіть роботу з FP.

ПРИКЛАДИ СКЛАДАННЯ ПРОГРАМ

Приклад №1. Скласти програму обчислення значень функції

y=bx2+ex-1, b=11.83.

Аргумент х змінюється від початкового значення х=2.6 з кроком 0.15,

кількість значень функції n=8.

Програма

Program z1;

const b=11.83;

var x,y : real;

i : integer;

begin

x:=2.6;

51

Page 52: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

for i:=1 to 8 do

begin

y:=b*x*x+exp(x-1);

x:=x+0.15;

writeln(‘y=‘,y:6:2,’ x=‘,x:6:2);

end;

end.

Пояснення. Цикл утворений за допомогою оператора FOR. В тілі циклу

обчислюється значення функції, змінюється аргумент на крок рівний 0,15 і

виводиться значень функції та аргументу.

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ

1. Скласти програму знаходження значення виразу:

.

2. Дано натуральне число n. Скласти програму обчислення значення .

3. Дано ціле число n. Скласти програму обчислення значення .

52

і:=1,8,1

y:=b*x*x+exp(x-1)

x:=x+0.15

Друкувати y,x

Початок

Кінець

Page 53: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

4. Скласти програму обчислення:

5. Дано ціле додатне число n. Скласти програму знаходження і виведення

у рядок всіх дільників цього числа.

10. Скласти програму обчислення значень функції , на

відрізку аргументу від 5 до 12 з кроком 1, при довільному додатному , яке

вводиться з клавіатури по запиту.

11. Скласти програму обчислення членів послідовності які

задовольняють умову 1.5<a<3.8; m=1,2,3,...,16.

13. Скласти програму обчислення суми перших n (n<=50) чисел Фіббоначі.

(Числа Фіббоначі: ).

14. Знайти кількість натуральних двозначних чисел, кожне з яких ділиться

на 3 і на 13.

15. Обчислити значення виразу, що містить суму і добуток

16. Обчислити .

17. Обчислити .

18. Задано натуральне число n, дійсне число x. Обчислити .

19. Задано натуральне число n, дійсне число x. Обчислити

.

53

Page 54: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

20. Задано натуральне число n, дійсне число x. Обчислити

.

21. Задано натуральне число n, дійсне число x. Обчислити

.

22. Обчислити для дійсного х, яке змінюється від 0,5 до 1,4 с

кроком 0,1.

54

Page 55: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Лабораторна робота №6

Тема. Оператори циклу REPEAT та WHILE.

Мета. Формування навичок та умінь розробки і реалізації програм з

використанням операторів з передумовою та післяумовою.

ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

1. Який загальний вигляд має оператор циклу з передумовою?

2. Яке призначення команди циклу з після умовою? Як вона діє?

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

4. Яка різниця між операторами циклу з передумовою та після умовою?

ТЕОРЕТИЧНІ ВІДОМОСТІ

1. Оператор повторення REPEAT

Даний оператор складається із заголовка – REPEAT, тіла циклу і умови

закінчення UNTIL .

Формат:

REPEAT

< оператор;>

UNTIL < умова; >

Тут <умова> – вираз булевого типу.

Дія оператора. Спочатку виконується тіло циклу, потім перевіряється умова

виходу із циклу. Якщо результат булевого виразу FALSE, то тіло циклу

виконується ще раз, якщо результат TRUE, то здійснюється вихід із циклу.

Характерні особливості оператора REPEAT:

1. Він виконується по крайній мірі один раз;

2. Тіло циклу виконується, поки умова дорівнює FALSE.

3. У тілі циклу може знаходитись довільне число операторів без

операторних дужок BEGIN .. END.

4. Даний оператор вимагає підготовчого етапу, а саме задання початкового

значення параметра циклу і при потребі… В тілі циклу повинен знаходитись

оператор який змінює значення параметра циклу.

55

Page 56: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

2. Оператор повторення WHILE .

Даний оператор аналогічний оператору REPEAT , але перевірка умови

виконання тіла циклу здійснюється на самому початку оператора .

Формат:

WHILE<умова > DO <тіло циклу ;>,

де < умова > – вираз булевого типу , <тіло циклу > – простий або складений

оператор.

Дія оператора. Перед кожним виконанням тіла циклу обчислюється

значення виразу <умова>. Якщо результат дорівнює TRUE, то тіло циклу

виконується і знову обчислюється значення виразу <умова>. Якщо результат

FALSE, то здійснюється вихід із циклу на перший після WHILE оператор.

Даний оператор, аналогічно як і REPEAT, вимагає задання початкового

значення параметру циклу, а при необхідності і інших значень, та зміни

параметру циклу в тілі оператора.

ЗАВДАННЯ ДЛЯ САМОПІДГОТОВКИ

1. Розпочніть роботу з FP.

2. Відкрийте файл Prog101.pas .

3. Змініть назву програми на While_do і збережіть файл, змінивши назву

на Prog601.pas.

4. Опишіть змінні і, k, temp та n типу integer.

5. Присвойте змінній n деяке натуральне значення.

6. За допомогою команди циклу з передумовою визначте чи є це число

простим (перевірка відбувається за допомогою формули , де – числа

від 2 до n/2) і виведіть відповідне повідомлення.

7. Збережіть програму у файлі та перевірте її виконання.

8. Перетворіть попередню програму так, щоб вона перевіряла n

чисел.

9. Збережіть програму у файлі та перевірте її виконання.

56

Page 57: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

10. Змініть назву програми на RU і збережіть програму, змінивши назву на

Prog602.pas.

11. Зробіть у попередній програмі такі зміни, щоб замість команди циклу з

передумовою, використовувалась оператор циклу з післяумовою.

12. Збережіть програму у файлі та перевірте її виконання.

13. Збережіть і закрийте програму.

14. Завершіть роботу з FP.

ПРИКЛАДИ СКЛАДАННЯ ПРОГРАМ

Приклад №1. Знайти квадрати і куби всіх натуральних чисел від 20 до 30 за

допомогою циклу while.

Приклад №2. Розв’язати попередню задачу за допомогою циклу „ДО”.

57

к1:=к*і

і:=і+1

Ввести а,в

і:=а

і<=в

к:=і*і

Друк і,к,к1

Program lab_6.1;

uses crt;

var i,a,b,k,k1:integer;

begin clrscr;

writeln(‘Ввести значення а і b’);

readln(a,b);

i:=1;

while i<=b do

begin

k:=i*i;

k1:=k*i;

writeln(i:3,’ ‘,k:5,’ ‘,k1:7);

i:=i+1;

end;

readln

end.

Початок

Кінець

Page 58: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ

1. Дано ціле число m>1. Скласти програму знаходження найбільшого число

k, при якому виконується умова .

2. Дано натуральні числа n і . Скласти програму знаходження

кількості членів цієї послідовності, які:

a) кратні числу 3 і не кратні числу 7;

b) є подвоєними непарними числами;

c) мають парні порядкові номери та є непарними числами;

d) при діленні на 7 дають остачу 1, 2 або 5.

58

Ввести а і в

і:=a

к:=і*і

к1:=к*і

Друк і,к,к1

і:=і+1

і>вні

так

Program lab_6.2;

uses crt;

var i,a,b,k,k1:integer;

begin clrcsr;

writeln(‘Ввести значення а і в’);

readln(a,b);

i:=a;

repeat

k:=i*i;

k1:=k*i;

writeln(‘i=’, i:3, ‘k=’, k:5, ‘k1=’, k1:6);

i:=i+1

until i>b;

readln

end.

Кінець

Початок

Page 59: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

3. Дано натуральне число N. Скласти програму знаходження всі простих

чисел, менших за N.

4. Дано натуральні числа n та m. Скласти програму знаходження всіх

простих чисел, що належать проміжку [n;m].

5. Скласти програму знаходження перших 20, 50 та 100 простих чисел.

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

натуральних чисел за допомогою алгоритму Евкліда.

7. Скласти програму обчислення пар функцій f1 i f2, на відрізку від 1 до 10 з

кроком 0,5 і виведення аргументу і значень функції у вигляді: X=… Y=….

fa x

a x1

,

,

xx

51 5

;;

fxax2

2

,,

xx

51 5

;.

8. Скласти програму обчислення функції на відрізку

аргументу від 0,1 до 0,9 з кроком 0,1. – довільна додатна константа.

9. Скласти програму обчислення функції на відрізку

аргументу від 2 до 7 з кроком 0,5. – довільна константа.

10. Скласти програму обчислення функції на відрізку

аргументу на відрізку аргументу від 1 до 4 з кроком 0,2, при =0,45.

11. Скласти програму обчислення функції на відрізку

аргументу від 5 до 8 з кроком 0,3. – довільне додатне число, яке вводиться з

клавіатури по запиту.

12. Скласти програму обчислення функції на відрізку

аргументу від 0,1 до 0,9 з кроком 0,1. – довільна додатна константа.

13. Скласти програму обчислення функції на відрізку

аргументу від 2 до 7 з кроком 0,5. – довільна константа.

59

Page 60: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

14. Скласти програму обчислення функції на відрізку

аргументу від 0 до 0,9 з кроком 0,1, де – довільне додатне число, яке

вводиться з клавіатури по запиту.

15. Скласти програму обчислення функції на відрізку

аргументу від 1 до 5 з кроком 0,5. – константа рівна 0,58.

15. Скласти програму обчислення функції на відрізку

аргументу від 5 до 18 з кроком 0,3. – довільне додатне число, яке вводиться

з клавіатури по запиту.

16. Скласти програму обчислення функції на відрізку

аргументу від 0,1 до 0,9 з кроком 0,1. – довільна додатна константа.

17. Скласти програму обчислення функції на відрізку

аргументу від 2 до 7 з кроком 0,5. – довільна константа.

18. Скласти програму обчислення функції на відрізку

аргументу від 0 до 0,9 з кроком 0,1, де – довільне додатне число, яке

вводиться з клавіатури по запиту.

19. Скласти програму обчислення функції на відрізку

аргументу від 1 до 5 з кроком 0,5. – константа рівна 0,58.

20. Скласти програму обчислення функції: на відрізку

аргументу від 5 до 18 з кроком 0,3. – довільне додатне число, яке вводиться

з клавіатури по запиту.

21. Скласти програму обчислення функції на відрізку

аргументу від 0,1 до 0,9 з кроком 0,1. – довільна додатна константа.

22. Скласти програму обчислення функції на відрізку

аргументу від 2 до 7 з кроком 0,5. – довільна константа.

60

Page 61: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

23. Скласти програму обчислення функції на відрізку

аргументу від 0 до 0,9 з кроком 0,1, де – довільне додатне число, яке

вводиться з клавіатури по запиту.

61

Page 62: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Лабораторна робота №7

Тема. Лінійні (одновимірні) масиви та робота з ними.

Мета. Формування навичок та умінь розробки і реалізації програм з

використанням одновимірних масивів.

ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

1. Що таке масив?

2. Що таке індекс елементу масиву?

3. Які дані можна зберігати у масиві?

4. Як можна ввести дані до одновимірного масиву?

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

6. Як відбувається доступ до елемента масиву?

ТЕОРЕТИЧНІ ВІДОМОСТІКожне значення масиву складається із фіксованого числа елементів

одного і того ж базового типу. Такий спосіб утворення нових значень

(фіксованого числа однотипних компонент) дозволяє позначити значення цих

типів одним загальним іменем, а доступ до окремих елементів масиву

здійснювати через вказання імені і порядкового номера (індексу) необхідного

елементу. Масиви можуть бути одно чи дво вимірні.

Для задання масиву потрібно вказати ім’я, тип елементів масиву, кількість

і “спосіб нумерації” елементів.

Формат задання типу масив має наступний вигляд :

TYPE

A=array [T1] of [T2];

Де A – тип масив;

Array (таблиця) – і of - службові слова;

Т1- тип індексу масиву (розмірність масиву) який задається вказанням,

через двокрапку порядкового номера першого і останнього елемента масиву;

Т2- тип компонент масиву.

Наприклад,

62

Page 63: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

VAR

M1: array [1..100] of real;

M2: array [1..10] of array [1..15] of integer;

BS: array [1..10,1..15] of integer;

В першому випадку ми маємо одновимірний масив, а в другому –

двовимірний у якого рядки нумеруються індексами від 1 до 10, а стовпці –

індексами від 1 до 15.

Особливості задання масиву:

1. Кількість елементів масиву фіксується при описі і в процесі виконання

програми не міняється.

2. Для задання кількості елементів масиву використовується тип, а саме

число елементів визначається кількістю можливих значень вказаного типу.

3. У розділі змінних запис M1:array [1..N] of <тип;> можливий тільки тоді,

коли N попередньо буде задано у розділі констант.

4. Pascal дозволяє єдину дію над масивом в цілому, а саме використання

його в операторі присвоєння.

Наприклад,

Vector1:=Vector2.

При цьому типи обох масивів і їх кількість повинні бути одинакові.

Робота з масивами зводиться, в основному, до роботи з його елементами.

Доступ до елементів масиву здійснюється стандартно: після

ідентифікатора масиву в квадратних дужках вказується індекс елементу чи список

індексів, що визначають елемент багатовимірного масиву, або вираз цілого типу.

При цьому індексом може бути константа, змінна чи вираз цілого типу.

Наприклад:

Vector1[s]

Vector2[(I+1)*2]

BAC [3,5]

BAC [k,4]

Елемент масиву вважається змінною величиною. Він може в процесі

виконання програми отримувати певні значення і брати участь у виразах. При

63

Page 64: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

роботі з елементами масиву потрібно слідкувати, щоб індекс не виходив за межі

розмірності масиву.

Існують також одновимірні масиви, елементи яких мають символьний тип

(char). Якщо в якості індексу такого масиву використовується інтервальний тип,

то такі масиви називаються рядками. Наприклад, якщо визначити

VAR

S:array [1..11] of char;

То S може прийняти значення:

S:=’інформатика’, чи будь-яке інакше довжиною не більше 11

символів.

Рядок будується із довільної сукупності символів і береться в апострофи.

Якщо потрібно задати апостроф в середині рядка, то він подвоюється.

Для рядкових масивів допускається операція конкатенації (з’єднання), яка

позначається символом “+”.

Двовимірні масиви.

Задаються за допомогою наступного формату:

Var

A:array[1..n1,1..n2] of <тип;>, де n1 – кількість рядків, а n2 – кількість

стовпців. Введення елементів здійснюється по рядках.

ЗАВДАННЯ ДЛЯ САМОПІДГОТОВКИ

1. Розпочніть роботу з FP.

2. Відкрийте файл Prog01.pas .

3. Змініть назву програми на One_mas і збережіть файл, змінивши назву на

Prog701.pas.

4. Опишіть змінні і, j, temp та n типу integer.

5. Опишіть лінійний масив A з 10 елементів цілого типу.

6. Надайте елементам масиву значення від 1 до 10, використовуючи

команду циклу з параметром. Організуйте цикл для виведення елементів у

стовпчик.

7. Збережіть програму у файлі та перевірте її виконання.

64

Page 65: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

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

використовуючи генератор випадкових чисел.

9. Збережіть програму у файлі та перевірте її виконання.

10. Опишіть змінну min типу integer.

11. Надайте змінній min значення першого елемента масиву.

12. Знайдіть мінімальний елемент масиву, порівнюючи змінну min з

кожним елементом масиву. Виведіть на екран його значення.

13. Збережіть програму у файлі та перевірте її виконання.

14. Опишіть змінні max та nom типу integer.

15. Надайте змінній max значення першого елемента масиву.

16. Надайте змінній nom значення 1.

17. Знайдіть максимальний елемент масиву – max та його порядковий

номер – nom. Виведіть на екран їх значення.

18. Збережіть програму у файлі та перевірте її виконання.

19. Завершіть роботу з FP.

ПРИКЛАДИ СКЛАДАННЯ ПРОГРАМ

Приклад №1. Для сукупності 15 чисел x=(0.01; -27.3; 0; 1.25; -371;

0.5; -0.1; 1.2; -5;-172.3; 19.1; -2.7; 43.51; 0; -0.02) знайти найменший елемент та

його номер.program lab_7; uses crt; typeMAS=array[1..15] of real;

varx:MAS; i,n:integer; min:real; begin clrscr; writeln('Введення елементів масиву); for i:=1 to 15 do begin

write('x[',i,']='); readln(x[i]);

end;min:=x[1]; n:=1;for i:=1 to 15 do begin

if x[i]<min then

65

Page 66: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

begin min:=x[i]; n:=i; end; end; writeln('Виведення мінімального елементу', min:5:2,' ', ' Його номер:',n);

end.

66

Page 67: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ

Заповнити масив із К елементів дійсними числами від –N до N,

використовуючи функцію генерування випадкових чисел від 10*N ( N – номер по

журналу ) і виконати відповідне завдання .

1. Знайти кількість елементів ( вивести їх на екран ), значення яких не

перевищує заданого числа А.

2. Знайти кількість елементів ( вивести їх на екран ), значення яких більші за

задане число А.

3. Вивести масив на екран . Вказати номер максимального елемента .

4. Вивести масив на екран . Знайти мінімальний елемент ..

5. Вивести масив на екран . Обчислити суму елементів масиву , менших за

6. Вивести масив на екран . Обчислити добуток елементів масиву , не

менших за 1.

7. Вивести масив на екран . Обчислити добуток елементів , які стоять на

парних місцях .

8. Обчислити суму елементів , які не менші за 10. Вивести їх на екран .

9. Вивести на екран тільки від ’ємні елементи . Знайти їх середнє

арифметичне .

10. Вивести на екран тільки додатні елементи . Знайти їх добуток .

11. Вивести масив на екран . Знайти максимальний елемент .

12. Вивести масив на екран . Обчислити добуток елементів , які стоять на

непарних місцях .

13. Вивести масив на екран . Знайти номер мінімального елемента .

14. Вивести на екран тільки ті елементи , які не менші за 1, але менші за 5.

15. Обчислити добуток від ’ємних елементів , вивести їх на екран .

16. Вивести масив на екран . Вказати номери елементів , які менші за 0.

17. Вивести масив на екран . Обчислити суму елементів , які стоять на

непарних місцях .

18. Знайти суму елементів ( вивести їх на екран ), значення яких не менше

заданого числа А.

67

Page 68: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

19. Знайти добуток елементів ( вивести їх на екран ), значення яких більші

за задане число А.

20. Вивести масив на екран . Вказати номер та значення мінімального

елемента.

21. Вивести масив на екран . Знайти мінімальний додатний елемент ..

22. Вивести масив на екран . Обчислити суму додатних елементів масиву ,

менших за 1.

23. Вивести масив на екран . Обчислити добуток елементів масиву , які

стоять на парних місцях і менші за 1.

24. Вивести масив на екран . Обчислити добуток елементів , значення яких

знаходяться в межах від -1 до 1..

25. Обчислити добуток елементів , які більші за 20. Вивести їх на екран .

26. Замінити всі додатні елементи на 0. Вивести вхідний і результуючий

масиви.

27. Збільшити всі додатні елементи масиву у 100 разів . Вивести вхідний і

результуючий масиви .

28. Замінити всі додатні елементи масиву на 100. Вивести вхідний і

результуючий масиви .

29. Вивести масив на екран . Обчислити добуток елементів , які стоять на

парних місцях .

30. Вивести масив на екран . Знайти мінімальний серед елементів , які

стоять на непарних місцях .

68

Page 69: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Лабораторна робота №8

Тема. Двовимірні масиви.

Мета. Формування навичок та умінь розробки і реалізації програм з

використанням двовимірних масивів.

ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

1. Як ввести дані у двовимірний масив?

2. Що зазначають спочатку: кількість рядків чи кількість стовпців?

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

ТЕОРЕТИЧНІ ВІДОМОСТІМасив - це пронумерована послідовність величин однакового типу,

позначувана одним ім'ям. Елементи масиву розташовуються в послідовних

комірках пам'яті. Елементи позначаються ім'ям масиву та індексом. Кожне зі

значень, що складає масив, називається його компонентом (або елементом

масиву).

Масив даних у програмі розглядається як змінна структурованого типу.

Масиву привласнюється ім'я, за допомогою якого можна посилатися як на масив

даних у цілому, так і на кожний з його компонентів.

Змінні, ЩО представляють компоненти масивів, називаються змінними з

індексами на відміну від простих змінних, що представляють у програмі

елементарні дані. Індекс у позначенні компонентів масивів може бути

константою, змінною або виразом порядкового типу.

Якщо за кожним елементом масиву закріплений тільки один його

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

індексів елементів масиву визначає розмірність масиву. По цій ознаці масиви

діляться на одномірні (лінійні), двовимірні, тривимірні і т.п.

Прикладами двовимірних масивів: місця в залі для глядачів театру, де

кожне місце характеризується номером ряду й номером крісла в ряді; таблиця

результатів спортивного чемпіонату, де всі команди характеризуються

результатом гри з кожним із суперників та ш.

69

Page 70: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Елементи двовимірного масиву (дані можуть бути подані у вигляді таблиці)

визначаються іменем масиву та двома індексами: перший індекс означає номер

рядка М, а другий - номер стовпця N, на перетині яких стоїть елемент.

Масив, як і будь змінна TP-програми, перед використанням має бути

оголошеним у розділах оголошення типів та змінних.

Опис типів двовимірних масивів у мові Pascal здійснюється аналогічно

опису типів одномірних масивів з додаванням діапазону зміни другого індексу.

Загальний вигляд інструкції оголошення масиву такий:

Ім’я: array[нижній перший індекс. верхній перший індекс, нижній другий

індекс .. верхній другий індекс ] of тип;

де ім’я - ім’я змінної масиву;

array - зарезервоване слово мови TPascal, яке означає, що змінна є масивом;

нижній перший індекс, верхній перший індекс, нижній другий індекс, верхній

другий індекс нижній індекс - цілі константи, які визначають діапазон зміни

індексу елементів масиву та кількості елементів (розмір) масиву;

тип – тип елементів масиву.

Наприклад, задана матриця А розмірністю 3 4 має наступний вид:

Тут елемент A[2,1]=5, A[1,2]=-7, A[3,2]=5, A[3,3]=-8. Перший індекс

елемента двовимірного масиву задає номер рядка матриці, у якій розташований

елемент, другий індекс - номер стовпця.

Якщо число рядків матриці рівняється числу стовпців, то матриці даного

типу називаються квадратними. Елементи квадратної матриці виду B[1,1], B[2,2],

B[3,3]... становлять головну діагональ матриці. Іноді вводять поняття побічної

діагоналі квадратної матриці для елементів виду B[1,N], B[2,N-1], B[3,N-

2]...B[N,1], де N - число рядків (стовпців) матриці.

Приклади:

TYPE MATR = ARRA Y [1..4,1..5] OF INTEGER;

TYPE B = ARRA Y [2..9,0..6] OF REAL;

TYPE C=ARRAY[-1..4,-1..4] OF CHAR.

Також допускається вказівка імені іншого типу масиву як тип елементів

масиву, наприклад:

70

Page 71: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

TYPE VEC=ARRAY[1 ..4] OF REAL;

MAS=ARRAY[1..5] OF VEC.

Такий запис еквівалентний наступному:

TYPE MAS = ARRAY[1..5,1..4] OF REAL.

В результаті наведеного вище опису тип масиву MAS буде оголошений як

тип двовимірного масиву, перший індекс якого буде мінятися від 1 до 5, а другий

індекс - від 1 до 4, тобто розмірність масиву складе 5 4 елементів.

При введенні та виведенні елементів двовимірних масивів використаються

вкладені цикли, у яких зовнішній оператор циклу, як правило, задає зміну рядків

масиву, внутрішній оператор циклу - зміну стовпців.

ЗАВДАННЯ ДЛЯ САМОПІДГОТОВКИ

1. Розпочніть роботу з FP.

2. Відкрийте файл Program101.pas .

3. Змініть назву програми на Two_mas і збережіть файл, змінивши назву

на Program801.pas.

4. Опишіть змінні і, j та n типу integer.

5. Опишіть двовимірний масив A розмірністю цілого типу.

6. Надайте елементам масиву значення , відповідно.

7. Виведіть масив A на екран у вигляді таблиці.

8. Збережіть програму у файлі та перевірте її виконання.

9. Виведіть масив A на екран у вигляді таблиці, транспонувавши його.

10. Збережіть програму у файлі та перевірте її виконання.

11. Виведіть у рядок елементи, що розташовані на головній діагоналі

(індекси елементів збігаються).

12. Виведіть у рядок елементи, що розташовані на бічній діагоналі.

13. Збережіть програму у файлі та перевірте її виконання.

71

Page 72: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

14. Виведіть елементи головної діагоналі, розташувавши їх на своїх місцях

у таблиці і залишивши місця для інших елементів порожніми.

15. Виведіть елементи бічної діагоналі, розташувавши їх на своїх місцях у

таблиці і залишивши місця для інших елементів порожніми.

16. Збережіть програму у файлі та перевірте її виконання.

17. Опишіть змінну max типу integer.

18. Знайдіть максимальний елемент у кожному рядку і замініть його на

нуль. Виведіть на екран масив.

19. Збережіть програму у файлі та перевірте її виконання.

20. Опишіть змінні k та l типу integer.

21. Надайте змінним k та l цілого значення з проміжку .

22. У зміненому масиві поміняйте місцями елементи k–го та l–го рядка.

23. Збережіть програму у файлі та перевірте її виконання.

24. Збережіть і закрийте програму.

25. Завершіть роботу з FP.

ПРИКЛАД СКЛАДАННЯ ПРОГРАМИ

Нехай задана матриця А розмірністю 3×4 із дійсних чисел. Знайти

найбільший елемент у другому рядка даної матриці.

Програма розв’язання завдання

Program max_st;Type Matr=array[1..3,1..4] of real;Var max: real;a:Matr;i,j:integer; begin

for i:=1 to 3 dofor j:=1 to 4 do begin

write(' a=[', i, ',',j,']='); readln(a[i,j]);

end;max:=a[2,1];

72

Page 73: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

for j:=2 to 4 doif max<a[2,j] then max:=a[2,j]; writeln ('Найбільший елемент другого рядка =', max:8:2);

end.

73

Page 74: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ

Заповнити матрицю n на m дійсних чисел довільним чином.

Варіанти завдань:

74

Page 75: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

1. Знайти та надрукувати максимальні за значенням елементи у кожному

рядку матриці. Визначити та надрукувати кількість додатних елементів у кожній

колонці матриці.

2. Визначити та надрукувати кількість ненульовнх елементів в кожному

стовпці заданої матриці. Знайти та надрукувати мінімальні за значенням елементи

в кожному рядку заданої матриці.

3. Визначити та надрукувати суму від'ємних елементів у кожній колонці

заданої матриці. Визначити та надрукувати максимальний елемент заданої

матриці.

4. Визначити та надрукувати мінімальний елемент заданої матриці. Для

кожної колонки заданої матриці визначити та надрукувати суму елементів, що

належать рядкам з непарними номерами.

5. Обчислити та надрукувати елементи матриці С, кожен з яких дорівнює

сумі відповідних елементів матриць А та В. Знайти середнє значення серед усіх

елементів матриці С.

6. Для кожної колонки заданої матриці знайти суму елементів, що

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

від'ємні елементи.

7. Для кожного рядка заданої матриці підрахувати кількість ненульовнх

елементів. Для кожної колонки заданої матриці визначити середнє значення, а

серед отриманих середніх значень знайти мінімальне.

8. Поділити елементи кожної колонки заданої матриці на останній її

елемент. Отриману матрицю надрукувати. Для кожного рядка заданої матриці

визначити мінімальне значення, а серед отриманих мінімальних значень знайти

середнє.

9. Скласти та надрукувати матрицю, кожний елемент якої обчислюється як

різниця відповідного елемента заданої матриці та мінімального елемента рядка.

Визначити та надрукувати мінімальний елемент в кожній колонні заданої матриці.

10. Для кожного рядка заданої матриці визначити та надрукувати суму

елементів колонок з парними номерами. Для кожної колонки заданої матриці

знайти та надрукувати максимальний елемент.

75

Page 76: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

11. Скласти та надрукувати матрицю, кожний додатний елемент якої являє

собою цілу частину відповідного елемента заданої матриці. Визначити і

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

заданої матриці.

12. Обчислити та надрукувати елементи матриці В. кожен з яких дорівнює

різниці відповідних елементів матриць Е1 та Е2. Для кожного рядка матриці В

визначити середнє значення, а серед отриманих середніх значень знайти

максимальне.

13. Визначити та надрукувати суму усіх елементів матриці. Поділити

елементи кожного рядка заданої матриці на перший елемент рядка. Отриману

матрицю надрукувати.

14. Обчислити та надрукувати елементи матриці С, кожен з яких дорівнює

добутку відповідних елементів матриць А та В. Для кожного рядка матриці С

знайти середне значення серед від'ємних елементів.

15. Визначити та надрукувати кількість ненульових елементів в кожній

колонці заданої матриці. Для кожного рядка заданої матриці визначити та

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

16. Знайти та надрукувати максимальні за значенням елементи в кожному

рядку заданої матриці. Поділити елемента кожної колонки заданої матриці на

останній її елемент. Отриману матрицю надрукувати.

17. Визначите та надрукувати кількість ненульових елементів в кожній

колонці заданої матриці Скласти та надрукувати матрицю. кожний елемент якої

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

мінімального елемента рядка.

18. Обчислити та надрукувати елементи матриці С, кожен з яких дорівнює

сумі відповідних елементів матриць А та В. Для кожного рядка матриці С

визначити середнє значення, а серед отриманих середніх значень знайти

максимальне.

19. Обчислити та надрукувати елементи матриці А, кожен з яких дорівнює

різниці відповідних елементів матриць В та С. Знайти середнє значення серед усіх

елементів матриці А.

76

Page 77: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

20. Для кожного стовпця заданої матриці знайти суму елементів, що

розташовані нижче головної діагоналі. Скласти та надрукувати матрицю.

21. Для кожного рядка заданої матриці визначити та надрукувати суму

елементів стовпців з парними номерами. Визначити та надрукувати значення

мінімального елемента заданої матриці.

22. Для кожної колонки заданої матриці знайти та надрукувати

максимальний елемент. Визначити та надрукувати суму елементів, шо

перевищують задане число для кожного рядка заданої матриці

23. Визначити та надрукувати мінімальний елемент в кожній колонні

заданої матриці. Підрахувати кількість рядків, що містять від'ємні елементи.

24.Визначити та надрукувати кількість додатних елементів з кожному рядку

заданої матриці. Для кожного рядка заданої матриці визначити мінімальне

значення, а серед отриманих мінімальних значень знайти середнє.

25.Визначити та надрукувати максимальний елемент заданої матриці.

Поділити елементи кожного рядку заданої матриці на перший її елемент.

Отриману матрицю надрукувати.

26.Знайти та надрукувати максимальні за значенням елементи в кожному

рядку заданої матриці. Для кожної колонки заданої матриці визначити та

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

27.Обчислити та надрукувати елементи матриці С, кожен з яких дорівнює

добутку відповідних елементів матриць А та В. Для кожного рядка матриці С

визначити середнє значення, а серед отриманих середніх значень знайти

мінімальне.

28.Визначити та надрукувати суму усіх елементів матриці. Для кожного

рядка заданої матриці знайти середнє значення серед від'ємних елементів.

29.Для кожної колонки заданої матриш визначити середнє значення, а серед

отриманих середніх значень знайти мінімальне. Поділити елементи кожної

колонки заданої матриці на останній її елемент. Отриману матрицю надрукувати.

77

Page 78: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Лабораторна робота №9

Тема. Самостійна робота.

Мета. Перевірка засвоєння пройденого матеріалу.

Варіант 1

1. Скласти програму обчислення значення функції:

.

2. Дано лінійний масив з n (n<=50) цілих додатних і від’ємних чисел.

Скласти програму яка б:

а) знайшла максимальний елемент;

в) обчислила середнє арифметичне додатних елементів масиву.

Варіант 2

1. Скласти програму обчислення значення функції:

.

2. Дано масив (i<=n, j<=m; n,m<=50) дійсних додатних і від’ємних

чисел. Скласти програму утворення одновимірного масиву В із додатних

елементів масиву А і відсортувати новоутворений масив у порядку зростання.

78

Page 79: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

79

Page 80: 4. Дрінь Б.М. Мова програмування Pascal: лабораторний

Література

1. Караванова Т.П. Основи алгоритмізації та програмування: 750 задач з рек.

та прикл.: Посіб. / Караванова Т.П. – К.: Форум, 2002. – 287 с.

2. Єжова Л.Ф. Алгоритмізація і програмування процедур обробки

інформації: Навч.-метод. посібник для самост. вивч. дисц. / Єжова Л.Ф. – КНЕУ,

2000, – 152 с.

3. Глинський Я.М. Паскаль. Free Pascal i Delphi. 2-е доп. / Глинський Я.М.,

Анохін В.Є., Ряжська В.А. вид. – Львів: Деол, 2001. – 144 с.

4. Глинський Я.М. Інформатика: 8-11 класи. Навчальний посібник для

загальноосвітніх закладів: У 2-х кн. – Кн. 1. Алгоритмізація і програмування.

Мова Паскаль. 2-е вид. / Глинський Я.М. Львів: Деол, 2002. – 200 с.

80