Лабораторная
работа №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+6
y)^(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)/(2
y-x)
начало
ввод
x,y
b=…
да
нет
x
a, b
конец
INPUT
“Введите x,
y”; x, y
b=(ABS(x^3)+y)/(2y-x)
IF x
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
-50
x
-30
или
-20
x
-10
y=x
-x

-2
x
x=-5
или
1
x 10
y=LOG(ABS(x))
20
x
50
или
60
x 70
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
a
a=x

a
a=x
a
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
c= x
+x
y=…
y
конец
INPUT
“Введите
a, b, c”; a, b, c
a=x
IF
a
THEN a=x
IF
a
THEN a=x
IF
a
THEN a=x
IF
a
THEN a=x
END IF
b=x
IF
b>x
THEN
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
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
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
=”;
x
PRINT
“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
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
j
M
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 "B="; B
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 |
PRINT Z(I)
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
PRINT
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
|