
- •Лабораторний практикум
- •Міністерство освіти і науки україни національний університет “львівська політехніка” лабораторний практикум з дисципліни
- •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НАлагодження і тестування.
- •Список літератури.
7.3Приклад виконання завдання.
Задано функцію
f(x)=ex=
і значення: x=2.85; =0.0001.
7.3.1Постановка задачі.
З метою оптимізації програми за часом виконання і кількістю виконуваних операцій необхідно визначити кожний член ряду аn не безпосередньо за формулою, яка вимагає циклу для обчислення n! та “повільної” операції піднесення до степеня, а через відоме значення попереднього члену аn-1, тобто за рекурентною формулою. Для виведення рекурентної формули в вираз для аn підставимо n=n-1 та домножимо отриманий вираз так, щоб в результаті скорочень одержати вираз для аn:
,
та знайдемо значення нульового члену ряду:
а0=x00!=11=1.
7.3.2Розробка структури даних.
Приклад розробки структури даних подано в Табл. 7 .3.
Табл. 7.3. Структура даних програми.
Позначення |
Ім’я |
Тип |
Призначення, опис |
x |
x |
дійсна |
аргумент вхідна |
f |
F |
дійсна |
значення функції вихідна |
n |
n0 |
ціла константа |
номер першого члену ряду, n0=0 |
n |
n |
ціла |
номер члену ряду |
аn |
a |
дійсна |
n-й член ряду |
|
d |
дійсна константа |
похибка обчислення суми ряду |
– |
S |
дійсна |
сума ряду вихідна |
7.3.3Розробка алгоритму
Оскільки необхідна кількість членів ряду невідома наперед, то необхідно використовувати цикли “до” або “поки” з виходом з них по досягненню заданої точності обчислень Треба відвести змінну для накопичення суми членів ряду, яку перед початком циклу потрібно обнулити. Для порівняння заданої та досягнутої похибок треба розрахувати f(x). Спрощена блок-схема алгоритму обчислень наведена на Рис. 7 .1.
Рис. 7.1. Блок-схема алгоритму обчислення суми функціонального ряду.
На блок-схемі відсутні команди введення та виведення даних, які розміщуються студентом самостійно при виконанні роботи. Алгоритм використовує керуючу структуру “цикл до”. На блок-схемі відмічена контрольна точка КТ1, в якій зручно розмістити проміжний вивід для спостереження за ходом виконання програми, за збіжністю ряду при налагоджені програми.
7.3.4Текст програми мовою Pascal.
program RJAD;
const
n0: shortint=0;
d: real =1e-4;
var
x, a, F, S: real;
n: byte;
BEGIN
writeln (‘Введіть значення аргументу x’);
readln (x); {введення значення x}
a:=1; S:=0; n:=n0; {початкові значення змінних}
repeat {початок циклу “до”}
S:=S+a; {накопичення суми ряду}
n:=n+1; a:=a*x/n; {значення наступного члену}
writeln (n:4, a:12:5, S:12:5); {проміжний друк}
until abs(a)<d;{умова виходу з циклу “до”}
F:=exp(x); {значення функції}
writeln (‘сума ряду’, S:12:5, ‘функція’:15, F:12:5); {виведення}
writeln (‘Похибки: Задана’, d:8);
writeln (‘досягнута’:15, abs(F-S):8);
END.
7.3.5НАлагодження і результати тестування.
Відмічаються помилки та відповідні корекції алгоритму та тексту програми. Студенти наводять висновки про швидкість збіжності функціонального ряду, отримані на підставі виведених проміжних результатів. Порівнюється задана та досягнена точність розрахунків, наводяться результати роботи програми при декількох значеннях аргументу.
8.Лабораторна робота №8
Табулювання функції, заданої рядом Фур’є.
Мета роботи - засвоїти методику та виробити практичні навики застотування вкладених циклів.
8.1Перелік питань, які необхідно вивчити
Програмна реалізація табулювання функцій;
Обчислення суми ряду;
Правила запису вкладених циклів;
Поняття про періодичну функцію.
8.2Завдання.
Протабулювати функцію y=f(t) для М значень аргумента на інтервалі [a,b]. Функція задана аналітично та у вигляді ряду Фур’є:
.
Приклад графіка функції заданої аналітично та у вигляді суми перших трьох членів ряду Фур’є наведено на Рис. 8 .1.
Рис. 8.1. Графіки функцій побудованих на основі результатів табулювання.
Варіанти завдань до лабораторної роботи №8 подано в Табл. 8 .1. При розрахунку врахувати N перших членів ряду. Не вказані в таблиці коефіцієнти ak, bk дорівнюють нулеві.
Табл. 8.1. Варіанти завдань до лабораторної роботи.
№ |
f(t) |
ak, bk |
a |
b |
M |
N |
|||
1 |
[(t+) mod 2] 3 |
bk=2(-1)k+1k |
|
-1.5 |
1.5 |
20 |
8 |
||
2 |
|F1 |4 |
ak= |
(парні k) (непарні k) |
0 |
2 |
16 |
5 |
||
3 |
(t mod 2) |
bk= -2k |
|
|
|
8 |
3 |
||
4 |
|
bk= |
(парні k) (непарні k) |
-2 |
32 |
16 |
7 |
||
5 |
5sign(t) 5 |
bk= |
(парні k) (непарні k) |
- |
|
20 |
15 |
||
6 |
|
bk= |
(парні k) (непарні k) |
0 |
2 |
18 |
17 |
||
7 |
|
bk= |
(парні k) (непарні k) |
0 |
|
20 |
15 |
||
8 |
t223 |
ak=(-1)k4k2 |
|
- |
|
15 |
7 |
||
9 |
t(t)26 |
ak= |
(парні k) (непарні k) |
0 |
|
10 |
10 |
||
10 |
t(t)sign(t) |
bk= |
(парні k) (непарні k) |
-2 |
2 |
20 |
8 |
||
11 |
|sin(t)|2 |
|
(парні k) (непарні k) |
0 |
32 |
15 |
6 |
||
12 |
cos(t mod ) |
|
(парні k) (непарні k) |
0 |
2 |
20 |
10 |
||
13 |
-1/ (t<0, t> )
sin(t)-1/ (0≤t≤) |
b1=12
|
(парні k) (непарні k) |
-2 |
32 |
16 |
10 |
||
14 |
F1cos(t) |
b1=-12 bk=(-1)k2k(k21) |
|
- |
2 |
18 |
7 |
||
15 |
F1sin(t)1 |
a1=-12 ak=-2(-1)k(k21) |
|
-2 |
|
18 |
5 |
||
16 |
(3t26t+22)12 |
ak=1k2 |
|
0 |
2 |
20 |
3 |
||
17 |
(t)2 |
bk=1k |
|
0 |
2 |
16 |
9 |