Основные задачи программирования с помощью языка Паскаль

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование




>

Да

Да

Да

Да

Да

Да

Да

Да

Да

.3 Программа вычисления матрицы:

Program MatrFun; crt; L=2; =3; =3; :array[1..L,1..M] of integer; :array[1..L,1..M] of integer; :array[1..L,1..M] of integer; :array[1..M,1..L] of integer; :array[1..M,1..L] of integer; :array[1..M,1..L] of integer; :array[1..M,1..M] of integer; ,j,k:integer; ; i:=1 to L do j:=1 to M do ('Vvedite element [',i,',',j,'] matricu A: A[',i,',',j,']= '); (A[i,j]); ; i:=1 to L do j:=1 to M do ('Vvedite element [',i,',',j,'] matricu B: B[',i,',',j,']= '); (B[i,j]); ; i:=1 to L do j:=1 to M do ('Vvedite element [',i,',',j,'] matricu C: C[',i,',',j,']= '); (C[i,j]); ; i:=1 to L do j:=1 to M do [j,i]:= A[i,j]; ; i:=1 to L do j:=1 to M do [j,i]:= B[i,j]; ; i:=1 to L do j:=1 to M do[j,i]:= D[j,i]+ E[j,i]; ; j:=1 to M do k:=1 to N do [j,k]:=0; i:=1 to L do j:=1 to M do k:=1 to N do [j,k]:=Y[j,k]+(X[j,i]*C[i,k]); ; ; ; j:=1 to M do k:=1 to N do (' ', Y[j,k]); ;

end;

readkey;

end.

2.4 Результаты ручного и машинного iёта:

Дано:

Машинный iёт:

.5 Вывод:

Погрешность составляет 0%.

3. Программирование нелинейных уравнений.

.1 Найти значение корней нелинейного уравнения Y = 3(X - 1)4 - 3(X - 1)2, по методу половинного деления. Оформить графически.

.2 Суть метода половинного деления1 заключается в том, что приближённое значение корня на каком-либо отрезке может быть найдено исходя из физических соображений. После нахождения приближённого значения корня или отрезка, на котором находится этот корень, последовательно, шаг за шагом, уточняют значение корня. Составим блок-схему к программе(см.рис.3).

Блок-схема к программе:

3.3 Программа вычисления нелинейного уравнения:

Program GrLinUravn;

uses graph, crt;

var ga, gm, error: integer;

X,Y,B,C,e,Fb,Fn,N:real;

A, MX, MX03, MX09, MSX,

MY, MY09, MY005, MSY: INTEGER; :string[4]; 10,15; := DETECT; := DETECT; ; ('Vvedite B: B= '); (B); ('Vvedite C: C= '); (C); ('Vvedite e: e= '); (e); := 3*Sqr(b-1)*Sqr(b-1)-3*Sqr(b-1);

: N := (B+C)/2; := (3*Sqr(n-1)*Sqr(n-1)) - 3*Sqr(n-1); (Abs(Fn) = e) then goto 10;

: write('N= ',N:5:3); ; ; ; (GA, GM, 'C:\TP7\BGI'); := GRAPHRESULT; ERROR <> GROK THEN ('OSHIBKA!!!', #10#13,GRAPHERRORMSG(ERROR) ); HALT; ; := GetMaxX; MX03 := ROUND (0.3 * MX); := ROUND (0.9 * MX); := GetMaxY; MY09 := ROUND (0.9 * MY); := ROUND (0.05 * MY); (12); (5, MY09, MX-10, MY09); (MX03, MY005, MX03, MY-9); (5, MY09, 15, MY09-3); (5, MY09, 15, MY09+3); (MX-20, MY09-3, MX-10, MY09); (MX-20, MY09+3, MX-10, MY09); (MX03, MY005, MX03-3, MY005+10); (MX03, MY005, MX03+3, MY005+10); (0, 0, 2); (14); (MX03-40, MY005, 'Y'); (MX-40,MY09-25, 'X'); (0, 0, 1); (12); := Round(MY09/23); :=-2; Y <= 20.001 do (Y: 4: 1, ST); := ROUND (MY09 - MSY * Y); (MX03 + 3, A, MX03 - 3, A); (MX03 - 40, A - 3, ST); := Y +1.0; ; := ROUND(MX09 / 10); := -3; X <= 7.801 do (X : 4 : 1, ST); := ROUND(MX03 + MSX * X); (A, MY09 + 3, A, MY09 - 3); (A, MY + 15, ST); := X + 1.0; ; (2); := -6; X <= 21.001 do := 3*Sqr(x-1)*Sqr(x-1)-3*Sqr(x-1); Y <= 20 THEN ( ROUND(MX03 + MSX * X), (MY09 - MSY * Y), 2); := x + 0.001; ABS(X) < 1E-8 Then X := 0; ; (15); := N; := 3*Sqr(x-1)*Sqr(x-1)-3*Sqr(x-1); Y <= 20 THEN ( ROUND(MX03 + MSX * X), (MY09 - MSY * Y), 15); ; (9); (1, 0, 4); ( ROUND(0.4 * MX), ROUND(0.1 * MY),

'Grafic in Turbo Pascal'); (15); (1,0,4); ( ROUND(0.4 * MX), ROUND(0.2 * MY),

'Proect: Osadchuka S.N.'); (9); (0, 0, 2); ( ROUND(0.4 * MX), ROUND(0.4 * MY), 'Graphik Lin. uravneniay'); not KeyPressed do; ; .

