- •Методичний посібник для самостійної роботи
- •5.05010201 «Обслуговування комп’ютерних систем і мереж»
- •5.05010201 «Обслуговування комп’ютерних систем і мереж»
- •Затверджено методичною радою коледжу
- •Мета та задачі предмету. Історія створення та розвитку мови Pascal. Етапи розробки програми. Інтегроване середовище Turbo Pascal 7.0. Основні розділи теми.
- •Помилки. Компілятор. Синтаксис і семантика
- •Типи помилок
- •Інтегроване середовище Turbo Pascal 7.0.
- •Рядок меню.
- •Меню Compile
- •Питання для самоконтролю.
- •Алфавіт мови. Структура програми. Типи даних. Основні розділи теми.
- •Алфавіт мови
- •Типи даних
- •Стандартні типи даних.
- •Цілі типи
- •Дійсні типи
- •Нестандартні прості типи.
- •Наприклад
- •Завдання 1:
- •Типізовані константи.
- •Структура програми.
- •Перша програма.
- •Питання для самоконтролю.
- •Лінійні програми. Команди присвоювання. Команди введення та виведення даних. Форматоване виведення даних. Основні розділи теми.
- •Лінійні програми.
- •Команда присвоювання.
- •Основні операції, стандартні функції і процедури. Основні операції
- •Основні стандартні функції і процедури
- •Правила запису арифметичних виразів.
- •Правила запису стандартних функцій.
- •Команди введення даних (read, readln).
- •Команди виведення даних (write, writeln).
- •Форматоване виведення даних.
- •Х.ХхххххххххЕзнакхх
- •Питання для самоконтролю.
- •Завдання 2:
- •Розгалуження: складена команда, логічний вираз, команда розгалуження if. Команда case. Основні розділи теми.
- •Розгалуження
- •Складений оператор.
- •Логічний вираз
- •Умовний оператор if.
- •Задача2:
- •Задача 3.
- •Оператор goto.
- •Вкладений if
- •Слід знати:
- •Задача 4.
- •Задача 5.
- •Оператор вибору case.
- •Задача 6.
- •Питання для самоконтролю.
- •Завдання 3. Написати і відладити наступні програми.
- •Цикли. Команда циклу з параметром (for), команда циклу з передумовою (while), команда циклу з після умовою (repeat). Основні розділи теми.
- •Оператор циклу з параметром (for).
- •Ця команда діє, як і попередня, але крок зміни лічильника рівний -1.
- •Задача 7.
- •Задача 8.
- •Задача 9.
- •Команда циклу з передумовою (while).
- •Задача 10.
- •Команда циклу з післяумовою (repeat).
- •Задача 11.
- •Задача 12.
- •Задача 13.
- •Завдання 4:
- •Завдання 5:
- •Завдання 6:
- •Завдання 7.
- •Дайте відповідь на питання, скільки разів ця цифра зустрічається в числі Задача 17:
- •Завдання 8
- •Вкадені цикли.
- •Задача 18
- •Завдання 9
- •Питання для самоконтролю.
- •Масиви. Опис масивів. Дії над масивами. Масиви. Основні розділи теми.
- •Опис масивів.
- •Опис меж
- •Дії над масивами.
- •Заповнення масиву даними
- •Виведення масиву.
- •Обробка масиву
- •Дії з одновимірними масивами
- •Завдання 10:
- •Питання для самоконтролю.
- •Завдання для самоконтролю.
- •Сортування масивів. Двовимірні масиви. Сортування масиву Основні розділи теми.
- •Лінійне сортування (сортування відбором)
- •Програма лінійного сортування по не зростанню
- •Бульбашковий метод.
- •Підсумовування елементів кожного рядка.
- •Програма транспонування матриці.
- •Завдання 12:
- •Питання для самоконтролю.
- •Підпрограми. Процедури, функції. Рекурсивні функції. Основні розділи теми.
- •Процедури (procedure) і функції (function).
- •Виклик процедур і функцій.
- •Оператор виклику працює так:
- •Область дії параметрів:
- •Завдання 13:
- •Рекурсивні функції.
- •Завдання 14:
- •Задачі, з постановки якиїх можна витягнути рекурсію.
- •Задачі, які можна розв’язати як окремий випадок узагальненої.
- •Задачі, в яких можна використати характеристику або властивість функції.
- •Відкриті масиви.
- •Завдання 15:
- •Питання для самоконтролю.
- •Дані рядкового типу string. Основні розділи теми.
- •Тип даних char.
- •Рядковий тип
- •Задача 28.
- •Операції над рядками
- •Задача 29.
- •Операції відношення
- •Рядкові процедури і функції
- •Задача 30.
- •Задача 31.
- •Питання для самоконтролю.
- •Завдання 16:
- •Модулі. Модулі користувача. Стандартні модулі. Основні розділи теми.
- •Поняття модуля
- •Структура модуля
- •Компіляція модулів
- •Стандартні модулі Короткий опис модулів.
- •Графіка
- •Запитання
- •Оператор with
- •Питання для самоконтролю.
- •Завдання 18:
- •Файли і робота з ними. Основні розділи теми.
- •Текстові файли
- •Типізовані файли.
- •Процедури і функції для типізованих файлів:
- •Питання для самоконтролю.
- •Завдання 19:
- •Інтегроване середовище розробки Delphi 7. Мова програмування Delphi. Структура програми Delphi: структура проекту, структура модуля, елементи програми. Основні розділи теми.
- •Інтегроване середовище розробки.
- •Головне вікно
- •Інструментальні кнопки
- •Палітра компонентів
- •Вікно форми
- •Вікно дерева об'єктів
- •Вікно інспектора об'єктів
- •Вікно коду програми
- •Зміна властивостей форми
- •Оброблювач події OnClick
- •Структура програм Delphi
- •Структура проекту
- •Структура модуля
- •Питання для самоконтролю.
- •Класи. Складові класу. Методи та властивості. Питання для самоконтролю.
- •Методи.
- •Властивості.
- •Оголошення класу.
- •Питання для самоконтролю.
- •Форми. Різновид форм. Створення і використання форм. Основні розділи теми.
- •Різновиди форм.
- •Методи форми
- •Події форми.
- •Робота з формою.
- •Питання для самоконтролю.
- •Компоненти. Властивості компонентів. Основні розділи теми.
- •Знайомство з компонентами.
- •Вкладка Standard
- •Вкладка Additional
- •Вкладка Win32
- •Вкладка System
- •Вкладка Dialogs
- •Вкладка Win31
- •Вкладка Samples
- •Вкладка ActiveX
- •Робота з об’єктами.
- •Питання для самоконтролю.
- •Delphi 7. Файли. Доступ до файлу. Текстові файли. Основні розділи теми.
- •Теоретичні відомості.
- •Хід роботи
- •Практична робота № 2.
- •Тема: Створення гри «Спіймай кнопку».
- •Мета: Вивчення особливостей компонента Timer.
- •Короткі теоретичні відомості.
- •Хід роботи.
- •Практична робота № 3
- •Тема: Створення логічної гри.
- •Мета: Вивчення можливостей використання властивості Tag і об'єкта Sender.
- •Короткі теоретичні відомості.
- •Хід роботи.
- •Практична робота № 4.
- •Тема: Генератор функцій.
- •Мета: Вивчення компонента PaintBox і методів малювання на канві. Компонент TrackBar.
- •Короткі теоретичні відомості.
- •Хід роботи.
- •Практична робота № 5
- •Тема: Створення елементів інтерфейсу найпростішого графічного редактора.
- •Мета: Вивчення компонентів ColorGrid, SpinEdit, RadioGroup, ListBox, ColorDialog.
- •Короткі теоретичні відомості.
- •Хід роботи. Частина 1
- •Частина 2.
- •Література
Мета та задачі предмету. Історія створення та розвитку мови Pascal. Етапи розробки програми. Інтегроване середовище Turbo Pascal 7.0. Основні розділи теми.
Створення і розвиток мови Паскаль.
Програма та мова програмування.
Етапи розробки програми.
Помилки. Типи помилок.
Компілятор.
Синтаксис і семантика.
Інтегроване середовище Turbo Pascal 7.0.
Створення і розвиток мови Паскаль.
Ми звикли вважати, що програмування — дитя сучасного прогресу в області науки і технології. Але це не зовсім так. Перші складні багатоцільові обчислювальні пристрої з'явилися ще в XIX столітті. Тоді ж виникла необхідність в розробці програм для них, і вперше з такою задачею зіткнулася легендарна Ада Лавлейс, що працювала з обчислювальною машиною Чарльза Беббіджа, яка називалася «Машина для числення різниць» («Difference Engine»).
13 липня 1843 року Чарлзу Беббіджу від Ади Лавлейс прийшов лист з конкретним списком операцій (алгоритмом) для обчислення чисел Бернуллі – так народилася нова наука - комп'ютерне програмування.
Але справжні мови програмування з'явилися в епоху електронних обчислювальних машин (ЕОМ). Вважають, що перша мова програмування — це мова Short Code, що з'явилася в 1949 році. Програмісти, що працювали на перших моделях ЕОМ, вимушені були програмувати в машинних кодах.
Використовуючи машинні коди, можна добитися максимальної швидкості виконання програми, але для цього спочатку необхідно розібратися, як працює центральний процесор того комп'ютера, на якому передбачається запускати програму. Колись доступ до комп'ютерів діставали тільки вибрані, які мали достатньо глибоку підготовку в даній області, проте з розвитком обчислювальної техніки і зниженням її вартості комп'ютерами сталі користуватися не тільки фахівці-електронщики, але і фахівці інших областей людської діяльності. Для них важливіше провести за допомогою ЕОМ обчислення і швидко отримати результат, що відноситься до області їх інтересів, ніж осягати особливості мікропроцесорної архітектури. В цей час і з'явилися перші мови програмування високого рівня, які були набагато зрозумілішими людині, ніж машинні коди.
Першими мовами програмування високого рівня були FORTRAN, Cobol і Algol, що з'явилися в 50-ті роки XX століття. Перші два з них використовуються і зараз — це мови-довгожителі, а Algol став родоначальником цілого сімейства мов, в числі яких і Pascal. В даний час налічується декілька тисяч мов програмування, велика частина з яких має досить вузьку спеціалізацію.
Говорять, що як тільки з'явилася друга мова програмування, почалися бурхливі суперечки про те, яка мова краще! Ці суперечки йдуть і понині, приймаючи іноді характер релігійних воєн старовини.
На малюнку схематично представлена історія створення мов програмування.
Особливе місце серед мов програмування займає Algol, перша версія якого з'явилася в 1958 році. Одним з розробників мови Algol був «батько» мови FORTRAN Джон Бекус. Назва мови ALGOrithmic Language підкреслює ту обставину, що він призначений для запису алгоритмів. Завдяки чіткій логічній структурі Algol став стандартним засобом запису алгоритмів в науковій і технічній літературі. Подальшими версіями мови стали Algol 60 і Algol 68. Algol 68 виявився надмірно громіздким, що створювало великі труднощі в його реалізації. Один з членів комітету, що займався розробкою специфікації, — швейцарський вчений Никлаус Вірт — протестував проти її ухвалення. Він виявився правий — Algol 68 став «лебединою піснею» колись найпопулярнішої мови програмування, проте ця мова дала початок цілій гілці нових мов.
В 1967 році Вірт створив свою версію — мови Algol W. Це було пов'язано з необхідністю знайти мову програмування, яку можна було б використовувати для навчання студентів методам розробки програм, таким як «програмування зверху вниз», «структурне програмування» і т.д. Вірту не сподобалася жодна з існуючих у той час мов, і в 1968 р. року він приступив до розробки власної.
В 1970 році в світі програмування відбулися принаймні дві великі події — з'явилися операційна система Unix і нова мова програмування Pascal. Вірт назвав її на честь великого французького математика і релігійного філософа XVII століття Блеза Паскаля. Паскаль винайшов обчислювальний пристрій, саме тому новій мові було привласнено його ім'я.
Завдяки своїй чіткості, логічності і іншим особливостям Pascal надовго зайняв свою нішу, будучи прекрасною мовою для навчання програмуванню. Мова Pascal використовувалася і для розробки серйозних програм-додатків. Жартували, що Вірт розробив іграшку, але багато хто віднісся до неї дуже серйозно.
В 1975 р. знов дві події сталі віхами в історії програмування — Біл Гейтс і Пол Аллен заявили про себе, розробивши свою версію мови BASIC, а Вірт і Йенсен випустили класичний опис мови Pascal під назвою «Pascal User Manual and Report». Згодом з'явилися різні версії мови Pascal і її розширення.
Самим відомим розширенням став пакет Turbo Pascal фірми Borland, що з'явився в 1983 році і відразу став подією в світі комп'ютерних технологій. На початку 1984 року пакет Turbo Pascal був перенесений в середовище MS-DOS і придбав величезну популярність. З тих пір з'явилося декілька версій Turbo Pascal, остання — сьома.
Фірма Borland завершила лінію продуктів Turbo Pascal і перейшла до випуску системи візуальної розробки для Windows — Delphi.
Мова Turbo Pascal зберігає своє значення як відмінного засобу для першого знайомства з світом «серйозного програмування». Це пов'язано як з його чіткою логічною структурою, так і з тими його можливостями, які дозволяють використовувати Turbo Pascal для вирішення різноманітних задач. Серед них обчислення і обробка даних, комп'ютерна графіка, робота із звуком, системне програмування. Turbo Pascal дозволяє застосовувати прийоми об'єктно-орієнтованого програмування, яке стало однією з провідних сучасних технологій програмування.
Програма та мова програмування
Команди, виконувані процесором ПК, є електричними сигналами, які можна представити у вигляді послідовностей нулів і одиниць. Кожній команді відповідає своє число. Таким чином, процесор має справу з машинним кодом. Написати програму на ньому може тільки дуже досвідчений програміст, обізнаний з архітектурою процесора і системою команд. Більшість програм створюється за допомогою "посередників", в якості яких виступають мови програмування високого рівня.
Сукупність засобів і правил представлення алгоритму у вигляді, придатному для виконання обчислювальною машиною, називається мовою програмування.
Програма — це запис (реалізація) алгоритму на мові програмування.
Етапи розробки програми
В процесі створення будь-якої програми можна виділити декілька етапів.
Постановка задачі — виконується фахівцем в наочній області на природній мові (російському, англійському і т. д.). Необхідно визначити мету задачі, її зміст і загальний підхід до рішення. Можливо, що задача розв'язується точно (аналітично), і без комп'ютера можна обійтися. Вже на етапі постановки треба враховувати ефективність алгоритму рішення задачі на ЕОМ, обмеження, що накладаються апаратним і програмним забезпеченням.
Аналіз задачі і моделювання — визначаються початкові дані і результат, виявляються обмеження на їх значення, виконується формалізований опис задачі і побудова (вибір) математичної моделі, придатної для вирішення на комп'ютері.
Розробка або вибір алгоритму рішення задачі — виконується на основі її математичного опису. Багато задач можна вирішити різними способами. Програміст повинен вибрати оптимальне рішення. Неточності в постановці, аналізі задачі або розробці алгоритму можуть привести до прихованої помилки — програміст отримає невірний результат, вважаючи його правильним.
Проектування загальної структури програми — формується модель рішення з подальшою деталізацією і розбиттям на підпрограми, визначається "архітектура" програми, спосіб зберігання інформації (набір змінних, масивів і т. п.).
Кодування — запис алгоритму на мові програмування. Сучасні системи програмування, подібні Delphi, дозволяють прискорити процес розробки програми, автоматично створюючи частину її тексту, проте творча робота як і раніше лежить на програмісті. Для успішної реалізації мети проекту програмісту необхідно використовувати методи структурного програмування.
Відладка і тестування програми. Під відладкою розуміється усунення помилок в програмі. Тестування дозволяє вести їх пошук і, кінець кінцем, переконатися в тому, що повністю відладжена програма дає правильний результат. Для цього розробляється система тестів — спеціально підібраних контрольних прикладів з такими наборами параметрів, для яких рішення задачі відоме. Тестування повинне охоплювати всі можливі галуження в програмі, тобто перевіряти всі її інструкції, і включати такі початкові дані, для яких рішення неможливе. Перевірка особливих, виняткових ситуацій, необхідна для аналізу коректності. Наприклад, програма повинна відмовити клієнту банку в проханні видати суму, відсутню на його рахунку. У відповідальних проектах велику увагу надається так званому "захисту від дурня" (fool-tolerance), має на увазі стійкість програми до невмілого обігу користувача. Використання спеціальних програм — відладчиків, які дозволяють виконувати програму по окремих кроках, проглядаючи при цьому значення змінних, значно спрощує цей етап.
Аналіз результатів — якщо програма виконує моделювання якого-небудь відомого процесу, слід зіставити результати обчислень з результатами спостережень. У разі істотної розбіжності необхідно змінити модель.
Публікація результатів роботи, передача замовнику для експлуатації.
Супровід програми — включає консультації представників замовника по роботі з програмою і навчання персоналу. Недоліки і помилки, помічені в процесі експлуатації, повинні усуватися.
