Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабараторные работы Лукины ИМЭ 101г.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
193.09 Кб
Скачать

Лабораторная работа №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