рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Алгоритмічна мова TURBO PASCAL

Алгоритмічна мова TURBO PASCAL - раздел Философия, Міністерство Освіти І Науки України Дрогобицький Державний Педагогіч...

Міністерство освіти і науки України

Дрогобицький державний педагогічний університет

імені Івана Франка

 

Методичний посібник

 

 

Дубровін О.Ф., Одрехівський М.В., Угрин Л.Є.

 

Алгоритмічна мова TURBO PASCAL

 

Лабораторний практикум

 

 

Дрогобич - 2005


 

 

Дубровін О.Ф., Одрехівський М.В., Угрин Л.Є. Алгоритмічна мова TURBO PASCAL. Лабораторний практикум. // Методичний посібник. – Дрогобич: Каменяр, 2005. – 134 с.

 

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

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

 

Рецензенти:

Дорошенко М. В., доцент кафедри Інформатики та обчислювальної математики, кандидат фізико-математичних наук, доцент.

Куновський Ю.Б., професор Міжрегіональної академії управління персоналом, кандидат технічних наук.

 

 

Рекомендовано до друку Вченою радою Дрогобицького державного педагогічного університету імені Івана Франка (протокол №21 від 17.11.2005р.)

 


Зміст

Передмова. 6

Вступ. 7

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

1.1. Теоретичні відомості 9

1.1.1. Система вiкон середовища. 9

1.1.1.1. Вікна редагування. 9

1.1.1.2. Вікна діалогу. 10

1.1.1.3. Інформаційні вікна. 11

1.1.1.4. Вікна меню.. 12

1.1.1.5. Робота з меню.. 13

1.1.1.5.1. Меню роботи з файлами (File) 13

1.1.1.5.2. Меню редагування (Edit) 13

1.1.1.5.3. Меню пошуку інформації (Search) 14

1.1.1.5.4. Меню виконання програми (Run) 14

1.1.1.5.5. Меню компіляції (Compile) 15

1.1.1.5.6. Меню відлагодження (Debug) 15

1.1.1.5.7. Меню вiкон (Window). 16

1.1.1.5.8. Меню інформаційної допомоги (Help) 16

1.1.1.5.9. Локальне меню. 17

1.1.2. Основні прийоми роботи в середовищі 17

1.2. Завдання. 18

1.3. Контрольні запитання з теми. 18

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

2.1. Теоретичні відомості 20

2.1.1. Загальна структура Pascal-програми. 20

2.1.1.1. Заголовок програми. 20

2.1.1.2. Описова частина Pascal-програми. 20

2.1.1.2.1. Розділ позначок (міток) 20

2.1.1.2.2. Розділ констант. 21

2.1.1.2.3. Розділ типів. 21

2.1.1.2.3.1. Цілочисельний тип. 21

2.1.1.2.3.2. Дійсний тип. 22

2.1.1.2.4. Розділ опису змінних. 22

2.1.2. Арифметичнi вирази та операцiї 22

2.1.2.1. Арифметичні функції 22

2.1.2.2. Скалярні функції 23

2.1.2.3. Арифметичні операції мови Pascal 23

2.1.2.4. Правила запису арифметичного виразу. 24

2.1.3. Простi оператори. 24

2.1.3.1. Оператор присвоєння. 24

2.1.3.2. Пустий оператор. 24

2.1.4. Введення та виведення в Pascal 25

2.1.4.1. Процедури введення. 25

2.1.4.2. Процедури виведення. 26

2.4.3. Формати оператора виведення. 26

2.2. Завдання. 27

2.3. Контрольні запитання з теми. 28

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

3.1. Теоретичні відомості 30

3.1.1. Булівський тип. 30

3.1.2. Iнтервальний тип. 30

3.1.3. Перелічувальний тип. 30

3.1.4. Вирази та операцiї вiдношення. 30

3.1.5. Логiчнi вирази та операції 31

3.1.6. Структуровані оператори. 32

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

3.1.6.2. Умовні оператори. 32

3.2. Завдання. 35

3.3. Контрольні запитання з теми. 42

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

4.1. Теоретичні відомості 44

4.1.1. Iнтервальний тип. 44

4.1.2. Масив (регулярний тип) 44

4.1.3. Оператори повтору. 45

4.1.4. Використання стандартний процедур Break і Continue в операторах циклів REPEAT, WHILE та FOR.. 47

4.2. Завдання. 48

Варіант 1. 48

Варіант 2. 50

Варіант 3. 53

Варіант 4. 55

Варіант 5. 56

4.3. Контрольні запитання з теми. 58

Лабораторна робота № 5. 60

5.1. Теоретичні відомості 60

5.1.1. Стрінговий тип (тип літерний рядок) 60

5.1.2. Стрінгові вирази. 60

5.2. Завдання. 63

Варінт 1. 63

Варінт 2. 64

5.3. Контрольні запитання з теми. 66

Лабораторна робота № 6. 67

6.1. Теоретичні відомості 67

6.1.1. Операції з даними перелічувального типу. 67

6.1.2. Завдання. 68

6.2.1. Множини. 70

6.2.1.1. Операції з множинами. 70

6.2.2. Завдання. 73

6.2. Контрольні запитання з теми. 75

Лабораторна робота № 7. 76

7.1. Теоретичні відомості 76

7.1.1. Записи з варiантами. 77

7.2. Завдання. 80

Варіант 1. 80

Варіант 2. 81

7.3. Контрольні запитання з теми. 83

Лабораторна робота № 8. 85

8.1. Теоретичні відомості 85

8.1.1. Ініціалізація графічного режиму. 85

8.1.2. Системи координат. 86

8.1.3. Вибір кольорів в графічному режимі 87

