- •З м і с т
- •Частина 1. Алгоритмізація задачі Порядок виконання лабораторних робіт
- •Зміст звіту
- •Основні принципи розробки алгоритмів
- •Лабораторна робота 1 алгоритмізАцІя лінійного, розгалуЖеного Та циклічного обчислювального процесу
- •Загальні вказівки
- •Завдання для самостійної роботи
- •Лабораторна робота 2 селективна обробка масивів
- •Загальні вказівки Селективна (вибіркова) обробка інформації
- •Знаходження екстремального значення
- •Формування одномірного робочого масиву
- •Сортування елементів масиву
- •Завдання для самостійної роботи
- •Лабораторна робота 3 вкладені цикли. Обробка двовимірних масивів
- •Загальні вказівки Вкладені цикли
- •Обробка заданого рядка (стовпця) матриці
- •Обробка заданої діагоналі матриці
- •Селективна обробка рядка (стовпця) матриці, що задовольняє заданій умові
- •Завдання для самостійної роботи
- •Частина 2. Складання і налагодження програми. Обчислення й обробка результатів Порядок виконання лабораторних робіт
- •Зміст звіту
- •Оператор привласнювання
- •Оператори уводу-виводу
- •Завдання до лабораторної роботи
- •Лабораторна робота 2 програмування розгалуЖеного обчислювального процесу
- •Структура Паскаль–програми
- •Умовний оператор
- •Завдання до лабораторної роботи
- •Лабораторна робота 3
- •Завдання до лабораторної роботи
- •Програмування розгалуЖеного циклічного обчислювального процесу. Табулювання функцій
- •Табулювання функцій
- •Завдання до лабораторної роботи
- •Лабораторна робота 5 нестандартні й обмежені типи даних. Оператор варіанта
- •Нестандартні типи даних
- •Обмежені типи даних
- •Оператор вибору варіанта
- •Оператор циклу for
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 6 регулярні типи даних. Селективна обробка масивів
- •Регулярні типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 7 формування робочих масивів за допомогою операцій селекції вихідного масиву
- •Сортування масивів
- •Завдання до лабораторної роботи
- •Лабораторна робота 8 вкладені цикли. Обробка двовимірних масивів
- •Загальні вказівки
- •Завдання до лабораторної роботи
- •Лабораторна робота 9 процедури і функції
- •Процедури
- •Функції
- •Завдання до лабораторної роботи
- •Лабораторна робота 10 обробка символьних даних
- •Символьний тип даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 11 обробка строкових даних
- •Строковий тип даних
- •Процедури
- •Функції
- •'Abcdef' copy(s,2,3) 'bcd';
- •'System' length(s) 6;
- •Завдання до лабораторної роботи
- •Лабораторна робота 12 комбіновані типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 13 файли і файлові типи даних
- •Файловий тип даних
- •Процедури обробки файлів
- •Завдання до лабораторної роботи
- •Список рекомендованої літератури
Завдання до лабораторної роботи
Складіть програму для обчислення суми членів ряду
з точністю до члена ряду за абсолютною величиною, меншого за 10-5. Максимальне число ітерацій n. Вхідні дані наведені в таблиці 16.
Таблиця 16
Вар. |
f1 |
f2 |
x |
n |
1 |
xk |
(2k+1)2 |
0,8 |
20 |
2 |
(-1)kx2k |
(2k+1)k |
1,2 |
22 |
3 |
(-1)k+1xk |
k(k+1) |
0,7 |
24 |
4 |
(-1)k(k+1)k |
k! |
3,4 |
26 |
5 |
k2cos(kx) |
k2+2k+3 |
2,6 |
28 |
6 |
(k+1) |
(k+2)xk |
1,8 |
30 |
7 |
x2k |
(2k)! |
0,5 |
20 |
8 |
(-1)kx2k-1 |
(2k-1)! |
1,6 |
22 |
9 |
xcos(kx) |
2k |
2,7 |
28 |
10 |
xksin(kx) |
k(k+2) |
1,7 |
24 |
11 |
(-1)kxk+1 |
k! |
2,1 |
26 |
12 |
3,6 |
30 | ||
13 |
kcosk|x| |
k! |
3,1 |
28 |
14 |
kxk |
1+kk |
3,2 |
20 |
15 |
(1+x)k+1 |
(k+1)! |
2,4 |
26 |
16 |
kxsin(kx) |
k2(k+1) |
5,6 |
20 |
17 |
(-2x)k |
k! |
2,2 |
24 |
18 |
xk+1sin(kx) |
k(k+1)(k+2) |
1,9 |
22 |
19 |
xkcos(kx) |
2k3k+2 |
3,5 |
20 |
20 |
(-1)kxk |
(k+1)(k+2) |
1,3 |
22 |
21 |
cos(kx)e-kx |
k2 |
0,8 |
24 |
22 |
(x-1)2k+1 |
(2k+1)(x+1)2k |
3,7 |
26 |
23 |
cos(2kx) |
(2k+1)(2k-1) |
1,8 |
28 |
24 |
(-1)kx2k |
(2k)! |
2,1 |
30 |
25 |
(x+1)k |
k2xk |
2,5 |
22 |
26 |
k2x2k |
0,9 |
24 | |
27 |
(x+k)(x+k+1) |
2,8 |
26 | |
28 |
(-1)kekx |
(2k)! |
4,8 |
28 |
29 |
(-1)kx2k-1 |
(k+1)(k+2) |
3,4 |
30 |
30 |
x2k |
(2k+1)(x+1)2k |
2,3 |
25 |
Лабораторна робота 4
Програмування розгалуЖеного циклічного обчислювального процесу. Табулювання функцій
Мета роботи: виробити практичні навички в складанні алгоритмів, написанні та налагодженні програм на розгалужений циклічний процес, в організації таблиці результатів.
Табулювання функцій
У задачах табулювання функцій доводиться робити багаторазові обчислення за тими самими математичними залежностями при різних значеннях величин (аргументів), що входять до їхнього складу. Використання циклів дозволяє при цьому істотно скоротити довжину програми. На відміну від ітераційного циклу в задачах табулювання функцій застосовується цикл із заданою кількістю повторень, яку можна визначити за формулою
n=[(Xk-Xн)/h]+1,
де Хн і Хк - початкове і кінцеве значення аргументу; h - крок зміни аргументу.
Перед першим виконанням циклу необхідно задати початкове значення аргументу, а потім організувати n раз обчислення і друк значень функції. При кожному новому виконанні циклу необхідно змінювати аргумент на крок. Щоб процес був кінцевим, необхідно задати умову закінчення циклу.
Приклад виконання завдання лабораторної роботи
Приклад 20. Обчислити таблицю значень функції
де а=3|sin2x|, x змінюється в інтервалі від -1,8 до 4,6 із кроком 0,4.
Програма обчислення таблиці значень функції z має вид:
program pr20;
uses Crt;
const XN = -1.8; XK = 4.6; HX = 0.4;
var x,a,z,y:real; p:char;
begin
clrscr;
x:=XN;
writeln('======================');
writeln('I X I A I Z I');
writeln('-------------------------------------------');
while x <= XK do
begin
a:=3*abs(sin(2*x));
if x<a then begin
y:=sqrt(abs(a*x))+ln(sqr(x));
z:=y/exp(-a*x) end
else
begin
y:=1+exp(ln(x*x*x*pi*a)/5);
z:=a*sqr(sin(x))/y end;
writeln(‘I ‘,x:5:2,’I’,a:7:3,’I’,z:7:3,' I');
x:=x+HX;
end;
writeln('================');
p:=readkey
end.
У цій програмі цикл організований оператором while. Аналогічно можна використати оператор repeat.