Лабораторные работы по информатике (работа 1)
Лабораторная работа №1
Тема: «Разработка простейших программ линейных структур»
Под работы:
Запись формул.
Контрольный расчёт для индивидуального задания.
Запись формул индивидуального задания на BASICе.
Блок схема алгоритма.
Программа.
Таблица результатов расчётов по заданию.
первый набор данных |
второй набор данных |
|
a |
7.5 |
0.918 |
b |
0.5 |
2.117 |
c |
10 |
3.219 |
начало
ввод a,b,c
y=…
y
конец
INPUT “Введите a, b, c”; a, b, c
y=(a+b)/c+(SIN(b)^2+a+0.25+0.2c)^(1/3)
PRINT “y=”; y
(SIN(x+b)^a(c^2+x^0.7LOG(a))^(115))/(SQR(x+a)+1)
((a^(x+m)COS(x)+SQR((LOG(a+b)/LOG10)^2)/(1+(x+a)^(1/3))
контрольный расчёт |
первый машинный расчёт |
второй машинный расчёт |
3.036 |
2.952986 |
2.307602 |
;
;
где: x=4, y=2
исходные данные для реального примера |
|
x |
3.916 |
y |
1.612 |
a=(x^2+y+SIN(y/x))/(x+y^2)^(1/3)+x^y;
b=(x+6y)^(1/4)/SIN(1/y)
начало
ввод x,y
a=…
b=…
a
b
конец
INPUT “Введите x, y”; x, y
a=(x^2+y+SIN(y/x))/(SQR(x+y^2)+x^y)
b=(x+6y)^(1/4)/SIN(1/y)
PRINT “a=”; a
PRINT “b=”; b
контрольный расчёт |
первый машинный расчёт |
второй машинный расчёт |
|
a |
1.02 |
1.026635 |
1.591904 |
b |
4 |
4.171659 |
3.302746 |
Лабораторная работа №2
Тема: «Разработка разветвлённых программ»
Цель: Изучение методов составления блок-схем алгоритмов и программ с разветвлениями на BASICе.
Ход работы:
Изучить основные сведения, необходимые для составления блок-схем алгоритмов с разветвлённой структурой.
Изучить операторы условной и безусловной передачи управления.
Изучить примеры, приведённые в описании данной работы.
Ответить на контрольные вопросы.
Составить блок-схему алгоритмов и программ на BASICе для решения следующих задач:
;
первый контрольный набор |
второй контрольный набор |
реальный набор |
|
x |
4 |
6 |
4.576 |
y |
5 |
2 |
0.927 |
b=(ABS(x^3)+y)/(2y-x)
начало
ввод x,y
b=…
да
нет
x<y
a, b
конец
INPUT “Введите x, y”; x, y
b=(ABS(x^3)+y)/(2y-x)
IF x<y THEN
a=x-b
ELSE
a=b-y
END IF
PRINT “a=”; a
PRINT “b=”; b
первый контрольный расчёт |
второй контрольный расчёт |
реальный расчёт |
|
a |
4.5 |
11877 |
1262.429 |
b |
11.5 |
-109 |
-35.54277 |
в остальных случаях
;
начало
ввод x,a
-50x-30
или
-20x-10
y=x-x
-2x x=-5
или
1x10
y=LOG(ABS(x))
20x50
или
60x70
y=1/(x+a) y=SQR(x+a)
y=…
y
конец
INPUT “Введите x, a”; x, a
IF x>=-50 and x<=-30 or x>=-20 and x<=-10 THEN
y=x^2-x
ELSE IF x>=-2 and x<=-1 or x>=1 and x<=10 or x>=-5 THEN y=LOG(ABS(x))
ELSE IF x>=20 and x<=50 or x>=60 and x<=70 THEN y=SQR(x+a^2)
ELSE y=1/(x+a)
END IF
PRINT “x=”; x
PRINT “y=”; y
начало
ввод a, b, c
a=x
a<x a=x
a<x a=x
a<x a=x
a<x a=x
b=x
b>x b=x
b>x b=x
b>x b=x
b>x b=x
c=x+x+x
c<x+x c= x+x
y=…
y
конец
INPUT “Введите a, b, c”; a, b, c
a=x
IF a<x THEN a=x
IF a<x THEN a=x
IF a<x THEN a=x
IF a<x THEN a=x
END IF
b=x
IF b>xTHEN b=x
IF b>x THEN b=x
IF b>x THEN b=x
IF b>x THEN b=x
END IF
c=x+x+x
IF c<x+x THEN c= x+x
END IF
y=(2aa+3b-c)/(b+c)
PRINT “y=”; y
Лабораторная работа №3
М (x;y)
y
n=2 n=1
x
-1 +1
n=1 n=2
INPUT “Введите x, y, z”; x, y, z
IF x^2+y^2>R THEN
n=3
ELSE IF x+y>0 THEN
n=1
ELSE
n=2
END IF
PRINT “n=”; n
2x+1 e 3+1 a=2 b=6 n=20
INPUT “Ввести a, b, h, c, d”; a, b, h, c, d
x=a : y=-1E10 : y=1E10
DO
IF x<=c THEN
y=(EXP(x)(COS(x)^2)
ELSE IF x<=d THEN
y=(x^2)sin(x)
ELSE
y=LOG(x^2+1)COS(x)
END IF
PRINT “x=”; x, “y=”; y
IF y>y THEN y=y; x=x
IF y<y THEN y=y; x=x
x=x+h
IF x>b THEN EXIT DO
LOOP
P
y=729.9988 x=5.9
y=9 x=2
RINT “y=”; y, “x=”; xPRINT “y=”; y, “x=”; x
END
3-COS2x a= b= n=20
INPUT “Введите a, b, n”; a, b, n
h=(b-a)/n
x=a : y=1E+10
DO
y=ABS(3-COS(2x)
IF y<y THEN y=y : x=x
x=x+h
LOOP UNTIL x>b
PRINT “x=”; x
END
Лабораторная работа №4
Тема: «Составление циклических программ. Вычисление сумм и произведений»
контрольный пример |
Реальный пример |
L=2 |
L=14 |
начало
ввод L
P=1; j=1
p=p(2j+L)/(j+2)
j=j+1
jM
y=p
y
конец
INPUT “Введите L”; L
P=1
FOR j=1 TO L
P=P(2j+l)/(j+2)
NEXT j
PRINT “P=”; P
END
контрольный пример |
реальный пример |
P=2 |
P=1.5876 |
контрольный пример |
реальный пример |
N=3 |
N=12 |
M=2 |
M=14 |
P=3 |
P=4.6 |
INPUT “Введите M, N, L”; M, N, L
P=1
FOR k=1 TO m
P=P((2k+L)/(L+k))
NEXT k
S=1
FOR k=1 TO m
S=S(k^2/(k^2+1))
NEXT k
Z=0
FOR i=1 TO n
Z=Z+(i^2+L)/(2Li)
NEXT i
y=P/(S+Z)
PRINT “y=”; y
контрольный пример |
реальный пример |
y=1.553957 |
y=4.346143 |
ИДЗ №1
Дан одномерный массив Найти среднее арифметическое элементов массива, имеющих чётные номера и удовлетворяющих условию , а также сумму положительных элементов массива. Все отрицательные элементы исходного массива разделить на найденное значение суммы.
INPUT "Ввод массива"; N
FOR I = 1 TO N
PRINT "A("; I; ")=";
INPUT A(I)
NEXT I
S = 0: K = 0
FOR I = 2 TO N STEP 2
IF A(I) > -10 AND A(I) < 5 THEN
S = S + A(I)
K = K + 1
END IF
NEXT I
P = 0
FOR I = 1 TO N
IF A(I) > 0 THEN
P = P + A(I)
END IF
NEXT I
FOR I = 1 TO N
IF A(I) < 0 THEN
A(I) = A(I) / P
END IF
NEXT I
IF K = 0 THEN
PRINT "Деление на 0"
ELSE
SR = S / K
END IF
PRINT "Вывод нового массива"
FOR I = 1 TO N
PRINT "A("; I; ")="; A(I)
NEXT I
PRINT "Сумма положительных элементов="; P
PRINT "Средне арифметическое значение="; SR
-
N
X1
X2
X3
X4
X5
5
1
-2
3
4
-5
P=8 удовлетворяет условию
> > > >
ИДЗ №2
Дан одномерный массив Все элементы с чётными номерами и принадлежащими интервалу от А до В записать в новый массив Y, а все отрицательные элементы с нечётными номерами, предварительно заменив их на модули, записать в массив Z. В массиве Y найти наименьший элемент, а в массиве Z последний нечётный элемент.
A |
B |
N |
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
X7 |
X8 |
X9 |
X10 |
3 |
10 |
10 |
1 |
8 |
-4 |
-2 |
5 |
6 |
-1 |
7 |
-10 |
9 |
INPUT "A="; A
INPUT "N="; N
DIM X(N), Y(N)
FOR I = 1 TO N
PRINT "X("; I; ")=";
INPUT X(I)
NEXT I
K = 0
FOR I = 2 TO N STEP 2
IF X(I) > A AND X(I) < B THEN
K = K + 1
Y(K) = X(I)
END IF
NEXT I
J = 0
FOR I = 1 TO N STEP 2
IF X(I) < 0 THEN
J = J + 1
Z(J) = ABS(X(I))
END IF
NEXT I
IF K = 0 THEN
PRINT "Нет массива Y"
ELSE
MINY = Y(1)
FOR I = 2 TO K
IF Y(I) < MINY THEN
MINY = Y(I)
END IF
NEXT I
END IF
IF J = 0 THEN
PRINT "Нет массива Z"
ELSE
FOR I = 1 TO K
PRINT Y(I)
NEXT I
PRINT "MINY="; MINY
END IF
FOR I = 1 TO J
IF Z(I) MOD 2 <> 0 THEN
NPN = I
END IF
NEXT I
FOR I = 1 TO J
Y(N) |
MINY |
Z(K) |
Z(NPN) |
8,6,7,9 |
6 |
4,1,10 |
1 |
NEXT I
PRINT "Z(NPN)="; Z(NPN)
END
ИДЗ №1
Задана матрица В. найти минимальный элемент матрицы. Все элементы лежащие ниже главной диагонали, умножить на этот минимальный элемент.
INPUT "N,M"; N, M
DIM A(N, M)
PRINT "Ввод матрицы"
FOR I = 1 TO N
FOR J = 1 TO M
PRINT "A("; I; ")=";
INPUT A(I, J)
NEXT J
NEXT I
MIN = A(1, 1)
FOR I = 1 TO N
FOR J = 1 TO M
IF MIN > A(I, J) THEN
MIN = A(I, J)
END IF
NEXT J
NEXT I
FOR I = 2 TO N
FOR J = 1 TO I - 1
A(I, J) = A(I, J) * MIN
NEXT J
NEXT I
FOR I = 1 TO N
FOR J = 1 TO M
PRINT A(I, J);
NEXT J
NEXT I
END
ИДЗ №2
Вычислить определитель треугольной матрицы.
INPUT "Введите кол-во строк и столбцов матрицы"; N
DIM A(N, N)
FOR I = 1 TO N
FOR J = 1 TO N
PRINT "A("; I; ","; J; ")=";
INPUT A(I, J)
NEXT J
NEXT I
P = 1
FOR I = 1 TO N
FOR J = 1 TO N
IF I = J THEN
P = P * A(I, J)
END IF
NEXT J
NEXT I
PRINT "Определитель треугольной матрицы="; P
END
INPUT "Ввести M,N"; M, N
P = 1: S = 0
FOR I = 1 TO N
P = P * (I / (2 + I))
FOR J = 1 TO M
S = S * (I + J)
NEXT j
NEXT I
Y = P + S
PRINT "Y="; Y
ОДЗ №1
Задан одномерный массив. Найти среднее арифметическое элементов, делящихся на 3 без остатка и количество положительных элементов с чётными номерами. Найденное среднее вычесть из значения последнего элемента.
INPUT "Ввести массив N="; N
DIM A(N)
FOR I = 1 TO N
PRINT "A("; I; ")=";
INPUT A(I)
NEXT I
S = 0: K = 0: L = 0
FOR I = 1 TO N
IF A(I) MOD 3 = 0 THEN
S = S + A(I)
K = K + 1
END IF
NEXT I
FOR I = 2 TO N STEP 2
IF A(I) > 0 THEN
L = L + 1
END IF
NEXT I
PRINT "L="; L
IF K = 0 THEN
PRINT "Нет среднего значения"
ELSE
SR = S / K
A(N) = A(N) - SR
FOR I = 1 TO N
PRINT "A("; I; ")="; A(I)
NEXT I
END IF
ОДЗ №2
Задан одномерный массив X(N). Первый положительный элемент записать на место максимального с чётным номером.
-
N
X1
X2
X3
X4
X5
5
-1
2
-3
6
8
INPUT "Ввести массив N="; N
DIM X(N)
FOR I = 1 TO N
INPUT X(I)
NEXT I
NPOL = 0
FOR I = 1 TO N
IF X(I) > 0 THEN
NPOL = I
EXIT FOR
END IF
NEXT I
IF NPOL = 0 THEN
PRINT "Нет положительных элементов"
ELSE
MAXX = X(2)
FOR I = 4 TO N STEP 2
IF X(I) > MAXX THEN
MAXX = X(I)
NMAXX = I
END IF
NEXT I
X(NMAXX) = X(NPOL)
FOR I = 1 TO N
PRINT X(I)
NEXT I
END IF
Новый массив |
||||
-1 |
2 |
-3 |
2 |
8 |