8.1.4. Завдання стилів ліній та заливки контурів. 87

8.1.5. Виведення тексту в графічному режимі 88

8.1. 6. Процедури для рисування фігур. 89

8.2. Завдання. 89

8.3. Контрольні запитання з теми. 90

Лабораторна робота № 9. 91

9.1. Теоретичні відомості 91

9.1.1. Процедури користувача. 91

9.1.2. Функцii користувача. 91

9.1.3. Параметри. 92

9.1.4. Рекурсивні підпрограми. 93

9.1.5. Область дії ідентифікаторів. 94

9.2. Завдання. 95

Варіант 1. 95

Варіант 2. 102

Варіант 3. 106

9.3. Контрольні запитання з теми. 109

Лабораторна робота № 10. 110

10.1. Теоретичні відомості 110

10.1.1. Стандартні процедури для текстових файлів. 110

10.1.2. Функції для роботи з текстовими файлами. 111

10.1.3. Приклад обробки інформації в текстових файлах. 111

10.2. Завдання. 112

10.3. Контрольні запитання з теми. 112

Лабораторна робота № 11. 113

11.1. Теоретичні відомості 113

11.1.1. Стандартні процедури обробки файлів з типом.. 113

11.1.2. Стандартні функції обробки файлів з типом.. 114

11.1.3. Приклад обробки інформації в файлах з типом.. 114

11.2. Завдання. 115

11.3. Контрольні запитання з теми. 116

Додаток 1. 117

Повідомлення про помилки. 117

Повідомлення про помилки періоду компіляції 117

Повідомлення про помилки, що виникають під час виконання програми. 126

Помилки, що виявляються DOS. 126

Помилки введення - виведення. 128

Критичні помилки. 128

Фатальні помилки. 128

Додаток 2. 131

Методичні вказівки до виконання лабораторних робіт та написання звітів. 131

Додаток 3. 132

Зразок виконання звіту до лабораторної роботи. 132

Література. 134


Передмова

 

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

Кожна робота складається з трьох розділів. Першим розділом є "Теоретичні відомості", в якому досить ґрунтовно викладені основні аспекти мови з конкретної теми. Теми розташовані в такому порядку, щоб кожна наступна тема не тільки надавала нові знання, але й закріплювала і розширювала знання з попередньої теми. В кожній темі поруч з фрагментами програм, що ілюструють особливості застосування деяких типів або операторів, наводяться повні тексти програм з коментарями, що допомагають правильно виконати індивідуальне завдання, запропоноване в другому розділі практикуму. Наступним розділом є „Завдання”, виконуючи яке студент закріпить теоретичні знання і навчиться застосовувати їх на практиці. Ці завдання охоплюють матеріал даної теми і частково попередніх тем, що дозволяє закріпити, систематизувати і узагальнити набуті раніше знання, виробити погляд на процес програмування як на єдине ціле. Третій розділ „Контрольні запитання з теми” дозволяє перевірити як засвоєні знання з даної тематики.

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

„Додатки” містять повний перелік повідомлень про помилки, що виникли в процесі розроблення програм.

Цей навчальний посібник призначений для використання студентами та викладачами при вивчені мови програмування Turbo Pascal на молодших курсах вузу. Однак простота і послідовність викладення матеріалу, наявність прикладів з повними текстами програм роблять цей навчальний посібник загальнодоступним. Він з успіхом може бути використаний для самостійного вивчення мови Turbo Pascal. Особи, що засвоять в повному обсязі запропонований матеріал, будуть в достатній мірі підготовлені для самостійного розв'язання задач на ЕОМ, що виникають у їх практичній діяльності.


Вступ

Алгоритмічна мова Pascal - це вдалий компроміс між простотою і потужністю, ефективністю, лаконічністю і багатослів'ям. У ній вперше відображено концепції структурного програмування.

Мова Pascal має багаторічну історію. Її розробив Ніклаус Вірт у Швейцарському технологічному інституті в Цюріху на базі мови Алгол-60. Перша версія мови з'явилася ще в 1968 році, як альтернатива існуючим в той час мовам програмування, таким як Фортран і Алгол. Мова отримала свою назву на честь відомого французького математика і філософа Блеза Паскаля. Створена спеціально для навчання студентів основам програмування, мова виявилася настільки вдалою, що одразу ж привернула увагу фахівців. В короткий термін мова Pascal набула широкої популярності у всьому світі. Інтенсивний розвиток мови призвів до появи вже в 1973 році її стандарту. Про популярність цієї мови свідчить те, що до 1979 року було створено, за оцінками Н.Вірта, понад 80 трансляторів з мови Pascal. На початку 80-х років мова Pascal ще більш зміцнила свої позиції з появою трансляторів MS - Pascal i Turbo Pascal для персональних ЕОМ. З цього часу мова Pascal стає однією з найпопулярніших мов програмування для персональних ЕОМ. Мова вийшла за рамки академічного і вузько - професійного інтересу та використовується у більшості вищих і середніх закладів освіти, як засіб навчання студентів програмуванню. Численні бібліотеки і надбудови дозволили створити на її основі повноцінні системи розробки програмного забезпечення.

Нове дихання цій мові надала фірма Borland International, яка створила компілятори і інструментальні засоби та об'єднала їх в один програмний продукт - інтегроване середовище Turbo Pascal. Було випущено декілька версій цього програмного продукту: Turbo Pascal 3.0, Turbo Pascal 4.0, Turbo Pascal 5.0, Turbo Pascal 6.0, Turbo Pascal 7.0, Turbo Pascal 7.1, Pascal for Windows, Borland Pascal 7.0. Системи Turbo Borland Pascal є інтегрованим середовищем, що охоплює низку компонент, які підтримують всі види робіт, пов'язаних зі створенням програм. Дане середовище містить універсальний текстовий редактор, компілятор вхідної мови, редактор зв'язків і вбудований налагоджувач. Багатовіконний інтерфейс з ієрархічною системою меню забезпечує високу продуктивність праці програміста.

