
- •Лабораторная работа №1 программирование линейных вычислительных процессов
- •Лабораторная работа №2 программирование разветвляющихся вычислительных процессов с проверкой логического условия в цикле
- •Лабораторная работа №3 Программирование циклических вычислительных структур
- •Лабораторная работа №4 программирование с использованием подпрограмм
- •Int: Real;
- •Iter: Integer;
- •Лабораторная работа №5 Обработка одномерных и двумерных массивов.
- •I, j: Integer;
- •Лабораторная работа №6 построение графических изображений
- •InitGraph (gd, gm, '');
Лабораторная работа №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