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

bobalo(1)

.pdf
Скачиваний:
588
Добавлен:
12.02.2016
Размер:
1.24 Mб
Скачать

Відкриття вікна для введення нової програми

1.Відкрити меню File.

2.Викликати команду New.

Запис нової програми на диск

1.Відкрити меню File.

2.Викликати команду Save as… Відкриється діалогове вікно Save File As, де у полі Save File As вводиться ім’я файла для нової програми. У цьому вікні є також можливість записати нову програму під яким-небудь з існуючих імен файлів. Для цього потрібно натиснути клавішу Tab (курсор переміститься у поле Files) та вибрати ім’я файла зі списку.

3.Натиснути клавішу Enter. У випадку запису під існуючим іменем буде

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

Відкриття файла для редагування

1.Відкрити меню File.

2.Викликати команду Open… (Дія клавіши F3 еквівалентна виконанню цієї команди)

3.На екрані з’явиться діалогове вікно Open a File. Поле Name містить

шаблон для відбору файлів, що виводяться у полі Files. За замовчуванням пропонується шаблон *.PAS. У полі Files виводиться перелік файлів, які відповідають шаблону, що знаходяться у поточному каталозі диска.

4а) натиснути клавішу Tab (Курсор переміститься у поле Files) та вибрати ім’я файла зі списку.

4б) змінити шаблон у полі Name, після чого виконати дію пункту 4а. 4в) ввести ім’я файла безпосередньо у полі Name.

5. Натиснути клавішу Enter. У випадках 4а та 4б – двічі.

Збереження програми активного вікна під старим іменем

Спосіб I. Натиснути клавішу F2. Спосіб II.

1.Відкрити меню File.

2.Викликати команду Save.

Запуск програми активного вікна на виконання

Натиснути “гарячі” клавіші Ctrl+F9

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

Для очищення екрана у програмі необхідно виконати таке:

31

у розділі Uses вказати стандартний модуль CRT (uses Crt);

на початку операторного блоку програми викликати процедуру ClrScr;

Приклад:

Program PR; uses Crt;

var A: Integer; begin ClrScr; Readln(A);

Writeln (’A=’, A); end.

Приблизний план роботи при створенні та відлагодженні нової програми

1.Відкрити нове вікно редагування для введення нової програми

(File/New).

2.Набрати текст нової програми.

3.Записати текст програми на диск (F2).

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

4.Запустити програму на виконання (Ctrl+F9).

5.Якщо у програмі були допущені синтаксичні помилки, на екрані з’явиться відповідне повідомлення, а курсор вкаже місце помилки. У цьому випадку необхідно виправити помилку за допомогою команд редактора середовища Turbo Pascal та знову запустити програму на виконання.

6.Переглянути результати виконання програми (Alt+F5).

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

8.Повторити пункти 4–7 до отримання правильних результатів.

9.Зберегти відлагоджену програму на диску (F2).

Коди типових помилок

ТР 7.0 генерує два типи повідомлень про помилки: помилки компіляції і помилки виконання.

Коди помилок компіляції, які найчастіше зустрічаються в процесі налагодження програми, мають такі номери:

3 Unknown identifier (Невідомий ідентифікатор). Цей ідентифікатор не був описаний.

32

4Duplicate іdentіfіer (Повторення ідентифікатора).

5Syntax error (Синтаксична помилка).

14

Invalid fіle name (Недопустиме ім’я файла). Ім’я файла неправильне

або вказано неіснуючий шлях.

26

Type mismatch (Невідповідність типів).

42

Error in expression (Помилка у виразі).

62

Division by zero (Ділення на нуль).

64

Cannot Read or Write variables of this type (Немає можливості зчитати

або записати змінні даного типу).

85

“;” expected (Очікується символ “;”)

91

“:=” expected (Очікується символ “:=”)

94“.” expected (Очікується символ “.”)

95“..” expected (Очікується символ “..” ).

Повідомлення про помилки виконання. Помилки виконання поділяються на: помилки на рівні DOS (коди з 1 до 99 ); помилки введення–виведення (коди з 100 до 149); критичні помилки (коди з 159 до 199);фатальні помилки (з 200 до 255). Ось деякі з них:

2 Path not found (Шлях не знайдено).

103File not open (Файл не відкритий).

104File not open for input (Файл не відкритий для введення).

105File not open for output (Файл не відкритий для виведення).

153Unknown command (Невідома команда).

200Division by zero (Ділення на нуль).

215Arithmetic overflow error (Помилка під час виконання математичної

операції).

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

1.Для чого призначене інтегроване середовище Turbo Pascal?

2.Як вибирається команда меню?

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

“миша”?

4.За допомогою якої команди меню можна закрити або відкрити вікно повідомлень? Яку команду підменю треба вибрати?

5.Як можна перемістити фрагмент редагованого тексту з одного місця в

інший?

6.Як можна виділити фрагмент тексту?

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

33

8.Які операції можна виконувати, активізувавши команду Window?

9.Що таке “гарячі клавіші”?

10.Яка команда основного меню дає змогу проводити відлагодження

програми?