Ідеї і принципи, закладені при розробці мови Pascal, були пізніше використані при створенні нових мов програмування. Фірма Borland завершила серію продуктів Turbo Pascal, розпочала випуск системи візуальної розробки програмних продуктів під Windows - Delphi, яка на сьогоднішній день є одним з популярніших інструментальних засобів. У зв'язку з цим, природним спадкоємцем мови Pascal є об'єктно-орієнтована мова Object Pascal, реалізована в середовищі Delphi. Однак, незважаючи на це, мова Pascal і середовище Turbo Pascal зберегли свою роль, як навчальний засіб для засвоєння основ програмування. Сьогодні її широко застосовують як засіб для вивчення програмування. Вона завоювала велику популярність, що можна пояснити такими чинниками:

- мову проектували з урахуванням простоти на­писання транслятора (тобто програми, яка перекладає текст з мови високого рівня машинною мовою);

- ця мова значно простіша, ніж близькі за можливостями мови;

- мова Pascal достатньо технологічна для реалізації практично всіх, в тому числі і нетрадиційних, машинних архітектур;

- мова Pascal дає змогу писати складні програми, її використовують у програмному забезпеченні персональ­них комп'ютерів, зокрема, для створення системного програмного забезпечення.


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

 

Тема:

Iнтегроване середовище TURBO PASCAL

Мета:

Ознайомлення з інтегральним середовищем Turbo Pascal.

 

1.1. Теоретичні відомості

 

Однiєю з iстотних вiдмiнностей версiй TURBO PASCAL 6.0 та TURBO PASCAL 7.0 вiд попереднiх є нове iнтегроване середовище програмування. Це середовище включає в себе екранний редактор, компiлятор, компоновщик, вiдлагоджувач, а також систему контекстної iнформацiйної допомоги.

При завантаженнi файла TURBO.EXE на екранi дисплею з’являється основний екран iнтегрованого середовища, який складається з трьох частин: рядка основного меню, поля екрану i рядка стану. Рядок основного меню (верхнiй рядок екрану) мiстить iмена меню наступного рiвня (пiдменю). Поле екрану (середня частина екрану) призначено для розмiщення вiкон. Рядок стану (нижнiй рядок) вiдображує стан обчислювального процесу, а також мiстить пiдказки по використанню функцiональних клавiш.

 

Система вiкон середовища

Можна відкрити велику кількість вікон, але активним – доступним для виконання тих чи інших операцій – може бути в даний момент лише одне вікно.… Вікна, що використовуються в Turbo Pascal, можна поділити на чотири… · вікна редагування;

Replace

FILE2.PAS FILE8.PAS FILE3.PAS FILE9.PAS Cancel FILE4.PAS FILE10.PAS

OK Cancel Help

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

Меню роботи з файлами (File)

New (створити новий файл). Відчиняє нове пусте вікно редагування та присвоює новому файлу ім'я Noname XX,… Open (відкрити існуючий файл).

Меню редагування (Edit)

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

Меню виконання програми (Run)

Run (запустити програму). Запускає програму, якщо текст її не змінювався. Якщо текст програми… Step over (трасування без заходу в програми).

Меню вiкон (Window).

Tile (розмiщення вiкон встик). Вiкна розмiщуються в полi екрану встик один до другого без перекриття. Cascade (каскадне розмiщення вiкон).

Files (файли).

Виводить вікно діалогу, з допомогою якого можна задати файли контекстної допомоги.

Compiler directives (директиви компілятора).

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

Reserved words (зарезервовані слова).

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

Standart units (стандартні модулі).

Виводить перелік стандартних модулів.

Turbo Pascal language (мова Турбо Раскаль).

Виводить перелік основних елементів Turbo Pascal.

Error message (повідомлення про помилки).

Виводить відомості про систему повідомлень про помилки.

About (відомості про систему).

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

 

Локальне меню.

Окрім основного меню в версії 7.0 є локальне меню. Воно повторює найчастіше використовувані команди основного меню. Викликається локальне меню комбінацією клавіш Alt+F10.

 

1.1.2. Основні прийоми роботи в середовищі

Зміна каталогу

Якщо виникає необхідність перейти в інший каталог для зчитування або запису файлу, необхідно вибрати пункт меню File/Change dir і натиснути клавішу Enter. На екрані з'явиться вікно з деревовидним зображенням дисків та каталогів.

Створення нового файлу

Дій створення нового файлу треба вибрати команду File/New. В результаті буде відкрито вікно редактора з файлом NONAMEOO.PAS.

Завантаження існуючого файлу

Для завантаження і редактування існуючого файлу необхідно вибрати пункт меню File/Open. Далі необхідно ввести ім'я файлу, який треба відредагувати і натиснути клавішу Enter. Дозволяється вказувати маршрут доступу, наприклад: D:KI-11 MYFILE.PAS. Якщо в рамку з подказкою Open File Name ввести маску (використовуючи глобальні символи * або ?) і натиснути Enter, то у вікні екрану будуть виведені імена файлів біжучого каталогу, що відповідають встановленій масці.

Збереження файлу

Запис вихідного файлу Якщо файл необхідно записати на диск під новим іменем, то треба вибрати пункт… Компіляція програми

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

