МІНІСТЕРCТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ICM
Лабораторна робота №1
“Iнтегроване cередовище компилятора
Тurbo Pascal 7.0”
Виконав:
cтудент гр. КН-1
Львів 2006
1 Мета роботи
Ознайомитись з оболонкою інтегрованого середовища версіі 7.0 компілятора turbo pascal, командами меню, "гарячими" клавішами, текстовим редактором, основнимим прийомами роботи з інтегрованим середовищем, текстовим редактором та планом роботи при створенні та відлагожденні програм
Середовище Turbo Pascal
1. Середовище програмування Turbo Pascal 7.0. Поширені два середовища програмування мовою Паскаль: Turbo Pascal 7.0 і Borland Pascal для MS-DOS і Windows. Вони призначені для підготовки текстів програм мовою Паскаль та їхнього виконання. Принципи складання програм (окрім роботи з графікою у Windows) для них однакові. Основні файли середовища Turbo Pascal 7.0 такі: turbo.exe (основний виконуваний файл, обсяг 402 Кбайт), turbo.tpl (бібліотека, 48 Кбайт, однак може залежити від конфігурації), turbo.tph (допомога, 730 Кбайт), graph.tpu (модуль для роботи з графікою, 33 Кбайти). Для входу у середовище треба виконати команду turbo.exe. У верхньому рядку екрана буде розташоване головне меню, а в нижньому — опис деяких функціональних клавіш. Щоб активізувати (увійти в) головне меню, потрібно натиснути на клавішу F10. У розпорядженні користувача будуть такі пункти меню:
File Edit Search Run Compile Debug Options Window Help
— для роботи з файлами; — для редагування файлу; — для відшукання чи заміни заданого фрагмента тексту; — для виконання програми; — для компіляції програми та створення exe-файлу; — для налагодження програми; — для конфігурування середовища; — для конфігурування вікон і роботи з ними; — для надання допомоги.
Потрібний пункт вибирають стрілками переміщення курсора або мишкою і натискають на клавішу вводу. Можна скористатися комбінацією клавіш Alt+<висвітлена буква>: натиснувши й утримуючи клавішу Alt, натискають на клавішу з висвітленою буквою і відпускають обидві клавіші. Розглянемо основні етапи, з яких складається сеанс роботи. 1. Активізують головне меню (натискають на F10)) і пункт File. Отримують додаткове (спадне) меню. У ньому вибирають команду New (будемо записувати так: F10ÞFileÞNew). Середовище переходить у режим створення нового файлу з назвою NONAME00.PAS. Набирають текст програми. 2. Для виправлення очевидних помилок уведення користуються традиційними прийомами редагування тексту, зокрема, такими комбінаціями клавіш для роботи з блоками (фрагментами) тексту:
Shift+стрілки — виокремити чи зняти виокремлення блоку тексту; Ctrl+Insert — копіювати блок у буфер обміну; Shift+Del — перемістити блок з тексту у буфер; Shift+Insert — вставити текст з буфера у позначене курсором місце основного тексту; Ctrl+Del — вилучити виокремлений блок з тексту; Ctrl+Y — вилучити рядок, де є курсор; Ctrl+Q, Y — вилучити текст від курсора до кінця рядка; Ctrl+N — вставити рядок; Ctrl+PgUp — перейти до початку тексту; Ctrl+PgDn — перейти до кінця тексту.
Ці акорди пам’ятати не обов’язково. Опис перших чотирьох побачите, активізувавши пункт головного меню Edit (Alt+E). 3. Якщо очевидних помилок немає, програму можна компілювати і виконати (F10ÞRun або за допомогою комбінації клавіш Ctrl+F9). 4. Якщо система виявить синтаксичні помилки, то про це буде негайно повідомлено. Курсор буде в рядку, де допущено помилку, або безпосередньо вказуватиме на позицію з помилкою. У верхньому рядку буде повідомлення червоного кольору про зміст помилки, що суттєво полегшує її виправляння. Середовище перебуватиме в режимі редагування і помилку можна буде виправити. Тепер вдруге компілюють і виконують програму (натискають на Ctrl+F9). Виправляють наступну помилку у разі потреби і т.д. 5. Якщо синтаксичних помилок немає, програма буде виконана. Результати можна побачити у вікні результатів, для чого натискають на Alt+F5 або використовують засоби пункту Debug. Натиснувши після перегляду результатів на будь-яку клавішу, переходять у режим редагування програм. 6. Щоб для заданого pas-файлу створити exe-файл послідовно виконуємо F10ÞCompileÞDestinationÞDisk. Натискають на Alt+F9 і в поточний каталог на диску буде записано exe-файл, який можна виконувати поза середовищем. 7. Щоб зберегти текст програми у файлі з розширенням pas, активізують F10ÞFileÞSave As, якщо файлу дають нове ім’я, або F10ÞFileÞSave (достатньо натиснути на клавішу F2) для зберігання файлу зі старим іменем. 8. Для закінчення сеансу роботи і виходу з середовища потрібно виконати F10ÞFileÞExit або натиснути на клавіші Alt+x. 9. Для роботи з програмою, що є на диску, виконують F10 Þ File Þ Open або натискають на клавішу F3. Отримаємо діалогове вікно. За допомогою клавіші Tab переходимо в нижню частину вікна і вибираємо серед імен файлів потрібний файл, натискаємо на клавішу вводу. Текст програми буде занесено у вікно редагування. 10. Вікон з програмами може бути декілька. Переходити від одної програми до іншої можна за допомогою клавіші F6. Щоб розкрити на весь екран чи згорнути вікно, користуються клавішею F5. Зручно розташувати вікна на екрані можна засобами пункту Window. Щоб закрити активне вікно, натискають на Alt+F3 або клацають мишею на значку прямокутника в рамці вікна. 11. Якщо потрібна додаткова інформація, натискають на клавішу F1 і читають інформаційно-довідкові тексти про середовище і синтаксичні конструкції мови Турбо Паскаль. Зауваження. У середовищі Borlаnd Pascal for Windows немає суттєвих відмінностей від описаних вище правил роботи. Повідомлення про помилку буде в нижній частині екрану. На початку програми потрібно писати команду uses WinCrt замість uses Crt. Деяких вправлянь потребує робота з навігатором файловою системою (команди Save as... чи Open). 2. Коди типових помилок. ТР 7.0 генерує два типи повідомлень про помилки: помилки компіляції і помилки виконання. Коди помилок компіляції, які найчастіше зустрічаються в процесі налагодження програми, мають такі номери:
3 Unknown identifier (Невідомий ідентифікатор). Цей ідентифікатор не був описаний. 4 Duplicate identifier (Повторення ідентифікатора). 5 Syntax error (Синтаксична помилка). 14 Invalid file 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); критичні помилки (коди з 150 до 199); фатальні помилки (з 200 до 255). Ось деякі з них:
2 Path not found (Шлях не знайдено). 103 File not open (Файл не відкритий). 104 File not open for input (Файл не відкритий для введення). 105 File not open for output (Файл не відкритий для виведення). 153 Unknown command (Невідома команда). 200 Division by zero (Ділення на нуль). 215 Arithmetic overflow error (Помилка під час виконання математичної операції).
3. Таблиця кодів ASCII. Таблиця кодів ASCII (American Standard Code for Information Interchange) складається з двох частин: базової з кодами від 0 до 127 і розширеної з кодами від 128 до 255. Коди від 0 до 32 зарезервовані для системних символів, коди від 128 до 175 і від 224 до 255 – для символів національних алфавітів, коди від 176 до 223 – для символів псевдографіки, за допомогою яких можна створити нескладні графічні зображення в текстовому режимі екрана. Перша чи перші дві цифри коду позначають номер рядка, а остання – номер стовпця, на перетині яких розташований відповідний символ. Наприклад, число 75 є кодом великої латинської літери К, а кириличній літері Л відповідає код 139. Розгляньте таблицю кодів від 30 до 255
4. Директиви компілятора. Директиви компілятора призначені для задання нестандартних режимів компіляції програми. Вони впливають на ефективність виконання програм. Розглянемо дві групи директив: 1) директиви-перемикачі; 2) директиви з параметрами. Перші мають такий загальний вигляд:
{$<символ> <знак + або –>}.
Режими компіляції можна задавати чи відміняти за допомогою команд Option ð Compiler ð <команда компілятора>, або знаків "+" чи "–" в директивах-перемикачах. Один з режимів (частіше вживаний) діє за замовчуванням. Тому режими міняють не завжди, а лише у разі потреби. Розглянемо директиви-перемикачі. {$A+} – вирівнювання даних на границю слова, а не байта. Резервується більше пам’яті, але програма виконується скоріше. Діє за замовчуванням. Команда компілятора – Word Allign Data. {$B–} – коротка схема обчислення логічного виразу. Обчислення закінчуються достроково, як тільки результат стане очевидним. За замовчуванням діє {$B+} – Complete Boolean Evaluation. {$D+} – Debug Informatin – дає інформацію про команди в тексті програми, в яких допущено помилки. Діє за замовчуванням. {$E+} – Emulation – емуляція співпроцесора програмним шляхом. Діє за замовчуванням. {$F+} – Force Far Calls – "віддалений" тип виклику процедур і функцій. За замовчуванням не діє. {$G+} – 286 Instructions – використовують на машинах з процесором типу 80286 і тільки. За замовчуванням не діє. {$I+} – I/O Checking – програма негайно перестане виконуватися у разі помилок вводу-виводу даних. Діє за замовчуванням. {$L+} – Local Symbols – генерує debug-інформацію про локальні змінні. Діє за замовчуванням, якщо діє {$D+}. {$N+} – 8087/80287 – для обчислень з плаваючою комою використовується співпроцесор. Якщо на машині співпроцесора немає, то для таких обчислень треба відмінити цей режим, задавши {$N-}. {$O+} – Overlays Allowed – генерує оверлейний код для великих програм. За замовчуванням не діє. {$P+} – Open Parameters – дає змогу використовувати в ролі параметрів масиви відкритого типу. За замовчуванням не діє. {$Q+} – Overflow Checking – реагує на переповнення під час виконання математичних операцій. За замовчуванням не діє. {$R+} – Range-Checking – перевірка чи не виходять значення даних за межі описаних діапазонів. За замовчуванням не діє. {$V+} – Strict Var String – формальні і фактичні параметри текстових даних повинні бути однакової довжини. За замовчуванням діє {$V-}, що дає змогу не контролювати довжину фактичного текстового даного. {$X+} – Extended Syntax – дає змогу інтерпретувати функцію як процедуру. За замовчуванням не діє. З-поміж директив з параметрами розглянемо три: {$I <назва файлу>) – Include Directories – дає змогу приєднати на етапі компіляції до тексту програми додатковий текст, наприклад директива {$I *.dfm} під’єднує всі файли з розширенням dfm; {$L <назва об’єктного файлу>) – Object Directories – дає змогу приєднати на етапі компіляції до програми деякий об’єктний код; {$M <розмір стеку від 1024 до 65520>,<розмір динамічної ділянки від 0 до 655360>} – Memore Sizes – ефективно розподіляє пам’ять для даної програми. Директиви-перемикачі A, D, E, L, N, O, P, Q, X і директива з параметром М є глобальними – вони мають бути записані відразу після назви програми, інші директиви є локальними – вони можуть розташовуватися в будь-якому місці програми
Результати тестування і досідження програми
Program test;
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.
Це програма для обчисленя натуральних чисел від 1 до N, тобто S=1+2+3+…..+N
Висновки по роботі
В процесі роботи я навчився користуватися інтегрованим cередовищем компілятора Тurbo Pascal.