Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Программирование циклических вычислительных структур




Лабораторная работа №1

ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ

Задание №1. Используя таблицу 1.1, разработать и отладить программу для организации ввода и вывода данных определенных типов. Сделать в ней соответствующие заголовки.

Исходные Данные.

1) Целые числа: а) количество чисел – 2 б) формат чисел – 3.

2) Вещественные числа:

а) количество чисел – 3.

б) общее количество знаков – 5.

в) количество знаков после точки – 1.

3) количество символов – 3.

4) значение логической константы TRUE.

Текст программы к заданию №1:

Program m111116;

Uses

Crt;

Const

D=True;

Var

A1, A2: Integer;

B1, B2, B3: Real;

C1, C2, C3: Char;

Begin

ClrScr;

 

WriteLN ('Введите значение целочисленных переменных A1, A2:');

ReadLN (A1, A2);

WriteLN ('Введите значение вещественных переменных B1, B2, B3:');

ReadLN (B1, B2, B3);

WriteLN ('Введите значение символьных переменных С1, С2, С3:');

ReadLN (C1, C2, C3);

 

WriteLN (Значение целочисленных переменных:');

WriteLN ('À1=', A1:3, ', A2=', A2:3);

WriteLN ('Значение вещественной переменной:');

WriteLN ('B1=', B1:5:1, ', B2=', B2:5:1, ', B3=', B3:5:1);

WriteLN ('Значение символьной переменной:');

WriteLN ('Ñ1=', C1, ', Ñ2=', C2, ', Ñ3=', C3);

WriteLN ('Значение логической переменной:');

WriteLN ('D=', D);

End.

Результаты работы программы к заданию №1:

Введите значения целочисленных переменных A1, A2:

1 23

Введите значения вещественных переменных B1, B2, B3:

1.2 34.56 789.012

Введите значения символьных переменных С1, С2, С3:

~!@

Значения целочисленных переменных:

А1= 1, A2= 23

Значение вещественной переменной:

B1= 1.2, B2= 34.6, B3=789.0

Значение символьной переменной:

С1=~, С2=!, С3=@

Значение логической переменной:

D=TRUE

 

Задание №2. По заданным формулам и наборам исходных данных составить программу для вычислений значений переменных, указанных в таблице 1.2. Вывод осуществлять с их именами.

Исходные данные

S=X3tg2*(A+B)3+(A/(X+B)1/2))

Q=(BX2-A)/(eAX-1)

Текст программы к заданию №2:

 

Program m111126;

Uses

Crt;

Const

A=16.5;

B=3.4;

X=0.5;

Var

S, Q: Real;

Begin

ClrScr;

 

S:=X+B;

S:=Sqr(S)*S;

S:=Sqr(X)*X*Sqr(Sin(S)/Cos(S))+(A/(Sqrt(X+B)));

Q:=(B*Sqr(X)-A)/(Exp(X*A)-1);

 

