SlideShare a Scribd company logo
1 of 162
Download to read offline
Д.М. Шост

р
*ос*д#.
jÿ
Д.М. Шост

ШФОРМАТИКА

TURBO PASCAL
Зошит-конспект
10-11 класи

EXLIBRIS
A3 АЛОВОЙ
ЭААИНЫ
ТЕРНОПІЛЬ
НАВЧАЛЬНА КНИГА - БОГДАН
2003
ББК 32.97я2
Ш53
Рецензенти:
Василенко Я.П. — ст. викладач кафедри інформатики ТДПУ
Кривокульськнй Л.Є. — методист лабораторії природничоматематичних дисциплін ОІПО

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

Ш 53

Ш ост Д.М .
Інф орматика. Turbo Pascal 10-11 класи. —
Тернопіль: Навчальна книга - Богдан, 2003. — 160 с.
ISBN 966-7224-62-7

Мета даного видання — забезпечити учнів і вчителів цілісним матеріалом
з вивчення мови програмування Turbo Pascal 6.0 і 7.0 відповідно до чинної
шкільної програми з інформатики.
Статті посібника підібрано таким чином, щоб допомогти учням успішно
оволодіти навиками практичного програмування і добитися високих результатів
у даній галузі знань.
Длд учню- W44 -И&
ноосвітніх шкіл та вчителів інформатики.
і ї Чі Щі Ш
ББК 32.97я2
і Ш мт & Л ж »
і Ш Ш Аш н,„ГА д о?
■одтмгШ Ш Із ^
№
ф щ ост д М ^ 1997
ISBN 966-7224-62-7

© Навчальна книга - Богдан,
макет, художнє оформлення, 2003
л 8,"!. У№|уі*ЙМ| ІЇЬКіЛЩОи
рі
:п

б
б
ь

“

і

ПЕРЕДМОВА
На сьогодні р^ ітв я й курс “Інформатика“ не забезпечений цілісним сис­
тематизованим навчальним підручником, тому автор поставив собі за мету
написати посібник, який би заповнив цю прогалину. Матеріал видання
повністю відповідає чинній Програмі для середніх закладів освіти “Основи
інформатики і обчислювальної техніки”.
Простота і послідовність викладення тем, використавші значної кількості
прикладів, -особливо текстів програм, робить даний посібник дохідливим
і доступним. Його можуть з успіхом використати учні шкіл як для самостійного
вивчення мсти програмування Паскаль, так і під керівництвом учителя. Вве­
дення до посібника розділів 8-11 дає можливість використовувати Його та­
кож студентам інститутів, технікумів, училищ, усім, хто має бажання вишити
Мову програмування Паскаль.
Матеріал, зібраний і систематизований у даному посібнику, значно полег­
шує підготовку учителя: до теми кожного уроку подано теоретичний матеріал,
підібрано завдання дам самостійної робот учнів, тести для контролю знань.
Це еЖономить час на уроці. Посібник може використовуватись учнями як
робочий зошит. Вчителю не потрібно також готувати практичні роботи, оскіль­
ки у книзі наведено зразки їх виконання і завдання для учнів у Д варіантах.
Автор
ОСНОВИ АЛГОРИТМІЗАЦІЇ ТА ПРОГРАМУВАННЯ

% ІНФОРМАЦІЙНА (МАТЕМАТИЧНА) МОДЕЛЬ
1.1 Основні етапи розв’язування прикладної задачі
з використанням ЕОМ
Розв'язування задач у будь-якій діяльності — це завжди одержування
певних результатів — результатів обчислень, побудови, роботи тощо.
ЕОМ є універсальним пристроєм для розв’язування різноманітних на­
вчальних і виробничих задач. їх універсальність полягає у можливості ви­
конання практично всіх алгоритмів розв’язування задач у будь-якій
предметній діяльності. Необхідним для цього стає опис постановок завдань
і методів їх розв’язування мовою математики, а потім вираження їх у формі
програм.
Етапи розв'язування задач на ЕОМ:
1. Математична постановка задачі.
2. Визначення методів розв’язування.
3. Складання сценарію роботи з ЕОМ.
4. Конструювання алгоритму.
5. Переведення алгоритму у програму.
6. Введення і випробування програми.
7. Одержання результатів розв’язування.
При постановці задачі необхідно визначити і перелічити всі вихідні дані
і дані, які необхідно знайти. Відповісти на запитання: за яких умов можна
одержати потрібні результати, а за яких ні? Визначити, які результати будуть
вважатися правильними?
На другому етапі необзсідно не тільки вибрати спосіб одержання результатів,
а й вибрати оптимальний метод розв'язування задач, який би давав найбільш
правильну відповідь. Правильність розв’язування задач на ЕОМ перш за все
залежите рід правильності внбрайоро щгесщ розв’язування.
си& щ ж
правила введенцстувачам, реакцію машини
■Рй®®"“ “"

'

...............

Інформаційна (математична) модель

5

на вказівки і дані, які вводяться. Сценарії повинні визначати правила роботи
користувачів з ЕОМ.
За складеним сценарієм і описом методу складаємо алгоритм розв’язуван­
ня задачі.
Програмування (написання програм за наявності алгоритмів) — кодуван­
ня алгоритмів вибраною мовою програмування.
Тестування — процес підготовки, виконання програми та аналіз результатів
з метою виявлення помилок. Введення і випробування створеної програми
здійснюємо за заздалегідь підготовленим планом. Програму виконують на
ЕОМ з різними значеннями аргументів, які б забезпечували перевірку всіх
можливих умов, при яких може виникнути помилка. Оцінюємо правильність
одержаних результатів.
Після закінчення тестування програми виводимо правильні результати на
екран монітора або на принтер. На основі отриманих результатів будують
таблиці, графіки, аналізують і пояснюють у термінах вихідних даних задачі.

1.2 Поняття інформаційної (математичної) моделі.
Побудова моделі
Успішно розв’язувати задачі можна тільки при чіткому і водночас одно­
значному визначенні вимог до кінцевих результатів. Розпливчастість
і невизначеність формулювань може привести до різного тлумачення умов і,
як наслідок — розбіжності в оцінці правильності результатів.
Точні постановки задач — це можливість забезпечити однакове розуміння
цих задач різними людьми. Точність визначень і формулювань має бути та­
кою, щоб вони'не допускали двозначного тлумачення, а найголовніше, щоб
за ними можна було однозначно міркувати, чи є пропоновані розв’язки пра­
вильними. Така точність формулювань і тверджень характерна для математи­
ки. А оскільки ЕОМ — це математичні пристрої для опрацювання даних, то
постановка задач, що розв’язуються обчислювальними машинами, також
повинна виражатися у математичній формі.
Опис найбільш суттєвих властивостей об’єктів і явищ, які досліджуються
в задачі за допомогою математичних формул і рівнянь, називається побудо­
вою математичної моделі цього об’єкта. Математична модель дає можливість
звести розв’язування реальної задачі до вирішення математичної задачі. Саме
цей факт лежить в основі застосування математики у пізнанні законів і їх
практичного застосування.
Остей алгоритмЬаці
Математичні постановки задач (формалізація ) — це вимоги, що формуй
люються за допомогою математики. Математичні задачі с формалізованим!
з самого початку. Для запису їх постановок використовується така форма:
Задача.
Дано:
Потрібно:
Зв’язок:
При

<Змістовне формулювання>
<Перелік початкових даних>
<Перелік потрібного>
<3алежність між потрібним і початковим>
<Умови допустимості початкових даних>

Та чи ійща постановка задачі завжди грунтується на конкретному зміс­
товному формулюванні. Із нього пошані бути виділені і перелічені всі вихідні
дані і потрібні результати. У математичних постановках задач у розділах
*Дано” і “Потрібно” вказують не тільки назви цих величин і об’єктів, а й їхні
позначення, що над алі використовуються в описах умов допустимості вихідних
даних і в описах зв’язку вихідного з потрібним.
В окремих задачах залежність між потрібним і вихідним, а також умови
допустимості можуть виражатися не системами рівнянь, а системами тверджень. Строгий запис таких тверджень виконується мовою математичної логіки.
Це — перш за все відомості про об’єкти та їхні властивості. Крім цього,
твердження можуть вводитися через раніше введені висловлення.
“Зв’язок” — це система рівнянь або тверджень, що зв’язують вихідні
і шукані дані. Сюди можуть входити визначення, твердження, формулювання
законів тощо. З практичної точки зору “зв’язок” виражає не стільки спосіб
розв’язування, скільки спосіб перевірки правильності кінцевих результатів.
Приклад математичної моделі
Задача.
Дано:
Потрібно:
Зв’язок:
Метод:

Знайти суму скінченої послідовності заданих чисел,
х,, х2 х3, ..., — послідовність чисел,
,
знайти 8 — суму чисел.
8 д X, + х2+ X,
а
Х
,^
рекурентне сумування — 8в= 0;
Інформаційна (математична) модель

1.3 Запитання, завдання, тести

7

ї' , /

Запитання для самоконтролю
1. Перерахуйте основні етапи у складанні програм для розв’язування за­
дач на ЕОМ.
2. З чого починається розв’язування задачі?
3. Навіщо потрібна постановка задачі?
4. Для чого потрібні описи методів розв’язування задач?
5. Яку роль відіграють сценарії у процесі розв’язування задач на ЕОМ?
6. Які етапи розв’язування задан на ЕОМ виконує людина?
7. На якому етапі розв’язування задач використовується ЕОМ?
8. Що являє собою математична модель?
9. Навіщо потрібна математична постановка задачі?
10. Чи завжди виникає необхідність у побудові математичної моделі?
11. Що виражає роздої “ Зв’язок “ у математичній постановці прикладної задачі?
12. З яких міркувань вибираються обмеження на вихідні дані?
Завдання для самостійного виконання
1. Побудуйте математичну модель для розв’язання задач:
а) визначити час польоту тіла, кинутого вертикально вгору;
б) визначити час падіння тіла із заданої висоти;
в) визначити період обертання тіла масою ш по колу радіусом Ц.
Основи алгоритмізації

8

2. АЛГОРИТМИ
2.1 Алгоритми. Властивості алгоритмів.
Форми подання алгоритмів. Виконавець алгоритму
Алгоритми
Алгоритм — чітко задана послідовність кроків, які мають бути виконані
для розв’язання завдання.
Приклад алгоритму.
Задача* Вказати послідовність дій, які необхідно виконати для обчислен­
ня виразу (ах+Ь)х+с при заданих значеннях а, Ь, с, х.
Алгоритм можна описати таким чином:
1. Помножити а на х
2. До отриманого результату додати Ь.
3. Отриманий результат помножити на х
4. До отриманого результату додати с.
Алгоритм повинен мати такі властивості:
1. Масовість* Алгоритм повинен бути застосованим до будь—яких
елементів з множини вихідних даних.
2. Визначеність. Операції, які використовуються в алгоритмі, не повинні
мати двоякого тлумачення; не повинно виникати питання: що саме і як треба
робити? Порядок виконання операцій має бути строго визначеним.
3. Дискретність. Процес розв’язування алгоритму повинен складатися
з окремих завершених операцій, які виконуються послідовно і за скінчений
час.
4. Результативність. Виконання послідовності операцій алгоритму по­
винно приводити до цілком конкретного результату.
5. Формальність. Будь-який виконавець, здатний сприймати і виконувати
вказівки алгоритму (навіть не розуміючи їх змісту), діючи за алгоритмом,
може виконати поставлене завдання.
Форми подання алгоритмів:
1. словесні;
2. словесно-формульні;
3. графічні;

4. скінчений набір ходів.
Алгоритми

9

При складанні алгоритмів можна поєднувати різні форми подання
алгоритмів.
Виконавець алгоритму
Виконавцем алгоритму може бути людина, ЕОМ, система людина — ма­
шина, верстат — автомат, робот тощо, яких “навчено” виконувати вказівки
алгоритму. Якщо виконавцем є деякий автомат, то вираз “виконавця навчено
виконувати вказівку” означає, що автомат може виконати задану вказівку
автоматично, без зовнішнього втручання.
Сукупність вказівок, які можуть бути виконані виконавцем, називається
системою вказівок виконавця.

2.2 Базові структури алгоритмів
При конструюванні алгоритму кожну вказівку можна подати у вигляді
трьох типів простих вказівок, так званих базових алгоритмічних структур:
слідування, розгалуження, повторення.
/• Слідування.
Вказівка 5 подається у вигляді послідовності двох (або більше) виконуваних
одна за одною простіших вказівок 57, 5 2 , 5л.
г ---------------------------------------- -----------------

------І -51----- -52-------------- -5л — І------—

2. Розгалуження (вибір).
Для виконання вказівки 5 треба спочатку визначити, хибне чи істинне
деяке твердження Р. Якщо твердження Р істинне, то виконується вказівка 57
і на цьому вказівка 5 закінчується. Якщо ж твердження Р хибне, то вико­
нується вказівка 52 і на цьому виконання вказівки 5 закінчується.
Повне розгалуження.
Основи алгоритмі*

10

Неповне розгалуження,

3. Повторення.
1
Розрізняють два типи циклів — цикл-ПОКИ і цикл-ДО.
1
а) У структурі цикл-Поки для виконання вказівки £ спочатку треба ви-І
значити, істинне чи хибне твердження Р. Якщо Р істинне, то виконується]
вказівка 51 і знову повертаються до визначення істинності твердження Р. Якщо]

б)
У структурі цмкл-ДО спочатку виконується вказівка 5 /, а потім визна­
чається істинність твердження Р. Якщо твердження Р хибне, то знову вико­
нується вказівка 51 і визначається істинність твердження Р, Якщо ж тверд­
ження Р істинне, то виконання вказівки 5 вважається закінченим.

Будь-який алгоритм подається у вигляді лінійної послідовності базових
алгоритмічних структур*
Лінійний алгоритм алгоритм, в яшму використовується тільки струк­
тура “слідувани*'
Алгоритми

11

Алгоритм з розгалуженням — алгоритм, а основі якого лежить структу­
ра “розгалуження”.
Циклічний алгоритм — алгоритм, в основі якого лежить структура “пов­
торення”.

2.3 Метод покрокової деталізації. Конструювання алго­
ритмів “зверху донизу"
При використанні методу покрокової деталізації складна задача розбиваєть­
ся на ряд білил простих. Для кожної підзадачі складається свій алгоритм. При
цьому кожен із додаткових алгоритмів повинен розв’язувати як свою підзадачу,
так і стикуватися з іншими додатковими алгоритмами в основному. Ці підза­
дачі можуть, у свою чергу, вимагати розбиття на ще більш прості задачі. Про­
цес покрокової деталізації закінчується, коли задачі чергового рівня виявля­
ються зовсім простими і зрозумілими для кожного виконавця.
Розпишемо виконання методу покрокової деталізації для побудови алго­
ритму обчислення площі повної поверхні піраміди, в основі якої лежить
квадрат зі стороною а, а бічні ребра мають довжини, А, с, Л, к.
Площа повної поверхні піраміди складається із площі повної бічної по­
верхні і площі основи.
Загальний вигляд алгоритму буде таким:
ввести значення а9 Ь, с, </, к.
Знайти площу грані (в, Ь, с)
Знайти площу грані (а, с, і)
Знайти площу грані (в, <, к)
#
Знайти площу грані (в, к, Ь)
Площа піраміди = площа грані (а, Ь, с) + площа грані (в, с, І) +
+ площа грані (а, і у &) + пловцу грані (в, А, Ь) + а*а.
вивести площу піраміди.
У тексті алгоритму чотири рази виконується однакова вказівка обчислення
площі бічної грані піраміди (це трикутник) при різних значеннях сторін.
Необхідно чотири рази скористатися формулою Герона для обчислення площі
трикутника. Цю частину алгоритму можна оформити у вигляді допоміжного
алгоритму. Наш основний алгоритм набере випхяду:
ввести значення а, і , с, й, к.
площа (в, Ь9 с, 57)
площа (а, с, Л, 52)
площа (я, й, к, 55)
12

Основи алгоритмізаці

площа (а, к, Ь, Б4)
площаі =
вивести площа 1
Побудуємо допоміжний алгоритм обчислення площі трикутника за фор*]
мулою Герона.
р:=(т+п+1)/2;
8:=^ц?і(р*(р-т)*(р-п)*(р~1)).

2.4 Навчальна алгоритмічна мова. Правила описання
алгоритмів навчальною алгоритмічною мовою
Навчальна алгоритмічна мова.
Спілкування між споживачами інформації здійснюється за допомогою
деякої мови.
Мова — це сукупність засобів для фіксації повідомлень і передавання їх
від джерела інформації до споживача.
Алгоритмічні мови — мови, призначені для фіксації алгоритмів у вигляді
деяких повідомлень і передавання таких повідомлень споживачеві інформації
(виконавцеві алгоритму).
Алфавіт алгоритмічної мови — сукупність символів, які дозволяються
використовувати при описанні алгоритмів на тій чи Іншій алгоритмічній мові.
Синтаксис алгоритмічної мови — сукупність правил опису алгоритмів
на алгоритмічній мові.
Вказівка (команда) — окреме повідомлення про деяку операцію, яку
повинна виконати машина.
Алфавіт навчальної алгоритмічної мови включає в себе великі і малі бук­
ви українського і латинського алфавітів, цифри десяткової системи числення,
спеціальні символи, символи математичних операцій.
Для більш зрозумілого і виразного запису алгоритмів алфавіт алгоритмічної
мови доповнено службовими словами.
Сукупність знаків і правил, за допомогою яких описуються алгоритми,
утворюють алгоритмічну мову.
Правила описання алгоритмів навчальною
алгоритмічною мовою
Запис алгоритму повинен бути оформленим за такими правилами.
У першому рядку записується слово алгоритм або його скорочення до
трьох літер — алг. Далі за цим словом записується назва алгоритму. У дру-
Алгоритми