4.ЛАБОРАТОРНЕ ЗАВДАННЯ

1.Ознайомитись з командами інтегрованого середовища.

2.Відкрити вікно для введення нової програми.

3.Набрати у текстовому редакторі інтегрованого середовища просту

програму мовою Паскаль.

Наприклад: Обчислити суму натуральних чисел від 1 до N, тобто

S = 1+2+3+4+....+N

PROGRAM TEST (INPUT, OUTPUT); VAR

S, I, N : INTEGER; BEGIN

WRITE(’ВВЕДИ N: ’); READLN(N);

S :=0;

FOR I :=1 TO N DO

S :=S+I; WRITELN(’S=’,S)

END.

4.Записати створену програму на диск.

5.Запустити програму на виконання.

6.Відслідкувати покрокове виконання програми, зробити проміжне

виведення значень змінних S та I у процесі виконання циклу у вікні Watch.

7. Промоделювати ситуацію з помилками (навмисно ввести вручну) на етапі компіляції та на етапі виконання програми.

5. ЗМІСТ ЗВІТУ

1.Мета роботи.

2.Короткий опис особливостей роботи в інтегрованому середовищі Turbo

Pascal.

3.Результати тестування і дослідження програми.

4.Моделювання помилок у програмі і відповіді компілятора на конкретну

помилку.

5. Аналіз результатів і висновки по роботі.

34

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

НАЙПРОСТІШІ КОНСТРУКЦІЇ АЛГОРИТМІЧНОЇ МОВИ ПАСКАЛЬ

35

1. МЕТА РОБОТИ

Мета роботи – вивчення основних понять алгоритмічної мови Паскаль, структури програми, поняття введення–виведення і оператора присвоєння.

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

Алгоритмічна мова Паскаль була розроблена професором Швейцарської вищої школи Ніклаусом Віртом і опублікована у 1971 році. Призначенням мови Паскаль було навчання студентів основам програмування. Але мова виявилась настільки вдалою, що знайшла широке застосування в прикладних задачах як функціонального, так і системного програмування.

Мова Паскаль є прикладом мови “дисциплінованого програмування”. У

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

ірозширювати існуючі.

2.1.МЕТОДИ ОПИСУ АЛГОРИТМІЧНИХ МОВ. СИНТАКСИЧНІ ДІАГРАМИ

Для того, щоб описати синтаксис і семантику будь-якої мови: як алгоритмічної, так і живої (розмовної), необхідно мати відповідний інструмент. Розробленням такого інструмента займається наука “Лінгвістика”. Для опису алгоритмічних мов найпоширенішими стали три методи подання їхньої граматики:

1.Нормальна форма Бекуса (БНФ).

2.Дужкова форма;

3.Синтаксичні графи або діаграми.

Нормальна форма Бекуса (БНФ) – метасинтаксична мова, розроблена для опису синтаксису алгоритмічної мови Алгол-60. Основне її призначення полягає в тому, щоб у стислому і компактному вигляді строго формальних і однозначних правил описати основні конструкції алгоритмічної мови.

Для прикладу наведемо граматику цілого числа у вигляді БНФ:

1.<десяткове ціле число> ::= <число без знака> | + <число без знака> | - <число без знака>

2.<число без знака> ::= <цифра> | <число без знака> <цифра>

3.<цифра> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Тут слова, взяті в кутові дужки “< >”, означають металінгвістичні змінні, зміст яких розкривається після металінгвістичної зв’язки ”::=” “– замінити на“.

Символ “|” означає “або”.

36

Тобто, щоб одержати число -29 треба виконати ряд підстановок: <десяткове ціле число > => - <число без знака> => - <число без знака>

<цифра>=> - <число без знака>9 =>-<цифра> 9 =>–29 Синтаксичні діаграми Вірта – найбільш наочний метод подання грама-

тики алгоритмічних мов.

У синтаксичній діаграмі розрізняють два види символів:

1)термінальні символи мови – це коло або овал на діаграмі;

2)нетермінальні символи – металінгвістичні змінні – прямокутник. Так, синтаксична діаграма для опису цілого числа має вигляд, як на рис.1.

+

Ціле

-

Числобезбез ззнакуа

Числослобез зназ акаку

Цифра

Цифра

0

1

2

.

9

Рис. 1. Синтаксична діаграма для розпізнання цілого числа

З кожного елемента виходить одна або декілька стрілок, що вказують на ті елементи, які можуть розміщуватись після даного елемента. Якщо стрілка вказує назад – це означає рекурсію, тобто на рис.1 в стрілка назад ілюструє правило рекурсії (визначення самого себе):

<число без знака>::=<число без знака><цифра> Стрілка, що не виходить із жодного елемента, означає початок діаграми;

стрілка, що не входить у жодний елемент – кінець діаграми.

2.2. АЛФАВІТ АЛГОРИТМІЧНОЇ МОВИ ПАСКАЛЬ

Алфавіт мови Паскаль складають:

1. Великі та малі літери латинського алфавіту від A до Z і знак підкреслювання.

37

2.Арабські цифри від 0 до 9.