Виконання програми здійснюється за допомогою пункту меню Run/Run або шляхом натискання клавіш Ctrl - F9. За допомогою меню Run можна запустити програму, виконати скидання програми, виконати покрокове виконання програми при її налагодженні, виконати програму до встановленої позиції курсору. Команда Run викликає компілятор, якщо у файл, який знаходиться в редакторі, були внесені зміни з часу його останньої компіляції. Результати виконання програми можна подивитися у вікні перегляду результатів. Для цього необхідно натиснути клавіші Alt - F5 або вибрати пункт меню Debug/User screen, або Debug/Output.

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

При налагодженні програми іноді буває необхідно прослідкувати за проміжними значеннями змінних та виразі. Це можна виконати, встановивши курсор на потрібний ідентифікатор (початок виразу) і натиснувши клавіші Ctrl - F7, або за допомогою меню Debug/Add watch. У вікні Watch Expression з'явиться вибраний ідентифікатор.

Розташування виконуваного коду

Опція меню Compile/Destination використовується для визначення місця, де буде зберігатися виконуваний код: Disk - на диску у вигляді файлу з розширенням .exe, Memory - в оперативній пам'яті.

 

Завдання

2. Створити нову Pascal-програму (File|New). Текст програми: Begin Write(‘Hello Wasia’); End. (Крапка в кінці програми обов‘язкова!). 3. Запустити програму на виконання (Ctrl+F9). 4. Переключитися до вікна виконання програми (Alt+F5).

Загальна структура Pascal-програми

Програма на мовi Pascal записується в рядках, якi (на вiдмiну вiд мови Basic) не пронумерованi. Кожен оператор або описова конструкцiя обов'язково…   2.1.1.1. Заголовок програми

LABEL

<список мiток>;

Роздiловим знаком у списку є кома. За допомогою мiток можна видiлити оператори, на якi передбачена передача управлiння з довiльних точок програми. Оператори позначенi мiтками записуються з нового рядка i вiддiляються вiд мiтки двокрапкою:

Приклад:

FINISH:

end.

Порожнiй оператор також може бути помiчений. Наприклад: 20:;

 

2.1.1.2.2. Розділ констант

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

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

CONST

<список констант>;

Роздiловим знаком у списку є крапка з комою (;), а елементи списку - конструкцii виду:

<iдентифiкатор константи> = <значення константи>;

<iдентифiкатор константи> : <тип константи>=<значення константи>;

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

2.1.1.2.3. Розділ типів

Якщо в Pascal-програмі використовуються змiннi лише стандартного типу, їх достатньо описати спецiальними службовими словами в роздiлi опису змiнних. Поряд iз стандартними, iснує можливiсть використання iнших типів значень - нестандартних. На вiдмiну вiд стандартних - вони повиннi бути попередньо описанi в роздiлi типiв, наступним чином:

 

TYPE

<iдентифiкатор типу 1>=<опис типу 1>;

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

<iдентифiкатор типу N>=<опис типу N>;

Приклад:

TYPE

WORKDAYS= (MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY);

WEEKEND = (SATURDAY,SUNDAY);

2.1.1.2.3.1. Цілочисельний тип

На відміну від мови Pascal, де визначається єдиний цілий тип Integer, Turbo Pascal має п'ять стандартних типів цілих чисел. Характеристики цих типів приводяться в табдиці.

 

 

Тип Діапазон значень Формат Розмір (байт)
Shortint Integer Longint Byte Word -128..127 -32768..32767 -2147483648..2147483647 0..255 0..65535 Знаковий Знаковий Знаковий Беззнаковий Беззнаковий

 

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

 

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

На відміну від мови Pascal, де визначається єдиний дійсний тип Real, Turbo Pascal має п'ять стандартних типів дійсних чисел. Характеристики цих типів приводяться в таблиці:

 

Тип Діапазон значень Значущі цифри Розмір (байт)
Real Single Double Extended Comp 2.9*10-39..1.7*10+38 1.5*10-45..3.4*10+38 3.4*10-324..1.7*10+308 3.4*10-324..1.7*10+308 -263+1..263-1 11-12 7-8 15-16 19-20

 

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

Типи Single, Double, Extended та Comp можна використотувати в програмах лише при наявності арифметичного співпроцесора, або ж при включеному емуляторі співпроцесора. Дані дійсного типу подаються в памяті комп'ютера в форматі з плаваючою комою.

 

2.1.1.2.4. Розділ опису змінних

Роздiл опису змiнних має вигляд:

VAR

<список змiнних>;

Роздiловим знаком в списку є крапка з комою (;), а елементами списку є конструкцiї виду: <iдентифiкатор змiнної> : <тип>. В ролi типу може фiгурувати або стандартний тип, або ж поiменований i попередньо описаний iдентифiкатор нестандартного типу.

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

 

2.1.2. Арифметичнi вирази та операцiї

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

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

2.1.2.1. Арифметичні функції

Основнi арифметичнi функцii подано в таблиці 1.

Таблиця 1

Цікаво порівняти результати використання арифметичної функції Int та фунцій перетворення типу Round і Trunc. Нехай маємо два числа x=2.7 та y=-2.7. Тоді можемо записати: Int(x)=2.0 Int(y)=-3.0

Таблиця 2

1. Додавання та віднімання (+, -) виконуються так само, як в звичайних арифметичних виразах. Допускається змішування типів: Byte, Integer, Real, - в… 2. Операцii множення (*) та дiлення (/) виконуються з даними типу : Integer,… 3. Операцiя цiлочисельного дiлення (div) вiдрiзняється вiд звичайного дiлення тим, що результат є цілочисельною…

Таблиця 3

Операцiя Прiоритет Вид операцiї
@, not, +, - *, /, div, mod, and, shl, shr +, -, or, xor =, < >, <, >, <=, >=, in Перший Другий Третiй Четвертий Унарна операцiя Операцiї типу множення Операцiї типу додавання Операцiї відношення