13

гому рядку записується слово початок або його скорочення — поч. Далі
з невеликим відступом у 2—3 проміжки записуються дії, що складають власне
алгоритм. Останнім рядком опису алгоритму має бути слово кінець або
його скорочення — кін у цій самій позиції, що й слово початок.
Алгоритм, описаний навчальною алгоритмічною мовою, має вигляд:
Заголовок алгоритму
початок
серія
кінець
Заголовок алгоритму — початкова частина запису алгоритму до службо­
вого слова початок, яка містить в собі ім’я алгоритму, перелік його аргументів
і результатів з зазначенням їх величин.
Серія — послідовність неіменованих вказівок, що виконуються в такому
порядку, в якому вони записані.
Заголовок алгоритму має вигляд:
алг ім’я_алгоритму (список параметрів
із вказанням їх типів)
арг список аргументів
рез список результатів
де алг, аргу рез — службові слова.
Виділені слова називаються службовими і використовуються при записі
довільного алгоритму.
В алгоритмах роботи з величинами після слова початок вказується спи­
сок проміжних результатів із зазначенням їх типів. Елементи списків
відокремлюються між собою комами.
Тіло алгоритму — частина алгоритму, яка знаходиться між словами по­
чаток і кінець.
Структура алгоритму, описана навчальною алгоритмічною мовою, в цілому
має вигляд:
алг ім’яалгоритму (список параметрів
із вказанням їх типів)
арг список аргументів
рез списокрезультатів
початок список проміжних результатів'
із зазначенням їх типів.
серія
кінець'
Основи алгоритміЬ г
я

14

Основні вказівки НАМ
Будь-який алгоритм можна описати з використанням вказівок лише трьох'
1) вказівок про безумовне виконання деякої операції;
2) вказівок про розгалуження;
3) вказівок про повторне виконання деякої операції. .
До вказівок першого типу належать вказівки присвоювання
ЪА
де А — вираз, Y — ім’я результату, := — знак присвоювання, а така
вказівки про виконання алгоритму: ім’й алгоритму (список фактичний
параметрів).
Вказівки другого типу записуються у вигляді:
ЯКЩО твердження Р
ТО
серія 1
ІНАКШЕ
серія 2
ВСЕ

повне розгалуження

ЯКЩО твердження Р
ТО
серія
ВСЕ

— неповне розгалуження

Узагальненням вказівки розгалуження є вказівка вибір, за допомогою якої
описується розгалуження в трьох і більше напрямах:
ВИБІР
ПРН твердження 1: серія 1
ПРИ твердження 2: серія 2
ПРИ твердження к: серія к
ІНАКШЕ серія
ВСЕ
Вказівки третього типу описуються у вигляді:
ПОКИ твердження Р
ПЦ
цикл-ПОКИ
серія
КЦ
оритми
ПОВТОРЮВАТИ
ПЦ
серія
КЦ
ДО твердження Р

15

цикл-ДО

Використовується також вказівка повторення з параметром
ДЛЯ Ж ВІД А ДО В КРОК Н
ПЦ
серія
КЦ
де А, В, Н — вирази, що задають відповідно початкове і кінцеве значення
та крок зміни параметра циклу X.
Наприклад.
1. Скласти алгоритм пошуку більшого з трьох величин а,Ь,с.
АЛГ більше з трьох
АРГ а,Ь,с
РЕЗу
ПОЧАТОК
ЯКЩО а>Ь
ТОу:=а
ІНАКШЕ у:=Ь
ВСЕ
ЯКЩО с>у
ТОу:=с
ВСЕ
КІНЕЦЬ
2, Задано дійсні числа а, Ь (а>1). Обчислити суму членів геометричної
послідовності ар аґ аг ,., із знаменником с (с>1), а(<Ь ,
АЛГ сума_послідовності (ДІЙСН а,Ь,сума)
АРГ~і, Ь
РЕЗсума
ГІОЧ ДІЙСН с
СУМА:=0
Основи алгоритмиа

16
ПОКИ а<Ь
ПЦ
сума:=сума+а
а:=с*а
КЦ

кш

2.5 Величини» Основні характеристики величин
Величини
Повідомлення N разом з відповідною йому інформацією 7, яку дістають з
правилом — інтерпретацією L (N->1), називають величиною. Інформацію
називають значенням величини, а повідомлення N — позначенням величи
ни. При цьому говорять, що позначенню N відповідає значення І.
Величина — об’єкт, який має ім’я і значення конкретного типу.
Операнд — об’єкт алгоритму, над яким виконується деяка вказівка.
Основні характеристики величин
Тип величини визначається операціями, які можна над ними виконувати.
Значення величини певного типу називають значенням того самого типу.
Для найбільш уживаних типів величин введено позначення типів, які назива­
ють ідентифікаторами типів:
ЦІЛ — цілочислові величини;
HAT — натуральні числа;
РАЦ — раціональні числові величини;
ДІЙСН — дійсні числові величини;
КОМПЛ — комплексно-числові величини;
ЛОГ — логічні величини;
ЛІТ — величини, значення яких є слова або тексти;
БІТ — величини, значення яких подаються двійковими словами деякої
фіксованої довжини.
Для посилання на величину використовуються імена величин. Для позна­
чення імен використовують ідентифікатори.
Ідентифікатор — ім’я величини.
Постійна величина (стала або константа) — величина, яка в будь-які
моменти часу може набувати тільки одаого й того самого значення.
Змінна величина — величина, яка в різні моменти часу може набувати
різних значень з деякої множини допустимих значень.
Алгоритми

17

У кожному алгоритмі, крім самих операцій, які необхідно виконати, слід
вказати також об’єкти, над яким виконуватимуться ці операції. Імена цих
об’єктів називають параметрами. При описуванні алгоритму використовуються
формальні (неконкретні) параметри. Виконуються алгоритми над фактични­
ми (конкретними) параметрами.
Аргумент алгоритму — параметр, значення якого слід вказати перед
початком виконання алгоритму.
Результат алгоритму — параметр, значення якого дістають в результаті
виконання алгоритму.
Окремим випадком алгоритму є вираз.
Вираз — це текст (повідомлення), який описує правило (алгоритм) обчис­
лення одного значення деякого типу.

2.6 Вказівка присвоювання

!

Вказівка присвоювання призначена для надання змінній нового значення.
Загальний вигляд оператора присвоювання:
ім ’ змінної := арифметичний вираз;
я
Знак := читається “присвоїти”.
У кінці запису оператора Паскаля ставиться крапка з комою.
При виконанні оператора присвоювання обчислюється значення арифме­
тичного виразу, що стоїть у правій частині. Одержаний результат присво­
юється змінній, що записана зліва від знака присвоювання.
Приклад вказівки присвоювання:
х:=5; (змінній х присвоїти значення 5)
а:-Ь+с (змінній а присвоїти суму значень змінних Ь і с).
До типів змінної ліворуч і арифметичного виразу праворуч від знака при­
своєння існують обмеження:
1. Якщо змінна ліворуч — дійсного типу, то арифметичний вираз можке
бути як цілого, так і дійсного типу.
2. Якщо змінна ліворуч — цілого типу, то арифметичний вираз може
бути тільки цілого типу.
Це означає, що можна, наприклад, дійсній змінній присвоїти ціле значення. У пам’яті комп’ютера воно буде перетворено на дійсний тип.
18

Основи алгоритмізт

2*7 Запитання, завдання, тести
Запитання для самоконтролю:
1. Що таке алгоритм?
2. Що таке змінні в алгоритмах?
3. Що таке константи в алгоритмах?
4. Які основні властивості алгоритмів?
5. Які існують основні форми подання алгоритмів?
6. Хто може бути виконавцем алгоритму?
7. Чим викликано існування багатьох способів опису алгоритмів?
8. Назвіть базові структури алгоритмів.
9. Як записується і використовується структура “слідування”?
10. Як записується і використовується структура “розгалуження”?
11. Як записується і використовується структура “повторення” (цикл*
ПОКИ)?
12. Як записується і використовується структура “повторення” (цикл-ДО)?
13. Для чого необхідна алгоритмічна мова?
14. З чого складається алгоритмічна мова?
15. З чого складається алфавіт алгоритмічної мови?
16. Які правила опису алгоритмів НАМ?
17. Яка структура алгоритму, записаного на НАМ?
18. Які основні вказівки використовуються в НАМ?
19. Як записується і виконується вказівка безумовного виконання?
20. Як записується і виконується вказівка розгалуження?
21. Як записується і виконується вказівка повторення?
22. Що таке величина?
23. Які існують типи величин?
24. Які існують види величин?
25. Що називається аргументом алгоритму?
26. Що називається результатом алгоритму?
27. Як записується і виконується вказівка присвоювання?
Завдання для самостійного виконання
1. Записати в словесній формі алгоритми:
а) Знаходження остачі від ділення числа а на число Ь;
б) Розклад числа N на прості множники;
в) Перевірки ознаки подільності даного числа а на 3;
г) Знайти найбільший спільний дільник двох натуральних чисел а і Ь.
Алгоритми

19

2. Перерахувати всі службові слова, які використовуються:
а) у вказівці розгалуження
б) у вказівці повторення
3. Що виконає виконавець алгоритму?
АЛГ одягнутися по погоді взимку
ПОЧ
ЯКЩО на вулиці температура нижча -10 С
ТО надіти шубу
ІНАКШЕ надіти куртку
ВСЕ

КІН
якщо на вулиці:
а) -15°С __________ _ _ _ _______ ___________________ .

б) +20°С______________ __ _________ _____________________ __
в) -10°С ______________________
._________ _______
Запишіть даний алгоритм, враховуючи, що гірй температурі +10°С куртку
надівати не потрібно.
4. Скласти алгортьі обчислення ¥ за формулою їЦ5ж-2Х#+4).

5. Скласти алгоритм обчислення ¥ за формулою
дс+2,якщо;г<=5,
[

100 , якщо д£>5.

6. Скласти алгоритм знаходження найбільшого з трьох величин а,Ь,с.
7. Скласти алгоритм пофарбування підлоги, яка зроблена з 30 дошбіс.
Тести
1. Вказати, які з наведених нижче властивостей, повинен мати алгоритм:

а) масовість;
б) повнота;
в) визначеність;
г) дискретність;
Відповідь:

г) циклічність;
д) результативність;
е) формальність;
€) розгалуженість.
Основи алгоритмі)

20

2. Чи можна використовувати в описі алгоритмів твердження?
“Порівняти два числа а і V9
Відповідь^так, ні):___________ .___________________________ ___
3. Чи може автоматичний пристрій бути виконавцем алгоритму?
Відповідь(тш, ні):_____________________________ __________ __
4. Чи правильне твердження: “При виконанні лінійного алгоритму спочі
ку виконується вказівка 52, а потім 57”?
Відповідь(так, ні):_____ _____________________________________
5* Чи правильне твердження: “При виконанні вказівки розгалуження
має значення чи твердження Р є істинним чи хибним”?
Відповідь(так, ні):___________________________ ______________
б. Запишіть порядок виконання вказівки розгалуження:
а) Виконати вказівку 51;
б) Виконати вказівку 52;
в) Визначити, істинне чи хибне твердження Р ?
г) Закінчити виконувати вказівку 5 при умові, що:
1) твердження Р істинне;
2) твердження Р хибне.
Відповідь
і ) ________________________________

2) __________________
7. Чи правильне твердження:
“При виконанні вказівки повторення, цикл-ПОКИ, спочатку виконується
вказівка 5 /, а потім перевіряється на істинність чи хибність твердження
Відповідь(так, ні):______________________ ;__________ 4
__________І
8. Чи правильне твердження: “При виконанні вказівки повторення, цикл-]
ДО, спочатку перевіряється на істинність чи хибність твердження Р, а потімі
виконується вказівка 5 /” ?
]
Відповідь^так, ні):______________________ в_____________ _________ |
_
9- Запишіть порядок виконання вказівки повторення, цикл-ПОКШ
і допишіть пропущене слово — істинне чи хибне.
а) Виконати вказівку 57, якщо твердження Р
___________ А
б) Визначити, хибне чи істинне твердження Р;
в) Повернутись до визначення істинності твердження Р;
оритми

21

г) Закінчити виконання вказівки повторення,
якщо твердження Р хибне.
____________________ __
Відповідь:__________________________ «
10. Запишіть порядок виконання вказівки повторення, цикл-ДО і допишіть
опущене слово — істинне чи хибне
а) Виконати твердження 5 /;
б) Визначити, істинне чи хибне твердження Р;
в) Повернутись до виконання вказівки $1,
якщо твердження Р
г) Закінчити виконання вказівки 5,
якщо твердження Р
Відповідь:
11. Вкажіть тип величини, якщо її значення дорівнює:
а) 2 5 ______________
б)5,5
в)_‘так’ _________________
12. З наведених значень виберіть допустимі значення для величин:
а) 2
б) 4.5
1) цілого типу
в) -6
2) дійсного типу'
г) ‘два’
3) літерного типу
Д ) 15,8
е) ‘24’
13. Визначіть тип даних для величин:
а) маса людини_____ ____________
б) кількість учнів у
*
Є£і
в) назва книги___
__
МОВА ПРОГРАМУВАННЯ ПАСКАЛЬ
3. ПРОГРАМА. МОВА ПРОГРАМУВАННЯ
3.1 Поняття програми. Мова програмування.
Переклад програм з однієї мови на іншу.
Поняття про транслятори, систему програмування
Мова програмування Паскаль є однією з найбільш поширених мов про
грамування. Вона була створена в 1971 році швейцарським професороц
Н. Віртом, як засіб для навчання програмування. Завдяки принципам струк­
турного програмування і покрокової деталізації, програми мовою Паскаль
більш зрозумілі, ніж програми, записані на інших мовах.
Мова Паскаль є структурованою мовою програмування, оскільки викори­
стовує тільки 4 основні структури:
1. Вказівки безумовного виконання.
2. Вказівки розгалуження.
3. Вказівки повторення.
4. Виділення допоміжних програм.
Головною відмінністю мови Паскаль від мов програмування Бейсік, Фор­
тран та інших неструкіурних мов програмування є деяке обмеження на ви­
користання вказівок переходу. Мова програмування Сі є також струюурною
мовою програмування.
Весь матеріал з мови Turbo Pascal викладений стосовно версії Turbo Pascal
7.0 фірми Borland International. В новій версії Turbo Pascal 7.0 є деякі допов­
нення до попередніх версій, що практично зрівняло її можливості з мовою
програмування Сі.
Програма — впорядкована послідовність дій для ЕОМ, виконання якої
реалізує алгоритм розв’язку будь-якої задачі.
Транслятор — програма, яка перекладає програму з однієї мови програму­
вання на іншу (здебільшого на мову машинних команд).
Інтерпретатор — програма, яка аналізує і відразу виконує тексти інших
програм.
Транслятор (компілятор), на відміну від інтерпретатора, не виконує про­
граму, а тільки перекладає її з однієї мови на іншу.
/

програма. Мова програмування

‘

23

Система програмування — частина базового програмного забезпечен­
ая, яка підтримує процес програмування на ЕОМ.
Система програмування містить в своєму складі: редактор для складання
програм і введення їх в ЕОМ; інтерпретатор для безпосереднього виконання
програм на вхідній мові програмування системи програмування; транслятор
'або компілятор для перекладу програм з вхідної мови програмування на
машинну мову та інші програми.
Система програмування Turbo Pascal об’єднує в собі текстовий редактор,
компілятор, компоновник, відлагоджувач та систему підказки.
Система програмування Turbo Pascal має в своєму складі багато файлів.
Головні з них:
1) Turbo.exe — підтримує роботу в турбосередовищі;
2) Turbo.tpl — вміщує бібліотеку підпрограм;
3) Turbo.hlp — забезпечує виведення на екран підказки по окремих режимах роботи, конструкціях програму тошо. ..... т ____ ________________
Дані файли поміщені в каталог ТР70, який буде використовуватись в по­
дальшій роботі.

3.2 Поняття про середовище програмування Itorbo Pascal
Запуск програм на виконання
Щоб ввійти в середовище Turbo Pascal, потрібно:
1. Ввійти в каталог системи програмування. (Наприклад: ТР70);
2. Виконати командний файл turbo.exe.
На екрані з’явиться головне меню системи.
У верхньому рядку подані всі команди головного меню, а в нижньому —
рядок статусу, в якому перелічені імена функціональних клавіш, призначених
для виконання деяких операцій в конкретній ситуації.
Щоб перейти в головне меню, потрібно натиснути клавішу F10. Щоб
вийти з головного меню і повернутись в редактор тексту — натиснути
клавішу Esc.
Виконати команду означає: з допомогою клавіш управління курсором ви­
ставити курсор на потрібну команду і натиснути клавішу Enter. (Виконати
команду можна ще іншими способами: з допомогою маніпулятора “миша”
або натисканням комбінацій клавіш Alt + та буква, яка виділена в назві ко­
манди).
Кожна команда головного меню має один або декілька (вкладених одне
в одне) підменю.

