Смекни!
smekni.com

Програмування на Pascal и в MS Excel (стр. 1 из 2)

Зміст

Завдання 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.

Дано:

xi = x0 + 0,4i, (і = 0, 1, 2,3);

yі = N/ (K + xi); x0 = 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.

;

;

;

.

;

L3 (x) =

(

)+

(

) + (
) +

(

)

Одержали багаточлен третього ступеня. Якщо потрібно знайти значення функції, якого немає у таблиці (наприклад х = 0,2), те підставивши у багаточлен замість х значення 0,2, отримаємо функцію y = f (0,2). Якщо тільки одноразове потрібно знайти значення y = f (х), те багаточлен Лагранжа будувати не потрібно. У формули коефіцієнтів Лагранжа замість х треба підставити число 0,2 або якесь інакше, і всі коефіцієнти перетворяться у число, тоді за формулами Лагранжа знайдемо відповідне значення функції.

Завдання 4

Апроксимувати залежність багаточленом другого ступеня і обчислити коефіцієнт варіації.

Дано:

xi=x0 + 0,4i, де

i = 0, 1, 2, 3, …

yi = N/ (K+xi) = 10/ (8+xi); N=10, K=8

x0 = 0,05N = 0,05*10 = 0,5

Рішення.

Маємо експериментальну залежність теплоємності пропану (газ) від температури:

Xi K 0,5 0,9 1,3 1,7 2,1 2,5 2,9
Yi Дж/кг*град 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 система рівнянь має вигляд:

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) = a0+a1x+a2x2 = 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 с.