- •Лабораторний практикум
- •Міністерство освіти і науки україни національний університет “львівська політехніка” лабораторний практикум з дисципліни
- •0. Методичні вказівки до оформлення звітів з лабораторних робіт 6
- •1. Лабораторна робота №1
- •Передмова.
- •0.Методичні вказівки до оформлення звітів з лабораторних робіт
- •Розділ і. Базові структури алгоритмів.
- •1.Лабораторна робота №1
- •1.1Перелік питань, які необхідно вивчити.
- •1.2Завдання.
- •1.3Методичні вказівки до виконання роботи № 1.
- •1.4Приклад виконання завдання.
- •1.4.1Постановка задачі.
- •1.4.2Розробка структури даних.
- •1.4.7Висновки.
- •2.Лабораторна робота №2
- •2.1Перелік питань, які необхідно вивчити.
- •2.2Завдання.
- •2.3Приклад виконання завдання.
- •2.3.1Постановка задачі.
- •2.3.2Розробка структури даних.
- •2.3.3Розробка блок-схеми алгоритму.
- •2.3.4Перевірка блок-схеми.
- •2.3.5Запис тексту програми.
- •3.1.2Виведення даних.
- •3.2Завдання.
- •3.3Методичні вказівки до лабораторної роботи.
- •3.3.1Постановка задачі.
- •3.3.2Розробка структури даних.
- •3.3.3Розробка алгоритму.
- •3.3.4Розробка програми.
- •Розділ іі. Використання числових і символьних змінних
- •4.3Методичні вказівки до роботи.
- •4.3.1Методи переведення в двійкову систему числення.
- •4.3.1.1Метод ділення.
- •4.3.1.2Метод віднімання.
- •4.3.1.3Метод маскування або логічного множення.
- •5.Лабораторна робота №5.
- •5.1Теоретичні відомості.
- •5.1.1Відомості з математики.
- •5.1.2Відомості з програмування.
- •5.2Завдання.
- •Розділ ііі. Циклічні алгоритми
- •6.Лабораторна робота №6
- •6.1Перелік питань, які необхідно вивчити для виконання роботи.
- •6.2Завдання.
- •6.3Приклад виконання завдання.
- •6.3.1Постановка задачі.
- •6.3.2Розробка структури даних.
- •6.3.3Розробка алгоритму
- •6.3.4Текст програми.
- •7.3Приклад виконання завдання.
- •7.3.1Постановка задачі.
- •7.3.2Розробка структури даних.
- •7.3.3Розробка алгоритму
- •7.3.4Текст програми мовою Pascal.
- •8.3Методичні вказівки до виконання роботи.
- •8.3.1Постановка задачі.
- •8.3.2Розробка структури даних.
- •8.3.3Розробка алгоритму.
- •Розділ іv. Обробка і використання масивів
- •9.3Приклад виконання завдання.
- •9.3.1Постановка задачі.
- •9.3.2Розробка структури даних.
- •9.3.3Розробка алгоритму.
- •9.3.4Запис тексту програми.
- •11.1.2Програмна реалізація розріджених масивів.
- •11.1.3Метод Гауса обчислення визначника матриці довільного розміру n*n.
- •11.2Завдання.
- •11.3Приклад алгоритму обчислення детермінанту.
- •Розділ V. Методи комп’ютерної графіки
- •12.Лабораторна робота №12.
- •12.1Теоретична частина
- •12.1.1Відомості з програмування.
- •12.1.2Перелік питань, які необхідно вивчити для виконання роботи.
- •12.2Завдання до лабораторної роботи.
- •12.3Методичні вказівки до виконання роботи
- •13.Лабораторна робота №13.
- •13.1Теоретична частина.
- •13.1.1Числовий опис зображення.
- •13.1.2Перетворення координат точки при її відображеннях.
- •13.1.3Питання, які необхідно вивчити.
- •13.2Завдання.
- •13.3Методичні вказівки до виконання роботи.
- •13.3.1Постановка задачі.
- •13.3.2Розробка структури даних.
- •13.3.3Розробка алгоритму.
- •13.3.4Запис тексту програми.
- •13.3.5Налагодження та результати тестування.
- •14.Лабораторна робота №14
- •14.1Перелік питань, які необхідно вивчити для виконання роботи.
- •14.2Теоретичні відомості.
- •14.3Завдання до лабораторної роботи.
- •Розділ VI. Деякі математичні методи
- •15.Лабораторна робота №15
- •15.1Теоретична частина.
- •15.1.1Основні статистичні характеристики.
- •15.1.2Гістограма розподілу числових даних.
- •15.1.3Питання, які необхідно вивчити для виконання роботи.
- •15.2Завдання.
- •16.2Завдання.
- •16.3Методичні вказівки до виконання роботи.
- •16.3.1Постановка задачі.
- •16.3.2Розробка структури даних.
- •16.3.3Розробка алгоритму.
- •16.3.4Написання тексту програми.
- •17.1.2Системи диференційних рівнянь.
- •17.1.3Форми подання результатів.
- •17.1.4Питання, які необхідно вивчити.
- •17.2Завдання.
- •17.3Методичні вказівки до виконання роботи.
- •17.3.1Постановка задачі.
- •17.3.2Розробка структури даних.
- •17.3.3Розробка алгоритму.
- •17.3.4Написання тексту програми.
- •17.3.5НАлагодження і тестування.
- •Список літератури.
6.3.3Розробка алгоритму
Після введення вхідних даних доцільно очистити екран та вивести шапку таблиці і номер сторінки. Оскільки кількість обчислень можна визначити, то для табулювань потрібно використати цикл з параметром. Для визначення моменту заповнення екрану необхідно організувати лічильник виведених рядків таблиці та порівнювати його з кількістю рядків, що можуть бути розміщені на екрані. При заповненні екрану необхідно організувати затримку, обнулити лічильник рядків, збільшити на 1 лічильник сторінок та продовжити виведення з першого рядка. Для обчислення складної функції, доцільне виділення її у підпрограму. Спрощена блок схема алгоритму наведена на Рис. 6 .2.
Рис. 6.2. Блок-схема алгоритму табулювання функції.
При виконанні лабораторної роботи необхідно конкретизувати наведені у блок-схемі описи, вказавши, які операції виконуються зі змінними. Блок-схема має бути доповнена блоком настроювання констант (присвоєння конкретних значень кількості рядків, стовпців, початкових значень) та блоком виведення номеру сторінки.
6.3.4Текст програми.
При написанні програми використовують оператори керованого виведення LOCATE для мови Basic і GotoXY для мови Pascal, та оператори введення одного символу INKEY$ для мови Basic, ReadKey для мови Pascal. Приклад тексту програми подано нижче.
program table;
uses CRT;
const MaxRowsNum=24;
var a,b,dx,x,y:real;
Page:integer;
Row:integer;
ColumnsNum:integer;
function f(a:real):real;
begin
if a<>0
then f:=sin(a)/a
else f:=0;
end;
Procedure Zatrymka;
begin
Repeat until KeyPressed;
end;
begin
ClrScr;
WriteLn('Obchyslennja znachen funktsiji y=sin(x)/x');
Write('Liva granytsja intervalu: ');
ReadLn(a);
Write('Prava granytsja intervalu: ');
ReadLn(b);
Write('Krok: ');
ReadLn(dx);x:=a;
ClrScr;
Page:=1;Row:=5;
GotoXY(1,1);Write('Storinka:');GotoXY(10,1);Write(Page);
GotoXY(1,2);
WriteLn('+--------------------------------------+--------------------------------------+');
WriteLn('| Argument | Functsija |');
WriteLn('+--------------------------------------+--------------------------------------+');
repeat
y:=f(x);
GotoXY(1,Row);Write('|');GotoXY(40,Row);Write('|');GotoXY(79,Row);Write('|');
GotoXY(2,Row);
Write(x);
GotoXY(41,Row);
Write(y);
inc(Row);
x:=x+dx;
if Row=MaxRowsNum
then
begin
GotoXY(10,1);
Write(Page);
Zatrymka;
Row:=5;
Inc(Page);
end;
until x>b;
Zatrymka;
end.
6.3.5Налагодження та результати тестування.
В цьому розділі необхідно навести діалог користувача з комп’ютером при введенні даних, одну з виведених на екран сторінок таблиці, перевірити за допомогою калькулятора або ЕОМ декілька з розрахованих значень.
7.Лабораторна робота №7
Обчислення сум функціональних рядів.
Мета роботи - засвоїти методику та виробити практичні навики застотування циклів для обчислення значень шляхом поступового накопичення.
7.1Перелік питань, які необхідно вивчити.
Збіжність і сума рядів;
Рекурентні формули;
Структури циклів “до” і “поки”;
Правила запису циклів мово Pascal.
7.2Завдання.
Розрахувати значення
заданої елементарної функції f(x)
безпосередньо за формулою та як суму
функціонального ряду (f(x)=
).
При обчисленні забезпечити похибку не
більше за .
Похибку оцінювати за абсолютною
величиною наступного члену ряду.
Значення аргументу x задано. Варіанти
завдань до лабораторної роботи №7
наведені в Табл. 7 .2, яка містить задані
значення аргументу, точність обчислення
та номер виразу, згідно з яким з Табл. 7 .1
вибирається відповідна функція, її
розклад в ряд Тейлора в околі нуля та
початкове значення для n.
Табл. 7.1. Функції і члени функціональних рядів.
№ |
f(x) |
n0 |
an |
№ |
f(x) |
n0 |
an |
1 |
1(1-x) |
0 |
xn |
5 |
sin(x) |
0 |
(-1)nx2n+1 (2n+1)! |
2 |
ex |
0 |
xnn! |
6 |
cos(x) |
0 |
(-1)nx2n (2n)! |
3 |
arctg(x) |
1 |
(-1)n-1x2n-1 (2n-1) |
7 |
exp(-x2) |
0 |
(-1)nx2n n! |
4 |
ln(x+1) |
1 |
(-1)n-1xn n |
8 |
sin(x)x |
0 |
(-1)nx2n (2n+1)! |
Табл. 7.2. Числові значення.
Варіант |
Вираз |
X |
|
Варіант |
Вираз |
X |
|
1 |
1 |
0.72 |
10-5 |
9 |
2 |
0.383 |
10-5 |
2 |
2 |
2.85 |
10-4 |
10 |
3 |
0.4 |
10-6 |
3 |
3 |
0.8 |
10-5 |
11 |
4 |
0.117 |
10-3 |
4 |
4 |
0.66 |
10-4 |
12 |
5 |
-4.8 |
10-3 |
5 |
5 |
5 |
10-2 |
13 |
6 |
5.96 |
10-4 |
6 |
6 |
0.27 |
10-2 |
14 |
7 |
-1.5 |
10-6 |
7 |
7 |
3.52 |
10-7 |
15 |
8 |
3.28 |
10-5 |
8 |
8 |
-0.196 |
10-3 |
16 |
1 |
0.2 |
10-3 |