;
і

І
І
1
|
]
24

Мова програмування Паск

Типовий порядок створення нового файла:
— Ввійти в головне меню.
— Виконати команду File.
— Вибрати і виконати команду New. На екрані з’явиться порожнє вікно р
дактора з умовною назвою Noname.pas.
— Рядок з г рядком набирати текст програми. В кінці кожного рядка нати
кують KJiSuikny Enter.
— Виконати програму. Натиснути комбінацію клавіш CTRL+F9. Можи
використати ще 2-ий спосіб. Ввійти в головне меню і виконати команду Run
— Виправити при необхідності помилки.
— Після виправлення помилок знову виконати програму.
— Переглянути отримані результати, натиснувши комбінацію клавіш ALT + F5.
— Записати текст програми в файл на диск. Ввійти в головне меню. Вико­
нати команду File. Виконати команду Save. Ввести ім’я файлу (наприклад
CLAgS) і натиснути Enter. Програма буде записана на диску в файлі —
Class.pas Щоб пришвидшити процес запису програми в файл на диск можна
натиснути клавішу F2 і ввести ім’я файла. Натиснути Enter.
П орядок редагування існуючого раз-файла:
— Ввійти в головне меню.
Вибрати і виконати команду File.
— Вибрати і виконати команду Open. Можна ще натиснути клавішу F3.
— Натиснути клавішу ТАВ, вибрати з таблиці ім’я потрібного файла і натис­
нути Enter. Можна ще в рядку Name набрати ім’я необхідного файла і натис­
нути Enter.
— Внести необхідні доповнення до програми, виконати її і виправити
помилки.
— Записати програму в файл на диск, використавши команду Save. Якщо
необхідно записати програму в файл на диск під новим іменем, то замість
команди Save потрібно вибрати команду Save as.
Створення виконуваного exe-файла.
— Ввійти в головне меню, вибрати і виконати команду Compile.
— Вибрати і виконати команду Destination-Memory, яка після натискання на
клавішу Enter зміниться на Destination-Disk.
— Натиснути комбінацію клавіш ALT + F9.
Програма. Мова програмування

25

Текстовий редактор версії Turbo Pascal 7.0 дозволяє обробляти файли
довжиною до 1Мб.
Редактор дозволяє виконувати різні операції з декількома файлами. Кожен
з них розміщується у своєму вікні редактора. В верхній частині вікна запи­
сано ім’я файла, справа від нього — номер вікна. При завантаженні в редак­
тор ( при відкритті ) наступного файла він потрапляє у нове вікно. Щоб
перейти з вікна у вікно, необхідно натиснути комбінацію клавіш — Alt+N, де
N — номер вікна. Можна ще для цього натиснути клавішу F6.
Щоб вийти з середовища Turbo Pascal, необхідно натиснути комбінацію
клавіш ALT+X.

3.3 Практична робота №1
ТЕМА: Робота в середовищі програмування. Запуск програм на виконання.
МЕТА: Ознайомитись з середовищем програмування Паскаль. Навчитись
зчитувати, редагувати, записувати та виконувати програми.
ЗАВДАННЯ ДЛЯ ПРАКТИЧНОЇ РОБОТИ:
1. Вивчити теоретичний матеріал.
2. Ввійти в середовище програмування.
3. Познайомитись з середовищем програмування.
4. Познайомитись з редактором тексту програмного середовища.
5. Зчитати з диска програму, яка записана в файлі class.pas.
6. Виконати дану програму.
7. Переглянути отримані результати.
8. Записати дану програму в файл на диск під іншим іменем.
9. Створити виконуваний exe-файл.
10. Вийти з середовища програмування.
11. Виконати в системі DOS записаний exe-файл.
12. Оформити звіт з практичної роботи.
У звіті з практичної роботи описати призначення і порядок виконання всіх
вказівок, які використовувалися в роботі.

3.4 Запитання, завдання, тести
Запитання для самоконтролю
1. Для чого призначена мова програмування Паскаль?
2. Що таке транслятор?
3. Що таке інтерпретатор?
26

Мова програмування Ласкал

4. З чого складається система програмування?
5. Як ввійти в середовище програмування Turbo Pascal?
6. Як ввійти і вийти з головного меню середовища програмування Паскаль
7. Що означає термін “виконати команду”?
|
8. Який порядок створення програми і запису її в файл?
9. Як відредагувати програму, яка записана в файл на диск?
10. Як вийти з середовища програмування?
І
Завдання для самостійного виконання
1) Ввійти в середовище програмування Turbo Pascal.
2) В текстовому редакторі середовища програмування Turbo Pascal ввести
програму PROBA.
1
Program PROBA;
1
ConstA=5;
М§
j
varS:integer;
j
begin
I
S:=A+B;
writeln(‘S =
= ’,S);
end;
3) Виконати дану програму.
4) Переглянути результати виконання даної програми.
5) Записати програму в файл на диск під іменем Fproba.
6) Вийти з середовища програмування Turbo Pascal.
7) Переконатись у наявності на диску файла Fproba.pas.
Тести
1. Вибрати правильну відповідь.
З допомогою команди SAVE можна_____________ _______________
а) Прочитати програму з файла на диску.
б) Записати програму в файл на диск.
в) Відредагувати проіраму.
г) Відкрити вікно для створення нового файла.
2* Встановити відповідність між назвами команд меню системи програму­
вання Pascal та результатами їх дії.
ї) Open — Л
----------а) Записати програму в файл на диск
2) Save
- . .
б) Виконати програму
Програма. Мова програмування
3) Save as
4) Run

27

в) Записати програму в файл на диск
під новим іменем
г) Відкрити вікно для створення
нового файла

3. Вказати порядок зчитування і редагування програми з файла на диску.
а) Внести необхідні доповнення до програми, виконати її і виправити
помилки.
б) Записати програму в файл на диск, використавши команду SAVE.
в) Вибрати і активізувати команду FILE.
г) Вибрати і активізувати команду OPEN.
ґ) Ввійти в головне меню.
д) Натиснути клавішу ТАВ, вибрати з таблиці ім’я потрібного файлу і
натиснути ENTER.
Відповідь___________ £
______________________
4. Вибрати правильну відповідь.
_
1) Щоб виконати програму, потрібно натиснути комбінацію клавіш_
2) Щоб переглянути результати виконання програми, потрібно натиснути
комбінацію клавіш________ __________________________________
3) Щоб вийти з середовища програмування Turbo Pascal, потрібно натис­
нути комбінацію клавіш_________________________________________
а) Alt+X
в) АЙ+FS
б) Ctrl+F9
г) Alt+F9

3.5 Алфавіт мови програмування. Величини та їх опис
мовою програмування. Змінні та константи
Алфавіт
Алфавіт мови програмування Turbo Pascal включає в себе:
1. 26 великих і малих букв латинського алфавіту, знак підкреслення.
2. Десяткові цифри 0, 1,
9
3. Спеціальні символи:
+ — плюс
----- мінус
* — зірочка
/ — дробова риска
= — дорівнює

@ — комерційне а
*— крапка
, — кома
: — двокрапка
; — крапка з комою
Мова програмування Паска

28
> — більше
< — менше
[] — квадратні дужки
О — круглі дужки
{} — фігурні дужки

4 — апостроф
# — номер
$ — знак грошової одиниці
Л — тильда
— проміжок (не має позначення)

Проміжок — незаповнена позиція в тексті. Можна сказати, що це невидні
мий, але такий, що сприймається ЕОМ символ, який займає в тексті о;
позицію. Позначається він для сприймання його користувачем так 4. Комбінації спеціальних символів утворюють складені символи.
:=— присвоєння
(..) — альтернатива { }
< > — не дорівнює
<= — менше або рівне
.. — діапазон значень
>= — більше або рівне
(..) — альтернатива [ ]
5. Службові (Зарезервовані) слова
absolute
end
inline
procedure
program
and
external
interface
array
record
interrupt
file
begin
repeat .
for
label
case
forward
mod
set
const
function
shl
nil
div
goto
not
shr
do
if
of
string
downto
implementation
0
then
else
in
packed
to
object
virtual
unit
type
until
uses
while
var
with
destructor
xor
constructor
Службові слова мають раз і назавжди визначену форму запису і змісті
Константи і змінні
Константами називають величини, значений яких встановлені в описовій
частині програми і в процесі виконання програми не змінюються.
Для визначення констант служить службове слово CONST.
Формат: Const <ідентифікатор> = <значення константи>;
Програма. Мова програмування

29

Н іЩРШЕЛад,.

CONST
Мах= 1000;
М ЬА
Зарезервовані константи:
Ідентифікатор
TRUE
FALSE
MAXINT

Тип
boolean
boolean
integer

Значення
true
False
32767

Опис
“Істина”
“Хибно”
Макс. ціле

Константам в програмі не можна присвоювати нові значення після того,
як вони були описані. ЕОМ сама визначає тип констант по їх значенню.
Змінними називають величини, значення яких змінюється в процесі вико­
нання програми.
Для опису змінних використовується службове слово VAR.
Формат:
VAR
<список ідентифікаторів>: <тип>;
Наприклад.
VAR
Suml, Sum2:REAL;
Змінна повинна бути описана в програмі тільки один раз і належати тільки
до одного типу.

3.6 Запитання, завдання, тести
Запитання для самоконтролю:
1. Які величини називаються константами?
2. Як описуються в програмі константи? ;
3. Які величини називаються змінними?
4. Як описуються в програмі змінні величини?
Завдання для самостійного виконання
1* Опишіть у вигляді константи:
а) число учнів у вашому класі;
б) число уроків у вівторок.
зо

Мова програмування Пас

2. Опишіть змінні а) хі, х2 — корені квадратного рівняння;
б) N. О — кількість учнів у класі і оцінки, які вони сьогодні отримали,
б)

Тести
1, Які з перерахованих нижче груп знаків використовуються в алфавіті моя
програмування:
.
1 |
а) римські цифри;
і
б) латинські великі букви;
в) українські букви;
' І
г) арабські цифри;
ґ) російські букви;
д) малі латинські букви;
е) проміжок;
є) знак підкреслення
Використовуються_____________________________________ _______
Не використовуються__________________________________________
2. Вкажіть, які приклади опису змінних записані правильно, а які ні І чому'
а) Уаг А,В,СД):геаі;
в) Уаг Х,У,2:шіе£ег;
б) Уаг А,В,С;Б:геа1;
г) Уаг Х,У,А,В:геа1;
С,Х,0:ітедег;
Х Л ^й ^ег;
Правильні:
_
Неправильні: __

3.7 Ідентифікатори величин. Типи величин
Ідентифікатори
Для позначення констант, змінних, типів, процедур, функцій, файлів
і програм використовують імена (ідентифікатори).
Правила запису ідентифікаторів:
1. Ідентифікатори починаються тільки з букви або знаку підкреслення
(виняток складають мітки, які можуть починатися з букви і цифри).
2. Ідентифікатор може складатися з букв, цифр і знаку підкреслення.
Програма. Мова програмування

31

3. Між двома ідентифікаторами повинен бути хоча б один проміжок.
4. Максимальна довжина ідентифікатора 127 символів, але ЕОМ розрізняє
тільки перші 63 символи.
5. Ідентифікатор не повинен співпадати за написанням ні з одним зі служ­
бових слів.
6. Великі і малі букви в ідентифікаторах не розрізняються.
Означення типу даних
Тип — це множина значень однакової природи разом із набором опе­
рацій, які над ними виконуються.
Кожна змінна повинна бути описана (один і тільки один раз) на початку
програми після слова VAR. При цьому вказується тип змінної. Програміст
сам вибирає потрібний йому тип залежно від можливих значень змінної
(з урахуванням діапазону даних та розміру пам’яті, яка виділяється трансля­
тором під окрему змінну).
Скалярні /прост і/ типи даних
Цілі або цілочисельні типи
Тип
byte
shortint
integer
word
longint

Діапазон
Q .. 255
-128 .. 127
-32768 .. 32767
■ 0 .... 65535 ( О М | i f a ;& Лч y
Ы
-2,147,483,648 .. 2147483647

WO
Jt

Наприклад.
VAR
xl,x2:integer;
yl :word;
Необхідно відзначити, що, при виході значень даних цілого типу за вка­
заний діапазон, помилки виконання програми не виникає, але результат при
цьому буде неправильним.
Наприклад, при виконанні додавання чисел 32767+1 отримаємо результат
-32768.
Мова програмування Паска

32
Дійсні типи
Тип

і
Діапазон

real
singl
double
extended
comp
longint
Наприклад.
Var
SUMMA: teal;
BETA: double;

2.9*10E-39 .. 1.7*10E38
1.5*10E-45 .. 3.4*10E38
5.0*10E-324 1.7*10E308
1.9*10E-4951 .. 1.U10E4932
-2E+63+1 ..'2E+63-1
/r-2147483648..2147483647

1
1
1
1
1
1
|

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

•

char

Діапазон

і

кодова таблиця ПЕОМ

|

Цщткдад*
Var
LETrchar;
Булевий (логічний) тип
Тип

Діапазон

boolean

True, False

Наприклад.
Var
БД : boolean;

Прості нестандартні типи даних (Типи користувача)
Перелічувальний тип
Перелічувальний тип задається безпосереднім перелічуванням імен всіх]
значень, які можуть приймати змінні даного типу. Окремі значення запису-]
ються через кому, а весь список береться в круглі дужки.
Формат:
Туре
<ім’я типу>=<значення1, значення2,значення^;
програма. Мова програмування

33

Var
<ідентифікатор,..>:<ім’я типу>;
Наприклад.

Туре
SEASON = (Winter, Spring, Summer, Autumn);
Var
PORAJROKY: SEASON;
Означення типу і опис змінних можгіа замінити тільки одним описом
змінних. Наведений вище приклад опису змінних можна записати так:
Var:
PORAJROKY: (Winter, Spring, Summer, Autumn);
Імена всередині круглих дужок є константами даного перелічувального
типу і відповідають всім вимогам для звичайних констант.
Вирази і константи допустимого типу використовуються у вказівках роз­
галуження, вибору та повторення.
Операції відношення і логічні операції допустимі для значень
перелічування одного і того ж типу. Впорядкування здійснюється за номером
елемента в описі типу.
Нумерація значень елементів перелічувального типу розпочинається з 0.
Для роботи з даними перелічувального типу можна застосовувати
стандартні функції: Pred, Succ, Ord. (Див. п.4.3 літерний тип).
Обмежені (інтервальні) типи
Інтервальні типи дозволяють задавати дві константи, які визначають границі
діапазону значень для даної змінної.
Обидві константи повинні належати одному з стандартних типів (крім
типу Real). Значення першої константи повинно бути обов’язково менше за
значення наступної.
Формат:
Туре
сім’я тшіу>=<константа1..константа2>;
Var
<ідентифікагор,,..>:<ім’я типу>;
34

Мова програмування Пас.

Нярйв ш д .
Туре
CLASS=l..ll;
Var
MCLASS,STCLASS: CLASS;
Можна визначити інтервальний тип і більш універсальним способом,
давши границі діапазону не значеннями констант, а їх іменами.
Наприклад.
Const
М Ф=1;М
№
АХ=11;
Туре
CLASS=MIN..MAX;
Var
MCLASS.STCLASS: CLASS;
Структуровані (складеш) типи даних.
Рядковий тип
Рядок — це послідовність символів кодової таблиці ЕОМ.
Для опису даного рядкового типу використовується ідентифікатор Str
після якого в квадратних дужках записується значення максимально долу
мої довжини рядка даного типу. Якщо це значення не вказується, то довжи
рядка автоматично дорівнює 255 байт.
Наприклад.
Var
ST2,ST3:string[20];
Інші типи даних

-

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

3.8. Запитання, завдання, тести
Запитання для самоконтролю:
1. Які основні групи символів складають алфавіт мови Паскаль?
2. Які правила запису ідентифікаторів?
3. Які скалярні типи даних використовуються в Паскалі?
4. Як описуються дані цілого типу?
5. Як описуються даві дійсного типу?
J

Ірограма. Мова програмування

та

аш

6. Як описуються дані літерного типу?
7. Як описуються дані булевого типу?
8. Які існують прості нестандартні типи даних?
9. Як описується перелічувальний тип?
10. Як описується інтервальний тип?
11. Як описуються дані рядкового типу?
ІЗавдання для самостійного виконання
І. Складіть усі можливі ідентифікатори з симовлів X, V, 2.

2. Вкажіть тип записаних слів (я - ідентифікатори, б — службові слова,
—
в -»- набір символів).
а) CosX ________
е) Cos(x)____
б) M od________ _______ _
є) 10ÖG _____
в) Pensil_______
ж) Паскаль. .....
.
Г) А*В ______ __________
з) Pascal_____ і
ґ) АВ
a) Turbo Pascal
Д) Apple
і) A1ÖÖ______
3. Для слів з лівого стовпчика виберіть правильну назву І правого стовйчика:
1) Abs(x)
■_____ _ _ _
_
а) ідентифікатор;
2) Absx____ _... п
,.,..
б) службові слова;
3) lGrivnij_
_
'■ _____ _
в) набір символів.
4) К огопа— -------- і — — —

