Програмування на Pascal и в MS Excel
Зміст
Завдання 1
Завдання 2
Завдання 3
Завдання 4
Завдання 5
Список використаної літератури
Завдання 1
Скласти блок-схему і програму, згідно варіанту К=8.
Дано А = 9; В = 26.
Обчислити значення функції
Рішення:
Складемо блок-схему задачі (рис.1)
Рис.1.
Программа.
program ROZGAL1;
{$APPTYPE CONSOLE}
uses
SysUtils;
VAR A, B, C, D: INTEGER;
W: REAL;
BEGIN
WRITELN ('Введіть A, B');
READLN (A, B);
C: = A mod 3;
D: = B mod 5;
IF C=0 THEN W: = SQR (A) *SQR (B) *B
ELSE IF D=0 THEN W: = 1 - SQRT (B)
ELSE W: =0;
WriteLn (' W=',W: 7: 3);
ReadLn;
ReadLn
end.
Контрольний приклад (рис.1): A= 9, B= 26, W= 1423656.000.
Рис.1.
Завдання 2
Дано: Масив. Тип елементів масиву - INTEGER; кількість елементів масиву - 10.
Знайти: знайти добуток останніх 5 елементів масиву.
Рішення:
програмування pascal програма лістинг
Задано вектор А, який містить n елементів. Математично описати умову задачі, розробити схему алгоритму, скласти таблицю символічних імен та програму на мові Turbo Pascal згідно варіанту №23. Обчислення добутку останніх чотирьох елементів та суми перших трьох елементів масиву.
Алгоритм наведений на рис.2.1.
Рис.2.1.
Лістинг програми:
program Dodut_2;
{$APPTYPE CONSOLE}
uses
SysUtils;
VAR N, I,P: INTEGER; X: ARRAY [1.10] OF INTEGER;
BEGIN
WRITELN ('Введіть кількість елементів масиву');
READLN (N);
FOR I: =1 TO N DO
BEGIN
WRITELN ('Введіть', I,'елемент масиву');
READLN (X [I]);
END;
P: =1;
FOR I: =N-4 TO N DO
BEGIN
P: =P*X [I];
end;
WRITELN ('Dobut = ', P);
READLN;
READLN
end.
Контрольний приклад (рис.2.2)
Рис.2.2
Завдання 3
Побудувати інтерполяційний багаточлен Лагранжа відносно N = 10 i K = 8.
Дано:
x>i> = x>0> + 0,4i, (і = 0, 1, 2,3);
y>і> = N/ (K + x>i>); x>0> = 0,05N
Рішення.
Таблиця 3.1
і |
0 |
1 |
2 |
3 |
х>і > |
0,5 |
0,9 |
1,3 |
1,7 |
у>і > |
1,18 |
1,12 |
1,08 |
1,03 |
Обчислимо коефіцієнти Лагранжа для n = 4 та i = 0, 1, 2, 3.
;
;
;
.
;
L>3> (x) =
() +
() + () +
()
Одержали багаточлен третього ступеня. Якщо потрібно знайти значення функції, якого немає у таблиці (наприклад х = 0,2), те підставивши у багаточлен замість х значення 0,2, отримаємо функцію y = f (0,2). Якщо тільки одноразове потрібно знайти значення y = f (х), те багаточлен Лагранжа будувати не потрібно. У формули коефіцієнтів Лагранжа замість х треба підставити число 0,2 або якесь інакше, і всі коефіцієнти перетворяться у число, тоді за формулами Лагранжа знайдемо відповідне значення функції.
Завдання 4
Апроксимувати залежність багаточленом другого ступеня і обчислити коефіцієнт варіації.
Дано:
x>i> = x>0> + 0,4i, де
i = 0, 1, 2, 3, …
y>i> = N/ (K+x>i>) = 10/ (8+x>i>); N=10, K=8
x>0> = 0,05N = 0,05*10 = 0,5
Рішення.
Маємо експериментальну залежність теплоємності пропану (газ) від температури:
X>i> K |
0,5 |
0,9 |
1,3 |
1,7 |
2,1 |
2,5 |
2,9 |
Y>i> Дж/кг*град |
1,18 |
1,12 |
1,08 |
1,03 |
0,99 |
0,95 |
0,92 |
Апроксимувати експеріментальні дані багаточленом другого ступеня, знайти коефіцієнт варіації.
Проміжні обчислення зручно проводити після укладання таблиці 4.1
i |
Xi |
Yi |
Xi^2 |
Xi^3 |
Xi^4 |
XiYi |
Xi^2*Yi |
1 |
0,5 |
1,18 |
0,25 |
0,13 |
0,06 |
0,59 |
0,29 |
2 |
0,9 |
1,12 |
0,81 |
0,73 |
0,66 |
1,01 |
0,91 |
3 |
1,3 |
1,08 |
1,69 |
2, 20 |
2,86 |
1,40 |
1,82 |
4 |
1,7 |
1,03 |
2,89 |
4,91 |
8,35 |
1,75 |
2,98 |
5 |
2,1 |
0,99 |
4,41 |
9,26 |
19,45 |
2,08 |
4,37 |
6 |
2,5 |
0,95 |
6,25 |
15,63 |
39,06 |
2,38 |
5,95 |
7 |
2,9 |
0,92 |
8,41 |
24,39 |
70,73 |
2,66 |
7,72 |
∑ |
11,9 |
7,2662 |
24,71 |
57,239 |
141,17 |
11,871 |
24,03513 |
Згідно з таблицею 4.1 система рівнянь має вигляд:
7а>0> |
+ 11,9а>1> |
+ 24,71а>2> |
= |
7,2662 |
11,9а>0> |
+ 24,71а>1> |
+ 57,239а>2> |
= |
11,871 |
24,71а>0> |
+ 57,239а>1> |
+ 141,17а>2> |
= |
24,035 |
Розв’язок системи рівнянь дає значення коефіцієнтів:
а>0> = 1,244304 |
а>1> = - 0,14307 |
а>2> = 0,010466; |
Та емпіричну залежність:
f (x) = a>0>+a>1>x+a>2>x2 = 1,2443 - 0,143x + 0,01x2
Підставляючи у одержаний багаточлен експериментальні значення Х>і> одержимо У>і>емп і ці результати занесемо до таблиці:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
У>і>емп |
1,1754 |
1,124 |
1,076 |
1,0313 |
0,99 |
0,952 |
0,917417 |
Обчислимо середньоквадратичні відхилення:
,
.
Обчислимо коефіцієнт варіації V:
%
Так як V менше ніж 5%, те якість апроксимації задовільна.
Завдання 5
Обчислити за методом Рунге-Кути рівняння y’ = 1 - sin (3,8x + y) + 8,2y/ (2 +x) на відрізку [0, 1] з кроком h = 0,2. Проводимо обчислення згідно з моделлю (у MS Excel) - таблицею 5.1, результати занасемо до таблиці 5.2.
Таблиця 5.1
i |
Xi |
Yi |
f (Xi, Yi) |
k=h*f (Xi, Yi) |
Δyi |
0 |
0 |
0 |
= (1-SIN (4,2*B2+C2) + (9*C2) / (2+B2)) |
=$H$2*D2 |
=E2 |
=B2+$H$2/2 |
=$C$2+E2/2 |
= (1-SIN (4,2*B3+C3) + (9*C3) / (2+B3)) |
=$H$2*D3 |
=2*E3 |
|
0,1 |
=$C$2+E3/2 |
= (1-SIN (4,2*B4+C4) + (9*C4) / (2+B4)) |
=$H$2*D4 |
=2*E4 |
|
0,2 |
=$C$2+E4 |
= (1-SIN (4,2*B5+C5) + (9*C5) / (2+B5)) |
=$H$2*D5 |
=E5 |
|
|
|
|
|
(∑Δyi) /6 = |
=СУММ (F2: F5) /6 |
1 |
0,2 |
=C2+F6 |
= (1-SIN (4,2*B7+C7) + (9*C7) / (2+B7)) |
=$H$2*D7 |
=E7 |
0,3 |
=$C$7+E7/2 |
= (1-SIN (4,2*B8+C8) + (9*C8) / (2+B8)) |
=$H$2*D8 |
=2*E8 |
|
0,3 |
=$C$7+E8/2 |
= (1-SIN (4,2*B9+C9) + (9*C9) / (2+B9)) |
=$H$2*D9 |
=2*E9 |
|
0,4 |
=$C$7+E9 |
= (1-SIN (4,2*B10+C10) + (9*C10) / (2+B10)) |
=$H$2*D10 |
=E10 |
|
|
|
|
|
(∑Δyi) /6 = |
=СУММ (F7: F10) /6 |
2 |
0,4 |
=C7+F11 |
= (1-SIN (4,2*B12+C12) + (9*C12) / (2+B12)) |
=$H$2*D12 |
=E12 |
0,5 |
=C12+E12/2 |
= (1-SIN (4,2*B13+C13) + (9*C13) / (2+B13)) |
=$H$2*D13 |
=2*E13 |
|
0,5 |
=C12+E13/2 |
= (1-SIN (4,2*B14+C14) + (9*C14) / (2+B14)) |
=$H$2*D14 |
=2*E14 |
|
0,6 |
=C12+E14 |
= (1-SIN (4,2*B15+C15) + (9*C15) / (2+B15)) |
=$H$2*D15 |
=E15 |
|
|
|
|
|
(∑Δyi) /6 = |
=СУММ (F12: F15) /6 |
3 |
0,6 |
=C12+F16 |
= (1-SIN (4,2*B17+C17) + (9*C17) / (2+B17)) |
=$H$2*D17 |
=E17 |
0,7 |
=C17+E17/2 |
= (1-SIN (4,2*B18+C18) + (9*C18) / (2+B18)) |
=$H$2*D18 |
=2*E18 |
|
0,7 |
=C17+E18/2 |
= (1-SIN (4,2*B19+C19) + (9*C19) / (2+B19)) |
=$H$2*D19 |
=2*E19 |
|
0,8 |
=C17+E19 |
= (1-SIN (4,2*B20+C20) + (9*C20) / (2+B20)) |
=$H$2*D20 |
=E20 |
|
|
|
|
|
(∑Δyi) /6 = |
=СУММ (F17: F20) /6 |
4 |
0,8 |
=C17+F21 |
= (1-SIN (4,2*B22+C22) + (9*C22) / (2+B22)) |
=$H$2*D22 |
=E22 |
0,9 |
=C22+E22/2 |
= (1-SIN (4,2*B23+C23) + (9*C23) / (2+B23)) |
=$H$2*D23 |
=2*E23 |
|
0,9 |
=C22+E23/2 |
= (1-SIN (4,2*B24+C24) + (9*C24) / (2+B24)) |
=$H$2*D24 |
=2*E24 |
|
1 |
=C22+E24 |
= (1-SIN (4,2*B25+C25) + (9*C25) / (2+B25)) |
=$H$2*D25 |
=E25 |
|
|
|
|
|
(∑Δyi) /6 = |
=СУММ (F22: F25) /6 |
Таблиця 5.2
i |
Xi |
Yi |
f (Xi, Yi) |
k=h*f (Xi, Yi) |
Δyi |
0 |
0 |
0 |
1 |
0,2 |
0,2 |
0,1 |
0,1 |
0,931691291 |
0,18633826 |
0,37267652 |
|
0,1 |
0,0932 |
0,908355637 |
0,18167113 |
0,36334225 |
|
0,2 |
0,1817 |
0,890218624 |
0,17804372 |
0,17804372 |
|
|
|
|
|
(∑Δyi) /6 = |
0,18567708 |
1 |
0,2 |
0,1857 |
0,904522599 |
0,18090452 |
0,18090452 |
0,3 |
0,2761 |
1,081106963 |
0,21622139 |
0,43244279 |
|
0,3 |
0,2938 |
1,149748994 |
0,2299498 |
0,4598996 |
|
0,4 |
0,4156 |
1,693191948 |
0,33863839 |
0,33863839 |
|
|
|
|
|
(∑Δyi) /6 = |
0,23531422 |
2 |
0,4 |
0,421 |
1,716008878 |
0,34320178 |
0,34320178 |
0,5 |
0,5926 |
2,699266577 |
0,53985332 |
1,07970663 |
|
0,5 |
0,6909 |
3,143773118 |
0,62875462 |
1,25750925 |
|
0,6 |
1,0497 |
5,048927359 |
1,00978547 |
1,00978547 |
|
|
|
|
|
(∑Δyi) /6 = |
0,61503385 |
3 |
0,6 |
1,036 |
4,988911447 |
0,99778229 |
0,99778229 |
0,7 |
1,5349 |
7,088323278 |
1,41766466 |
2,83532931 |
|
0,7 |
1,7449 |
7,815812632 |
1,56316253 |
3,12632505 |
|
0,8 |
2,5992 |
9,672890552 |
1,93457811 |
1,93457811 |
|
|
|
|
|
(∑Δyi) /6 = |
1,48233579 |
4 |
0,8 |
2,5184 |
9,488588937 |
1,89771779 |
1,89771779 |
0,9 |
3,4672 |
10,93883865 |
2,18776773 |
4,37553546 |
|
0,9 |
3,6122 |
11,31513484 |
2,26302697 |
4,52605394 |
|
1 |
4,7814 |
14,91515958 |
2,98303192 |
2,98303192 |
|
|
|
|
|
(∑Δyi) /6 = |
2,29705652 |
Список використаної літератури
1. Цибрій Л.В. Методичні вказівки до вивчення мови програмування Турбо Паскаль для студентів всіх спеціальностей. Дніпропетровськ: ПДАБА, 2001, - 40 с.
2. Ершова Н.М., Скрипник В.П., Цибрий Л.В., Шибко О.Н. Лабораторный практикум по программированию на алгоритмическом языке Турбо Паскаль. - Днепропетровск, ПГАСА, 2001. - 23 с.
3. Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие, - М.: Номидж, 1997, - 616 с.
4. Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. Учебное пособие. - М.: "Ноллидж", 1997. - 432 с.
5. Руденко В.Д., Макарчук О.М., Патланжоглу М.О. Практичний курс інформатики /За ред.В.М. Мадзігона. - К: Фенікс, 1997.
6. Інформатика та комп'ютерна техніка: Навч. - метод. посібник / За заг. ред.О.Д. Шарапова. - К.: КНЕУ, 2002. - 534 с.
7.Я.М. Глинський. Інформатика: Навч. посібник для загальноосвітніх навчальних закладів. - Львів: "Деол", 2002. - 256 с.
8. Фигурнов В. Є. IBM PC для пользователя. - М.: Финансы и статистика, 1996.
9. Гурин Н.И. Работа на персональном компьютере: Справочное пособие. Минск: Беларусь, 1995 - 224 с.
10. Мюллер Дж., Нортон П. Полное руководство по Windows 95 Питера Нортона. / Пер. с англ. - М.: "Издательство БИНОМ", 1998. - 784 с.
11. Стинсон К. Эффективная работа в Windows 95: Пер. с англ. - СПб: Питер, 1996.
12. Єршова Н.М. Інформатика: Конспект лекцій. - Дніпропетровськ, ПДАБА, 2003.
13. Єршова Н.М., Скрипник В.П., Шибко О.М. Методичні вказівки до виконання лабораторних робіт з дисципліни "Інформатика і комп'ютерна техніка" для студентів усіх спеціальностей". - Дніпропетровськ, ПДАБА, 2003. - 64 с.
14. Методичні вказівки до курсу лекцій з дисципліни "Інформатика і комп'ютерна техніка". Для економічних фахів 6.050100 част.3/С.М. Семенець, І.М. Ільєв - Дніпропетровськ: ПДАБА, 2005. - 25 с.
15. Вишня В.Б., Косиченко О.О. Практикум з основ інформатики: Для студентів, курсантів та слухачів усіх форм навчання. - Дніпропетровськ, Юрид. академія М-ва внутр. справ, 2005. - 140 с.