lecture2.ppt
- Количество слайдов: 27
Лекція 2 Мови програмування. Середовище програмування Turbo Pascal
Зміст лекції 1. • • 2. • • • 3. • • • Мови програмування Поняття про мови програмування Класифікація мов програмування Системи програмування. Інтерпретація та компіляція Середовище програмування Мова програмування Pascal Історія створення мови програмування Pascal Поняття величини Типи даних Алфавіт мови Основні поняття мови Структура Pascal програми Створення лінійних програм Арифметичні вирази Оператори присвоювання, введення та виведення даних. Використання процедур і функцій модуля CRT у лінійних програмах
Поняття про мови програмування При підготовці алгоритмів до їх виконання на комп'ютері на перший план виходить необхідність точного запису команд зрозумілих виконавцю, що не залишає можливості їх подвійного трактування. Програма – впорядкована послідовність команд для комп'ютера, виконання якої реалізує алгоритм розв'язування деякої задачі. Команди в програмі записуються мовою програмування. Мова програмування – це фіксована система позначень для опису структур даних і алгоритмів, призначених реалізуватись за допомогою комп'ютера. На сьогоднішній день розроблена чимала кількість різних мов програмування, тому що сфери використання комп'ютерів досить різноманітні і кожна мова програмування орієнтована на певний клас задач.
Класифікація мов програмування Існують різні класифікації мов програмування. Відповідно до найпоширенішої з них мови програмування поділяються на: • мови низького рівня (мова мікрокоманд, машинна мова, асемблер); • мови високого рівня (Basic, Pascal, Ci). Однак існують класифікації і за іншими ознаками. Так відповідно до “прикладної” класифікації мови програмування поділяють за галузями застосування. Процедурні мови програмування – це мови програмування, в яких реалізована можливість покрокової реалізації алгоритму, низхідного та висхідного програмування Логічне програмування – це запис задачі мовою математичної логіки у вигляді набору висловлювань, відношень між висловлюваннями та правил виведення одних висловлювань з інших. Об’єктно орієнтоване програмування – це нова ідеологія програмування, що базується на використанні сукупності об'єкта та подій, на які він може реагувати. Візуальне програмування – це практичне застосування об’єктно орієнтованого програмування при використанні готових бібліотек компонентів, передбачених середовищем програмування.
Поняття про системи програмування. Інтерпретація та компіляція Кожна мова програмування розробляється для подальшої реалізації її на ПК. Саме таку реалізацію мови з її алфавітом, правилами запису окремих дій забезпечує система програмування. Система програмування – це реалізація конкретної мови програмування для певних комп'ютерних систем. Для перетворення програм, написаних мовою програмування, у виконуваний вигляд (набір машинних кодів) існують спеціальні системні програми – транслятори (інтерпретатори та компілятори). Інтерпретатор – системна програма, яка здійснює синтаксичний контроль операторів початкового тексту програми та послідовне виконання її команд (операторів). Компілятор – системна програма, яка здійснює переведення всього початкового тексту програми в машинний код.
Середовище програмування Сучасні системи програмування доповнені розвиненим користувацьким інтерфейсом, який реалізований у вигляді інтегрованих інтерактивних середовищ або інтегрованих інструментальних оболонок. Такі середовища переважно забезпечують користувачу багатовіконний та багатофайловий режим роботи, використання миші, дозволяють застосовувати об’єктно орієнтоване програмування, використовувати фрагменти програм написаних на асемблері. Ми будемо вивчати інтегроване інтерактивне середовище Turbo Pascal 7. 0
Мова програмування Pascal Історичні відомості Мова Pascal є однією із класичних мов програмування. Найбільшої популярності вона досягла у 80 х першій половині 90 х років. Мову програмування Pascal розроблено в 1968 році на кафедрі інформатики Стенфордського університету швейцарським ученим Ніклаусом Віртом. Ця мова програмування отримала назву на честь відомого французького математика й філософа Блеза Паскаля (1623 1662). Спочатку вона розглядалась як навчальна мова програмування і завдяки простоті використання застосовувалась у навчальних закладах як “перша” мова програмування для студентів. В 1983 році фірма Borland International перевела її на комерційну основу в якості мови програмування для персональних комп’ютерів. Переломним етапом для мови Pascal став 1985 рік, коли появилась її нова версія, яку назвали Turbo Pascal 3. 0. Вона містила оболонку для зручного написання та редагування тексту програм та компілятор стандартного Pascal. З цього часу Pascal набув широкого використання в колах як досвідчених програмістів так і початківців. В наступній версії Turbo Pascal 4. 0 було усунуто багато обмежень компілятора, що часто піддавались критиці, та підвищено продуктивність системи. З появою версії 5. 0 Turbo Pascal отримала ще більші можливості для використання професійними програмістами. Одним із важливих нововведень стало використання апаратних перекриттів або оверлеїв (overlays). Вони дозволили створювати потужні програмні продукти, які розраховані на використання при малих об’ємах пам’яті. Механізм оверлеїв полягає в поділі програми на частини, що почергово завантажуються в пам’ять (з дискети або жорсткого диска) по мірі необхідності. В подальших версіях було розширено можливості відлагодження програм і забезпечено можливість підтримки розширеної пам’яті.
Поняття величини За допомогою величин передаються всі значення, виконуються різні обчислення. Величиною називають таку характеристику предмета або явища, значення якої можна виміряти або обчислити. Види величин ЗМІННІ СТАЛІ Величини, які не змінюють свого значення протягом виконання всього алгоритму (програми) ВЕЛИЧИНИ Величини, які протягом виконання алгоритму (програми) можуть набувати різних значень
Основні характеристики величин Величина Ім'я Значення Тип Іменем (ідентифікатором) змінної величини може бути будь яка послідовність латинських літер (a-z та A-Z), цифр та знака підкреслення, яка повинна починатись з літери. Вони застосовуються для позначення констант, типів, змінних, процедур і функцій. У стандарті мови імена розрізняються за першими 8 ма символами. Тип величини це набір даних (констант, змінних, значень функцій і т. д. ), які мають спільні характеристики її значень (формат подання в пам’яті ПК, множина допустимих значень, множина допустимих операцій, що можна використовувати для даного типу). Значення – динамічна характеристика величини, багаторазово змінюватись в процесі обробки інформації. яка може
Типи даних в Pascal поділяються на прості та складні. До простих типів даних відносяться: Тип Можливі значення Byte 0. . 255 Word 0. . 65535 Integer 32768. . 32767 Longint 2147483648. . 2147483647 Single 1. 5 х10^ 45 до 3. 4 х10^38 Real 2. 9 х10^ 39 до 1. 7 х10^38 Double Extended Примітка Цілочисельний тип данних 5. 0 х10^ 324 до 1. 7 х10^308 Дані дійсного типу 3. 4 х10^ 4932 до 1. 7 х10^4932 Char 1 символ Береться з обох сторін в апостроф Символьний тип даних Boolean True або False Логічний тип
Типи даних Тип даних введений користувачем: Перелічувальний – задається безпосереднім перелічуванням імен всіх значень, які можуть приймати змінні даного типу. Окремі значення записується через кому, а весь список береться в круглі дужки Type <ім'я типу>=<значення 1, значення 2, …, значення. N>; Var <ідентифікатор, …>: < ім'я типу>; Обмежений – задається двома константами, які визначають границі діапазону значень для даної змінної Type < ім'я типу>=<константа 1. . константа 2>; Var < ідентифікатор, …>: < ім'я типу >; Структуровані типи даних це типи, які складаються з елементів, що відносяться до простих типів. До складних типів даних відносяться: масиви; множини; рядки; записи; файли; динамічні змінні; лінійні списки (стеки, черги); нелінійні списки; процедурний тип.
Основні поняття мови Поняття Опис Приклад Алфавіт мови Літери латинського алфавіту, цифри, спеціальні сим воли, зарезервовані слова. A. . . Z, a. . . z, 0. . . 9, + * / = < >[ ]{ }$ ^ & # Ідентифікатори Імена об'єктів (констант, типів даних, змінних, функ цій, програм). Правила запису ідентифікаторів: всі ідентифікатори складаються з літер латинського алфавіту, цифр, починаються з літери або знака, «_» ; Великі і малі літери не розрізняються. Ім'я не повинно співпадати з написанням ні з одним із службових слів А, В begin Write Test My_First_Program Константа комірка пам'яті, значення якої протягом виконання програми залишається постійним. 45, Pi Змінна комірка пам'яті, значення якої протягом виконання програми може змінюватися. a, b, c Коментар Призначений для внесення до тексту програми пояснень. Обмежується символами { } або (* *) {Це Оператори це деякі неподільні елементи програми, що дозволяють виконувати певні алгоритмічні дії у програмі, тобто виконувати в програмі певні команди. фактично, оператор це окрема команда в алгоритмі програми, тобто окремий крок виконання програми. Операнди це спеціальні символи або послідовності символів, які виконують над даними певні операції (математичні, логічні і т. д. ). Елементи даних коментар) коментар*) (*Це операнди математичних операцій: “+”, “*”, “/”, “=”
Операції над стандартними типами даних Операції над цілими числами:
Операції над стандартними типами даних Операції над дійсними числами:
Величини Дійсні З плаваючою крапкою (3 Е+5; -8. 1 Е-4) З фіксованою крапкою (5. 45; 9. 23) Дійсні числа – це десяткові дроби і, в окремому випадку, цілі числа, записані у вигляді десяткового дробу
Арифметичні вирази Правила запису виразів n Вираз записується в один рядок Наприклад, вираз: мовою Паскаль має бути записаний так: (a*x+b*sqr(x)+c*sqr(x)*x)/(14*x x). n n Використовуються тільки круглі дужки, число відчинених і зачинених дужок повинно співпадати Поряд 2 арифметичні знаки не записуються, між ними повинен бути хоча б один елемент. Обчислення виконуються зліва направо відповідно пріорітету операцій: n n операція обчислення функцій; Операції піднесення до степення; операції множення, ділення, mod і div; операції додавання і віднімання.
Арифметичні вирази будуються з констант, змінних, функцій і операцій над ними Функція Тип аргументу abs(x) arctan(x) cos(x) sin(x) exp(x) ln(x) sqrt(x) sqr(x) ord(x) succ(x) pred(x) round(x) trunc(x) int(x) frac(x) integer, real integer, real упорядкований real Тип результату integer, real real integer, real integer упорядкований integer real odd(x) integer boolean random(x) integer upcase(x) char inc(x, y) inc(x) dec(x, y) dec(x) integer, char Процедури: integer, char Математичний запис, коментар |x| arctgx cosx sinx ex lnx x 2 ASCII код символу повертає наступне значення x повертає попереднє значення x заокруглює чис ло х до цілого відкидає дробову частину числа х відкидає цілу частину числа х дробова частина числа х true (x – непар не), alse (x – f парне) Генерує випадкове число з діапазону від 0 до x замінює малу латинську літеру на велику збільшує x на y збільшує x на 1 зменшує x на y зменшує x на 1
Структура програми мови програмування Pascal Розділ оголошень та узгоджень PROGRAM Заголовок програми USES Бібліотеки, що підключаються LABEL Оголошення глобальних міток CONST Оголошення глобальних констант TYPE Оголошення глобальних типів VAR Оголошення глобальних змінних Розділ текстів процедур і функцій PROCEDURE/FUNCTION Заголовок процедури/функції LABEL Оголошення локальних міток CONST Оголошення локальних констант TYPE Оголошення локальних типів VAR Оголошення локальних змінних BEGIN Початок блоку процедури/функції END; Кінець блоку процедури/функції Розділ основного блоку програми BEGIN Початок основного блоку програми END. Кінець основного блоку програми {Текст} Ремарки, примітки до будь якої частини програми
Розглянемо більш детально всі підрозділи програми. Program це заголовок програми, що вказує її ім'я. Цей підрозділ вказувати необов’язково, хоча рекомендовано вказувати заголовок програми, щоб можна було отримати інформацію про її призначення. Заголовок програми є ідентифікатором і володіє всіма його властивостями. Він обов’язково повинен починатись з латинської літери, а далі можуть бути символи, допустимі для алфавіту мови. Uses цей підрозділ вказує, при потребі, назви модулів та бібліотек, що підключатимуться до програми. Модуль представляє собою замкнутий блок, що має своє ім’я, компілюється окремо і підключається до вашої програми, як ніби “чорна скринька” із набором певних (описаних у ньому) процедур, функцій, типів даних, констант і т. д. Бібліотека представляє собою набір таких модулів. Оператор USES може використовуватись в програмі лише раз, при цьому в нього є визначене місце. Label підрозділ, в якому вказується список усіх міток, що використовуються в програмі. Const підрозділ опису констант. Якщо в програмі будуть застосовуватись константи, то їх імена та значення (після знаку рівності) вводять в розділі Const. Слід відмітити, що стандартні константи, прийняті в Pascal, не потрібно описувати в даному розділі. Type підрозділ опису користувацьких типів даних. В цьому підрозділі переважно вказують складні та нестандартні типи даних. Var підрозділ опису всіх змінних, що використовуються в програмі. Потрібно відмітити, що всі змінні, що використовуються в програмі, обов'язково повинні бути описані в підрозділі var. Це єдиний підрозділу описів та узгоджень, який обов’язково повинен бути представлений у кожній Pascal програмі. Розділ текстів процедур та функцій вказується лише у випадку, якщо в програмі використовуються нестандартні процедури та функції, що створені самим користувачем (якщо вони не описані в одному з модулів вказаних у розділі USES). Потрібно відмітити, що процедури та функції це спеціальним чином оформлені послідовності команд (у вигляді підпрограми). Доступ до цієї підпрограми може здійснюватись з будь якого місця основної програми, а також з будь якої процедури та функції, що описані нижче по тексту програми. Більш детально про використання процедур та функцій буде описано далі. Третій розділ програми - це розділ основного блоку програми. В цьому розділі знаходиться основний текст програми. Починається цей розділ словом begin і закінчується словом end, після якого слідує крапка.
Правила написання Pascal-програм Основний текст будь якої програми починається службовим словом begin і закінчується словом end, після чого слідує крапка. Без крапки програма вважається незакінченою. І навпаки, якщо в програмі знаходиться крапка, то всі команди, що слідують за нею ігноруються (оскільки програма завершена). 2. В кінці кожної команди ставиться крапка з комою (“; ”) символ, що розділяє команди між собою. 3. Після команди, яка знаходиться перед end, крапку з комою (“; ”) бажано не встановлювати, оскільки буде вважатись, що перед end є ще один порожній оператор. 4. Команди в Pascal можна записувати в один рядок, хоча для полегшення читабельності програми бажано кожну команду вказувати з нового рядка. 5. Якщо користувач бажає помістити в текст програми коментарі, то їх необхідно вказувати у фігурних дужках (замість фігурних дужок можна вказувати альтернативний набір символів “(* , , , *)” ). 6. При введенні в програму виразів, що містять будь які дужки потрібно пам’ятати, що кількість закритих та відкритих дужок повинна бути однаковою. 7. Якщо потрібно використати декілька операторів у якості одного складеного оператора, то їх слід взяти в операторні дужки, що починаються словом begin і закінчуються end. При цьому кількість слів begin у програмі повинна співпадати з кількістю слів end. 8. Усі змінні, константи та типи даних, що використовуються в програмі, повинні бути описані в розділах const, type та var. "Правила хорошого тону" 1. Після команди begin всі наступні команди, аж до відповідного йому end, бажано записувати з відступом (наприклад, на величину слова begin). 2. Назви всіх команд бажано записувати малими літерами, а змінні великими. 1.
Оператори — це команди програми. Нижче наводяться основні оператори, за допомогою яких можна створювати прості програми. Оператор : = Присвою вання Read Введення (зчитування) даних з клавіатури Readln Write Виведення (запис) даних на моні тор Writeln Загальний вигляд Опис Приклади Ідентифікатор: = вираз Присвоює змінній конкретне значення, заповнюючи комірку пам'яті, відведену для змінної, новим значенням, водночас знищуючи старе А: =2 X: = У + 2 Z Name: = 'Федір' Програма зупиняється і чекає Read(a 1, a 2, . . . , аn), де а 1, введення необхідної кількості даних. а 2, . . . , аn – змінні Числа при введенні поділяються зазначених типів, яким пробілами або натиском клавіші присво юються значення, <Enter>. що вводяться Введення закінчується натиском клавіші <Enter> Read (Name) Read (А, В, У, Z) Після введення значень а 1, а 2, . . . , аn курсор переводиться на наступний рядок Write(a 1, a 2, . . . , аn), де а 1, а 2, . . . , аn –константи або змін ні зазначених типів Виведення зазначених даних (чисел, змінних, тексту, який обме жено апострофами) виконується з позиції курсору Write ('Відповідь', 2) Відповідь 2 Write('Привіт, ', Name, '!') Привіт, Федоре! Після виведення значень а 1, а 2, . . . , аn курсор переводиться на наступний рядок
Використання процедур та функцій модуля CRT У Turbo Pascal зосереджена велика кількість різних операцій, процедур, функцій і інших об'єктів призначених для виконання певних дій. Всі функціональні об'єкти системи розміщені в різних модулях. У Pascal під модулями розуміють бібліотеки, в яких розміщені процедури та функції, що виконують роль допоміжних алгоритмів. Вони містяться в окремих файлах і підключаються до програми тільки тоді, коли їх імена вказані в розділі uses. Це дає змогу не “перевантажувати” програму зайвою інформацією. Так, у модулі CRT зосереджені процедури і функції, що дозволяють керувати введенням і виведенням даних, модуль GRAPH орієнтований на роботу у графічною інформацією, модуль DOS забезпечує роботу в операційній системі. Для підключення модуля CRT до програми необхідно до неї ввести рядок uses CRT; Program my_prog; uses CRT; Begin …………. . end.
Список основних процедур модуля CRT n n n n Clr. Scr – очищення екрана монітора; Go. To. XY (x, y) – виставлення курсору в позицію x рядка y (1≤x ≤ 80, 1 ≤ y ≤ 25); Text Color (color) – встановлення кольору тексту; Text Back Ground (color) – встановлення кольору фону символів; Delay (Ms) – затримка виконання програми у вказаний у мілісекундах інтервал часу (Delay (200)); Sound (Hz) – увімкнення звукового сигналу вказаної частоти у герцах; No. Sound – відключення звукового сигналу.
Лінійні програми Лінійними називають програми, в яких відсутні обчислення, що пов’язані з перевіркою деякої умови і вибором того чи іншого продовження обчислень у залежності від значення цієї умови (розгалуження). Наприклад: Знайти площу круга, якщо відомий його радіус. І етап Нам дано радіус, який позначимо r і потрібно знати площу – s. Опишемо змінні: var r, s : real; IІ етап Як відомо з шкільного курсу математики, площа круга обчислюється за формулою s=πr², де π=3. 1415926…, а r – радіус круга. Пам’ятаємо, що в мові програмування Паскаль знак рівності (“=”) замінюється знаком присвоєння (“: =”) (крім тих випадків, коли відбувається перевірка умови або описуються константи).
ІІІ етап. Побудова алгоритму ПОЧАТОК IV етап. Написання програми program square; {заголовок програми, який повинен складатись з одного слова} {опис змінних} {початок тіла програми} var r, s: real; begin write(’Введіть радіус круга ’); {виведення повідомлення користувачу} r readln(r); s: =pi*sqr(r); s= πr² {зв’язування введеного числа зі змінною n} {В мові Паскаль константа Пі відноситься до вбудованих констант і її не потрібно описувати} write(‘Площа круга з радіусом ’, r: 5: 2, ’ = ‘, s: 5: 2); s КІНЕЦЬ V етап. Трансляція і налагодження програми Нехай r=3, 55, тоді s=3, 14*3, 55=39, 57 readln end. {виведення результату, причому числові значення змінних s та r виводяться з параметрами: 2 знаки після коми та 5 знаків – кількість знаків, яка використовується при виведенні всього числа} {своєрідна затримка, щоб результат одразу не зникав з екрану, а після натиснення клавіші Enter; перед end крапку з комою ставити не обов’язково} {кінець програми}
Завдання для самостійного опрацювання та самоконтролю 1. n n n 2. 3. Розглянути питання, які виділені на самостійне опрацювання. Класифікація мов програмування. Детальніше розуміння певних видів мов. Різниця між інтерпретацією та компіляцією. Функції редактора, транслятора та налагоджувача середовища програмування Turbo Pascal “Гарячі клавіші” середовища програмування Turbo Pascal 7. 0. Поняття синтаксису та семантики мови програмування. Відображення дійсних чисел в пам'яті комп'ютера та їх форми подання. Трактовка поняття величини з точки зору її відображення на пам’ять ПК. Специфіка запису символьних та рядкових сталих величин. Різниця між різними типами цілих величин. Використання форматування змінних у Pascal Основні функції та процедури модуля CRT. Способи організації затримки виконання програми. Дати відповіді на запитання для самоконтролю. Підготуватись до тестування (опанувати систему знань та умінь, які вказані на ст. 49 документу, або ст. 93 книги)
Дякуємо за увагу!
lecture2.ppt