5) P*R
.
.....
6) ІВ М _ _______ - 4. Вкажіть тин констант і змінних:
а) 1996 ................ . . .......... .. ’ г)Ш Ш
Ц Я ________
1
Г) ‘М
ОУВ’
в) True

і

.., ■ ■

... ,
-

....... ...

... .

_д) F alse___„ _____ _____________ _)
—

5. Опишпі змінні:
а) K,LC,D — я* величини Цілого тМпу;
б) ВС,А — дійсної« типу;
в) Z,Y — літерного тйпу;
г) V,P — булевого типу
а)
___ !
-------- і------------ ®) ------------- * --б)
— - Ш —----- ,----------------- — —~
Мова програмування Пасщ

36
Тести

1. Які ідентифікатори, складені із символів А, В, С, є правильними, а
неправильними і чому?
а) аЬ5
г) а5Ь
б) 5аЬ
ґ) Ь5а
в) Ьа5
д) 5Ьа
Правильні:__________________

Неправильні:_______________

2. Які з наведених нижче ідентифікаторів є правильними, а які неправильк
ми і чому?
а) Alfa
д) Arctan(x)
б) Ручка
е) 9*С
в) Windows
с) 9С
г) Table
ж) С9
ґ) Red pensil
з) Class
Правильні:__________________ Неправильні:____________ ; ____
3. З наведених нижче значень виберіть допустимі значення для величин
1) Цілого типу______________
4) Булевого типу_______.____
2) Дійсного типу
.
5) Рядкового типу ______
3) Літерного типу_____
■
а) -8.5; б) 10; в) Тгие; г) 5.4; г) чотири; д) R; е) -4
4. Визначіть тип змінних для величин
а) Ціна книжки__________________________________
б) Кількість учнів у класі
г) Ім’я учня___________

-

5. Для величини оцінка виберіть допустимі значення
а) 2
б) 4.5

в) чотири
г) 4

3.9 Вказівки введення й виведення. Вказівка присвоювання
Вказівка присвоювання
Вказівка присвоювання має вигляд
сім’я змінної>:=свираз>
програма. Мова програмування

37

A?43+Q
ALFA.*=6*I>,
ZI—
12;
Змінна і вираз повинні бути одного типу. Виняток становить випадок
ійсної змінної, коли вираз може бути і цілого типу.
Наприклад,
Var
A:real;
B,C:integer;
begin
A?=ö+Q
end.

Виконується вказівка присвоювання таким чином: спочатку обчислюється
значення виразу в правій частині вказівки присвоювання і це значення при­
своюється змінній, яка записана в лівій частині даної вказівки.
Вказівка введення даних
Загальний вигляд вказівок введення даних з клавіатури:
Read(cnncoK);
Readln(cimcoK);

Наприклад.
Read(X,Y,Z);
Readln(X,Y,Z);
В списку перелічуються через кому імена змінних, значення яких вво­
диться з клавіатури.
Після, введення значення однієї змінної натискується клавіша Enter. Потім
вводиться значення другої змінної і знову натискується клавіша Enter. І так
повторюється виконання дій до тих пір, поки не буде введено значення всіх
змінних.
Можна ще записати всі значення змінних в одному рядку, відділивши їх
одне від одного проміжками (але не комами) і потім натиснути клавішу Enter.
Між вказівками Read і Readln є деяка різниця.
38

Мова програмування Паті

Ф м т т т * т т т . т * м т т т п я т ф т * т т я т * т ш т т ш » . ш » т т я літи ■ т х т д и т т я т і
т

і
Після виконання вказівки Read курсор залишиться в цьому ж рядку. Під
виконання вказівки Readln буде зроблено перехід у наступний рядок.

Вказівка виведення даних
Виведення даних виконується вказівками W rite і Writela.
Загальний вигляд цих вказівок:
Write(cnHCOK);
Writeln(cnHcoK);

■
і
І
і
1
■
І

щ

1
1

Н щ ш ш д,
Write(X,Y,Z);
Writeln(X);
Writeln(Y);
Writeln(Z);
Y сциску перелічуються через кому імена змінних, вирази тіа текстов
константи. Якщо у списку є вираз, то він попередньо обчислюється, а вжк
потім результат виводиться на екран.

Наприклад,
write(X,X+Y,Z);
Між вказівками Write і Writeln є деяка різниця. її можна продемонструва
ти прикладами.
При виконанні вказівки Write значення змінних X,Y,Z будуть виводитися
в одному рядку почергово, так як вони записані.
1
При виконанні вказівки Writeln значення кожної змінної X,Y,Z будуть:
виводитися в окремих рядках. Тобто, після виведення значення змінно! Xj
буде зроблено перехід у наступний рядок і т. п.
*
і
23 12 8 {Виведення даних з допомогою вказівки Write}
23 ~
12
{Виведення даних з допомогою вказівки Writeln}

8 J

Для зручності виведення даних користуються своєрідними підказками
користувача (текстовими константами).
і
Writefo(‘X=’)X);
рограма. Мова програмування

39

Writeln(‘Y=Y);
Writeln(‘;&
=’,Z);
На екран буде виведено результат:

ХЗ
Y
=42

Ш

Як бачимо з прикладу, текстові константи (‘X - , ‘Y=’, ‘Z=’) або підказки корисіувача повинні з двох боків братися в лапки і відділятися від змінної комою.
Для зручності введення даних користуються поєднанням вказівок Read
і Write.
Наприклад.
Write(‘BBefliTb значення X: ‘);
Readln(X);
WriteOBeefliTb значення Y: *J|
Readln(Y);
Write(‘Bвeдiть значення Z: *);
Readln(Z);
Загальний вигляд послідовного виконання даних вказівок:
Введіть значення X: 23
Введіть значення Y: 12
Введіть значення Z: 8
Друкування результатів за допомогою принтера в цілому співпадає з ви­
веденням даних на екран, тільки у вказівках Write або Writeln треба писати
ім’я файла1 Lst і в розділі Uses записати ім’я модуля2 Printer.
Наприклад.
Uses Crt, Printer;
begin
ч вд д о к зд
end.
‘Файл — це впорядкований набір однотипних записів, які зберігаються на
носіях інформації під одним іменем.
2
Модуль — Див. п. SJ
Мова програмування І

40

Існує ще один спосіб керуванням виведення інформації. Можна вказш
ширину поля для кожного елемента виведення, форму запису числових з Я
чень. Здійснюється це з допомогою двох цілочисельних величин, які зап и в
ються у вказівці Write після відповідного елементу виведення і відділяютш
від нього і між собою двокрапкою —
.
щ
Наприклад.

1

Write(Xl :3:2,Х2:4:1)

1

Перша величина вказує мінімальну ширину поля, яка відводиться д і
даного елемента виведення (для XI — відводиться 3 позиції, для Х2 4
4 позиції). Якщо елементу виведення необхідно меншу кількість позицій, ц
перші незайняті позиції заповнюються проміжками. Якщо елемент виведем
ня не поміщається у відведене для нього поле, то для нього буде добавлені
стільки позицій, скільки необхідно. Перед дійсними числами записується щсй
найменше один проміжок. Друга величина, яка записується після ширині
поля, використовується для запису дійсних чисел (real) і вказує кількісті
десяткових знаків, які будуть записуватися після десяткової крапки (XI н
записується з точністю 2 цифр після коми, Х2 — 1 цифри). При цьому числ<|
виводиться у формі з фіксованою крапкою. Якщо ж точність не вказана, т
і
число виводиться у формі з плаваючою крапкою (Див. п. 4.3 Дійсний тип),
Наприклад.
Var Yl,Y2:real;
begin
Yb=57;
Y2:=56.3458;
Writeln(‘Y l=Y l:2:l);
Writeln(JY2=,,Y2:3:2);
end.
Буде надруковано такий результат:
Yl=€7.0
Y2=5635

Складена вказівка
Складена вказівка — це послідовність довільних вказівок програми,
відокремлених одна від одної крапкою з комою, взятих в дужки — службові
(зарезервовані) слова begin ... end.
Програма. Мова програмування

41

Формат;
begin
<вказівка1>;
<вказівка2>;
<вказівкаИ>
end;
Після службового слова end ставиться крапка з комою. У деяких випад­
ках, коли складена вказівка використовується у вказівках розгалуження, крап­
ка з комою може і не записуватися.
Нащ шишд*
begin
Аз=$
S:=A+B;
writeln(‘S=S)
end;
Не існує ніяких обмежень на характер вказівок, які входять у складену
вказівку. Серед них можуть бути і інші складені вказівки.
Наприклад.
begin
<вказівка1>;
<вказівка2>;
begin
<вказівкаЗ>;
<вказівка4>;
end;
<вказівка5>
end;
Складена вказівка сприймається як одне ціле і може записуватися
у довільному місці програми, де синтаксис мови дозволяє наявність вказівки.
Мова програмування Пасм

42

3.10 Запитання, завдання, тести
Запитання для самоконтролю:
1. Як записується і виконується вказівка введення даних мовою Пасі
2. Яка різниця між вказівками Read і Readln?
3. Як записується і виконується вказівка виведення даних мовою Пасі
4. Яка різниця між вказівками Write і Writeln?
5.Як записується і виконується вказівка присвоювання мовою Паскалі
Завдання для самостійного виконання
1. Яке значення буде мати змінна X, після почергового виконання вказівоіі
Х.-10; Х-Х+3;
Х=,_
2. Запишіть вказівки введення даних дня змінних:
а) А ___________
б) Міп^___________________________________________ .
в) В І____________________________________ ___________ _
г) а, Ь, с, d_____________ j___________________ __________ _
3. Запишіть вказівки виведення даних для змінних:
а) Ш __________ ■
___________________________ _____
б) а, Ь, с, d
в) х+у, z __
Тести
1. Вкажіть, які із записаних вказівок введення даних є правильними, а які
і чому?
Г) read[X,YJ;
а) read(X+l,Y);
б) read(X);
д) read X;
е) read(X,X*Y);
в) read(X),(Y);
г) read(X,Y);
є) read(-X,Y);
Неправильні: _
Правильні:
2. Вкажіть, які із записаних вказівок виведення даних є правильними, а
ні і чому?
а) write(X;Y);
б) write(A В);
в) write AJB;

Г) write[A,B];
д) write5;
е) write(A,B*C);
іл Шь
ііш &>

і

Програма. Мова програмування
г) write(A,B);
Правильні: _

43
є) write(-A,B);
Неправильні: _
_

. Вкажіть, які із записаних вказівок присвоювання є правильними, а які ні
чому?
а)А*=С;
г)-В=А-С;
б) А:В+С;
ґ)2*(>А+3*В
в)С:=С+2;
Неправильні:
_______ ___
Правильні:________________
4. Початкові значення змінних: Х=2, У=~1. Вкажіть, які пари значень X і У
з правого стовпчика відповідають значенням для виразів X і У з лівого.
а)х~1;у=ф
1)Х:=Х+2*У;У:=У-У;
2)_У:=-У; Х:=Х+У; У^У+Х;
___________
в)*=0,у^
г)*=3;у=1;
3) Х:=Х+У; У=Х+У;
і)*=3;5»4;

ЗЛІ Стандартні типи змінних. Опис типів змінних
Цілі або цілочисеяьні типи
Цілі числа складаються з декількох цифр і, можливо, знаку Якщо знак не
вказаний і число не дорівнює нулю, то воно додатне.
Дійсні типи
Дійсні числа — це десяткові дроби і, в окремому випадку, цілі числа,
записані у вигляді десяткового дробу.
Наприклад.
Числа 5; 0 — цілі числа, 5.0 ; 0.0— дійсні числа
Дійсні числа можуть бути записані двома способами:
— з фіксованою крапкою ( 5.45; 9.23 );
— з плаваючою крапкою ( ЗЕ+5; -8.1Е-4);
Запис числа з фіксованою крапкою.
Ціла і дробова частини дійсного числа розділяються десятковою
крайкою, а не комою!
44
Наприклад,
1
0,39; -37.4
і
Число не може починатися з крапки і не може нею закінчуватися. Запн
0. і .89 недопустимі.
1
Запис числа з плаваючою крапкою

1

У тому випадку, коли необхідно записати дійсне число зі степенем 1
(наприклад 2.315*10“3 використовується буква Е, справа від якої знаходив
),
ся показник степеня (2.315Е-03). Букву Е, яка входить в склад числа, потрібн
читати, як “помножити на 10 в степені...”
І
Наприклад.
1-ий рядок — звичайна математична форма запису числа
2-ий рядок — запис числа мовою програмування Паскаль
І; -5; 0,25; 1,7*10^; +49,22; -гДШ ’ЧО5
1; -5; 0.25; 1.7Е-04; +49.22; -2.035Е+05
Булевий тип

1
1
1
І
1
І

гтт/у

TRUE, якщо X — непарне число
і
L FALSE, якщо X — парне число
І
Результат даної функції належить до булевого типу.
1
Результат виконання операцій порівнянну (=, <, >, >=, <=, <>) над даним!
одного типу належить до булевого типу

ЗЛ2 Опис програм за правилами мови програмування
Програма реалізує алгоритм розв’язання задачі. Вона об’єднує послі1
довність виконання конкретних вказівок над конкретними даними дл4
реалізації конкретно поставленої мети.
Програма складається із заголовка і блоку.
Заголовок програми складається з службового слова Program та імені
програми, після якого ставиться —
Program SUMMA;

І

Ім’я проірами може бути довільним (але бажано щоб співпадало зі змістом
програми) і записується згідно з правилами запису ідентифікаторів.
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi
0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi

More Related Content

Similar to 0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi

11 клас 5 урок
11 клас 5 урок11 клас 5 урок
11 клас 5 урокNuta1910
 
Основні етапи розв'язування задач із використанням комп'ютера
Основні етапи розв'язування задач із використанням комп'ютераОсновні етапи розв'язування задач із використанням комп'ютера
Основні етапи розв'язування задач із використанням комп'ютераNuta1910
 
Urok13 programni zasobi-navchalnogo_priznachennja
Urok13 programni zasobi-navchalnogo_priznachennjaUrok13 programni zasobi-navchalnogo_priznachennja
Urok13 programni zasobi-navchalnogo_priznachennjadnzcpto1
 
Lesson #11. computer modeling of objects and processes. computer experiment
Lesson #11. computer modeling of objects and processes. computer experimentLesson #11. computer modeling of objects and processes. computer experiment
Lesson #11. computer modeling of objects and processes. computer experimentNikolay Shaygorodskiy
 
конспект урока з математики для 5а класа
конспект урока з математики для 5а класаконспект урока з математики для 5а класа
конспект урока з математики для 5а класаVasileUrsaki
 
Програмне середовище «Системи лінійних рівнянь»
Програмне середовище «Системи лінійних рівнянь» Програмне середовище «Системи лінійних рівнянь»
Програмне середовище «Системи лінійних рівнянь» HelenDz
 
скретч 3 клас
скретч 3 класскретч 3 клас
скретч 3 класTamara Emec
 
методична розробка
методична розробкаметодична розробка
методична розробкаCshkilniy
 
Урок №13. Практична робота №4. «Виконання обчислень за даними електронної таб...
Урок №13. Практична робота №4. «Виконання обчислень за даними електронної таб...Урок №13. Практична робота №4. «Виконання обчислень за даними електронної таб...
Урок №13. Практична робота №4. «Виконання обчислень за даними електронної таб...Nikolay Shaygorodskiy
 
7 in b_2020
7 in b_20207 in b_2020
7 in b_20204book
 
Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020kreidaros1
 
огляд фахових видань
огляд фахових виданьогляд фахових видань
огляд фахових виданьkristina_chepil
 
опорні схеми
опорні схемиопорні схеми
опорні схемиIrina Tabanets
 
Inf 7 kl_ruvkind_2015-s
Inf 7 kl_ruvkind_2015-sInf 7 kl_ruvkind_2015-s
Inf 7 kl_ruvkind_2015-sOlga Sokolik
 
9 информ пилипчук_шестопалов_пособ_2011_укр
9 информ пилипчук_шестопалов_пособ_2011_укр9 информ пилипчук_шестопалов_пособ_2011_укр
9 информ пилипчук_шестопалов_пособ_2011_укрAira_Roo
 

Similar to 0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi (20)

11 клас 5 урок
11 клас 5 урок11 клас 5 урок
11 клас 5 урок
 
Основні етапи розв'язування задач із використанням комп'ютера
Основні етапи розв'язування задач із використанням комп'ютераОсновні етапи розв'язування задач із використанням комп'ютера
Основні етапи розв'язування задач із використанням комп'ютера
 
етапи розвязування задач
етапи розвязування задачетапи розвязування задач
етапи розвязування задач
 
Конкурсна робота
Конкурсна роботаКонкурсна робота
Конкурсна робота
 
Urok13 programni zasobi-navchalnogo_priznachennja
Urok13 programni zasobi-navchalnogo_priznachennjaUrok13 programni zasobi-navchalnogo_priznachennja
Urok13 programni zasobi-navchalnogo_priznachennja
 
Lesson #11. computer modeling of objects and processes. computer experiment
Lesson #11. computer modeling of objects and processes. computer experimentLesson #11. computer modeling of objects and processes. computer experiment
Lesson #11. computer modeling of objects and processes. computer experiment
 
конспект урока з математики для 5а класа
конспект урока з математики для 5а класаконспект урока з математики для 5а класа
конспект урока з математики для 5а класа
 
