Лабораторная
работа №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=20 and x=60 and x 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 | X
8 | 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 |