Порядок виконання роботи:
1. Занотуйте номер свого варіанту для звіту.
2. Виберіть згідно номеру свого варіанту дані для завдання
та перепишіть у звіт формулювання цього завдання.
3. Побудуйте блок-схему алгоритму розв’язування завдання.
4. Складіть та занотуйте для звіту текст програми
на мові Pascal для виконання завдання.
5. Запустіть середовище програмування Turbo Pascal.
6. Виконайте налаштування на робочий каталог –
зробіть поточним каталог групи.
7. Створіть новий файл у середовищі програмування Turbo Pascal.
8. Введіть текст створеної програми.
9. Дайте назву створеному файлу програми – PR07
та збережіть його у папці групи на робочому диску D.
10. Виконайте компіляцію створеної програми.
11. Запустіть програму на виконання у середовищі Turbo Pascal.
12. Перегляньте та занотуйте для звіту одержаний результат.
13. Вийдіть із середовища програмування Turbo Pascal.
Контрольні запитання:
1. Які процедури використовують для введення даних у Pascal?
2. Які процедури використовують для виведення даних у Pascal?
3. Які типи даних використовують у мові програмування Pascal?
4. Яким чином можна виконати операцію присвоювання у Pascal?
5. Яким чином можна обчислити корінь n-го степеня числа у мові Pascal?
6. Яким чином можна піднести число до n-го степеня у мові Pascal?
7. Яким чином можна реалізувати розгалуження у мові Pascal?
8. Які є форми оператора розгалуження у мові програмування Pascal?
9. Яких вимог потрібно дотримуватись при побудові блок-схем?
10. За допомогою якого елемента у блок-схемах
позначається процес обчислення значення виразу?
11. За допомогою якого елемента реалізується конструкція
розгалуження при побудові блок-схем?
12. Що представляє собою цикл з передумовою у мові Pascal?
13. Що представляє собою цикл з лічильником у мові Pascal?
14. Що представляє собою цикл з післяумовою у мові Pascal?
15. Яким чином реалізуються циклічні конструкції у блок-схемах?
16. Що представляє собою процес табулювання функції?
Студенти повинні знати:
1. загальну характеристику середовища програмування
Turbo Pascal та основні принципи роботи у ньому;
2. структуру програми на мові Pascal;
3. основні етапи роботи з програмою у середовищі Turbo Pascal;
4. загальну характеристику стандартних типів даних мови Pascal;
5. оператори та стандартні процедури і функції мови Pascal;
6. основні принципи побудови циклічно-розгалужених програм;
7. правила опису алгоритмів за допомогою блок-схем.
Студенти повинні вміти:
1. працювати у середовищі програмування Turbo Pascal;
2. використовувати текстовий редактор середовища
Turbo Pascal для введення та редагування текстів програм;
3. виконувати тестування та налагодження
програми у середовищі програмування Turbo Pascal;
4. складати циклічно-розгалужені програми на мові Pascal;
5. коректно записувати арифметичні вирази;
6. правильно зображати та використовувати
основні елементи блок-схем при їх побудові.
Порядок оформлення звіту:
Звіт повинен складатися з наступних частин:
1. Тема роботи.
2. Мета роботи.
3. Хід роботи.
4. Висновки до роботи.
Зразок виконання практичної роботи №7
Завдання
Скласти наступну програму:
протабулювати функцію y = f ( u , v ) на інтервалах u є [a , b] і v є [c , d]
з кроками hu , hv . Результати вивести у вигляді таблиці.
Знайти серед обчислених значень функції найбільше і найменше значення,
а також вказати значення аргументів, при яких вони досягаються.
№
| вираз
| a
| b
| c
| d
| hu
| hv
|
|
|
|
|
|
| 0.68
| 0.71
|
Текст програми:
program tabf;
const hu=0.68; hv=0.71;
var u,v,y,min,max,umax,umin,vmax,vmin:real;
begin
u:=1; v:=3; y:=exp(u)+7*sqrt(u+v);
min:=y; max:=y; umax:=u; umin:=u; vmax:=v; vmin:=v;
writeln(’y’ :10,’u’ :16,’v’ :14);
repeat v:=3;
repeat y:=exp(u)+7*sqrt(u+v);
writeln(y:14:4,u:14:2,v:14:2);
if y>max then begin max:=y; umax:=u; vmax:=v; end;
if y<min then begin min:=y; umin:=u; vmin:=v; end;
v:=v+hv;
until v>7; u:=u+hu;
until u>5; writeln; writeln;
writeln(’max=’ :10,max:9:4, ’umax=’ :8,umax:7:2, ’vmax=’ :8,vmax:7:2);
writeln(’min=’ :10,min:9:4, ’umin=’ :8,umin:7:2, ’vmin=’ :8,vmin:7:2);
readln; end.
Завдання
Скласти наступну програму:
протабулювати функцію y = f ( u , v ) на інтервалах u є [a , b] і v є [c , d]
з кроками hu , hv . Результати вивести у вигляді таблиці.
Знайти серед обчислених значень функції найбільше і найменше значення,
а також вказати значення аргументів, при яких вони досягаються.
№
| вираз
| a
| b
| c
| d
| hu
| hv
|
|
|
|
|
|
| 0.62
| 0.81
|
|
|
|
| -3
|
| 0.76
| 0.87
|
|
|
|
|
|
| 0.98
| 0.67
|
|
|
|
|
|
| 0.92
| 0.78
|
|
|
|
|
|
| 0.48
| 0.91
|
Практична робота №8
Створення та реалізація програм
із використанням функцій.
Мета: Навчитися створювати програми, що містять функції на мові Pascal та користуватися основними елементами інтерфейсу середовища програмування для редагування і виконання програм у Turbo Pascal.
Прилади, обладнання та інструменти:
Для виконання практичної роботи використовується ПК з наступним програмним забезпеченням: операційна система Windows XP; середовище Turbo Pascal.
Теоретичні відомості:
Підпрограма — це спеціальним чином оформлена частина програми, яка може викликатися для виконання з інших точок програми необмежену кількість разів. Використання підпрограм дозволяє поліпшити структуру програми і зменшити її розмір. Переважно підпрограма реалізує алгоритм, який розв'язує деяку підзадачу глобальної задачі. За структурою підпрограма майже цілком аналогічна програмі. Вона так само містить заголовок, описову та виконавчу частини, проте в описовій частині підпрограми відсутній розділ підключення модулів. Крім того, заголовок підпрограми по своєму оформленню відрізняється від заголовку програми. Підпрограми діляться на процедури і функції.Вони відрізняються способом виклику і поверненням результату. Результатом виконання функції є тільки одне значення (певного типу). Тому функції можна використовувати як операнд виразу. Процедуру можна викликати тільки окремим оператором виклику процедури. Як результат своєї роботи, процедура може повертати у головну програму, одне значення, декілька значень, жодного значення.
Робота з підпрограмою включає два основних етапи: опис підпрограми та її виклик. Будь-яка підпрограма повинна бути попередньо описана в розділі опису процедур і функцій, після чого допускається її виклик. В описі підпрограми задаються її ім'я, список параметрів і дії, виконувані підпрограмою. У виклику підпрограми вказуються ім'я підпрограми і список аргументів (фактичних параметрів), що передаються підпрограмі для виконання над ними певних дій. У модулях Turbo Pascal є багато стандартних підпрограм, які можна викликати без попереднього опису. Крім того, програміст може створювати свої підпрограми, які називаються користувацькими.
Взаємодія викликаючої програми і підпрограми:викликаюча програма взаємодіє з підпрограмою по керуванню і за даними. Взаємодія по керуванню – це передача керування з програми в підпрограму й організація повернення назад у викликаючу програму. Оператори викликаючої програми виконуються до того місця, де знаходиться виклик підпрограми (процедури або функції). Після виклику підпрограми починають виконуватись оператори, що знаходяться у підпрограмі. Після завершення виконання підпрограми керування передається у викликаючу програму, тобто виконуються дії чи оператори, які знаходяться відразу після виклику підпрограми. Взаємодія за данимиполягає в передачі підпрограмі даних, над якими вона виконує певні дії. Така взаємодія може здійснюватися такими основними способами:
¾ з використанням файлів;
¾ за допомогою глобальних змінних;
¾ за допомогою параметрів.
Найчастіше використовується останній спосіб. При звертанні до підпрограми з викликаючої програми вказуються значення, при яких підпрограма повинна виконати закладений у неї алгоритм. Для цього після імені підпрограми в круглих дужках перераховують змінні чи константи, які містять ці значення. Цей список називають списком фактичних параметрів або аргументів. Опис підпрограми повинен містити список параметрів, які передаються з викликаючої програми в підпрограму. Цей список називають списком формальних параметрів. Формальні параметри є елементами підпрограми і використовуються при описі алгоритму, що виконується підпрограмою. Аргументи, вказані при виклику підпрограми (фактичні параметри) повинні бути узгоджені з формальними параметрами підпрограми, описаними в заголовку опису підпрограми. Імена формальних і фактичних параметрів можуть різнитися, проте їхня кількість і порядок слідування повинні збігатися, а типи параметрів і відповідних їм аргументів повинні бути сумісними.
При виклику підпрограми значення аргументів передаються у підпрограму. Формальні параметри приймають значення тих аргументів у виклику, яким вони поставлені у відповідність. Першому формальному параметру відповідає перший аргумент, другому – другий тощо. При цьому здійснюється перевірка на відповідність типів і кількості параметрів і аргументів. З цими значеннями підпрограма виконує реалізований у ній алгоритм. Під час іншого виклику підпрограма виконуватиме цей алгоритм вже з іншими аргументами, вказаними у виклику.
Для припинення роботи підпрограми можна використовувати процедуру Exit, що перериває виконання операторів підпрограми і повертає керування викликаючій програмі. Підпрограми можна викликати не тільки з програми, але і з інших підпрограм.
Підпрограми-функції.Структура підпрограми-функції схожа до структури програми. Опис функції складається із заголовку і блоку. Блок поділяється на дві частини: описову і виконавчу. В описовій частині описуються типи, позначки, підпрограми, оголошуються константи і змінні, що використовуються підпрограмою. У виконавчій частині знаходяться оператори. Схематично структуру опису функції можна подати у наступному вигляді:
<Заголовок функкції>;
Label <Список позначок>;
Const <Оголошення констант>;
Туре <Опис типів>;
Var <Oголошення змінних>;
<Опис процедур, опис функцій>;
Begin <Оператори>; End;
Обов'язковими є заголовок функції та виконавча частина блоку. Заголовок містить ключове слово Function, ім'я функції, необов'язковий список формальних параметрів в круглих дужках і тип значення, що повертається функцією.
Заголовок має формат:
Function <Ім’я> [(<список формальних параметрів)] : <Тип результату>;
Тип результату може бути будь-яким типом, крім файлового чи складового типу, що містить файловий тип. Список формальних параметрів складається із послідовності описів змінних, відокремлених символом ";" (крапка з комою). Якщо декілька змінних, що йдуть підряд у списку формальних параметрів, мають однаковий тип, то їх можна перерахувати через кому і після символу ":" (двокрапка) вказати спільний для них усіх тип.
Виклик функції здійснюється по її імені. В круглих дужках вказується список аргументів. Аргументи повинні відповідати формальним параметрам, вказаним в описі у заголовку функції: аргументів повинно бути стільки ж, що і формальних параметрів, вони повинні мати ті ж типи, що й відповідні їм формальні параметри. На відміну від процедури, ім’я функції може входити як операнд у вирази. У тілі функції повинен бути хоча б один оператор присвоювання, у лівій частині якого стоїть ім'я функції.Саме він і визначає значення, що повертається функцією. Якщо таких операторів декілька, то результатом виконання функції буде значення останнього оператора присвоювання. Ім’я функції можна використовувати у виразах блоку функції, проте це призводить до рекурсивного виклику функції самої себе. Рекурсивні підпрограми: у ряді випадків потрібно, щоб підпрограма викликала сама себе. Такий спосіб виклику називається рекурсією. Рекурсія корисна в тих випадках, коли основну задачу можна розділити на підзадачі, кожна з яких реалізується за алгоритмом, що збігається з основним.
Порядок виконання роботи:
1. Занотуйте номер свого варіанту для звіту.
2. Виберіть згідно номеру свого варіанту дані для завдання
та перепишіть у звіт формулювання цього завдання.
3. Складіть та занотуйте для звіту текст програми
на мові Pascal для виконання завдання.
4. Запустіть середовище програмування Turbo Pascal.
5. Виконайте налаштування на робочий каталог –
зробіть поточним каталог групи.
6. Створіть новий файл у середовищі програмування Turbo Pascal.
7. Введіть текст створеної програми.
8. Дайте назву створеному файлу програми – PR08
та збережіть його у папці групи на робочому диску D.
9. Виконайте компіляцію створеної програми та запустіть її на виконання.
10. Перегляньте та занотуйте для звіту результати виконання
програми для двох різних варіантів початкових даних.
11. Вийдіть із середовища програмування Turbo Pascal.
Контрольні запитання:
1. Яким чином можна виконати компіляцію програми у Turbo Pascal?
2. Як можна запустити програму на виконання у середовищі Turbo Pascal?
3. Яким чином можна переглянути результати виконання програми?
4. Що представляють собою підпрограми у мові програмування Pascal?
5. Для чого використовують функції у мові програмування Pascal?
6. Яким чином можна виконати опис функцій у мові Pascal?
7. Як можна викликати функцію у мові програмування Pascal?
8. Яку структуру має підпрограма-функція у мові Pascal?
9. Чим відрізняються функції від процедур у мові Pascal?
10. Як відбувається взаємодія викликаючої програми та підпрограми?
11. Що представляють собою формальні параметри підпрограми?
12. Що представляють собою фактичні параметри підпрограми?
Студенти повинні знати:
1. загальну характеристику середовища програмування
Turbo Pascal та основні принципи роботи у ньому;
2. структуру програми на мові Pascal;
3. оператори та стандартні процедури і функції мови Pascal;
4. загальну характеристику підпрограм мови програмування Pascal;
5. основні принципи побудови програм із використанням функцій.
Студенти повинні вміти:
1. працювати у середовищі програмування Turbo Pascal;
2. використовувати текстовий редактор середовища
Turbo Pascal для введення та редагування текстів програм;
3. виконувати тестування та налагодження
програми у середовищі програмування Turbo Pascal;
4. складати програми, що містять функції на мові Pascal;
5. коректно записувати арифметичні вирази.
Порядок оформлення звіту:
Звіт повинен складатися з наступних частин:
1. Тема роботи.
2. Мета роботи.
3. Хід роботи.
4. Висновки до роботи.
Зразок виконання практичної роботи №8
Завдання
Скласти наступну програму:
обчислити заданий вираз використовуючи підпрограми-функції.
Необхідні вхідні дані задати самостійно.
У програмі передбачити виведення початкових даних та значення виразу.
№
| вираз
|
|
|
Текст програми:
program prfnc;
var x,y,z:real;
function f1(a,b:real):real;
begin f1:=sqrt(abs(a+b)); end;
function f2(a,b:real):real;
begin f2:=exp(b*ln(a))+ln(a); end;
begin
write(’vvedit x:’ :15); readln(x);
write(’vvedit y:’ :15); readln(y);
z:=f1(x,y)/(f2(x,y)+3)-f1(x,y)+sin(f2(x,y));
writeln; writeln(’x=’ :10,x:12:3, ’y=’ :20,y:12:3);
writeln(’z=’ :15,z:12:5);
readln; end.
Для обчислення значення виразу Z були використані дві підпрограми-функції:
(f1) та
(f2).
Завдання
Скласти наступну програму:
обчислити заданий вираз використовуючи підпрограми-функції.
Необхідні вхідні дані задати самостійно.
У програмі передбачити виведення початкових даних та значення виразу.
Практична робота №9
Створення та реалізація програм
із використанням процедур.
Мета: Навчитися створювати програми, що містять процедури на мові Pascal та користуватися основними елементами інтерфейсу середовища програмування для редагування і виконання програм у Turbo Pascal.
Прилади, обладнання та інструменти:
Для виконання практичної роботи використовується ПК з наступним програмним забезпеченням: операційна система Windows XP; середовище Turbo Pascal.
Теоретичні відомості:
Підпрограма — це спеціальним чином оформлена частина програми, яка може викликатися для виконання з інших точок програми необмежену кількість разів. Використання підпрограм дозволяє поліпшити структуру програми і зменшити її розмір. Переважно підпрограма реалізує алгоритм, який розв'язує деяку підзадачу глобальної задачі. За структурою підпрограма майже цілком аналогічна програмі. Вона так само містить заголовок, описову та виконавчу частини, проте в описовій частині підпрограми відсутній розділ підключення модулів. Крім того, заголовок підпрограми по своєму оформленню відрізняється від заголовку програми. Підпрограми діляться на процедури і функції.Вони відрізняються способом виклику і поверненням результату. Процедуру можна викликати тільки окремим оператором виклику процедури. Як результат своєї роботи, процедура може повертати у головну програму, одне значення, декілька значень, жодного значення.
Робота з підпрограмою включає два основних етапи: опис підпрограми та її виклик. Будь-яка підпрограма повинна бути попередньо описана в розділі опису процедур і функцій, після чого допускається її виклик. В описі підпрограми задаються її ім'я, список параметрів і дії, виконувані підпрограмою. У виклику підпрограми вказуються ім'я підпрограми і список аргументів (фактичних параметрів), що передаються підпрограмі для виконання над ними певних дій. У модулях Turbo Pascal є багато стандартних підпрограм, які можна викликати без попереднього опису. Крім того, програміст може створювати свої підпрограми, які називаються користувацькими.
Підпрограми-процедури. Структура процедури схожа до структури функції. Опис процедури складається із заголовку і блоку. Блок ділиться на дві частини: описову і виконавчу. Структура блоку у процедурі така ж як і у функції. Зовні описи процедури і функції відрізняються лише заголовками. Заголовок процедури складається з ключового слова procedure, імені процедури і необов'язкового списку параметрів у круглих дужках із вказанням типу кожного параметра.
Заголовок процедури має вигляд:
Procedure <Ім’я> (<список формальних параметрів>);
Для звертання до процедури використовується оператор викликупроцедури. Він складається з імені процедури і списку аргументів, розташованих в круглих дужках. Повернення результатів виконання процедури у викликаючу програму відбувається за допомогою формальних параметрів.Існують такі види формальних параметрів: параметри-значення, параметри-константи, параметри-змінні, нетиповані константи і змінні.
Група параметрів, перед якими в заголовку опису підпрограми відсутні слова var або const і за якими йде назва їхнього типу, називаються параметрами-значеннями. Параметр-значення трактується, як локальна стосовно підпрограми змінна. У підпрограмі значення таких параметрів можна змінювати, проте ці зміни не впливають на значення відповідних їм аргументів, що при виконанні підпрограми були підставлені замість формальних параметрів-значень. Відповідне фактичне значення параметра-значення не повинно мати файловий тип чи який-небудь структурний тип, що містить у собі файловий тип.
Група параметрів, перед якими в заголовку підпрограми стоїть слово const і за яким йде опис їхнього типу, називаються параметрами-константами. У тілі підпрограми значення параметра-константи змінити не можна. Присвоювання формальному параметру-константі не допускаються. Формальний параметр-константа також не може передаватися як фактичний параметр іншій процедурі чи функції. Ті параметри, зміна яких у підпрограмі небажана і повинна бути заборонена, слід оформити як параметри-константи. Крім того, для параметрів-констант рядкових і структурних типів компілятор створює більш ефективний код.
Група параметрів, перед якими в заголовку підпрограми стоїть слово var і за якими йде опис їхнього типу, називаються параметрами-змінними. Параметр-змінна використовується у випадках, коли значення повинно бути передане з підпрограми у викликаючу програму. Файловий тип може передаватися тільки, як параметр-змінна. Для параметрів-констант і параметрів-змінних можна не вказувати їх тип, тоді вони вважаються нетипованими. Аргументи, що підставляються на їх місце, можуть бути будь-якого типу, і програміст повинен самостійно інтерпретувати типи параметрів у тілі підпрограми. Коли формальний параметр є нетипованим параметром, то відповідний фактичний параметр може бути будь-якого типу. Нетипований параметр, описаний із ключовим словом var, може модифікуватися, а нетипований параметр, описаний із ключовим словом const, доступний тільки для читання. У процедурі чи функції в нетипованого параметра-змінної тип відсутній, тобто він несумісний зі змінними всіх типів, поки йому не буде присвоєний певний тип за допомогою перетворення типу змінної.
Порядок виконання роботи:
1. Занотуйте номер свого варіанту для звіту.
2. Виберіть згідно номеру свого варіанту дані для завдання
та перепишіть у звіт формулювання цього завдання.
3. Складіть та занотуйте для звіту текст програми
на мові Pascal для виконання завдання.
4. Запустіть середовище програмування Turbo Pascal.
5. Виконайте налаштування на робочий каталог –
зробіть поточним каталог групи.
6. Створіть новий файл у середовищі програмування Turbo Pascal.
7. Введіть текст створеної програми.
8. Дайте назву створеному файлу програми – PR09
та збережіть його у папці групи на робочому диску D.
9. Виконайте компіляцію створеної програми.
10. Запустіть програму на виконання у середовищі Turbo Pascal.
11. Перегляньте та занотуйте для звіту результати виконання
програми для двох різних варіантів початкових даних.
12. Вийдіть із середовища програмування Turbo Pascal.
Контрольні запитання:
1. Як можна активізувати головне меню середовища Turbo Pascal?
2. Яким чином можна переглянути результати виконання програми?
3. Які процедури використовують для виведення даних у Pascal?
4. Що представляють собою підпрограми у мові програмування Pascal?
5. Для чого використовують процедури у мові програмування Pascal?
6. Яким чином можна виконати опис процедури у мові Pascal?
7. Як можна викликати процедуру у мові програмування Pascal?
8. Яку структуру має підпрограма-процедура у мові Pascal?
9. Чим відрізняються функції від процедур у мові Pascal?
10. Як відбувається взаємодія викликаючої програми та підпрограми?
11. Що представляють собою формальні параметри підпрограми?
12. Що представляють собою фактичні параметри підпрограми?
Студенти повинні знати:
1. загальну характеристику середовища програмування
Turbo Pascal та основні принципи роботи у ньому;
2. оператори та стандартні процедури і функції мови Pascal;
3. пріоритет операцій та правила запису складних виразів;
4. загальну характеристику підпрограм мови програмування Pascal;
5. основні принципи побудови програм із використанням процедур.
Студенти повинні вміти:
1. працювати у середовищі програмування Turbo Pascal;
2. використовувати текстовий редактор середовища
Turbo Pascal для введення та редагування текстів програм;
3. виконувати тестування та налагодження
програми у середовищі програмування Turbo Pascal;
4. складати програми, що містять процедури на мові Pascal;
5. коректно записувати арифметичні вирази.
Порядок оформлення звіту:
Звіт повинен складатися з наступних частин:
1. Тема роботи.
2. Мета роботи.
3. Хід роботи.
4. Висновки до роботи.
Зразок виконання практичної роботи №9
Завдання
Скласти наступну програму:
обчислити заданий вираз використовуючи підпрограми-процедури.
Необхідні вхідні дані задати самостійно.
У програмі передбачити виведення початкових даних та значення виразу.
№
| вираз
|
|
|
Текст програми:
program prfnc;
var x,y,z,z1,z2:real;
procedure f1(a,b:real; var r1:real);
begin
r1:=sqrt(abs(a+b));
end;
procedure f2(a,b:real; var r2:real);
begin
r2:=exp(b*ln(a))+ln(a);
end;
begin
write(’vvedit x:’ :15); readln(x);
write(’vvedit y:’ :15); readln(y);
f1(x,y,z1);
f2(x,y,z2);
z:=z1/(z2+3)-z1+sin(z2);
writeln; writeln;
writeln(’x=’ :10,x:12:3, ’y=’ :20,y:12:3);
writeln(’z=’ :15,z:12:5);
readln;
end.
Завдання
Скласти наступну програму:
обчислити заданий вираз використовуючи підпрограми-процедури.
Створити процедури для перевірки коректності введених даних та виведення результату з потрібною точністю (кількістю знаків після коми).
Необхідні вхідні дані задати самостійно.