Програмне середовище «Системи лінійних рівнянь»
Програмне середовище «Системи лінійних рівнянь» Програмне середовище «Системи лінійних рівнянь»
Програмне середовище «Системи лінійних рівнянь»
 
скретч 3 клас
скретч 3 класскретч 3 клас
скретч 3 клас
 
Підручник Караванова ТП
Підручник Караванова ТППідручник Караванова ТП
Підручник Караванова ТП
 
методична розробка
методична розробкаметодична розробка
методична розробка
 
Урок №13. Практична робота №4. «Виконання обчислень за даними електронної таб...
Урок №13. Практична робота №4. «Виконання обчислень за даними електронної таб...Урок №13. Практична робота №4. «Виконання обчислень за даними електронної таб...
Урок №13. Практична робота №4. «Виконання обчислень за даними електронної таб...
 
1
11
1
 
7 in b_2020
7 in b_20207 in b_2020
7 in b_2020
 
Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020Informatyka 7-klas-bondarenko-2020
Informatyka 7-klas-bondarenko-2020
 
огляд фахових видань
огляд фахових виданьогляд фахових видань
огляд фахових видань
 
опорні схеми
опорні схемиопорні схеми
опорні схеми
 
Inf 7 kl_ruvkind_2015-s
Inf 7 kl_ruvkind_2015-sInf 7 kl_ruvkind_2015-s
Inf 7 kl_ruvkind_2015-s
 
9 информ пилипчук_шестопалов_пособ_2011_укр
9 информ пилипчук_шестопалов_пособ_2011_укр9 информ пилипчук_шестопалов_пособ_2011_укр
9 информ пилипчук_шестопалов_пособ_2011_укр
 
7 9 класи
7 9 класи7 9 класи
7 9 класи
 

More from annaeres

таблиці
таблицітаблиці
таблиціannaeres
 
Proekt na temu_fotoshop_skripnik_v_10_klas
Proekt na temu_fotoshop_skripnik_v_10_klasProekt na temu_fotoshop_skripnik_v_10_klas
Proekt na temu_fotoshop_skripnik_v_10_klasannaeres
 
основи растрової графіки
основи растрової графікиоснови растрової графіки
основи растрової графікиannaeres
 
Pr pobota електроннапошта
Pr pobota електроннапоштаPr pobota електроннапошта
Pr pobota електроннапоштаannaeres
 
ств оформлення блогу
ств оформлення блогуств оформлення блогу
ств оформлення блогуannaeres
 
23a фільтрація та сортування
23a фільтрація та сортування23a фільтрація та сортування
23a фільтрація та сортуванняannaeres
 
17a автоматичне обчислення значень у клітинках
17a автоматичне обчислення значень у клітинках17a автоматичне обчислення значень у клітинках
17a автоматичне обчислення значень у клітинкахannaeres
 
26a електронне листування
26a електронне листування26a електронне листування
26a електронне листуванняannaeres
 
25a електронна пошта
25a електронна пошта25a електронна пошта
25a електронна поштаannaeres
 
медіакультура педагога та учня
медіакультура педагога та учнямедіакультура педагога та учня
медіакультура педагога та учняannaeres
 
медіакультура педагога та учня
медіакультура педагога та учнямедіакультура педагога та учня
медіакультура педагога та учняannaeres
 
основні поняття та засоби комп'ютерної графіки
основні поняття та засоби комп'ютерної графікиосновні поняття та засоби комп'ютерної графіки
основні поняття та засоби комп'ютерної графікиannaeres
 
медіакультура педагога та учня
медіакультура педагога та учнямедіакультура педагога та учня
медіакультура педагога та учняannaeres
 
24a обчислення підсумкових характеристик
24a обчислення підсумкових характеристик24a обчислення підсумкових характеристик
24a обчислення підсумкових характеристикannaeres
 
23a фільтрація та сортування
23a фільтрація та сортування23a фільтрація та сортування
23a фільтрація та сортуванняannaeres
 

More from annaeres (20)

таблиці
таблицітаблиці
таблиці
 
Proekt na temu_fotoshop_skripnik_v_10_klas
Proekt na temu_fotoshop_skripnik_v_10_klasProekt na temu_fotoshop_skripnik_v_10_klas
Proekt na temu_fotoshop_skripnik_v_10_klas
 
27
2727
27
 
основи растрової графіки
основи растрової графікиоснови растрової графіки
основи растрової графіки
 
Pr pobota електроннапошта
Pr pobota електроннапоштаPr pobota електроннапошта
Pr pobota електроннапошта
 
ств оформлення блогу
ств оформлення блогуств оформлення блогу
ств оформлення блогу
 
1234
12341234
1234
 
23a фільтрація та сортування
23a фільтрація та сортування23a фільтрація та сортування
23a фільтрація та сортування
 
17a автоматичне обчислення значень у клітинках
17a автоматичне обчислення значень у клітинках17a автоматичне обчислення значень у клітинках
17a автоматичне обчислення значень у клітинках
 
26a електронне листування
26a електронне листування26a електронне листування
26a електронне листування
 
25a електронна пошта
25a електронна пошта25a електронна пошта
25a електронна пошта
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
медіакультура педагога та учня
медіакультура педагога та учнямедіакультура педагога та учня
медіакультура педагога та учня
 
медіакультура педагога та учня
медіакультура педагога та учнямедіакультура педагога та учня
медіакультура педагога та учня
 
основні поняття та засоби комп'ютерної графіки
основні поняття та засоби комп'ютерної графікиосновні поняття та засоби комп'ютерної графіки
основні поняття та засоби комп'ютерної графіки
 
медіакультура педагога та учня
медіакультура педагога та учнямедіакультура педагога та учня
медіакультура педагога та учня
 
24a обчислення підсумкових характеристик
24a обчислення підсумкових характеристик24a обчислення підсумкових характеристик
24a обчислення підсумкових характеристик
 
23a фільтрація та сортування
23a фільтрація та сортування23a фільтрація та сортування
23a фільтрація та сортування
 