3.Прості спеціальні символи: +, -, *, /, :, ;, ., ,, =, >, <, [, ], (, ), ^, { , } ,

4.Складені спеціальні символи: .., :=, <>, >=, <=

5.Службові (зарезервовані) слова:

AND – логічне і

ARRAY – масив

BEGIN – початок

CASE – варіант

CONST – константа

DIV – цілочислове ділення

DO – виконати

DOWNTO – зменшити до

ELSE – інакше

END – кінець

FILE – файл

FOR – для

FUNCTION – функція

GOTO – перейти на

IF – якщо

IN – належить

LABEL – мітка

MOD – остача від ділення

NOT – логічне заперечення (ні)

OF – із

OR – логічне або

PACKED – упакований

PROCEDURE – процедура

PROGRAM – програма

RECORD – запис

REPEAT – повторити

SET – множина

THEN – тоді

TO – до

TYPE – тип

UNIT – модуль

VAR – змінна

WHILE – поки

WITH – разом з

UNTIL – доки

 

2.3. ЕЛЕМЕНТАРНІ КОНСТРУКЦІЇ МОВИ ПАСКАЛЬ

Елементарними конструкціями мови Паскаль є:

1)імена або ідентифікатори;

2)числа;

3)рядки.

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

1)стандартні ідентифікатори;

2)ідентифікатори користувача.

Стандартні ідентифікатори використовуються для позначення заздалегідь означених розробником мови об’єктів:

a) типів даних; б) констант; в) процедур;

38

г) функцій; д) файлів.

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

 

 

 

Таблиця 2.1

 

 

 

Функції

 

 

Константи

Типи

Процедури

Файли

FALSE

BOOLEAN

GET

ABS

INPUT

 

TRUE

CHAR

NEW

ARCTAN

OUTPUT

 

 

INTEGER

PACK

CHR

 

 

 

REAL

PUT

COS

 

 

 

TEXT

READ

EOF

 

 

 

 

READLN

EOLN

 

 

 

 

RESET

EXP

 

 

 

 

REWRITE

LN

 

 

 

 

UNPACK

ORD

 

 

 

 

WRITE

ODD

 

 

 

 

WRITELN

PRED

 

 

 

 

 

ROUND

 

 

 

 

 

SIN

 

 

 

 

 

SQR

 

 

 

 

 

SQRT

 

 

 

 

 

SUCC

 

 

 

 

 

TRUNC

 

 

Наприклад, ABS – ідентифікатор для означення стандартної функції абсолютного значення від x – |x|, COS – означення стандартної функції cos(x).

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

Треба пам’ятати основні чотири правила запису ідентифікаторів користувача:

1.Ідентифікатор складається з букв, цифр і знаку підкреслення. Жодні інші спеціальні символи до складу ідентифікатора входити не можуть.

2.Першою повинна бути тільки буква.

3.Максимальна довжина ідентифікатора – 127 символів, але розрізняються компілятором перші вісім.

4.Ідентифікатори користувача в мові Паскаль не повинні збігатися зі стандартними ідентифікаторами або із службовими словами.

Приклади правильно записаних ідентифікаторів: x, y, x2, sum, SUM3, min,

Lx2.

Приклади ідентифікаторів, записаних з помилками:

39

2x – першою не є буква.

LS 1 – в ідентифікаторі є недопустимий символ – пропуск.

MAX-1 – в ідентифікаторі є недопустимий символ – мінус.

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

Наприклад: максимальне або мінімальне значення доцільно назвати MAX або MIN, суму – SUM. Треба пам’ятати, що великі і малі літери в ідентифікаторах не розрізняються, тому ідентифікатори MAX, Max i max – це один і той самий ідентифікатор.

Цілі числа записуються у формі послідовності цифр і у пам’яті машини представляються дискретно (однозначно). Наприклад, 244, 12, -77.

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

ЕОМ:

для шістнадцятирозрядних ЕОМ лежать у межах - 32768 32767,

тобто – (215 +1) (215-1).

Числа дійсного типу мають дві форми запису:

1)з фіксованою крапкою;

2)з плаваючою крапкою.

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

27.425; -327.48; -0.2749; тощо.

Числа з плаваючою крапкою використовуються для запису як дуже великих, так і дуже малих чисел. Десятковий порядок записується буквою Е:

1.327Е-6; -0.792Е-12; 1.54Е9

Числа дійсного типу в пам’яті не представляються дискретно. Діапазон зміни дійсного числа залежить від класу ЕОМ і для наших комп’ютерів лежить в межах – 10-38 1038.

Рядки – це послідовність символів, записаних між апострофами: ’Введи початкові значення’ ’Львівська політехніка’.

2.4. ПОНЯТТЯ КОНСТАНТИ І ЗМІННОЇ

Константа – це значення, яке не змінюється у процесі виконання програми. Константи записуються або значеннями: 2.73, 5, або іменами: Pi, EPS – іменовані константи.

Константи можуть бути дійсного, цілого логічного і символьного типів. Цілого: 5, 20;

Дійсного: 3.141592, 2.72, 2.74E-4;

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]