Простi оператори

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

 

2.1.3.1. Оператор присвоєння

Оператор присвоєння вимагає вичислення виразу, що стоїть в його правiй частинi, з подальшим присвоєнням результату змiннiй, iдентифiкатор якої розмiщено в лiвiй частинi.

Формат оператора: <iдентифiкатор>:=<вираз>;

Приклади: Funckey=:False; Ch:='G'; Sum:=x+y;

Змiнна та вираз повиннi бути сумiсними по типу. Допускається, щоб тип лiвої частини був дiйсним, а правої - цiлим (а не навпаки).

2.1.3.2. Пустий оператор

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

BEGIN

. . . .

GOTO Mit; { перехід до кінця блоку }

. . . .

Mit: { пустий оператор, помічений міткою }

. . . .

END;

 

Введення та виведення в Pascal

Ввід даних, це передача інформації від зовнішнього носія в оперативну пам'ять для обробки. Вивід – зворотній процес. Зовнішнім носієм є термінал,… В мові Pascal стандартними засобами спілкування людини з комп'ютером є задані…  

Формати оператора виведення

Нехай I - ціле число. Тоді:

· Write(I) - виводить десяткове подання величини I, починаючи з позиції курсора.

· Write(I:p) - виводить десяткове подання величини I в крайні праві позиції поля шириною p.

Приклад: I=173 Write(I:6) Вивід _ _ _173

Нехай R - дійсне число. Тоді:

· Write(R) - в полі шириною 18 символів виводиться десяткове подання величини R в форматі з плаваючою крапкою.

Приклад: R=715.432 Write(R) Вивід _ _7.1543200000E+02

· Write(R:p) - в крайні праві позиції поля шириною p символів виводиться десяткове подання значення R в форматі з плаваючою крапкою.

Приклад: R=715.4 Write(R:13) Вивід 7.154320E+02

· Write(R:p:q) - в крайні праві позиції поля шириною p символів виводиться десяткове подання R в форматі з фіксованою крапкою, причому після десяткової крапки виводиться q цифр (0<=q<=24), що подають дробову частину числа.

Якщо q>24,то при виведенні використовується формат з плаваючою крапкою.

Приклад: R=511.04 Write (R:8:4) Вивід 511.0400

· Write (Ch:p) - в крайню праву позицію шириною p виводиться символ Ch.

Приклад: Ch:="Х" write (Ch:5) Вивід _ _ _ _ _X.

Приклад:

Обчислити значення виразу:

Текст програми

PROGRAM LIN;

Var A,X,Z,Y,C : Real;

BEGIN

Writeln ('Введіть А: ');

Readln (A);

Writeln ('Введіть X: ');

Readln (X);

Writeln ('Bвeдiть Z: ');

Readln (Z);

C:=sin(X*X)/cos(X*X);

Y:=A*C*Sqr(C)+Sqrt(Sgr(Z)/(Sgr(A)+Sgr(X)));

Writeln ('Y=', Y:8:3)

END.

Результат виконання програми

Введіть А:

Введіть X:

0.5

Введіть Z:

Y= 0.911

 

Завдання

2. 3. 4.

Iнтервальний тип

На основi вище перелічених стандартних скалярних типiв програмiст може визначати новi власнi скалярнi типи. Найпростішим способом утворення нових типiв є обмеження (а точнiше, звуження) допустимого дiапазону значень деякого стандартного скалярного типу. Такий тип називається iнтервальним i задається наступним чином. Для всіх скалярних типів, крім дійсного, можна задати дві константи, що визначають межі діапазону значень для даної змінної. Обидві константи повинні належати до одного типу, причому значення першої константи обовязково менше другої.

Перша константа задає мінімальне значення, яке допустиме для величини даного типу, друга константа - максимальне. Інтервальний тип визначається виразом:

Type

<імя типу > = <консанта 1>..<константа 2>;

Вихід змінної за межі діапазону може викликати переривання програми, якщо в програму включена деректива $R+. По замовчуванню маємо $R.

Приклад:

Тype

Dni = 1..31;

 

3.1.3. Перелічувальний тип

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

Перелiчувальний тип задається виразом:

Type

<Iм'я типу> = (список констант iдентифiкаторiв);

Приклад:

Type

Gas = (C,O,N,F);

Metal = (Fe,Co,Na,Cu);

Iмена всерединi круглих дужок є константами новоствореного типу. Їх можна записувати у виразах і заборонено змінювати. Якщо записати перелічувальний тип у вигляді Тype T = (V1,V2,...,VN), то константи-ідентифікатори Vi повинні задовільняти вимогам:

1) Vi<>Vj, якщо i<>j;

Vi<Vj, якщо i<j, тобто впорядкованість в перелічувальних типах визначається тим порядком, в якому записані його константи;

3) значеннями типу t можуть бути тільки V1,V2,...,VN.

 

3.1.4. Вирази та операцiї вiдношення

Вирази вiдношень визначають iстиннiсть або хибнiсть результату. Операцiї вiдношення виконують порiвняння двох операндiв i визначають iстинне або хибне значення результату. Величини, що порiвнюються, можуть належати довiльному скалярному типу даних. Результат завжди має булiвський тип i приймає одне з двох значень True або False.

Операцiї вiдношення можемо подати у вигляді таблиці 4, де вони записанi в порядку спадання пріоритету.

Таблиця 4

Приклад: Вираз 14<11+4 - iстинний, оскiльки спочатку виконується операцiя додавання, а потiм порiвняння. Вираз (14<11)+4 недопустимий,…   3.1.5. Логiчнi вирази та операції

Таблиця 5