3.4 Результаты ручного и машинного iёта:

Результаты машинного iёта соответствуют графику (см. рис.4).

.5 Вывод:

Погрешность составляет 0%.

Рис.4

4. Программирование численного интегрирования

.1 Составить алгоритм и программу вычисления определённого интеграла:

S = dx + , где a=5, b=10, c=15.

Число разбиения каждого интервала принять равным 10. Построить график.

.2 Найдём интеграл методом прямоугольников1. Составим блок-схему к программе (см. рис. 5)

Блок схема к программе:

Рис.5

4.3 Программа вычисления определённого интеграла:

Program GrIntegrFun; graph, crt; ga, gm, error,i: integer; ,Y,Z,k,S,S1,S2,h1,h2:real;

A, MX, MX03, MX09, MSX,

MY, MY09, MY005, MSY: INTEGER; :string[4]; n=10; =5; =10; =15; ; := DETECT; := DETECT; :=b; S1:= 0; := (c-b)/n; i:=1 to n do := S1 + (X+1)/Sqrt(x); :=x+h1; ; := S1*h1; ('S1= ', S1:5:3); ; :=c; S2:= 0; := (d-c)/n; i:=1 to n do := S2 + 1/(1+Exp(x)); :=x+h2; ; := S2*h2; ('S2= ', S2:5:3); ; := S1 + S2; ('S= ',S:5:3); ; ;

; (GA, GM, 'C:\TP7\BGI'); := GRAPHRESULT; ERROR <> GROK THEN ('OSHIBKA!!!', #10#13,GRAPHERRORMSG(ERROR) ); HALT; ; := GetMaxX; MX03 := ROUND (0.3 * MX); := ROUND (0.9 * MX); := GetMaxY; MY09 := ROUND (0.9 * MY); := ROUND (0.05 * MY); (12); (5, MY09, MX-10, MY09); (MX03, MY005, MX03, MY-9); (5, MY09, 15, MY09-3); (5, MY09, 15, MY09+3); (MX-20, MY09-3, MX-10, MY09); (MX-20, MY09+3, MX-10, MY09); (MX03, MY005, MX03-3, MY005+10); (MX03, MY005, MX03+3, MY005+10); (0, 0, 2); (14); (MX03-40, MY005, 'Y'); (MX-40,MY09-25, 'X'); (0, 0, 1); (12); := Round(MY09/8); :=-1.5; Y <= 7.001 do (Y: 4: 1, ST); := ROUND (MY09 - MSY * Y); (MX03 + 3, A, MX03 - 3, A); (MX03 - 40, A - 3, ST); := Y + 0.5; ; := ROUND(MX09 / 21); := -6.0; X <= 15.501 do (X : 4 : 1, ST); := ROUND(MX03 + MSX * X); (A, MY09 + 3, A, MY09 - 3); (A, MY + 15, ST); := X + 1.0; ; (2); := b; X <= c do := (x+1)/Sqrt(x); ( ROUND(MX03 + MSX * X), (MY09 - MSY * Y), 2); := x + 0.001; ABS(X) < 1E-8 Then X := 0; ; (15); := b; X < c do := 0; Y <= Z do := ((x+h1)+1)/Sqrt(x+h1); ( Round(MX03 + MSX * X), (MY09 - MSY * Y), 15); := Y + 0.001; ; := X + H1; ; (15); := c; Y := 0; Y <= Z do := (c+1)/Sqrt(c); ( Round(MX03 + MSX * X), (MY09 - MSY * Y), 15); := Y + 0.001; ; (15); := b; k := (b+h1); k <=c do := (k+1)/Sqrt(k); X <= k do ( Round(MX03 + MSX * X), (MY09 - MSY * Y), 15); := x + 0.001; ; := k + h1; ; (2); := c; X <= d do := 1 / ( 1 + Exp(x) ); ( Round(MX03 + MSX * X), (MY09 - MSY * Y), 2); := x + 0.001; Abs(x) < 1E-8 Then X := 0; ; (9); (1, 0, 4); ( ROUND(0.4 * MX), ROUND(0.1 * MY),

'Grafic in Turbo Pascal'); (15); (1,0,4); ( ROUND(0.4 * MX), ROUND(0.2 * MY),

'Proect: Osadchuka S.N.'); (9); (0, 0, 2); ( ROUND(0.5 * MX), ROUND(0.4 * MY), 'Graphik Integrala'); ; ; ; .

4.4 Результаты ручного и машинного с?/p>