0900694 8587 d_shost_d_m_informatika_turbo_pascal_1011_klasi

  • 2. jÿ Д.М. Шост ШФОРМАТИКА TURBO PASCAL Зошит-конспект 10-11 класи EXLIBRIS A3 АЛОВОЙ ЭААИНЫ ТЕРНОПІЛЬ НАВЧАЛЬНА КНИГА - БОГДАН 2003
  • 3. ББК 32.97я2 Ш53 Рецензенти: Василенко Я.П. — ст. викладач кафедри інформатики ТДПУ Кривокульськнй Л.Є. — методист лабораторії природничоматематичних дисциплін ОІПО Охороняється законам про авторське право. Жодна частина цього видання не може бути використана чи відтворена в будь-якому вигляді без дозволу автора чи видавництва. Ш 53 Ш ост Д.М . Інф орматика. Turbo Pascal 10-11 класи. — Тернопіль: Навчальна книга - Богдан, 2003. — 160 с. ISBN 966-7224-62-7 Мета даного видання — забезпечити учнів і вчителів цілісним матеріалом з вивчення мови програмування Turbo Pascal 6.0 і 7.0 відповідно до чинної шкільної програми з інформатики. Статті посібника підібрано таким чином, щоб допомогти учням успішно оволодіти навиками практичного програмування і добитися високих результатів у даній галузі знань. Длд учню- W44 -И& ноосвітніх шкіл та вчителів інформатики. і ї Чі Щі Ш ББК 32.97я2 і Ш мт & Л ж » і Ш Ш Аш н,„ГА д о? ■одтмгШ Ш Із ^ № ф щ ост д М ^ 1997 ISBN 966-7224-62-7 © Навчальна книга - Богдан, макет, художнє оформлення, 2003
  • 4. л 8,"!. У№|уі*ЙМ| ІЇЬКіЛЩОи рі :п б б ь “ і ПЕРЕДМОВА На сьогодні р^ ітв я й курс “Інформатика“ не забезпечений цілісним сис­ тематизованим навчальним підручником, тому автор поставив собі за мету написати посібник, який би заповнив цю прогалину. Матеріал видання повністю відповідає чинній Програмі для середніх закладів освіти “Основи інформатики і обчислювальної техніки”. Простота і послідовність викладення тем, використавші значної кількості прикладів, -особливо текстів програм, робить даний посібник дохідливим і доступним. Його можуть з успіхом використати учні шкіл як для самостійного вивчення мсти програмування Паскаль, так і під керівництвом учителя. Вве­ дення до посібника розділів 8-11 дає можливість використовувати Його та­ кож студентам інститутів, технікумів, училищ, усім, хто має бажання вишити Мову програмування Паскаль. Матеріал, зібраний і систематизований у даному посібнику, значно полег­ шує підготовку учителя: до теми кожного уроку подано теоретичний матеріал, підібрано завдання дам самостійної робот учнів, тести для контролю знань. Це еЖономить час на уроці. Посібник може використовуватись учнями як робочий зошит. Вчителю не потрібно також готувати практичні роботи, оскіль­ ки у книзі наведено зразки їх виконання і завдання для учнів у Д варіантах. Автор
  • 5. ОСНОВИ АЛГОРИТМІЗАЦІЇ ТА ПРОГРАМУВАННЯ % ІНФОРМАЦІЙНА (МАТЕМАТИЧНА) МОДЕЛЬ 1.1 Основні етапи розв’язування прикладної задачі з використанням ЕОМ Розв'язування задач у будь-якій діяльності — це завжди одержування певних результатів — результатів обчислень, побудови, роботи тощо. ЕОМ є універсальним пристроєм для розв’язування різноманітних на­ вчальних і виробничих задач. їх універсальність полягає у можливості ви­ конання практично всіх алгоритмів розв’язування задач у будь-якій предметній діяльності. Необхідним для цього стає опис постановок завдань і методів їх розв’язування мовою математики, а потім вираження їх у формі програм. Етапи розв'язування задач на ЕОМ: 1. Математична постановка задачі. 2. Визначення методів розв’язування. 3. Складання сценарію роботи з ЕОМ. 4. Конструювання алгоритму. 5. Переведення алгоритму у програму. 6. Введення і випробування програми. 7. Одержання результатів розв’язування. При постановці задачі необхідно визначити і перелічити всі вихідні дані і дані, які необхідно знайти. Відповісти на запитання: за яких умов можна одержати потрібні результати, а за яких ні? Визначити, які результати будуть вважатися правильними? На другому етапі необзсідно не тільки вибрати спосіб одержання результатів, а й вибрати оптимальний метод розв'язування задач, який би давав найбільш правильну відповідь. Правильність розв’язування задач на ЕОМ перш за все залежите рід правильності внбрайоро щгесщ розв’язування. си& щ ж правила введенцстувачам, реакцію машини
  • 6. ■Рй®®"“ “" ' ............... Інформаційна (математична) модель 5 на вказівки і дані, які вводяться. Сценарії повинні визначати правила роботи користувачів з ЕОМ. За складеним сценарієм і описом методу складаємо алгоритм розв’язуван­ ня задачі. Програмування (написання програм за наявності алгоритмів) — кодуван­ ня алгоритмів вибраною мовою програмування. Тестування — процес підготовки, виконання програми та аналіз результатів з метою виявлення помилок. Введення і випробування створеної програми здійснюємо за заздалегідь підготовленим планом. Програму виконують на ЕОМ з різними значеннями аргументів, які б забезпечували перевірку всіх можливих умов, при яких може виникнути помилка. Оцінюємо правильність одержаних результатів. Після закінчення тестування програми виводимо правильні результати на екран монітора або на принтер. На основі отриманих результатів будують таблиці, графіки, аналізують і пояснюють у термінах вихідних даних задачі. 1.2 Поняття інформаційної (математичної) моделі. Побудова моделі Успішно розв’язувати задачі можна тільки при чіткому і водночас одно­ значному визначенні вимог до кінцевих результатів. Розпливчастість і невизначеність формулювань може привести до різного тлумачення умов і, як наслідок — розбіжності в оцінці правильності результатів. Точні постановки задач — це можливість забезпечити однакове розуміння цих задач різними людьми. Точність визначень і формулювань має бути та­ кою, щоб вони'не допускали двозначного тлумачення, а найголовніше, щоб за ними можна було однозначно міркувати, чи є пропоновані розв’язки пра­ вильними. Така точність формулювань і тверджень характерна для математи­ ки. А оскільки ЕОМ — це математичні пристрої для опрацювання даних, то постановка задач, що розв’язуються обчислювальними машинами, також повинна виражатися у математичній формі. Опис найбільш суттєвих властивостей об’єктів і явищ, які досліджуються в задачі за допомогою математичних формул і рівнянь, називається побудо­ вою математичної моделі цього об’єкта. Математична модель дає можливість звести розв’язування реальної задачі до вирішення математичної задачі. Саме цей факт лежить в основі застосування математики у пізнанні законів і їх практичного застосування.
  • 7. Остей алгоритмЬаці Математичні постановки задач (формалізація ) — це вимоги, що формуй люються за допомогою математики. Математичні задачі с формалізованим! з самого початку. Для запису їх постановок використовується така форма: Задача. Дано: Потрібно: Зв’язок: При <Змістовне формулювання> <Перелік початкових даних> <Перелік потрібного> <3алежність між потрібним і початковим> <Умови допустимості початкових даних> Та чи ійща постановка задачі завжди грунтується на конкретному зміс­ товному формулюванні. Із нього пошані бути виділені і перелічені всі вихідні дані і потрібні результати. У математичних постановках задач у розділах *Дано” і “Потрібно” вказують не тільки назви цих величин і об’єктів, а й їхні позначення, що над алі використовуються в описах умов допустимості вихідних даних і в описах зв’язку вихідного з потрібним. В окремих задачах залежність між потрібним і вихідним, а також умови допустимості можуть виражатися не системами рівнянь, а системами тверджень. Строгий запис таких тверджень виконується мовою математичної логіки. Це — перш за все відомості про об’єкти та їхні властивості. Крім цього, твердження можуть вводитися через раніше введені висловлення. “Зв’язок” — це система рівнянь або тверджень, що зв’язують вихідні і шукані дані. Сюди можуть входити визначення, твердження, формулювання законів тощо. З практичної точки зору “зв’язок” виражає не стільки спосіб розв’язування, скільки спосіб перевірки правильності кінцевих результатів. Приклад математичної моделі Задача. Дано: Потрібно: Зв’язок: Метод: Знайти суму скінченої послідовності заданих чисел, х,, х2 х3, ..., — послідовність чисел, , знайти 8 — суму чисел. 8 д X, + х2+ X, а Х ,^ рекурентне сумування — 8в= 0;
  • 8. Інформаційна (математична) модель 1.3 Запитання, завдання, тести 7 ї' , / Запитання для самоконтролю 1. Перерахуйте основні етапи у складанні програм для розв’язування за­ дач на ЕОМ. 2. З чого починається розв’язування задачі? 3. Навіщо потрібна постановка задачі? 4. Для чого потрібні описи методів розв’язування задач? 5. Яку роль відіграють сценарії у процесі розв’язування задач на ЕОМ? 6. Які етапи розв’язування задан на ЕОМ виконує людина? 7. На якому етапі розв’язування задач використовується ЕОМ? 8. Що являє собою математична модель? 9. Навіщо потрібна математична постановка задачі? 10. Чи завжди виникає необхідність у побудові математичної моделі? 11. Що виражає роздої “ Зв’язок “ у математичній постановці прикладної задачі? 12. З яких міркувань вибираються обмеження на вихідні дані? Завдання для самостійного виконання 1. Побудуйте математичну модель для розв’язання задач: а) визначити час польоту тіла, кинутого вертикально вгору; б) визначити час падіння тіла із заданої висоти; в) визначити період обертання тіла масою ш по колу радіусом Ц.
  • 9. Основи алгоритмізації 8 2. АЛГОРИТМИ 2.1 Алгоритми. Властивості алгоритмів. Форми подання алгоритмів. Виконавець алгоритму Алгоритми Алгоритм — чітко задана послідовність кроків, які мають бути виконані для розв’язання завдання. Приклад алгоритму. Задача* Вказати послідовність дій, які необхідно виконати для обчислен­ ня виразу (ах+Ь)х+с при заданих значеннях а, Ь, с, х. Алгоритм можна описати таким чином: 1. Помножити а на х 2. До отриманого результату додати Ь. 3. Отриманий результат помножити на х 4. До отриманого результату додати с. Алгоритм повинен мати такі властивості: 1. Масовість* Алгоритм повинен бути застосованим до будь—яких елементів з множини вихідних даних. 2. Визначеність. Операції, які використовуються в алгоритмі, не повинні мати двоякого тлумачення; не повинно виникати питання: що саме і як треба робити? Порядок виконання операцій має бути строго визначеним. 3. Дискретність. Процес розв’язування алгоритму повинен складатися з окремих завершених операцій, які виконуються послідовно і за скінчений час. 4. Результативність. Виконання послідовності операцій алгоритму по­ винно приводити до цілком конкретного результату. 5. Формальність. Будь-який виконавець, здатний сприймати і виконувати вказівки алгоритму (навіть не розуміючи їх змісту), діючи за алгоритмом, може виконати поставлене завдання. Форми подання алгоритмів: 1. словесні; 2. словесно-формульні; 3. графічні; 4. скінчений набір ходів.
  • 10. Алгоритми 9 При складанні алгоритмів можна поєднувати різні форми подання алгоритмів. Виконавець алгоритму Виконавцем алгоритму може бути людина, ЕОМ, система людина — ма­ шина, верстат — автомат, робот тощо, яких “навчено” виконувати вказівки алгоритму. Якщо виконавцем є деякий автомат, то вираз “виконавця навчено виконувати вказівку” означає, що автомат може виконати задану вказівку автоматично, без зовнішнього втручання. Сукупність вказівок, які можуть бути виконані виконавцем, називається системою вказівок виконавця. 2.2 Базові структури алгоритмів При конструюванні алгоритму кожну вказівку можна подати у вигляді трьох типів простих вказівок, так званих базових алгоритмічних структур: слідування, розгалуження, повторення. /• Слідування. Вказівка 5 подається у вигляді послідовності двох (або більше) виконуваних одна за одною простіших вказівок 57, 5 2 , 5л. г ---------------------------------------- ----------------- ------І -51----- -52-------------- -5л — І------— 2. Розгалуження (вибір). Для виконання вказівки 5 треба спочатку визначити, хибне чи істинне деяке твердження Р. Якщо твердження Р істинне, то виконується вказівка 57 і на цьому вказівка 5 закінчується. Якщо ж твердження Р хибне, то вико­ нується вказівка 52 і на цьому виконання вказівки 5 закінчується. Повне розгалуження.
  • 11. Основи алгоритмі* 10 Неповне розгалуження, 3. Повторення. 1 Розрізняють два типи циклів — цикл-ПОКИ і цикл-ДО. 1 а) У структурі цикл-Поки для виконання вказівки £ спочатку треба ви-І значити, істинне чи хибне твердження Р. Якщо Р істинне, то виконується] вказівка 51 і знову повертаються до визначення істинності твердження Р. Якщо] б) У структурі цмкл-ДО спочатку виконується вказівка 5 /, а потім визна­ чається істинність твердження Р. Якщо твердження Р хибне, то знову вико­ нується вказівка 51 і визначається істинність твердження Р, Якщо ж тверд­ ження Р істинне, то виконання вказівки 5 вважається закінченим. Будь-який алгоритм подається у вигляді лінійної послідовності базових алгоритмічних структур* Лінійний алгоритм алгоритм, в яшму використовується тільки струк­ тура “слідувани*'
  • 12. Алгоритми 11 Алгоритм з розгалуженням — алгоритм, а основі якого лежить структу­ ра “розгалуження”. Циклічний алгоритм — алгоритм, в основі якого лежить структура “пов­ торення”. 2.3 Метод покрокової деталізації. Конструювання алго­ ритмів “зверху донизу" При використанні методу покрокової деталізації складна задача розбиваєть­ ся на ряд білил простих. Для кожної підзадачі складається свій алгоритм. При цьому кожен із додаткових алгоритмів повинен розв’язувати як свою підзадачу, так і стикуватися з іншими додатковими алгоритмами в основному. Ці підза­ дачі можуть, у свою чергу, вимагати розбиття на ще більш прості задачі. Про­ цес покрокової деталізації закінчується, коли задачі чергового рівня виявля­ ються зовсім простими і зрозумілими для кожного виконавця. Розпишемо виконання методу покрокової деталізації для побудови алго­ ритму обчислення площі повної поверхні піраміди, в основі якої лежить квадрат зі стороною а, а бічні ребра мають довжини, А, с, Л, к. Площа повної поверхні піраміди складається із площі повної бічної по­ верхні і площі основи. Загальний вигляд алгоритму буде таким: ввести значення а9 Ь, с, </, к. Знайти площу грані (в, Ь, с) Знайти площу грані (а, с, і) Знайти площу грані (в, <, к) # Знайти площу грані (в, к, Ь) Площа піраміди = площа грані (а, Ь, с) + площа грані (в, с, І) + + площа грані (а, і у &) + пловцу грані (в, А, Ь) + а*а. вивести площу піраміди. У тексті алгоритму чотири рази виконується однакова вказівка обчислення площі бічної грані піраміди (це трикутник) при різних значеннях сторін. Необхідно чотири рази скористатися формулою Герона для обчислення площі трикутника. Цю частину алгоритму можна оформити у вигляді допоміжного алгоритму. Наш основний алгоритм набере випхяду: ввести значення а, і , с, й, к. площа (в, Ь9 с, 57) площа (а, с, Л, 52) площа (я, й, к, 55)
  • 13. 12 Основи алгоритмізаці площа (а, к, Ь, Б4) площаі = вивести площа 1 Побудуємо допоміжний алгоритм обчислення площі трикутника за фор*] мулою Герона. р:=(т+п+1)/2; 8:=^ц?і(р*(р-т)*(р-п)*(р~1)). 2.4 Навчальна алгоритмічна мова. Правила описання алгоритмів навчальною алгоритмічною мовою Навчальна алгоритмічна мова. Спілкування між споживачами інформації здійснюється за допомогою деякої мови. Мова — це сукупність засобів для фіксації повідомлень і передавання їх від джерела інформації до споживача. Алгоритмічні мови — мови, призначені для фіксації алгоритмів у вигляді деяких повідомлень і передавання таких повідомлень споживачеві інформації (виконавцеві алгоритму). Алфавіт алгоритмічної мови — сукупність символів, які дозволяються використовувати при описанні алгоритмів на тій чи Іншій алгоритмічній мові. Синтаксис алгоритмічної мови — сукупність правил опису алгоритмів на алгоритмічній мові. Вказівка (команда) — окреме повідомлення про деяку операцію, яку повинна виконати машина. Алфавіт навчальної алгоритмічної мови включає в себе великі і малі бук­ ви українського і латинського алфавітів, цифри десяткової системи числення, спеціальні символи, символи математичних операцій. Для більш зрозумілого і виразного запису алгоритмів алфавіт алгоритмічної мови доповнено службовими словами. Сукупність знаків і правил, за допомогою яких описуються алгоритми, утворюють алгоритмічну мову. Правила описання алгоритмів навчальною алгоритмічною мовою Запис алгоритму повинен бути оформленим за такими правилами. У першому рядку записується слово алгоритм або його скорочення до трьох літер — алг. Далі за цим словом записується назва алгоритму. У дру-
  • 14. Алгоритми 13 гому рядку записується слово початок або його скорочення — поч. Далі з невеликим відступом у 2—3 проміжки записуються дії, що складають власне алгоритм. Останнім рядком опису алгоритму має бути слово кінець або його скорочення — кін у цій самій позиції, що й слово початок. Алгоритм, описаний навчальною алгоритмічною мовою, має вигляд: Заголовок алгоритму початок серія кінець Заголовок алгоритму — початкова частина запису алгоритму до службо­ вого слова початок, яка містить в собі ім’я алгоритму, перелік його аргументів і результатів з зазначенням їх величин. Серія — послідовність неіменованих вказівок, що виконуються в такому порядку, в якому вони записані. Заголовок алгоритму має вигляд: алг ім’я_алгоритму (список параметрів із вказанням їх типів) арг список аргументів рез список результатів де алг, аргу рез — службові слова. Виділені слова називаються службовими і використовуються при записі довільного алгоритму. В алгоритмах роботи з величинами після слова початок вказується спи­ сок проміжних результатів із зазначенням їх типів. Елементи списків відокремлюються між собою комами. Тіло алгоритму — частина алгоритму, яка знаходиться між словами по­ чаток і кінець. Структура алгоритму, описана навчальною алгоритмічною мовою, в цілому має вигляд: алг ім’яалгоритму (список параметрів із вказанням їх типів) арг список аргументів рез списокрезультатів початок список проміжних результатів' із зазначенням їх типів. серія кінець'
  • 15. Основи алгоритміЬ г я 14 Основні вказівки НАМ Будь-який алгоритм можна описати з використанням вказівок лише трьох' 1) вказівок про безумовне виконання деякої операції; 2) вказівок про розгалуження; 3) вказівок про повторне виконання деякої операції. . До вказівок першого типу належать вказівки присвоювання ЪА де А — вираз, Y — ім’я результату, := — знак присвоювання, а така вказівки про виконання алгоритму: ім’й алгоритму (список фактичний параметрів). Вказівки другого типу записуються у вигляді: ЯКЩО твердження Р ТО серія 1 ІНАКШЕ серія 2 ВСЕ повне розгалуження ЯКЩО твердження Р ТО серія ВСЕ — неповне розгалуження Узагальненням вказівки розгалуження є вказівка вибір, за допомогою якої описується розгалуження в трьох і більше напрямах: ВИБІР ПРН твердження 1: серія 1 ПРИ твердження 2: серія 2 ПРИ твердження к: серія к ІНАКШЕ серія ВСЕ Вказівки третього типу описуються у вигляді: ПОКИ твердження Р ПЦ цикл-ПОКИ серія КЦ
  • 16. оритми ПОВТОРЮВАТИ ПЦ серія КЦ ДО твердження Р 15 цикл-ДО Використовується також вказівка повторення з параметром ДЛЯ Ж ВІД А ДО В КРОК Н ПЦ серія КЦ де А, В, Н — вирази, що задають відповідно початкове і кінцеве значення та крок зміни параметра циклу X. Наприклад. 1. Скласти алгоритм пошуку більшого з трьох величин а,Ь,с. АЛГ більше з трьох АРГ а,Ь,с РЕЗу ПОЧАТОК ЯКЩО а>Ь ТОу:=а ІНАКШЕ у:=Ь ВСЕ ЯКЩО с>у ТОу:=с ВСЕ КІНЕЦЬ 2, Задано дійсні числа а, Ь (а>1). Обчислити суму членів геометричної послідовності ар аґ аг ,., із знаменником с (с>1), а(<Ь , АЛГ сума_послідовності (ДІЙСН а,Ь,сума) АРГ~і, Ь РЕЗсума ГІОЧ ДІЙСН с СУМА:=0
  • 17. Основи алгоритмиа 16 ПОКИ а<Ь ПЦ сума:=сума+а а:=с*а КЦ кш 2.5 Величини» Основні характеристики величин Величини Повідомлення N разом з відповідною йому інформацією 7, яку дістають з правилом — інтерпретацією L (N->1), називають величиною. Інформацію називають значенням величини, а повідомлення N — позначенням величи ни. При цьому говорять, що позначенню N відповідає значення І. Величина — об’єкт, який має ім’я і значення конкретного типу. Операнд — об’єкт алгоритму, над яким виконується деяка вказівка. Основні характеристики величин Тип величини визначається операціями, які можна над ними виконувати. Значення величини певного типу називають значенням того самого типу. Для найбільш уживаних типів величин введено позначення типів, які назива­ ють ідентифікаторами типів: ЦІЛ — цілочислові величини; HAT — натуральні числа; РАЦ — раціональні числові величини; ДІЙСН — дійсні числові величини; КОМПЛ — комплексно-числові величини; ЛОГ — логічні величини; ЛІТ — величини, значення яких є слова або тексти; БІТ — величини, значення яких подаються двійковими словами деякої фіксованої довжини. Для посилання на величину використовуються імена величин. Для позна­ чення імен використовують ідентифікатори. Ідентифікатор — ім’я величини. Постійна величина (стала або константа) — величина, яка в будь-які моменти часу може набувати тільки одаого й того самого значення. Змінна величина — величина, яка в різні моменти часу може набувати різних значень з деякої множини допустимих значень.
  • 18. Алгоритми 17 У кожному алгоритмі, крім самих операцій, які необхідно виконати, слід вказати також об’єкти, над яким виконуватимуться ці операції. Імена цих об’єктів називають параметрами. При описуванні алгоритму використовуються формальні (неконкретні) параметри. Виконуються алгоритми над фактични­ ми (конкретними) параметрами. Аргумент алгоритму — параметр, значення якого слід вказати перед початком виконання алгоритму. Результат алгоритму — параметр, значення якого дістають в результаті виконання алгоритму. Окремим випадком алгоритму є вираз. Вираз — це текст (повідомлення), який описує правило (алгоритм) обчис­ лення одного значення деякого типу. 2.6 Вказівка присвоювання ! Вказівка присвоювання призначена для надання змінній нового значення. Загальний вигляд оператора присвоювання: ім ’ змінної := арифметичний вираз; я Знак := читається “присвоїти”. У кінці запису оператора Паскаля ставиться крапка з комою. При виконанні оператора присвоювання обчислюється значення арифме­ тичного виразу, що стоїть у правій частині. Одержаний результат присво­ юється змінній, що записана зліва від знака присвоювання. Приклад вказівки присвоювання: х:=5; (змінній х присвоїти значення 5) а:-Ь+с (змінній а присвоїти суму значень змінних Ь і с). До типів змінної ліворуч і арифметичного виразу праворуч від знака при­ своєння існують обмеження: 1. Якщо змінна ліворуч — дійсного типу, то арифметичний вираз можке бути як цілого, так і дійсного типу. 2. Якщо змінна ліворуч — цілого типу, то арифметичний вираз може бути тільки цілого типу. Це означає, що можна, наприклад, дійсній змінній присвоїти ціле значення. У пам’яті комп’ютера воно буде перетворено на дійсний тип.
  • 19. 18 Основи алгоритмізт 2*7 Запитання, завдання, тести Запитання для самоконтролю: 1. Що таке алгоритм? 2. Що таке змінні в алгоритмах? 3. Що таке константи в алгоритмах? 4. Які основні властивості алгоритмів? 5. Які існують основні форми подання алгоритмів? 6. Хто може бути виконавцем алгоритму? 7. Чим викликано існування багатьох способів опису алгоритмів? 8. Назвіть базові структури алгоритмів. 9. Як записується і використовується структура “слідування”? 10. Як записується і використовується структура “розгалуження”? 11. Як записується і використовується структура “повторення” (цикл* ПОКИ)? 12. Як записується і використовується структура “повторення” (цикл-ДО)? 13. Для чого необхідна алгоритмічна мова? 14. З чого складається алгоритмічна мова? 15. З чого складається алфавіт алгоритмічної мови? 16. Які правила опису алгоритмів НАМ? 17. Яка структура алгоритму, записаного на НАМ? 18. Які основні вказівки використовуються в НАМ? 19. Як записується і виконується вказівка безумовного виконання? 20. Як записується і виконується вказівка розгалуження? 21. Як записується і виконується вказівка повторення? 22. Що таке величина? 23. Які існують типи величин? 24. Які існують види величин? 25. Що називається аргументом алгоритму? 26. Що називається результатом алгоритму? 27. Як записується і виконується вказівка присвоювання? Завдання для самостійного виконання 1. Записати в словесній формі алгоритми: а) Знаходження остачі від ділення числа а на число Ь; б) Розклад числа N на прості множники; в) Перевірки ознаки подільності даного числа а на 3; г) Знайти найбільший спільний дільник двох натуральних чисел а і Ь.
  • 20. Алгоритми 19 2. Перерахувати всі службові слова, які використовуються: а) у вказівці розгалуження б) у вказівці повторення 3. Що виконає виконавець алгоритму? АЛГ одягнутися по погоді взимку ПОЧ ЯКЩО на вулиці температура нижча -10 С ТО надіти шубу ІНАКШЕ надіти куртку ВСЕ КІН якщо на вулиці: а) -15°С __________ _ _ _ _______ ___________________ . б) +20°С______________ __ _________ _____________________ __ в) -10°С ______________________ ._________ _______ Запишіть даний алгоритм, враховуючи, що гірй температурі +10°С куртку надівати не потрібно. 4. Скласти алгортьі обчислення ¥ за формулою їЦ5ж-2Х#+4). 5. Скласти алгоритм обчислення ¥ за формулою дс+2,якщо;г<=5, [ 100 , якщо д£>5. 6. Скласти алгоритм знаходження найбільшого з трьох величин а,Ь,с. 7. Скласти алгоритм пофарбування підлоги, яка зроблена з 30 дошбіс. Тести 1. Вказати, які з наведених нижче властивостей, повинен мати алгоритм: а) масовість; б) повнота; в) визначеність; г) дискретність; Відповідь: г) циклічність; д) результативність; е) формальність; €) розгалуженість.
  • 21. Основи алгоритмі) 20 2. Чи можна використовувати в описі алгоритмів твердження? “Порівняти два числа а і V9 Відповідь^так, ні):___________ .___________________________ ___ 3. Чи може автоматичний пристрій бути виконавцем алгоритму? Відповідь(тш, ні):_____________________________ __________ __ 4. Чи правильне твердження: “При виконанні лінійного алгоритму спочі ку виконується вказівка 52, а потім 57”? Відповідь(так, ні):_____ _____________________________________ 5* Чи правильне твердження: “При виконанні вказівки розгалуження має значення чи твердження Р є істинним чи хибним”? Відповідь(так, ні):___________________________ ______________ б. Запишіть порядок виконання вказівки розгалуження: а) Виконати вказівку 51; б) Виконати вказівку 52; в) Визначити, істинне чи хибне твердження Р ? г) Закінчити виконувати вказівку 5 при умові, що: 1) твердження Р істинне; 2) твердження Р хибне. Відповідь і ) ________________________________ 2) __________________ 7. Чи правильне твердження: “При виконанні вказівки повторення, цикл-ПОКИ, спочатку виконується вказівка 5 /, а потім перевіряється на істинність чи хибність твердження Відповідь(так, ні):______________________ ;__________ 4 __________І 8. Чи правильне твердження: “При виконанні вказівки повторення, цикл-] ДО, спочатку перевіряється на істинність чи хибність твердження Р, а потімі виконується вказівка 5 /” ? ] Відповідь^так, ні):______________________ в_____________ _________ | _ 9- Запишіть порядок виконання вказівки повторення, цикл-ПОКШ і допишіть пропущене слово — істинне чи хибне. а) Виконати вказівку 57, якщо твердження Р ___________ А б) Визначити, хибне чи істинне твердження Р; в) Повернутись до визначення істинності твердження Р;
  • 22. оритми 21 г) Закінчити виконання вказівки повторення, якщо твердження Р хибне. ____________________ __ Відповідь:__________________________ « 10. Запишіть порядок виконання вказівки повторення, цикл-ДО і допишіть опущене слово — істинне чи хибне а) Виконати твердження 5 /; б) Визначити, істинне чи хибне твердження Р; в) Повернутись до виконання вказівки $1, якщо твердження Р г) Закінчити виконання вказівки 5, якщо твердження Р Відповідь: 11. Вкажіть тип величини, якщо її значення дорівнює: а) 2 5 ______________ б)5,5 в)_‘так’ _________________ 12. З наведених значень виберіть допустимі значення для величин: а) 2 б) 4.5 1) цілого типу в) -6 2) дійсного типу' г) ‘два’ 3) літерного типу Д ) 15,8 е) ‘24’ 13. Визначіть тип даних для величин: а) маса людини_____ ____________ б) кількість учнів у * Є£і в) назва книги___ __
  • 23. МОВА ПРОГРАМУВАННЯ ПАСКАЛЬ 3. ПРОГРАМА. МОВА ПРОГРАМУВАННЯ 3.1 Поняття програми. Мова програмування. Переклад програм з однієї мови на іншу. Поняття про транслятори, систему програмування Мова програмування Паскаль є однією з найбільш поширених мов про грамування. Вона була створена в 1971 році швейцарським професороц Н. Віртом, як засіб для навчання програмування. Завдяки принципам струк­ турного програмування і покрокової деталізації, програми мовою Паскаль більш зрозумілі, ніж програми, записані на інших мовах. Мова Паскаль є структурованою мовою програмування, оскільки викори­ стовує тільки 4 основні структури: 1. Вказівки безумовного виконання. 2. Вказівки розгалуження. 3. Вказівки повторення. 4. Виділення допоміжних програм. Головною відмінністю мови Паскаль від мов програмування Бейсік, Фор­ тран та інших неструкіурних мов програмування є деяке обмеження на ви­ користання вказівок переходу. Мова програмування Сі є також струюурною мовою програмування. Весь матеріал з мови Turbo Pascal викладений стосовно версії Turbo Pascal 7.0 фірми Borland International. В новій версії Turbo Pascal 7.0 є деякі допов­ нення до попередніх версій, що практично зрівняло її можливості з мовою програмування Сі. Програма — впорядкована послідовність дій для ЕОМ, виконання якої реалізує алгоритм розв’язку будь-якої задачі. Транслятор — програма, яка перекладає програму з однієї мови програму­ вання на іншу (здебільшого на мову машинних команд). Інтерпретатор — програма, яка аналізує і відразу виконує тексти інших програм. Транслятор (компілятор), на відміну від інтерпретатора, не виконує про­ граму, а тільки перекладає її з однієї мови на іншу.
  • 24. / програма. Мова програмування ‘ 23 Система програмування — частина базового програмного забезпечен­ ая, яка підтримує процес програмування на ЕОМ. Система програмування містить в своєму складі: редактор для складання програм і введення їх в ЕОМ; інтерпретатор для безпосереднього виконання програм на вхідній мові програмування системи програмування; транслятор 'або компілятор для перекладу програм з вхідної мови програмування на машинну мову та інші програми. Система програмування Turbo Pascal об’єднує в собі текстовий редактор, компілятор, компоновник, відлагоджувач та систему підказки. Система програмування Turbo Pascal має в своєму складі багато файлів. Головні з них: 1) Turbo.exe — підтримує роботу в турбосередовищі; 2) Turbo.tpl — вміщує бібліотеку підпрограм; 3) Turbo.hlp — забезпечує виведення на екран підказки по окремих режимах роботи, конструкціях програму тошо. ..... т ____ ________________ Дані файли поміщені в каталог ТР70, який буде використовуватись в по­ дальшій роботі. 3.2 Поняття про середовище програмування Itorbo Pascal Запуск програм на виконання Щоб ввійти в середовище Turbo Pascal, потрібно: 1. Ввійти в каталог системи програмування. (Наприклад: ТР70); 2. Виконати командний файл turbo.exe. На екрані з’явиться головне меню системи. У верхньому рядку подані всі команди головного меню, а в нижньому — рядок статусу, в якому перелічені імена функціональних клавіш, призначених для виконання деяких операцій в конкретній ситуації. Щоб перейти в головне меню, потрібно натиснути клавішу F10. Щоб вийти з головного меню і повернутись в редактор тексту — натиснути клавішу Esc. Виконати команду означає: з допомогою клавіш управління курсором ви­ ставити курсор на потрібну команду і натиснути клавішу Enter. (Виконати команду можна ще іншими способами: з допомогою маніпулятора “миша” або натисканням комбінацій клавіш Alt + та буква, яка виділена в назві ко­ манди). Кожна команда головного меню має один або декілька (вкладених одне в одне) підменю. ; і І І 1 | ]
  • 25. 24 Мова програмування Паск Типовий порядок створення нового файла: — Ввійти в головне меню. — Виконати команду File. — Вибрати і виконати команду New. На екрані з’явиться порожнє вікно р дактора з умовною назвою Noname.pas. — Рядок з г рядком набирати текст програми. В кінці кожного рядка нати кують KJiSuikny Enter. — Виконати програму. Натиснути комбінацію клавіш CTRL+F9. Можи використати ще 2-ий спосіб. Ввійти в головне меню і виконати команду Run — Виправити при необхідності помилки. — Після виправлення помилок знову виконати програму. — Переглянути отримані результати, натиснувши комбінацію клавіш ALT + F5. — Записати текст програми в файл на диск. Ввійти в головне меню. Вико­ нати команду File. Виконати команду Save. Ввести ім’я файлу (наприклад CLAgS) і натиснути Enter. Програма буде записана на диску в файлі — Class.pas Щоб пришвидшити процес запису програми в файл на диск можна натиснути клавішу F2 і ввести ім’я файла. Натиснути Enter. П орядок редагування існуючого раз-файла: — Ввійти в головне меню. Вибрати і виконати команду File. — Вибрати і виконати команду Open. Можна ще натиснути клавішу F3. — Натиснути клавішу ТАВ, вибрати з таблиці ім’я потрібного файла і натис­ нути Enter. Можна ще в рядку Name набрати ім’я необхідного файла і натис­ нути Enter. — Внести необхідні доповнення до програми, виконати її і виправити помилки. — Записати програму в файл на диск, використавши команду Save. Якщо необхідно записати програму в файл на диск під новим іменем, то замість команди Save потрібно вибрати команду Save as. Створення виконуваного exe-файла. — Ввійти в головне меню, вибрати і виконати команду Compile. — Вибрати і виконати команду Destination-Memory, яка після натискання на клавішу Enter зміниться на Destination-Disk. — Натиснути комбінацію клавіш ALT + F9.
  • 26. Програма. Мова програмування 25 Текстовий редактор версії Turbo Pascal 7.0 дозволяє обробляти файли довжиною до 1Мб. Редактор дозволяє виконувати різні операції з декількома файлами. Кожен з них розміщується у своєму вікні редактора. В верхній частині вікна запи­ сано ім’я файла, справа від нього — номер вікна. При завантаженні в редак­ тор ( при відкритті ) наступного файла він потрапляє у нове вікно. Щоб перейти з вікна у вікно, необхідно натиснути комбінацію клавіш — Alt+N, де N — номер вікна. Можна ще для цього натиснути клавішу F6. Щоб вийти з середовища Turbo Pascal, необхідно натиснути комбінацію клавіш ALT+X. 3.3 Практична робота №1 ТЕМА: Робота в середовищі програмування. Запуск програм на виконання. МЕТА: Ознайомитись з середовищем програмування Паскаль. Навчитись зчитувати, редагувати, записувати та виконувати програми. ЗАВДАННЯ ДЛЯ ПРАКТИЧНОЇ РОБОТИ: 1. Вивчити теоретичний матеріал. 2. Ввійти в середовище програмування. 3. Познайомитись з середовищем програмування. 4. Познайомитись з редактором тексту програмного середовища. 5. Зчитати з диска програму, яка записана в файлі class.pas. 6. Виконати дану програму. 7. Переглянути отримані результати. 8. Записати дану програму в файл на диск під іншим іменем. 9. Створити виконуваний exe-файл. 10. Вийти з середовища програмування. 11. Виконати в системі DOS записаний exe-файл. 12. Оформити звіт з практичної роботи. У звіті з практичної роботи описати призначення і порядок виконання всіх вказівок, які використовувалися в роботі. 3.4 Запитання, завдання, тести Запитання для самоконтролю 1. Для чого призначена мова програмування Паскаль? 2. Що таке транслятор? 3. Що таке інтерпретатор?
  • 27. 26 Мова програмування Ласкал 4. З чого складається система програмування? 5. Як ввійти в середовище програмування Turbo Pascal? 6. Як ввійти і вийти з головного меню середовища програмування Паскаль 7. Що означає термін “виконати команду”? | 8. Який порядок створення програми і запису її в файл? 9. Як відредагувати програму, яка записана в файл на диск? 10. Як вийти з середовища програмування? І Завдання для самостійного виконання 1) Ввійти в середовище програмування Turbo Pascal. 2) В текстовому редакторі середовища програмування Turbo Pascal ввести програму PROBA. 1 Program PROBA; 1 ConstA=5; М§ j varS:integer; j begin I S:=A+B; writeln(‘S = = ’,S); end; 3) Виконати дану програму. 4) Переглянути результати виконання даної програми. 5) Записати програму в файл на диск під іменем Fproba. 6) Вийти з середовища програмування Turbo Pascal. 7) Переконатись у наявності на диску файла Fproba.pas. Тести 1. Вибрати правильну відповідь. З допомогою команди SAVE можна_____________ _______________ а) Прочитати програму з файла на диску. б) Записати програму в файл на диск. в) Відредагувати проіраму. г) Відкрити вікно для створення нового файла. 2* Встановити відповідність між назвами команд меню системи програму­ вання Pascal та результатами їх дії. ї) Open — Л ----------а) Записати програму в файл на диск 2) Save - . . б) Виконати програму
  • 28. Програма. Мова програмування 3) Save as 4) Run 27 в) Записати програму в файл на диск під новим іменем г) Відкрити вікно для створення нового файла 3. Вказати порядок зчитування і редагування програми з файла на диску. а) Внести необхідні доповнення до програми, виконати її і виправити помилки. б) Записати програму в файл на диск, використавши команду SAVE. в) Вибрати і активізувати команду FILE. г) Вибрати і активізувати команду OPEN. ґ) Ввійти в головне меню. д) Натиснути клавішу ТАВ, вибрати з таблиці ім’я потрібного файлу і натиснути ENTER. Відповідь___________ £ ______________________ 4. Вибрати правильну відповідь. _ 1) Щоб виконати програму, потрібно натиснути комбінацію клавіш_ 2) Щоб переглянути результати виконання програми, потрібно натиснути комбінацію клавіш________ __________________________________ 3) Щоб вийти з середовища програмування Turbo Pascal, потрібно натис­ нути комбінацію клавіш_________________________________________ а) Alt+X в) АЙ+FS б) Ctrl+F9 г) Alt+F9 3.5 Алфавіт мови програмування. Величини та їх опис мовою програмування. Змінні та константи Алфавіт Алфавіт мови програмування Turbo Pascal включає в себе: 1. 26 великих і малих букв латинського алфавіту, знак підкреслення. 2. Десяткові цифри 0, 1, 9 3. Спеціальні символи: + — плюс ----- мінус * — зірочка / — дробова риска = — дорівнює @ — комерційне а *— крапка , — кома : — двокрапка ; — крапка з комою
  • 29. Мова програмування Паска 28 > — більше < — менше [] — квадратні дужки О — круглі дужки {} — фігурні дужки 4 — апостроф # — номер $ — знак грошової одиниці Л — тильда — проміжок (не має позначення) Проміжок — незаповнена позиція в тексті. Можна сказати, що це невидні мий, але такий, що сприймається ЕОМ символ, який займає в тексті о; позицію. Позначається він для сприймання його користувачем так 4. Комбінації спеціальних символів утворюють складені символи. :=— присвоєння (..) — альтернатива { } < > — не дорівнює <= — менше або рівне .. — діапазон значень >= — більше або рівне (..) — альтернатива [ ] 5. Службові (Зарезервовані) слова absolute end inline procedure program and external interface array record interrupt file begin repeat . for label case forward mod set const function shl nil div goto not shr do if of string downto implementation 0 then else in packed to object virtual unit type until uses while var with destructor xor constructor Службові слова мають раз і назавжди визначену форму запису і змісті Константи і змінні Константами називають величини, значений яких встановлені в описовій частині програми і в процесі виконання програми не змінюються. Для визначення констант служить службове слово CONST. Формат: Const <ідентифікатор> = <значення константи>;
  • 30. Програма. Мова програмування 29 Н іЩРШЕЛад,. CONST Мах= 1000; М ЬА Зарезервовані константи: Ідентифікатор TRUE FALSE MAXINT Тип boolean boolean integer Значення true False 32767 Опис “Істина” “Хибно” Макс. ціле Константам в програмі не можна присвоювати нові значення після того, як вони були описані. ЕОМ сама визначає тип констант по їх значенню. Змінними називають величини, значення яких змінюється в процесі вико­ нання програми. Для опису змінних використовується службове слово VAR. Формат: VAR <список ідентифікаторів>: <тип>; Наприклад. VAR Suml, Sum2:REAL; Змінна повинна бути описана в програмі тільки один раз і належати тільки до одного типу. 3.6 Запитання, завдання, тести Запитання для самоконтролю: 1. Які величини називаються константами? 2. Як описуються в програмі константи? ; 3. Які величини називаються змінними? 4. Як описуються в програмі змінні величини? Завдання для самостійного виконання 1* Опишіть у вигляді константи: а) число учнів у вашому класі; б) число уроків у вівторок.
  • 31. зо Мова програмування Пас 2. Опишіть змінні а) хі, х2 — корені квадратного рівняння; б) N. О — кількість учнів у класі і оцінки, які вони сьогодні отримали, б) Тести 1, Які з перерахованих нижче груп знаків використовуються в алфавіті моя програмування: . 1 | а) римські цифри; і б) латинські великі букви; в) українські букви; ' І г) арабські цифри; ґ) російські букви; д) малі латинські букви; е) проміжок; є) знак підкреслення Використовуються_____________________________________ _______ Не використовуються__________________________________________ 2. Вкажіть, які приклади опису змінних записані правильно, а які ні І чому' а) Уаг А,В,СД):геаі; в) Уаг Х,У,2:шіе£ег; б) Уаг А,В,С;Б:геа1; г) Уаг Х,У,А,В:геа1; С,Х,0:ітедег; Х Л ^й ^ег; Правильні: _ Неправильні: __ 3.7 Ідентифікатори величин. Типи величин Ідентифікатори Для позначення констант, змінних, типів, процедур, функцій, файлів і програм використовують імена (ідентифікатори). Правила запису ідентифікаторів: 1. Ідентифікатори починаються тільки з букви або знаку підкреслення (виняток складають мітки, які можуть починатися з букви і цифри). 2. Ідентифікатор може складатися з букв, цифр і знаку підкреслення.
  • 32. Програма. Мова програмування 31 3. Між двома ідентифікаторами повинен бути хоча б один проміжок. 4. Максимальна довжина ідентифікатора 127 символів, але ЕОМ розрізняє тільки перші 63 символи. 5. Ідентифікатор не повинен співпадати за написанням ні з одним зі служ­ бових слів. 6. Великі і малі букви в ідентифікаторах не розрізняються. Означення типу даних Тип — це множина значень однакової природи разом із набором опе­ рацій, які над ними виконуються. Кожна змінна повинна бути описана (один і тільки один раз) на початку програми після слова VAR. При цьому вказується тип змінної. Програміст сам вибирає потрібний йому тип залежно від можливих значень змінної (з урахуванням діапазону даних та розміру пам’яті, яка виділяється трансля­ тором під окрему змінну). Скалярні /прост і/ типи даних Цілі або цілочисельні типи Тип byte shortint integer word longint Діапазон Q .. 255 -128 .. 127 -32768 .. 32767 ■ 0 .... 65535 ( О М | i f a ;& Лч y Ы -2,147,483,648 .. 2147483647 WO Jt Наприклад. VAR xl,x2:integer; yl :word; Необхідно відзначити, що, при виході значень даних цілого типу за вка­ заний діапазон, помилки виконання програми не виникає, але результат при цьому буде неправильним. Наприклад, при виконанні додавання чисел 32767+1 отримаємо результат -32768.
  • 33. Мова програмування Паска 32 Дійсні типи Тип і Діапазон real singl double extended comp longint Наприклад. Var SUMMA: teal; BETA: double; 2.9*10E-39 .. 1.7*10E38 1.5*10E-45 .. 3.4*10E38 5.0*10E-324 1.7*10E308 1.9*10E-4951 .. 1.U10E4932 -2E+63+1 ..'2E+63-1 /r-2147483648..2147483647 1 1 1 1 1 1 | Літерний (символьний) тип Тип • char Діапазон і кодова таблиця ПЕОМ | Цщткдад* Var LETrchar; Булевий (логічний) тип Тип Діапазон boolean True, False Наприклад. Var БД : boolean; Прості нестандартні типи даних (Типи користувача) Перелічувальний тип Перелічувальний тип задається безпосереднім перелічуванням імен всіх] значень, які можуть приймати змінні даного типу. Окремі значення запису-] ються через кому, а весь список береться в круглі дужки. Формат: Туре <ім’я типу>=<значення1, значення2,значення^;
  • 34. програма. Мова програмування 33 Var <ідентифікатор,..>:<ім’я типу>; Наприклад. Туре SEASON = (Winter, Spring, Summer, Autumn); Var PORAJROKY: SEASON; Означення типу і опис змінних можгіа замінити тільки одним описом змінних. Наведений вище приклад опису змінних можна записати так: Var: PORAJROKY: (Winter, Spring, Summer, Autumn); Імена всередині круглих дужок є константами даного перелічувального типу і відповідають всім вимогам для звичайних констант. Вирази і константи допустимого типу використовуються у вказівках роз­ галуження, вибору та повторення. Операції відношення і логічні операції допустимі для значень перелічування одного і того ж типу. Впорядкування здійснюється за номером елемента в описі типу. Нумерація значень елементів перелічувального типу розпочинається з 0. Для роботи з даними перелічувального типу можна застосовувати стандартні функції: Pred, Succ, Ord. (Див. п.4.3 літерний тип). Обмежені (інтервальні) типи Інтервальні типи дозволяють задавати дві константи, які визначають границі діапазону значень для даної змінної. Обидві константи повинні належати одному з стандартних типів (крім типу Real). Значення першої константи повинно бути обов’язково менше за значення наступної. Формат: Туре сім’я тшіу>=<константа1..константа2>; Var <ідентифікагор,,..>:<ім’я типу>;
  • 35. 34 Мова програмування Пас. Нярйв ш д . Туре CLASS=l..ll; Var MCLASS,STCLASS: CLASS; Можна визначити інтервальний тип і більш універсальним способом, давши границі діапазону не значеннями констант, а їх іменами. Наприклад. Const М Ф=1;М № АХ=11; Туре CLASS=MIN..MAX; Var MCLASS.STCLASS: CLASS; Структуровані (складеш) типи даних. Рядковий тип Рядок — це послідовність символів кодової таблиці ЕОМ. Для опису даного рядкового типу використовується ідентифікатор Str після якого в квадратних дужках записується значення максимально долу мої довжини рядка даного типу. Якщо це значення не вказується, то довжи рядка автоматично дорівнює 255 байт. Наприклад. Var ST2,ST3:string[20]; Інші типи даних - В мові Паскаль використовуються ще й інші струкіуровані типи дай; масиви, множини, записи, файли, процедурні типи, об’єкти. Всі вони п бують окремого детального вивчення. 3.8. Запитання, завдання, тести Запитання для самоконтролю: 1. Які основні групи символів складають алфавіт мови Паскаль? 2. Які правила запису ідентифікаторів? 3. Які скалярні типи даних використовуються в Паскалі? 4. Як описуються дані цілого типу? 5. Як описуються даві дійсного типу?
  • 36. J Ірограма. Мова програмування та аш 6. Як описуються дані літерного типу? 7. Як описуються дані булевого типу? 8. Які існують прості нестандартні типи даних? 9. Як описується перелічувальний тип? 10. Як описується інтервальний тип? 11. Як описуються дані рядкового типу? ІЗавдання для самостійного виконання І. Складіть усі можливі ідентифікатори з симовлів X, V, 2. 2. Вкажіть тип записаних слів (я - ідентифікатори, б — службові слова, — в -»- набір символів). а) CosX ________ е) Cos(x)____ б) M od________ _______ _ є) 10ÖG _____ в) Pensil_______ ж) Паскаль. ..... . Г) А*В ______ __________ з) Pascal_____ і ґ) АВ a) Turbo Pascal Д) Apple і) A1ÖÖ______ 3. Для слів з лівого стовпчика виберіть правильну назву І правого стовйчика: 1) Abs(x) ■_____ _ _ _ _ а) ідентифікатор; 2) Absx____ _... п ,.,.. б) службові слова; 3) lGrivnij_ _ '■ _____ _ в) набір символів. 4) К огопа— -------- і — — — 5) P*R . ..... 6) ІВ М _ _______ - 4. Вкажіть тин констант і змінних: а) 1996 ................ . . .......... .. ’ г)Ш Ш Ц Я ________ 1 Г) ‘М ОУВ’ в) True і .., ■ ■ ... , - ....... ... ... . _д) F alse___„ _____ _____________ _) — 5. Опишпі змінні: а) K,LC,D — я* величини Цілого тМпу; б) ВС,А — дійсної« типу; в) Z,Y — літерного тйпу; г) V,P — булевого типу а) ___ ! -------- і------------ ®) ------------- * --б) — - Ш —----- ,----------------- — —~
  • 37. Мова програмування Пасщ 36 Тести 1. Які ідентифікатори, складені із символів А, В, С, є правильними, а неправильними і чому? а) аЬ5 г) а5Ь б) 5аЬ ґ) Ь5а в) Ьа5 д) 5Ьа Правильні:__________________ Неправильні:_______________ 2. Які з наведених нижче ідентифікаторів є правильними, а які неправильк ми і чому? а) Alfa д) Arctan(x) б) Ручка е) 9*С в) Windows с) 9С г) Table ж) С9 ґ) Red pensil з) Class Правильні:__________________ Неправильні:____________ ; ____ 3. З наведених нижче значень виберіть допустимі значення для величин 1) Цілого типу______________ 4) Булевого типу_______.____ 2) Дійсного типу . 5) Рядкового типу ______ 3) Літерного типу_____ ■ а) -8.5; б) 10; в) Тгие; г) 5.4; г) чотири; д) R; е) -4 4. Визначіть тип змінних для величин а) Ціна книжки__________________________________ б) Кількість учнів у класі г) Ім’я учня___________ - 5. Для величини оцінка виберіть допустимі значення а) 2 б) 4.5 в) чотири г) 4 3.9 Вказівки введення й виведення. Вказівка присвоювання Вказівка присвоювання Вказівка присвоювання має вигляд сім’я змінної>:=свираз>
  • 38. програма. Мова програмування 37 A?43+Q ALFA.*=6*I>, ZI— 12; Змінна і вираз повинні бути одного типу. Виняток становить випадок ійсної змінної, коли вираз може бути і цілого типу. Наприклад, Var A:real; B,C:integer; begin A?=ö+Q end. Виконується вказівка присвоювання таким чином: спочатку обчислюється значення виразу в правій частині вказівки присвоювання і це значення при­ своюється змінній, яка записана в лівій частині даної вказівки. Вказівка введення даних Загальний вигляд вказівок введення даних з клавіатури: Read(cnncoK); Readln(cimcoK); Наприклад. Read(X,Y,Z); Readln(X,Y,Z); В списку перелічуються через кому імена змінних, значення яких вво­ диться з клавіатури. Після, введення значення однієї змінної натискується клавіша Enter. Потім вводиться значення другої змінної і знову натискується клавіша Enter. І так повторюється виконання дій до тих пір, поки не буде введено значення всіх змінних. Можна ще записати всі значення змінних в одному рядку, відділивши їх одне від одного проміжками (але не комами) і потім натиснути клавішу Enter. Між вказівками Read і Readln є деяка різниця.
  • 39. 38 Мова програмування Паті Ф м т т т * т т т . т * м т т т п я т ф т * т т я т * т ш т т ш » . ш » т т я літи ■ т х т д и т т я т і т і Після виконання вказівки Read курсор залишиться в цьому ж рядку. Під виконання вказівки Readln буде зроблено перехід у наступний рядок. Вказівка виведення даних Виведення даних виконується вказівками W rite і Writela. Загальний вигляд цих вказівок: Write(cnHCOK); Writeln(cnHcoK); ■ і І і 1 ■ І щ 1 1 Н щ ш ш д, Write(X,Y,Z); Writeln(X); Writeln(Y); Writeln(Z); Y сциску перелічуються через кому імена змінних, вирази тіа текстов константи. Якщо у списку є вираз, то він попередньо обчислюється, а вжк потім результат виводиться на екран. Наприклад, write(X,X+Y,Z); Між вказівками Write і Writeln є деяка різниця. її можна продемонструва ти прикладами. При виконанні вказівки Write значення змінних X,Y,Z будуть виводитися в одному рядку почергово, так як вони записані. 1 При виконанні вказівки Writeln значення кожної змінної X,Y,Z будуть: виводитися в окремих рядках. Тобто, після виведення значення змінно! Xj буде зроблено перехід у наступний рядок і т. п. * і 23 12 8 {Виведення даних з допомогою вказівки Write} 23 ~ 12 {Виведення даних з допомогою вказівки Writeln} 8 J Для зручності виведення даних користуються своєрідними підказками користувача (текстовими константами). і Writefo(‘X=’)X);
  • 40. рограма. Мова програмування 39 Writeln(‘Y=Y); Writeln(‘;& =’,Z); На екран буде виведено результат: ХЗ Y =42 Ш Як бачимо з прикладу, текстові константи (‘X - , ‘Y=’, ‘Z=’) або підказки корисіувача повинні з двох боків братися в лапки і відділятися від змінної комою. Для зручності введення даних користуються поєднанням вказівок Read і Write. Наприклад. Write(‘BBefliTb значення X: ‘); Readln(X); WriteOBeefliTb значення Y: *J| Readln(Y); Write(‘Bвeдiть значення Z: *); Readln(Z); Загальний вигляд послідовного виконання даних вказівок: Введіть значення X: 23 Введіть значення Y: 12 Введіть значення Z: 8 Друкування результатів за допомогою принтера в цілому співпадає з ви­ веденням даних на екран, тільки у вказівках Write або Writeln треба писати ім’я файла1 Lst і в розділі Uses записати ім’я модуля2 Printer. Наприклад. Uses Crt, Printer; begin ч вд д о к зд end. ‘Файл — це впорядкований набір однотипних записів, які зберігаються на носіях інформації під одним іменем. 2 Модуль — Див. п. SJ
  • 41. Мова програмування І 40 Існує ще один спосіб керуванням виведення інформації. Можна вказш ширину поля для кожного елемента виведення, форму запису числових з Я чень. Здійснюється це з допомогою двох цілочисельних величин, які зап и в ються у вказівці Write після відповідного елементу виведення і відділяютш від нього і між собою двокрапкою — . щ Наприклад. 1 Write(Xl :3:2,Х2:4:1) 1 Перша величина вказує мінімальну ширину поля, яка відводиться д і даного елемента виведення (для XI — відводиться 3 позиції, для Х2 4 4 позиції). Якщо елементу виведення необхідно меншу кількість позицій, ц перші незайняті позиції заповнюються проміжками. Якщо елемент виведем ня не поміщається у відведене для нього поле, то для нього буде добавлені стільки позицій, скільки необхідно. Перед дійсними числами записується щсй найменше один проміжок. Друга величина, яка записується після ширині поля, використовується для запису дійсних чисел (real) і вказує кількісті десяткових знаків, які будуть записуватися після десяткової крапки (XI н записується з точністю 2 цифр після коми, Х2 — 1 цифри). При цьому числ<| виводиться у формі з фіксованою крапкою. Якщо ж точність не вказана, т і число виводиться у формі з плаваючою крапкою (Див. п. 4.3 Дійсний тип), Наприклад. Var Yl,Y2:real; begin Yb=57; Y2:=56.3458; Writeln(‘Y l=Y l:2:l); Writeln(JY2=,,Y2:3:2); end. Буде надруковано такий результат: Yl=€7.0 Y2=5635 Складена вказівка Складена вказівка — це послідовність довільних вказівок програми, відокремлених одна від одної крапкою з комою, взятих в дужки — службові (зарезервовані) слова begin ... end.
  • 42. Програма. Мова програмування 41 Формат; begin <вказівка1>; <вказівка2>; <вказівкаИ> end; Після службового слова end ставиться крапка з комою. У деяких випад­ ках, коли складена вказівка використовується у вказівках розгалуження, крап­ ка з комою може і не записуватися. Нащ шишд* begin Аз=$ S:=A+B; writeln(‘S=S) end; Не існує ніяких обмежень на характер вказівок, які входять у складену вказівку. Серед них можуть бути і інші складені вказівки. Наприклад. begin <вказівка1>; <вказівка2>; begin <вказівкаЗ>; <вказівка4>; end; <вказівка5> end; Складена вказівка сприймається як одне ціле і може записуватися у довільному місці програми, де синтаксис мови дозволяє наявність вказівки.
  • 43. Мова програмування Пасм 42 3.10 Запитання, завдання, тести Запитання для самоконтролю: 1. Як записується і виконується вказівка введення даних мовою Пасі 2. Яка різниця між вказівками Read і Readln? 3. Як записується і виконується вказівка виведення даних мовою Пасі 4. Яка різниця між вказівками Write і Writeln? 5.Як записується і виконується вказівка присвоювання мовою Паскалі Завдання для самостійного виконання 1. Яке значення буде мати змінна X, після почергового виконання вказівоіі Х.-10; Х-Х+3; Х=,_ 2. Запишіть вказівки введення даних дня змінних: а) А ___________ б) Міп^___________________________________________ . в) В І____________________________________ ___________ _ г) а, Ь, с, d_____________ j___________________ __________ _ 3. Запишіть вказівки виведення даних для змінних: а) Ш __________ ■ ___________________________ _____ б) а, Ь, с, d в) х+у, z __ Тести 1. Вкажіть, які із записаних вказівок введення даних є правильними, а які і чому? Г) read[X,YJ; а) read(X+l,Y); б) read(X); д) read X; е) read(X,X*Y); в) read(X),(Y); г) read(X,Y); є) read(-X,Y); Неправильні: _ Правильні: 2. Вкажіть, які із записаних вказівок виведення даних є правильними, а ні і чому? а) write(X;Y); б) write(A В); в) write AJB; Г) write[A,B]; д) write5; е) write(A,B*C);
  • 44. іл Шь ііш &> і Програма. Мова програмування г) write(A,B); Правильні: _ 43 є) write(-A,B); Неправильні: _ _ . Вкажіть, які із записаних вказівок присвоювання є правильними, а які ні чому? а)А*=С; г)-В=А-С; б) А:В+С; ґ)2*(>А+3*В в)С:=С+2; Неправильні: _______ ___ Правильні:________________ 4. Початкові значення змінних: Х=2, У=~1. Вкажіть, які пари значень X і У з правого стовпчика відповідають значенням для виразів X і У з лівого. а)х~1;у=ф 1)Х:=Х+2*У;У:=У-У; 2)_У:=-У; Х:=Х+У; У^У+Х; ___________ в)*=0,у^ г)*=3;у=1; 3) Х:=Х+У; У=Х+У; і)*=3;5»4; ЗЛІ Стандартні типи змінних. Опис типів змінних Цілі або цілочисеяьні типи Цілі числа складаються з декількох цифр і, можливо, знаку Якщо знак не вказаний і число не дорівнює нулю, то воно додатне. Дійсні типи Дійсні числа — це десяткові дроби і, в окремому випадку, цілі числа, записані у вигляді десяткового дробу. Наприклад. Числа 5; 0 — цілі числа, 5.0 ; 0.0— дійсні числа Дійсні числа можуть бути записані двома способами: — з фіксованою крапкою ( 5.45; 9.23 ); — з плаваючою крапкою ( ЗЕ+5; -8.1Е-4); Запис числа з фіксованою крапкою. Ціла і дробова частини дійсного числа розділяються десятковою крайкою, а не комою!
  • 45. 44 Наприклад, 1 0,39; -37.4 і Число не може починатися з крапки і не може нею закінчуватися. Запн 0. і .89 недопустимі. 1 Запис числа з плаваючою крапкою 1 У тому випадку, коли необхідно записати дійсне число зі степенем 1 (наприклад 2.315*10“3 використовується буква Е, справа від якої знаходив ), ся показник степеня (2.315Е-03). Букву Е, яка входить в склад числа, потрібн читати, як “помножити на 10 в степені...” І Наприклад. 1-ий рядок — звичайна математична форма запису числа 2-ий рядок — запис числа мовою програмування Паскаль І; -5; 0,25; 1,7*10^; +49,22; -гДШ ’ЧО5 1; -5; 0.25; 1.7Е-04; +49.22; -2.035Е+05 Булевий тип 1 1 1 І 1 І гтт/у TRUE, якщо X — непарне число і L FALSE, якщо X — парне число І Результат даної функції належить до булевого типу. 1 Результат виконання операцій порівнянну (=, <, >, >=, <=, <>) над даним! одного типу належить до булевого типу ЗЛ2 Опис програм за правилами мови програмування Програма реалізує алгоритм розв’язання задачі. Вона об’єднує послі1 довність виконання конкретних вказівок над конкретними даними дл4 реалізації конкретно поставленої мети. Програма складається із заголовка і блоку. Заголовок програми складається з службового слова Program та імені програми, після якого ставиться — Program SUMMA; І Ім’я проірами може бути довільним (але бажано щоб співпадало зі змістом програми) і записується згідно з правилами запису ідентифікаторів.