WriteLN(‘Значение переменной S:',S:7:4);

WriteLN(‘Значение переменной Q:',Q:7:4);

End.

 

Результаты работы программы к заданию №2:

 

Значение переменной S: 8.3740

Значение переменной Q:-0.0041


 

Лабораторная работа №2

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ

С ПРОВЕРКОЙ ЛОГИЧЕСКОГО УСЛОВИЯ В ЦИКЛЕ

Задание №1. Составить программу для вычисления значений функции

Z=X+Y.

Исходные данные

X

Y

Константы T=5,47

S= -1,243

 

Текст программы к заданию №1:

Program m111216;

Uses

Crt;

Const

T= 5.47;

S=-1.243;

Var

X, Y, Z: Real;

Begin

ClrScr;

 

If T>0 Then

X:=4+Sqr(T)

Else

X:=3*T;

 

If T-S>2*X Then

Y:=12

Else

Y:=T+Sqr(X);

 

Z:=X+Y;

 

WriteLN('Ïðè X=', X:6:3, ', Y=', Y:6:3, ', Z=',Z:6:3);

End.

Результаты работы программы к заданию №1:

При X=33.921, Y=1156.097, Z=1190.018

Задание №2. Составить программу для определения заданной в таблице функции с помощью оператора варианта с шагом ∆x при заданных коэффициентах. Построить таблицу результатов полученной функции.

Исходные данные

 

Текст программы к заданию №2:

Program m111226;

Uses

Crt;

Var

S: Real;

X: Integer;

Const

a=2;

b=-3.7;

c=1.2;

h=2;

x0=1;

x1=14;

Begin

ClrScr;

 

X:=1;

Writeln('+----------------+');

Writeln('| X | S |');

Writeln('+----------------+');

Repeat

Case X Of

1..8: S:=A*Sqrt(Sqr(X)*X)+B*Exp(2/3*Ln(X));

9..10: s:=A*Sqr(X)*X+0.9;

11..14: s:=(A*Sqrt(Sqr(X)*X)+B*Exp(2/3*Ln(X)))*C;

End;

WriteLN('| ',X:2, ' | ', S:8:3, ' |');

X:=X+H;

Until X>=X1;

Writeln('+----------------+');

 

End.

 

Результаты работы программы к заданию №2:

+----------------+

| X | S |

+----------------+

| 1 | -1.700 |

| 3 | 2.696 |

| 5 | 11.542 |

| 7 | 23.501 |

| 9 | 1458.900 |

| 11 | 65.598 |

| 13 | 87.945 |

+----------------+

 

Задание №3. Составить программу для вычисления значений функции

Y=F(X) при изменении X от 0 до 1 с шагом H. Определить количество отрицательных значений функции. Данные приведены в таблице.

Исходные данные

F(X)

Константы H= 0.1

 

 

Текст программы к заданию №3:

Program m111236;

Uses

Crt;

Const

H=0.1;

Var

I: Integer;

Y, X, F: Real;

Begin

ClrScr;

 

I:=0;

X:=0;

While X<=1 Do

Begin

F:=X*Sqr(X)-4*Sqr(X)+12.78;

 

WriteLN ('X=', X:3:1, ', F(X)=', F:6:3);

 

If F<0 Then

I:=I+1;

 

X:=X+H;

End;

 

WriteLN ('количество отрицательных значений:',I);

End.

 

Результаты работы программы к заданию №3:

X=0.0, F(X)=12.780

X=0.1, F(X)=12.741

X=0.2, F(X)=12.628

X=0.3, F(X)=12.447

X=0.4, F(X)=12.204

X=0.5, F(X)=11.905

X=0.6, F(X)=11.556

X=0.7, F(X)=11.163

X=0.8, F(X)=10.732

X=0.9, F(X)=10.269

X=1.0, F(X)= 9.780

Количество отрицательных значений:0

Задание №4. Составить программу для вычисления всех действительных корней квадратного уравнения AX2 + BX + C = 0, в котором параметр A = A(T) изменяется по закону, указанному в таблице.

Исходные данные

A(T)

Отрезок изменения T [0;2]

Шаг 0.2

Константы B = 3

C = 5

Текст программы к заданию №4:

 

Program m111246;

Uses

Crt;

Const

B=0.41;

C=3.5;

H=0.2;

Var

A, T, X1, X2, D: Real;

Begin

ClrScr;

 

T:=0;

While T<=2 Do

Begin

A:=3*Sqr(T)+14*T;

 

Write ('T=', T:3:1, ', A=', A:5:2, ', ');

 

If A<>0 Then

Begin

D:=B*B-4*A*C;

 

If D<0 Then

WriteLN('Действительных корней нет')

Else

If D>0 Then

Begin

X1:=(-B+Sqrt(D))/(2*A);

X2:=(-B-Sqrt(D))/(2*A);

WriteLN('X1=', X1:6:4, ', X2=', X2:6:4);

End

Else

Begin

X1:=-B/(2*A);

WriteLN('X1=X2=', X1:6:4);

End;

End

Else

If B<>0 Then

WriteLN('X=', -C/B:6:4)

Else

If C<>0 Then

WriteLN('Корней нет')

Else

WriteLN('X-Любое число');

T:=T+H;

End;

 

End.

 

Результаты работы программы к заданию №4:

T=0.0, A= 0.00, X=-8.5366

T=0.2, A= 2.92, Действительных корней нет

T=0.4, A= 6.08, Действительных корней нет

T=0.6, A= 9.48, Действительных корней нет

T=0.8, A=13.12, Действительных корней нет

T=1.0, A=17.00, Действительных корней нет

T=1.2, A=21.12, Действительных корней нет

T=1.4, A=25.48, Действительных корней нет

T=1.6, A=30.08, Действительных корней нет

T=1.8, A=34.92, Действительных корней нет

T=2.0, A=40.00, Действительных корней нет

Задание №5. Составить программу для вычисления значений функции

Y = ex + U + V, где X изменится от 0 с шагом H. Цикл заканчивается при первом отрицательном значении Y. Функции U, V и шаг H даны в таблице.

Исходные данные

Константы A=29

H=0,4

Текст программы к заданию №5:

Program m111256;

Uses

Crt;

Const

A=17;

H=0.5;

Var

U, V, X, Y: REAL;

Begin

ClrScr;

 

X:=0;

Repeat

If X<=10 Then

U:=X+5

Else

U:=Sqr(X);

 

If U>A Then

V:=11*X

Else

V:=20-X;

 

Y:=-EXP(X)+U+V;

 

WriteLN ('Ïðè X=', X:3:1, ', Y=', Y:6:3);

 

X:=X+H;

Until Y<0;

End.

Результаты работы программы к заданию №5:

При X=0.0, Y=24.000

При X=0.5, Y=23.351

При X=1.0, Y=22.282

При X=1.5, Y=20.518

При X=2.0, Y=17.611

При X=2.5, Y=12.818

При X=3.0, Y= 4.914

При X=3.5, Y=-8.115


Задание №6. Составить программу для вычисления суммы членов ряда, указанного в варианте задания. Вычисление прекращается, если найден член ряда, по абсолютной величине не превосходящей ɛ. Первоначально N = 1.

Использовать рекуррентные формулы для перехода от предыдущего члена ряда к последующему.

Исходные данные

Текст программы к заданию №6:

Program m111266;

Uses

Crt;

Const

Epsilon=0.0001;

X=-0.564;

Var

Summ, T: Real;

N: Integer;

Begin

ClrScr;

 

Summ:=0;

N:=0;

T:=X;

 

Repeat

WriteLN ('Итерация: ', N, ', Член ряда: ', T:8:5);

N:=N+1;

Summ:=Summ+T;

T:=T*Sqr(X)*(2*N+1)/(2*N+3);

Until ABS(T)<Epsilon;

WriteLN ('Итерация: ',N, ', Член ряда: ', T:8:5);

 

WriteLN ('Число итераций: ',N);

WriteLN ('Сумма ряда: ', Summ:8:5);

End.

 

Результаты работы программы к заданию №6:

Итерация: 0, Член ряда: -0.56400

Итерация: 1, Член ряда: -0.10764

Итерация: 2, Член ряда: -0.02446

Итерация: 3, Член ряда: -0.00605

Итерация: 4, Член ряда: -0.00157

Итерация: 5, Член ряда: -0.00042

Итерация: 6, Член ряда: -0.00012

Итерация: 7, Член ряда: -0.00003

Число итераций: 7

Сумма ряда: -0.70427

Лабораторная работа №3

Программирование циклических вычислительных структур

Задание №1. Составить программу для вычисления значений функции на отрезке в точках , где .

Исходные данные

, , , .

Текст программы к заданию №1:

Program m111316;

Uses

Crt;

Const

A=0;

B=1;

M=20;

Var

F,X,H: Real;

I: Integer;

Begin

ClrScr;

H:=(B-A)/M;

For I:=0 TO M DO

Begin

X:=A+I*H;

F:=Arctan(X);

WriteLN ('X=', X:5:2, ', F(X)=', F:4:3);

End;

End.

Результаты работы программы к заданию №1:

X= 0.00, F(X)=0.000

X= 0.05, F(X)=0.050

X= 0.10, F(X)=0.100

X= 0.15, F(X)=0.149

X= 0.20, F(X)=0.197

X= 0.25, F(X)=0.245

X= 0.30, F(X)=0.291

X= 0.35, F(X)=0.337

X= 0.40, F(X)=0.381

X= 0.45, F(X)=0.423

X= 0.50, F(X)=0.464

X= 0.55, F(X)=0.503

X= 0.60, F(X)=0.540

X= 0.65, F(X)=0.576

X= 0.70, F(X)=0.611

X= 0.75, F(X)=0.644

X= 0.80, F(X)=0.675

X= 0.85, F(X)=0.704

X= 0.90, F(X)=0.733

X= 0.95, F(X)=0.760

X= 1.00, F(X)=0.785


 

Задание №2. В соответствии с данными, заданными по варианту, составить программу для вычисления функции двух аргументов , в которой изменяется от до с шагом Значение изменяется от до с шагом Используя заданные коэффициенты, построить двумерную таблицу.

Исходные данные

.

1 аргумент () изменяется в интервале с шагом 0,5.

2 аргумент () изменяется в интервале с шагом 0,5.

Коэффициент .

Текст программы к заданию №2:

Program m111326;

Uses

Crt;

Const

A = 1.9;

X1= 2;

X2= 5;

Y1=-1;

Y2= 1;

Hx= 0.5;

Hy= 0.5;

Var

X, Y, S: Real;

I, J, Imax, Jmax: Integer;

Begin

ClrScr;

 

Imax:=trunc((X2-X1)/Hx);

Jmax:=trunc((Y2-Y1)/Hy);

X:=X1;

For I:=0 to Imax do

Begin

Y:=Y1;

For J:=0 to Jmax do

Begin

S:=Exp(1/5*Ln(A*X*Sqr(Y)+1.3))*Sin(X-A);

Write (S:5:3,' ');

Y:=Y+Hy;

End;

 

X:=X+Hx;

WriteLN;

End;

End.

Результаты работы программы к заданию №2:

0.138 0.117 0.105 0.117 0.138

0.809 0.678 0.595 0.678 0.809

1.315 1.089 0.939 1.089 1.315

1.513 1.242 1.053 1.242 1.513

1.337 1.089 0.910 1.089 1.337

0.815 0.660 0.543 0.660 0.815

0.067 0.054 0.044 0.054 0.067

Задание №3. Составить программу для вычисления ряда для каждого значения х с точностью . Значение x изменяется в указанном диапазоне с шагом h, который определяется так:

.

Исходные данные

; .

х принадлежит интервалу с шагом

Текст программы к заданию №3:

Program m111336;

Uses

Crt;

Const

Epsilon=0.000001;

X0=1;

X1=2;

H=(X1-X0)/15;

Var

Summ, X, T: Real;

N, I: Integer;

Begin

ClrScr;

For I:=0 to 15 do

Begin

N:=0;

X:=X0+H*I;

T:=1;

Summ:=0;

Repeat

{WriteLN('èòåðàöèÿ:',N,'×ëåí ðÿäà:',T:7:4);}

Summ:=Summ+T;

T:=T*X/(N+1);

N:=N+1;

Until ABS(T)<Epsilon;

WriteLN('X=', X:3:1,' сумма ряда:', Summ:7:5, ', Exp(X)=', Exp(X):7:5);

End;

End.

Результаты работы программы к заданию №3:

X=1.0 сумма ряда:2.71828, Exp(X)=2.71828

X=1.1 сумма ряда:2.90568, Exp(X)=2.90568

X=1.1 сумма ряда:3.10599, Exp(X)=3.10599

X=1.2 сумма ряда:3.32012, Exp(X)=3.32012

X=1.3 сумма ряда:3.54900, Exp(X)=3.54900

X=1.3 сумма ряда:3.79367, Exp(X)=3.79367

X=1.4 сумма ряда:4.05520, Exp(X)=4.05520

X=1.5 сумма ряда:4.33476, Exp(X)=4.33476

X=1.5 сумма ряда:4.63360, Exp(X)=4.63360

X=1.6 сумма ряда:4.95303, Exp(X)=4.95303

X=1.7 сумма ряда:5.29449, Exp(X)=5.29449

X=1.7 сумма ряда:5.65949, Exp(X)=5.65949

X=1.8 сумма ряда:6.04965, Exp(X)=6.04965

X=1.9 сумма ряда:6.46670, Exp(X)=6.46670

X=1.9 сумма ряда:6.91251, Exp(X)=6.91251

X=2.0 сумма ряда:7.38906, Exp(X)=7.38906


 

Лабораторная работа №4

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...