Приклад: Вираз (a<10)and(b<100) є вiрним, а вираз a<10 and b<100 - помилковим. Значення пріоритетiв всiх операцiй мови Pascal подано в таблиці 6.

Таблиця 6

3.1.6. Структуровані оператори Структуровані оператори являють собою об'єднання, побудовані з інших…  

Завдання

1.   2.

Iнтервальний тип

На основi стандартних скалярних типiв програмiст може визначати новi власнi скалярнi типи. Найпростішим способом утворення нових типiв є обмеження (а точнiше, звуження) допустимого дiапазону значень деякого стандартного скалярного типу. Такий тип називається iнтервальним i задається наступним чином. Для всіх скалярних типів, крім дійсного, можна задати дві константи, що визначають межі діапазону значень для даної змінної. Обидві константи повинні належати до одного типу, причому значення першої константи обовязково менше другої.

Перша константа задає мінімальне значення, яке допустиме для величини даного типу, друга константа - максимальне. Інтервальний тип визначається виразом:

Type

<імя типу > = <консанта 1>..<константа 2>;

Вихід змінної за межі діапазону може викликати переривання програми, якщо в програму включена деректива $R+. По замовчуванню маємо $R.

Приклад:

Тype

Dni = 1..31;

Масив (регулярний тип)

