- •Сеанс роботи в середовищі Turbo Pascal
- •Контрольні питання до лабораторної роботи № 1:
- •Процедури введення-виведення
- •Процедури управління розташуванням інформації на екрані
- •Процедури роботи з кольором
- •Запустити програму Turbo Pascal.
- •Контрольні питання до лабораторної роботи № 2:
- •Контрольні питання до лабораторної роботи № 3:
- •Контрольні питання до лабораторної роботи № 5:
- •Контрольні питання до лабораторної роботи № 6:
- •Контрольні питання до лабораторної роботи № 7:
- •Загальна форма запису оператора циклу з лічильником:
- •Контрольні питання до лабораторної роботи № 8:
- •Контрольні питання до лабораторної роботи № 9:
- •Контрольні питання до лабораторної роботи № 10:
- •Задача 1. Визначити значення символьної змінної d після виконання наступних операторів:
- •Контрольні питання до лабораторної роботи № 11:
- •Задача 1. Визначити кількість входжень символу s у слово a.
- •Контрольні питання до лабораторної роботи № 12:
- •Контрольні питання до лабораторної роботи № 13:
- •Контрольні питання до лабораторної роботи № 14:
- •Контрольні питання до лабораторної роботи № 15:
- •Контрольні питання до лабораторної роботи № 16:
- •1. Упорядкування вставлянням
- •2. Упорядкування вибором
- •3. Упорядкування обміном
- •Контрольні питання до лабораторної роботи № 17:
- •Контрольні питання до лабораторної роботи № 18:
- •Контрольні питання до додаткової лабораторної роботи № 2:
- •Контрольні питання до лабораторної роботи № 20:
- •Контрольні питання до лабораторної роботи № 21:
- •Задача 1.Скласти програму, яка за допомогою функції, що визначає найбільше з двох чисел, визначає найбільше з чотирьох чисел.
- •Контрольні питання до лабораторної роботи № 22:
- •Текстовий файл (.Txt)
- •Контрольні питання до лабораторної роботи № 24:
- •Типізований файл (.Doc, dat, bit)
- •Нетипізований файл
- •Контрольні питання до лабораторної роботи № 25:
- •Контрольні питання до лабораторної роботи № 27:
- •Операції над множинами
- •Контрольні питання до лабораторної роботи № 29:
- •Контрольні питання до лабораторної роботи № 31:
- •Контрольні питання до лабораторної роботи № 33:
- •Процедури та функції для роботи у графічному режимі
- •Контрольні питання до лабораторної роботи № 34:
- •Задача 1. У графічному режимі виконати наступні дії:
- •Контрольні питання до лабораторної роботи № 35:
Контрольні питання до лабораторної роботи № 18:
Що таке модуль користувача (програміста)?
Яку структуру має модуль програміста?
Як створити модуль програміста?
Який формат має файл модуля програміста після компіляції?
Який порядок звернення до модуля програміста?
________________________________________________________________________________________________
Лабораторна робота № 19
Тема: Використання можливостей псевдографіки. Створення вікон
Мета роботи. Навчитися складати програми з використанням псевдографічних символів: виводити рамки різних типів; створювати вікна у текстовому режимі.
Хід роботи
Задача1. У текстовому режимі створити вікно з координатами (20,5,60,15) та вивести в нього своє ім’я. За допомогою псевдографічних символів вивести у створене вікно рамку червоного кольору.
Вказівка: для виведення сторін рамки використати оператор циклу
Задача 2. Написати процедуру , яка створює на екрані у текстовому режимі вікно із заданими координатами та заповнює його по горизонталі будь-якими символами певного кольору. Формальні параметри, що передаються у процедуру: координати вікна та номер кольору. Використовуючи створену процедуру, розмістити на екрані 16 різнокольорових вікон, що заповнюють весь екран.
Вказівка:
1.Зміна кольору повинна мати циклічний порядок.
2. Для виведення всіх вікон слід попередньо розрахувати координати кожного вікна, виходячи з розмірів екрану у текстовому режимі
Контрольні питання до додаткової лабораторної роботи № 2:
Скільки знакомісць можна розмістити на екрані, що працює у текстовому режимі?
Що таке псевдографічні символи?
Для чого у програмах на Turbo Pascal використовуються псевдографічні символи?
Яка стандартна функція призначена для виведення псевдографічних символів?
Що представляє собою вікно у текстовому режимі?
Яка стандартна процедура призначена для створення вікон?
Який сенс мають параметри процедури Window? _________________________________________________________________________________________
Лабораторна робота № 20
Тема: Організація підпрограм з використанням процедур
Мета роботи. Навчитися складати програми з використанням процедур, визначати формальні та фактичні параметри, локальні та глобальні змінні.
Методичні вказівки до виконання лабораторної роботи.
Процедури та функції аналогічні програмам в мініатюрі і мають загальну назву – підпрограми.
Всі процедури і функції мови Паскаль поділені на два класи: 1)стандартні; 2) визначені користувачем.
В програмі опис процедур і функцій повинен розташовуватися між розділами змінних та операторів. Кожна процедура або функція визначається один раз, а використовується багато разів.
Структура процедур і функцій аналогічна структурі повної програми на мові Паскаль. В них можуть бути описані власні мітки, константи, типи, змінні і навіть власні процедури та функції. Внутрішні описи повинні слідувати у тому ж порядку, що і розділи основної програми.
Опис процедури складається із заголовка і тіла процедури. Заголовок включає службове слово Procedure, ім'я процедури і заключний у круглі дужки список формальних параметрів з вказівкою їх типів. Procedure <ім'я > (список формальних параметрів);
Формальні параметри відокремлені один від одного крапкою з комою; їх не можна описувати в розділі описів процедури.
Для звернення до процедури необхідно використати оператор виклику процедури. Він має вигляд: ім'я процедури (список фактичних параметрів);
Фактичні параметри в списку перераховуються через кому. Механізм застосування формальних і фактичних параметрів забезпечує заміну перших останніми, що дозволяє виконувати процедуру з різними даними.
Між формальними та фактичними параметрами повинна бути повна відповідність (однакова кількість, порядок слідування, типи)
Існує два основних класи формальних параметрів: 1) параметри-значення; 2) параметри-змінні.
Параметри-значення використовуються в якості вхідних даних підпрограми, при зверненні до якої фактичні параметри передають своє значення формальним і більше не змінюються.
Параметри-змінні можуть використовуватися і в якості вхідних, і в якості вихідних даних. В заголовку процедури перед ними необхідно вказувати службове слово Var. При зверненні до підпрограми фактичні параметри заміщають формальні. В результаті виконання підпрограми змінюються фактичні параметри.
В якості вхідних даних в підпрограмі слід використовувати параметри-значення, а в якості вихідних – параметри-змінні.
Дані, які являються і вхідними, і вихідними, слід описувати як параметри-змінні.
Приклад. Скласти програму розв’язку групи квадратних рівнянь pix2+qix+ri=0, де p, q, r – масиви дійсних чисел, що складаються з k елементів. Розв’язок одного рівняння оформити у вигляді процедури.
Заголовок процедури має вигляд:
Procedure Korni(a, b, c: real; var x1, x2: real; var pr: Boolean);
Параметри-значення (a, b, c) типу real використовуються для передачі коефіцієнтів квадратного рівняння. Параметри-змінні x1, x2 типу real, pr типу boolean; у змінних х1 та х2 з процедури будуть повертатися значення коренів рівняння; змінна pr повертає true, якщо рівняння має дійсні корені та false, якщо дійсних коренів немає. Значення параметра pr визначається знаком дискримінанту.
Алгоритм:
Введення кількості рівнянь у змінну k.
Організація циклу по змінній і, яка буде змінюватися від 1 до k та визначати номера рівняння. Для кожного з рівнянь необхідно виконати наступне:
Ввести значення коефіцієнтів pi, qi ,ri ;
Звернутися до процедури розв’язку квадратного рівняння;
В залежності від значення логічної змінної L необхідно вивести значення коренів або повідомлення про те, що рівняння не має розв’язку.
Program Urav;
Var
p, q, r: array[1..50] of real; x, y: real; i, k: integer; L: Boolean;
Procedure Korni(a, b, c: real; var x1, x2: real; var pr: Boolean);
Var D: real;
Begin
D:=b*b-4*a*c;
If D>=0 then begin pr:= true; x1:=(-b+sqrt(D))/2*a; x1:=(-b-sqrt(D))/2*a; end else pr:=false
End;
{ Початок основної програми }
Begin
Write(‘Введіть кількість рівнянь’); Readln(k);
For i:= 1 to k do
Begin
Write(‘Введіть коефіцієнти ’ , i,’-го рівняння’); readln(p[i], q[i], r[i]);
{Звернення до процедури}
Korni(p[i], q[i], r[i], x, y, L);
If L then writeln(‘корені’, i,’-го рівняння ’,x:8:5, ‘ ‘,y:8:5)
else write (‘в ’, i,’-му рівнянні коренів немає’);
End;
End.
Хід роботи
Задача 1. Створити процедуру Uzor , яка заповнює екран трьома рядками *******, ++++++, ===== по 80 символів. Використати процедуру в головній програмі для заповнення всього екрану візерунками різних кольорів.
Задача 2. Створити процедуру, яка дозволяє вводити рядки різної довжини і підраховує кількість входжень певного символу у кожному з рядків Вивести на екран повідомлення про початок та кінець програми. Перевірити роботу процедури для двох символів — крапки та латинської літери А.
Додаткове завдання
Задача 3. Створити процедуру малювання рамки довільного розміру. Розміри рамки задавати з клавіатури і передавати у процедуру як параметри. Після того, як процедура буде створена, в головній програмі організувати цикл по виведенню восьми рамок жовтого кольору на екран