Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Лабораторна робота №2
ТЕМА: Оператори та стандартні функції і процедури мови
МЕТА: Ознайомитись структурою програми на мові Pascal, методами використання оператора виклику підпрограм. Ознайомитись з основними операторами, стандартними процедурами та функціями мови. Закріпити вивчений матеріал при створенні власних нескладних лінійних програм.
ОБЛАДНАННЯ: технічне забезпечення: ПЕОМ, програмне забезпечення: система програмування Turbo Pascal 7.0.
ЗАВДАННЯ ДО РОБОТИ:
Зміст звіту:
Теоретичні відомості
Мова програмування Паскаль була розроблена швейцарським вченим Ніколасом Віртом для навчання програмуванню студентів університету. Пізніше завдяки своїм якостям ця мова набула промислового характеру. Перше повідомлення про мову Паскаль зявилось у 1971 році. Зараз фірма Borland розробляє системи програмування, засновані на Паскалі: Turbo Pascal для DOS і Delphi для Windows. Оскільки далі буде вивчатися система Turbo Pascal v 6.0, для позначення мови Паскаль будемо також використовувати абревіатуру TP.
У ТР, як і у будьякій іншій мові програмування, можна виділити чотири групи елементів: символи, слова, вирази, оператори. Розглянемо ці групи послідовно.
Символи
Алфавіт ТР включає в себе великі і малі латинські літери, пропуск ' ', цифри 09, спеціальні символи + * / = < > [ ] . , ( ) : ; ^ @ { } $ #, складені символи, які сприймаються як один символ (пропуски між їх складовими недопустимі): <= >= := (* *) (. .) .. (див. також таблицю 1)
Літери латинського алфавіту |
A Z, a z |
Арабські цифри |
0, 1, 2, …, 9 |
Спеціальні символи |
< > [ ] . , ( ) : ; ^ @ { } $ # ' |
Знаки операцій |
(віднімання), + (додавання), * (множення), / (ділення), := (присвоювання) |
Знаки відношень |
< (менше), <= (не менше), > (більше), >= (не більше), = (дорівнює), <> (не дорівнює), in (є елементом множини) |
Розділові знаки |
. (для відокремлення цілої частини числа від дробової), , (для відокремлення елементів списків), ; (для відокремлення операторів), (* *) або { } (для запису коментарів), ' ' (лапки для запису символьних констант), ( ) (відкриваюча та закриваюча дужки), .. (задання діапазону), [ ] (для звернення до елементів масиву) : (для відокремлення міток) $ (шістнадцятковий код), ^ (для задання посилального типу) @ (для вказання адреси певної величини) #(для отримання символу за його кодом) |
Слова
Слово це послідовність літер алфавіту, яка у даній мові має певне значення. ТР має велику кількість зарезервованих (службових) слів, які несуть певне смислове навантаження при написанні програми.
Службове слово це послідовність літер, яка трактується транслятором як одне ціле, і завжди в одному розумінні.
Приклади. Begin, End, if, then, else, Array, for, to, do, of, Array, Set, Record, File.
Обєкти програми на ТР (типи, змінні, константи, процедури, функції, модулі, мітки) мають імена, або ідентифікатори.
Правила утворення ідентифікаторів
Поняття типу даних є одним з фундаментальних понять будьякої мови програмування. Об'єкти, якими оперує програма (константи, змінні, функції, вирази) відносяться до певного типу. Тип множина значень, яких можуть набувати об'єкти програми, і сукупність операцій над цими значеннями.
ТР є мовою з сильною системою типізації. Це означає, що всі дані, які опрацьовує програма, повинні належати до якогось заздалегідь відомого типу. У мові ТР визначено багато стандартних типів даних, і передбачена можливість оголошення нових типів, які відповідають конкретній задачі.
Константа елемент даних, значення якого відоме до виконання програми і в процесі її виконання не змінюється. Для визначення констант у ТР використовується службове слово Const (від англ. Constant константа).
Змінна елемент даних, який може змінювати своє значення в процесі виконання програми. Для визначення змінних у ТР використовується службове слово Var (від англ. Variable змінна).
Ідентифікатори і типи змінних, які будуть використовуватись у програмі, вказуються у розділі визначення змінних:
Var
ідентифікатор: тип;
або
Var
список ідентифікаторів: тип;
Типи констант автоматично визначаються компілятором і тому явно не вказуються.
Вирази
Вираз це записане у вигляді тексту правило, що задає обчислення одного значення певного типу.
Якщо в результаті реалізації виразу дістають число, вираз називається арифметичним, якщо текст текстовим (літерним), якщо логічне значення “істина” або “хибність” логічним (булевим).
Оператори
Оператор це вказівка для виконання певної дії чи скінченної послідовності дій.
Розрізняють прості і складені оператори. Прості оператори програми на ТР розділяються крапкою з комою. Складений оператор це послідовність простих операторів, взятих в операторні дужки службові слова Begin (початок) і End (кінець). Перед словом End крапку з комою ставити не обовязково.
Паскаль-програма
Програма на ТР складається з двох основних розділів:
Найкоротша програма на ТР має вигляд:
Begin
End.
Повний варіант програми на ТР:
program імя_програми;
uses
список використовуваних бібліотек (модулів);
label
список міток;
Const
визначення констант програми;
Type
визначення типів;
Var
визначення глобальних змінних програми;
Begin
основний блок програми;
End.
Крім конструкцій мови, програма може містити коментарі.
Коментар це довільний текст у будь-якому місці програми (де дозволений пропуск), взятий у дужки { } або (* *).
Коментарі містять пояснювальні тексти і полегшують читання і розуміння програм.
Основні оператори мови Паскаль. Оператор присвоювання
Оператор присвоювання призначений для надання значень змінним.
Формат оператора:
імя_змінної := вираз;
Тип змінної повинен співпадати з типом виразу. Винятком є випадок, коли змінній дійсного типу присвоюється значення цілочисельного виразу.
Оператори введення і виведення
Крім оператора присвоювання, змінним надаються значення за допомогою операторів введення.
Формат операторів:
Read(список введення);
Readln(список введення);
Список введення = імя_змінної1[, імя_змінної2, …, імя_змінноїN]
В квадратних дужках вказуються необовязкові параметри.
Виконання оператора:
Елементи списку введення вводяться з клавіатури через пропуск або Enter. При використанні оператора Read після введення останнього елемента списку позиція введення (курсор) залишається в тому ж рядку. При використанні Readln позиція введення поміщується на початок наступного рядка.
Список введення може бути відсутнім. В цьому випадку програма зупиняє свою роботу до введення з клавіатури будьякої інформації. Ця властивість використовується для затримки на екрані результатів роботи програми.
Для виведення результатів роботи програми на екран монітора використовуються оператори виведення.
Формат операторів:
Write(список виведення);
Writeln(список виведення);
Список виведення = вираз1[, вираз2, виразN]
Елементом списку виведення може бути вираз цілого, дійсного, символьного, рядкового, логічного типу, або типів, утворених з них. Якщо список виведення відсутній (Writeln;), на екран виводиться порожній рядок.
Різниця між операторами Write і Writeln аналогічна різниці між Read і Readln.
Розглянемо особливості дії операторів Write і Writeln при різних форматах елементів списку виведення (таблиця 2)
Таблиця 2. Виведення даних операторами Write і Writeln
Тип виразу |
Формат |
Дія оператора виведення |
INTEGER(I) (цілочисельний) |
I |
виводиться десяткове подання значення I |
INTEGER(I) (цілочисельний) |
I:N |
виводиться десяткове подання значення I і вирівнюється за правою межею поля шириною N символів |
REAL (R) (дійсний) |
R |
виводиться десяткове подання значення R, вирівнюється за правою межею поля шириною 18 символів у форматі з плаваючою крапкою |
R:N |
виводиться десяткове подання значення R, вирівнюється за правою межею поля шириною N символів у форматі з плаваючою крапкою |
|
R:N:M |
виводиться десяткове подання значення R, вирівнюється за правою межею поля шириною N символів у форматі з фіксованою крапкою з M цифрами після десяткової крапки |
|
CHAR (CH) (символьний) |
CH |
виводиться символ CH |
CH:N |
символ CH виводиться з правого боку поля шириною N символів (символу CH передує N1 пропусків) |
|
STRING (S) (рядковий) |
S |
виводиться рядок S |
S:N |
рядок S виводиться вирівняним за правою межею (йому передує N LENGTH(S) пропусків) |
|
BOOLEAN(L) (логічний) |
L |
в залежності від значення виводиться TRUE або FALSE |
L:N |
в залежності від значення виводиться TRUE або FALSE, вирівняне за правою межею поля N символів |
Стандартні типи даних та операції над ними
Стандартні типи даних описані в стандартній бібліотеці ТР, яка автоматично підключається до кожної програми. Тому такі типи не потребують опису в розділі визначення типів Паскаль-програми. Всі допустимі в мові ТР типи поділяються на прості (скалярні, неструктуровані) і складені (структуровані).
Таблиця 3. Стандартні скалярні типи
Тип |
Позначення |
Приклади |
Цілі числа |
Integer |
5 3 0 +123 |
Цілі довжиною 1 байт |
Byte |
2 67 125 |
Короткі цілі |
ShortInt |
127 25 100 |
Довгі цілі |
LongInt |
200000 340005 |
Цілі довжиною 1 слово |
Word |
65534 345 |
Дійсні числа |
Real |
23.56 12Е2 3Е13 |
Дійсні одинарної точності |
Single |
1.45 2Е+33 |
Дійсні подвійної точності |
Double |
0.00005 34565.565 |
Зовнішні або розширені |
Extended |
|
Логічний (булевський) тип |
Boolean |
TRUE FALSE |
Символьний (літерний) тип |
Char |
'd' 'v' '$' '5' 'ф' |
Посилальний тип |
Pointer |
Таблиця 4. Структуровані типи
Рядковий тип |
String |
'Computer' '12345' |
Масиви |
Array |
|
Записи |
Record |
|
Множини |
Set |
[2,3,5,7,11] ['s', 'r', 'd'] |
Файли |
File, File of |
|
Списки |
||
Черги |
||
Стеки |
1. В десятковій системі числення (діапазон для цілих 32768..32767, для дійсних 1Е38..1Е+38).
2. В шістнадцятковій системі числення (діапазон $0000..$FFFF).
Варіанти завдань для самостійного виконання
ЗАУВАЖЕННЯ!
В Turbo Pascal у функціях sin(x) та cos(x) значення аргументу х береться в радіанах. Для переведення з градусів в радіани потрібно помножити значення в градусах на π/180. Для переведення з радіан в градуси потрібно помножити значення в радіанах на 180/ π.
Наприклад. Обчислити значення функції у=sin(x) для кута 30˚.
var
x,y:real;
begin
x:=30; {Значення х в градусах}
x:=x*pi/180; {Значення х в радіанах}
y:=sin(x);
writeln(y);
end.
Для розрахунків використовуйте наступні формули:
Площа прямокутного трикутника
Периметр трикутника
ВАРIАНТ 1
3. Задане 10-розрядне ціле число (від -9 999 999 999 до 9 999 999 999). Необхідно визначити, яка цифра стоїть в розряді, що позначає десятки (101).
ВАРIАНТ 2
2. Скласти програму, яка імітує діалог користувача з компютером на тему лабораторної роботи. Програма повинна видавати повідомлення, звертаючись до користувача за іменем, яке він введе.
3. Задане 10-розрядне ціле число (від -9 999 999 999 до 9 999 999 999). Необхідно визначити, яка цифра стоїть в розряді, що позначає десятки тисяч (104).
ВАРIАНТ 3
2. Скласти програму, яка імітує діалог користувача з компютером на тему проведення вчорашнього дня. Програма повинна видавати повідомлення, звертаючись до користувача за іменем, яке він введе.
3. Задане 2-розрядне додатнє ціле число (від 10 до 99). Необхідно визначити, чи однакові цифри стоять в його розрядах (вивести TRUE або FALSE).
ВАРIАНТ 4
1. Скласти програму, яка обчислює та виводить на екран всі сторони, кути, площу, периметр прямокутного трикутника, якщо відомо: катет а і протилежний кут.
2. Скласти програму, яка імітує діалог користувача з компютером на тему програмування. Програма повинна видавати повідомлення, звертаючись до користувача за іменем, яке він введе.
3. Задане 10-розрядне ціле число (від -9 999 999 999 до 9 999 999 999). Необхідно визначити, яка цифра стоїть в розряді, що позначає сотні тисяч (105).
ВАРIАНТ 5
1. Скласти програму, яка обчислює та виводить на екран всі сторони, кути, площу, периметр прямокутного трикутника, якщо відомо: два катети.
2. Скласти програму, яка імітує діалог користувача з компютером на тему улюбленої пісні. Програма повинна видавати повідомлення, звертаючись до користувача за іменем, яке він введе.
3. Задане 10-розрядне ціле число (від -9 999 999 999 до 9 999 999 999). Необхідно визначити, яка цифра стоїть в розряді, що позначає тисячі (103).
ВАРIАНТ 6
1. Скласти програму, яка обчислює та виводить на екран всі сторони, кути, площу, периметр прямокутного трикутника, якщо відомо: катет b і прилеглий кут.
2. Скласти програму, яка імітує діалог користувача з компютером на тему навчального закладу. Програма повинна видавати повідомлення, звертаючись до користувача за іменем, яке він введе.
3. Задане 10-розрядне ціле число (від -9 999 999 999 до 9 999 999 999). Необхідно визначити, яка цифра стоїть в розряді, що позначає мільйони (106).
ВАРIАНТ 7
1. Скласти програму, яка обчислює та виводить на екран всі сторони, кути, площу, периметр прямокутного трикутника, якщо відомо: катет b і протилежний кут.
2. Скласти програму, яка імітує діалог користувача з компютером на тему підготовки до завтрашніх занять. Програма повинна видавати повідомлення, звертаючись до користувача за іменем, яке він введе.
3. Задане 10-розрядне ціле число (від -9 999 999 999 до 9 999 999 999). Необхідно визначити, яка цифра стоїть в розряді, що позначає сотні мільйонів (108).
ВАРIАНТ 8
1. Скласти програму, яка обчислює та виводить на екран всі сторони, кути, площу, периметр прямокутного трикутника, якщо відомо: гіпотенуза і кут В.
2. Скласти програму, яка імітує діалог користувача з компютером на тему погоди. Програма повинна видавати повідомлення, звертаючись до користувача за іменем, яке він введе.
3. Задане 2-розрядне додатнє ціле число (від 10 до 99). Необхідно отримати число, «дзеркальне» до заданого, тобто поміняти місцями цифри числа.
ВАРIАНТ 9
1. Скласти програму, яка обчислює та виводить на екран всі сторони, кути, площу, периметр прямокутного трикутника, якщо відомо: гіпотенуза і катет b.
2. Скласти програму, яка імітує діалог користувача з компютером на тему улюбленого співака. Програма повинна видавати повідомлення, звертаючись до користувача за іменем, яке він введе.
3. Задане 10-розрядне ціле число (від -9 999 999 999 до 9 999 999 999). Необхідно визначити, яка цифра стоїть в розряді, що позначає мільярди (109).
ВАРIАНТ 10
1. Скласти програму, яка обчислює та виводить на екран всі сторони, кути, площу, периметр прямокутного трикутника, якщо відомо: катет і кут .
2. Скласти програму, яка імітує діалог користувача з компютером на тему улюбленої книги або фільму. Програма повинна видавати повідомлення, звертаючись до користувача за іменем, яке він введе.
3. Задане 10-розрядне ціле число (від -9 999 999 999 до 9 999 999 999). Необхідно визначити, чи є цифра, що стоїть в молодшому розряді, парним числом (вивести TRUE або FALSE).
ВАРІАНТ 11
3. Задане 10-розрядне ціле число (від -9 999 999 999 до 9 999 999 999). Необхідно визначити, яка цифра стоїть в розряді, що позначає десятки мільйонів (107).
ВАРІАНТ 12
3. Задане 10-розрядне ціле число (від -9 999 999 999 до 9 999 999 999). Необхідно визначити, яка цифра стоїть в розряді, що позначає сотні (102).
ВАРІАНТ 13
1. Скласти програму, яка обчислює та виводить на екран всі сторони, кути, площу, периметр прямокутного трикутника, якщо відомо: гіпотенуза і кут .
2. Скласти програму, яка імітує діалог користувача з компютером на тему пори року. Програма повинна видавати повідомлення, звертаючись до користувача за іменем, яке він введе.
3. Задане 7-розрядне ціле число (від -9 999 999 до 9 999 999). Необхідно визначити, чи є цифра, що стоїть в молодшому розряді, непарним числом (вивести TRUE або FALSE).
Контрольні запитання
Література