Формат: Type < ім`я типу > = array [ T1 ] of T2; де T1 – тип індексу, T2 – тип компонентів. Індекси являють собою вирази… Масив може бути описааним і без означення типу, в розділі опису змінних: Var < ідентифікатор > : array [ T1 ] of…

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

Oператори повторення використовуються для організації циклів. Цикл - це послідовність операторів, яка може виконуватися більше одного разу. Якщо кількість повторів відома зарані - використовується оператор FOR, якщо ні - оператори WHILE та REPEAT.

Оператор FOR складається з заголовка і тіла циклу. Він може використовуватися в двох формах:

1. FOR <параметр циклу>:= S1 TO S2 DO <оператор>;

2. FOR <параметр циклу>:= S1 DOWNTO S2 DO <оператор>;

Тут S1 та S2 - вирази, що визначають початкове та кінцеве значення параметра циклу, <оператор> - тіло циклу, що може бути простим, або складеним оператором, <параметр циклу> - ідентифікатор.

Оператор FOR ще називають оператором циклу з параметром. Він по структурі відповідає циклу ПОКИ і забезпечує виконання тіла циклу до тих пір, поки не будуть перебрані всі значення параметра циклу від початкового до кінцевого. Параметр циклу, його початкове та кінцеве значення повинні належати до одного і того ж типу даних. При цьому допустимий довільний скалярний тип, окрім дійсного. Значення величини параметра циклу послідовно збільшується (при FOR..TO), або зменшується (при FOR..DOWNTO).

Приклади:

For i:=1 to 20 do write('*');

Результат - 20 знаків '*' видрукуються на дисплеї підряд.

For ch:='а' to 'e' do write(ch); Результат : abcde.

For ch:='e' downto 'а'do write (ch); Результат : edcba.

Таким чином, параметр циклу в операторі FOR може змінюватися лише на один дискретний елемент (cаме тому використання дійсного типу недопустимо).

Для дострокового виходу з циклу за певною ознакою, можна використовувати оператор GOTO.

Якщо тiло оператора FOR є складений оператор, в ньому може мicтитися iнший оператор FOR. Такi цикли називаються вкладеними.

В тiло циклу заборонено вмiщувати оператори, що змiнюють значення параметра цикла.

Приклад:

For i:=1 to 10 do

begin

Rez:=1/Pi

i:=i+1 {Помилка !}

end;

Приклад:

Обчислити використовуючиоператор повтору FOR

Текст програми

Program sum;

Var s:real; n,i:integer;

Begin

Write(‘n=’);

Readln(n);

S:=0;

For i:=1 to n do

S:=s+((1+sin(i))/cos(i));

Writeln('Suma=',s:8:3);

End.

Результат виконання програми

n=10

s=-15.37722

Оператор повтору REPEAT реалiзує структуру цикл-ДО

Формат оператора:

REPEAT

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

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

. . . . . . .

<оператор N>

UNTIL <умова>;

Tут <умова> - це вираз булiвського типу. При написаннi умови допустимi логiчнi вирази. Оператори, розмiщенi мiж ключовими словами REPEAT та UNTIL є тiлом циклу. Спочатку виконується тiло циклу, а потiм перевiряється <умова>. Якщо результат булiвського виразу дорівнює FALSE, тiло циклу активiзується повторно, якщо TRUE - цикл закiнчується i виконується оператор, що слiдуе за UNTIL <умова>.

Приклад:

Var i,sum: integer;

Begin

i:=0; sum:=0;

Repeat

sum:=sum+i;

i:=i+2

Until i>10;

Writeln ('cума кратних чисел рiвна ',sum)

End.

Оператор повторення WHILE реалiзує структуру цикл-ПОКИ.

Формат оператора - WHILE <умова> DO <тiло циклу>;

Тут <умова> - логiчний вираз, а <тiло циклу> - простий або cкладений оператор. Перед кожним виконанням тіла циклу обчислюється значення логічного виразу. Якщо результат рівний True, тіло циклу виконується і вираз <умовa> обчислюється знову. Якщо результат рівний False - здійснюється вихід з циклу та перехід до наступного після WHILE оператора.

Бувають випадки, коли необхідно побудувати бесконечний цикл. Для цього в виді умови використовується константа True:

While True do

begin

. . . .

end;

Приклад:

Обчислити використовуючиоператор повторення WHILE

Текст програми

Program sum;

Var s:real; n,i:integer;

Begin

Write(‘n=’);

Readln(n);

S:=0; i:=1;

WHILE i<=n do

Begin

S:=s+((1+sin(i))/cos(i));

i:=i+1;

end;

Writeln('Suma=',s:8:3);

End.

Результат виконання програми

n=10

s=-15.37722

 

4.1.4. Використання стандартний процедур Break і Continue в операторах циклів REPEAT, WHILE та FOR

В версії TurboPascal 7.0 в циклах REPEAT, WHILE та FOR можна використовувати дві нові стандартні процедури - Break і Continue. Процедура Break дозволяє достроково вийти з циклу, не чекаючи виконання умов виходу. Процедура Continue дозволяє починати нову ітерацію циклу, навіть коли попередню не завершено.

Приклад:

В масиві цілих чисел знайти перше від’ємне число та вивести його на екран дисплея.

Const N=10

Var Mas : array[1..N] of Integer; i : Byte; Yes : Boolean;

BEGIN

Writeln(‘Введіть елементи масиву’);

For i:=1 to N do

begin

Write(‘Mas[‘,i,’]=’);

Readln(Mas[i]);

end;

Yes:=False;

 

For i:=1 to N do

begin

if Mas[i] >= 0 then Continue;

Writeln(‘Перше відємне число = ’, Mas[i],’ Номер = ‘,i);

Yes:=True;

Break;

end;

if not Yes then Writeln(‘Відємних чисел намає’);

Readln

END.

Приклад:

Спираючись на ітераційні процеси знайти суму ряду - допустима похибка обчислень.

Текст програми

Program iter;

Var x,y,yn,s,f:real; n:integer;

Begin

Write ('x=');

Readln(x);

s:=0;

n:=1;

y:=1;

f:=1;

yn:=cos(x)/f;

while abs(yn-у)>0.0001 do

begin

s:=s+y;

y:=yn;

n:=n+1;

f:=f*n;

yn:=cos(x)/f;

end;

writeln('s=',s:8:3,'abs=',abs(yn))

writeln(‘k=’,n-1);

readln;

End.

Результат виконання програми

X=2

S= 0.285 abs=1.0321102097E-05

K=7

 

Завдання

1.   2.

Таблиця 7

Приклад1: Скласти програму для перевiрки того, чи дана лiтерна змiнна є… На PASCAL програма запишеться так:

Завдання

1. Дано лiтерну змiнну довжини N, яка складається з символiв S1, S2, ...,Sn. Cкласти алгоритм та програму на PASCAL, якi дають можливiсть: 2. Вияснити чи є в послiдовностi S1,...,Sn набiр символiв "- ," та… 3. Перетворити послiдовнiсть S1,...,Sn, замiнивши в нiй:

Завдання

Type State = (Britain, Usa, France, Sweden, Ukrainia, Belorussia, Russia, Iraq); Senior=(Queen, King, President, Premier); За назвою країни вказати титул голови держави.

Множини

Область значень типу множина – набiр всiх можливих пiдмножин, які складаються з елементiв базового типа. На Паскалi значення елементiв множини вказується в квадратних дужках: [1, 2,… Type < iм'я типу > = Set of < базовий тип >;

Завдання

1.   2.

Записи з варiантами

TYPE Zap = RECORD CASE <поле ознаки> : < тип > OF <константа вибору 1> : (<поле>,... : <тип>);

Завдання

1. Скласти такі програми на алгоритмичній мові TURBO PASCAL: 2. Обчислення добутку двох комплексних чисел. 3. Обчислення різниці двох комплексних чисел.

Таблиця 8

Для ініціалізації графічного режиму, тобто для завдання його основних характеристик, використрвується процедура: InitGraph( <ім‘я драйвера>, <режим>, <шлях до драйвера>); … Для першого параметра в модулі Graph визначаються такі константи:

Системи координат

Для графічного адаптера VGA в режимі VGAHI=2 координати екрана для кожного з чотирьох кутів буде виглядати таким чином: (0, 0) – лівий верхній кут; (0, 639) – правий верхній кут;

Завдання

2. Написати фрагмент програми, яка будує на екрані керований рухомий об’єкт – такий, що натискання клавіші міняє характеристики руху, якщо жодна… 3. Написати фрагмент програми, яка будує на екрані керований рухомий об’єкт… 4. Написати фрагмент програми, яка будує на екрані керований рухомий об’єкт –натискання клавіші приводить до…

Процедури користувача

PROCEDURE <iм'я> (формальні парамутри); <роздiли описiв>; Begin

Функцii користувача

Формат заголовку: FUNCTION <iм'я> (формальнi параметри): <тип результату>; Iм’я функцiї – унiкальний в межах блоку iдентифiкатор. Результат обчислення функцii може мати довiльний скалярний тип,…

Параметри

Коли параметри передаються як значення, він використовується в виді змінної, локальної в блоці, яким є процедура або функція. Для локальної змінної… При передачі параметра-змінної фактичний параметр завди повинен бути змінною.… Тип в секції формальних параметрів повинен бути або стандартним, або попередньо означеним.

Завдання

Варіант 1 1. Дано дійсні p, q. Обчислити

Завдання

2. Дано текстовий файл F.txt. Переписати компоненти файлу F.txt в файл G.txt, ставлячи на початку кожного рядка пробіл. 3. Дано текстовий файл F.txt. Одержати найдовшій рядок файлу. Якщо в файлі є… 4. Дано текстовий файл F.txt. Визначити, чи входить в файл словосполучення "Теорема".

Завдання

1. Підрахувати "якість" успішності, тобто процент студентів, які здали екзамени на "4" і "5". 2. Вивести не екран назву предмета, який був зданий найкраще. 3. Визначити середній бал екзаменаційної сесії для кожної групи і вивести на екран назви груп в порядку спадання…

Помилки, що виявляються DOS

2. File not found(Не знайдений файл). Помилка генерується процедурами RESET, APPEND, RENAME або ERASE у випадку,… 3. Path not found(Шлях не знайдений).

Помилки введення - виведення

100. Disk read error(Помилка зчитування з диска). Генерується процедурою READ у ганованому файлі у випадку, якщо Ви намагаєтеся… 101. Disk write error(Помилка запису на диск).

Лабораторна робота № 7.

Тема:

Записи

Мета:

Використання стуктурованого типу запису

 

Постановка задачі

Сформувати масив записів про: прізвище студента, ім’я; оцінки з фізики, математики, інформатики.

Обчислити кількість студентів, середній бал яких більший, або рівний “4”.

Текст програми

program Zap;

const n=2;

type TMarks=record

f:integer;

m:integer;

inf:integer;

end;

Tst=record

surname:string[15];

name:string[10];

marks: TMarks;

ser:real;

end;

Tgr=array[1..n] of Tst;

var gr:Tgr; k,i:integer;

begin

for i:=1 to n do

with gr[i],marks do begin

readln(surname);

readln(name);

readln(f);

readln(m);

readln(inf);end; K:=0;

for i:=1 to n do

with gr[i],Marks do begin

ser:=(f+m+inf)/3;

if gr[i].ser>=4 then

k:=k+1;writeln('ser',i,'=',ser:2:1); end;

writeln('k=',k);

end.

Результати виконання програми

Kas

Oleh

Top

Olena

ser1=4.7

ser2=3.3

k=1

 

 


Література

1. Барковский А.Б. Англо-русский словарь по программированию и информатике. – М. : Моковская международная школа переводчиков, 1992. – 335 с.

2. Грогоно П. Программирование на языке Паскаль: Пер. с англ. – М. : Мир, 1982. – 324 с.

3. Зуев Е.А. Система программирования Turbo Pascal. – М. : Радио и связь, 1991. – 288 с.

3. Рюттен Т., Франкен Г. Турбо Паскаль 6.0. – Киев : ГРИФОН, 1992. – 240 с.

4. Сердюченко В.Я. Розробка алгоритмів та програмування мовою TURBO PASCAL. Харків, Паритет, 1995.

5. Хершель Р. Турбо Паскаль / 2-е изд., перераб. - М.: МП ТПО «Квадрат», 1991. – 342 с.

 

 

– Конец работы –

Используемые теги: Алгоритмічна, мова, Turbo, Pascal0.068

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Алгоритмічна мова TURBO PASCAL

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Українська мова серед інших мов світу. Походження української мови.
У свiтi налiчується понад тисяч мов Бiльшiсть iз цих мов не мають своєї... Найближчою до української мови із східнослов янських мов є білоруська із південнослов янських сербохорватська із...

Объекты Turbo Pascal 7.0
Появление этой идеи было следствием недостаточной изученности алгоритмической стороны вычислительных процессов, стольхарактерной для ранних… Последовательное использование идеи процедурного структурирования программ… По мере прогресса в области вычислительной математики акцент в программировании стал смещаться с процедур в сторону…

О.Ф. Власенко, И.В. Беляева СИМВОЛЫ И СТРОКИ В ЯЗЫКЕ TURBO PASCAL
Министерство образования Российской Федерации... Ульяновский государственный технический университет...

Отчет по практике по Turbo Pascal
Описать порядок действий, над выражением исходя из приоритетности вычислений стандартных функций и арифметических операции. 1. a xy5xy-sinxx5arctgx… Постановка задачи Организуйте ввод и вывод пяти целых положительных чисел a,… При работе над данной программой ошибок допущено не было. Практическое здание 4 Решение задач, описываемых алгоритмами…

Обучение начальных курсов методам программирования на языке Turbo Pascal
К идентификатору строкового типа и к ссылке на переменную строкового типа можно применять стандартные функции Low и High. В этом случае функция Low… Параметр-переменная, описанная с помощью идентификатора OpenString и ключевого… Открытые строковые параметры позволяют передавать одной и той же процедуре или функции строковые переменные…

Этапы создания программы в среде Pascal ABC.NET 1. Запустить среду разработки Pascal ABC.NET
Лабораторная работа Разветвляющиеся программы Этапы создания программы в среде PascalABC NET... Запустить среду разработки PascalABC NET...

Понятие алгоритма, его свойства. Описание алгоритмов с помощью блок схем на языке Turbo Pascal
Каким же образом компьютер решает сложнейшие задачи обработки информации Для решения этих задач программист должен составить подробное описание… В разных ситуациях в роли исполнителя может выступать электронное или… Составление алгоритмов и вопросы их существования являются предметом серьзных математических исследований. Свойства…

Программы на Turbo Pascal 7.0 к экзамену
WriteLn Введитеисходные данные Write Радиусоснования цилиндра- gt ReadLn r Write Высотацилиндра- gt ReadLn h v p r r h WriteLn Объ м цилиндра ,v 4… WriteLn Введитеисходные данные Write Ценатетради- gt Readln ct Write Цена… Write Цен одногокилограмма яблок руб gt ReadLn cena Write Вес яблок кг - gt ReadLn ves stoim cena ves WriteLn…

Алфавит языка Turbo Pascal
На сайте allrefs.net читайте: Алфавит языка Turbo Pascal. УДК...

Опорний конспект лекцій З навчальної дисципліни ЛІНГВОКРАЇНОЗНАВСТВО ДРУГОЇ ІНОЗЕМНОЇ МОВИ (НІМЕЦЬКОЇ)
КАФЕДРА РОМАНО ГЕРМАНСЬКИХ МОВ... Опорний конспект лекцій...

0.03
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам