Лабораторный практикум по программированию (Бейсик)

advertisement
Лабораторный практикум по программированию
(Бейсик)
Сборник лабораторных работ по языку программирования Basic.
Лабораторная работа №1 "Команда ввода"
ПРИМЕЧАНИЕ: Результаты работы программ и ответы на вопросы записывать в
тетрадь.
Задача 1.
Записать в ОП программу:
PRINT «Добрый день»
PRINT « Вычислить произведение чисел А, Х»
А=5
Х=4
В=А*Х
PRINT A, X, B
Исполнить программу. Что появилось на экране?
Задача 2.
Изменить последнюю строку:
PRINT А, X, B
Исполнить программу. Что появилось на экране? Чем отличается результат от
предыдущего?
Задача 3.
Удалить последнюю строку, дописать в программу строки:
PRINT A
PRINT X
PRINT B
Исполнить программу. Что на экране?
Изменить в программе три последние строки:
PRINT «А =»; А
PRINT «Х =»; Х
PRINT « В =»; В
Исполнить программу. Что на экране?
Задача 4.
Удалить три последние строки.
Дописать строку:
PRINT A; «*»; Х; «=»; В
Исполнить программу. Что на экране?
Контрольное задание к лабораторной работе.
Написать программу вычисления площади трапеции для а = 2.3; в =4.5; h = 5. Вывести на
экран исходные данные и результат.
Лабораторная работа №2 "Ввод и редактирование линейных программ"
Цель: Научиться вводить линейные программы. Познакомиться со стандарной функцией
INT.
1. Составить программу для подсчета значений функции: y=0.3X^2-1.25X^3+5.64X-8.3,
при Х=0.5; -8,126; 0.0015.
INPUT X
LET Y=0.3*X^2-1.25*X^3+5.64*X-8.3
PRINT “X=”;X,”Y=”;Y
После появления знака вопроса набрать первое значение Х и нажать [ENTER]. Записать
результат в тетрадь и повторить вычисления для других значений Х.
2. Написать программу для нахождения значения выражения: Y=(AX^2+B)/(4-3C) ПРИ
A=3; B=3; C=2; X=1.
INPUT X,A,B,C
Y=(A*X^2+B)/(4-3*C)
PRINT “X=”;X,”Y=”;Y
3. Нахождение целой части от числа с помощью функции INT.
Выполнить программу, которая находит целую часть от деления выражения Y=(А+В)/А
при А=15,3; В=0,485; А=112,443; В=18,024.
INPUT A,B
Y=(A+B)/A’вычисляет значение выражения
Z=INT(Y)’ находит целую часть
PRINT “Y=”;Y,”Z=”;Z’ выводит на экран значение выражения и целую часть от него.
4. Программа нахождения остатка от деления Y=N/М, N=15, M=4; N=1234, M=25
INPUT M,N
Z=N-INT(N/M)*M’ вычисление остатка от деления
PRINT “Z=”;Z
Самостоятельная работа.
1. Написать программу для вычисления значения функции и исполнить ее для
указанных значений Х.
Y=5X^2-3X+2, X=0.5, -3, 1.2
Y=(X^3+2)/(X+5), X=12.5, -6
2.
Написать программу для нахождения остатка от деления Y=1986/A.
Лабораторная работа №3 "Программы ветвления.
Операторы IF … THEN … ELSE, GO TO"
Цель: Научиться вводить и редактировать разветвляющиеся программы.
1. Написать программу для нахождения значения функции при х<0 y=5x-3, при x>=0 y=Ö
x для х=-8.34; -0.158; 1.21; 625
INPUT X
IF X>0 THEN Y=SQR(X) ELSE Y=5*X-3
PRINT “X=”;X,”Y=”;Y
END
2. Ввести программу для нахождения НОД чисел М и N. Исполнить ее для M=1000,
N=625; M=1236312, N=9822.
10 INPUT M,N
20 LET X=M
30 LET Y=N
40 PRINT X,Y
50 IF X=Y THEN 110
60 IF X>Y THEN 90
70 LET Y=Y-X
80 GOTO 50
90 LET X=X-Y
100 GOTO 50
110 PRINT “НОД ЧИСЕЛ M и N РАВЕН”;X
120 END
3. Ввести программу решения квадратного уравнения и исполнить её для следующих
уравнений: 1125х^2-45x-324=0; 502x^2-38.5x+12/125=0; 16x^2-256x+1024=0.
10 PRINT “РЕШАЕМ УРАВНЕНИЕ AX^2+BX+C=0”
20 INPUT A,B,C
30 D=B^2-4*A*C
40 IF D>0 THEN 100
50 IF D=0 THEN 70
60 PRINT “Нет решения”
70 X=-B/(2*A)
80 PRINT “X1=X2=”;X
90 GOTO 130
100 X1=(-B-SQR(D))/(2*A)
110 X2=(-B+SQR(D))/(2*A)
120 PRINT “X1=”;X1,”X2=”;X2
130 END
4. НАПИСАТЬ ПРОГРАММУ ДЛЯ РЕШЕНИЯ ЛИНЕЙНОГО УРАВНЕНИЯ АХ+В=С,
ПРИМЕРЫ.
Лабораторная работа №4 "Ввод и редактирование
программ, содержащих циклы"
Цель: Научить вводить редактировать и составлять программы, содержащие циклы.
1. Вывести на экран дисплея значения функции Y=0.3X^3-4.15X^2-0.01X +2.25 для Х
от –5 до 5
FOR X=-5 TO 5
LET Y=0.3*X^3-4.15*X^2-0.01*X +2.25
PRINT “X=”;X,”Y=”;Y
NEXT X
END
2. Ввести изменения в предыдущую программу, чтобы значения функции вычислялись
с шагом 0.5. для решения этой задачи нужно изменить только первую строчку.
FOR X=-5 TO 5 STEP 0.5
3.
Вывести на экран таблицу умножения в виде 2*3=6
Для решения этой задачи будем использовать 2 цикла: один цикл по первому множителю,
другой второму. Организуем 2 цикла, где в первом цикле первый множитель будет
меняться от 1 до 5, второй от 1 до 9. Во втором цикле первый множитель будет меняться
от 6 до 10, а второй также, от 1 до 9.
FOR J=1 TO 9
FOR I=1 TO 5
PRINT “I*J=”;I*J,
NEXT I
NEXT J
PRINT
FOR J=1 TO 9
FOR I=6 TO 10
PRINT “ ”I” “*”J”=”;I*J
NEXT I
NEXT J
4. Генерация случайных чисел.
Функция RND(1) генерирует случайное число от 0 до 1.
LET A=RND(1)
PRINT “A=”;A
END
После запуска на решение ЭВМ выдаст значение А>0, но A<1.
5. Получите на экране 10 случайных чисел от 0 до 15. Это значит, что число не должно
быть больше 15 и меньше 1. Формула получения случайных чисел на интервале (В-А)*
RND(1)+А. Добавим еще условие: числа должны быть целыми. Для этого используется
функция INT.
FOR K=1 TO 10
E=INT((15-1)*RND(1)+1)
PRINT E
NEXT K
END
Самостоятельная работа
Написать программу для получения 20 случайных чисел от 10 до 50.
ЛАБОРАТОРНАЯ РАБОТА № 5 «ЛИНЕЙНЫЕ
МАССИВЫ (ЧАСТЬ 1)»
Цель: Научиться составлять простейшие программы по обработке линейных массивов.
Линейный массив- это линейная таблица, где каждому номеру соответствует свой
элемент. Пример массивов: таблица квадратов, кубов чисел, таблица измерения
температуры и т. д. Линейный массив обозначается именем (буквой) и номером
последнего элемента. А(5)- линейный массив из 6 элементов(0,1,2,3,4,5). Оператор DIM
резервирует в памяти ЭВМ место для массива.
Задача 1: Пусть дана таблица:
0
2
1
4
2
-3
3
5
4
7
5
-1
Где первая строка- номера элементов, вторая- их значений. Ввести в память ЭВМ
значения элементов массива и вывести на экран в виде А(0)=2, А(1)=4, и т. д.
DIM A(6)
FOR I=0 TO 5
INPUT A(I)
PRINT “A(“I”)=”;A(I)
NEXT I
Задача 2: Дополнить программу так, чтобы найти сумму элементов массива.
LET S=0
FOR I=0 TO 5
LET S=S+A(I)
NEXT I
PRINT “S=”;S
Задача 3. Дополнить программу так, чтобы подсчитать количество отрицательных
элементов в массиве.
DIM A(14)
S=0
N=0
FOR X=0 TO 14
A(X)=X^2-2
PRINT “A(“X”)=”;A(X)
NEXT X
FOR X=0 TO 14
S=S+A(X)
IF A(X)<0 THEN N=N+1
NEXT
PRINT “S=”;S, “N=”;
Самостоятельная работа.
1. Написать программу заполнения и вывода на экран таблицы квадратов от 1 до 40.
2. Написать и исполнить программу заполнения массива из 20 элементов по формуле
Y=0.2X^2-3X+0.1 и подсчета суммы положительных элементов.
ЛАБОРАТОРНАЯ РАБОТА № 6 «ЛИНЕЙНЫЕ
МАССИВЫ (ЧАСТЬ 2)»
Цель: Продолжить изучение программ по обработке массивов.
Задача 4: Составить программу для заполнения таблицы кубов и вывода ее на экран
дисплея.
DIM A(15)
FOR I=1 TO 15
LET A(I)=I^3
PRINT “A(“I”)=”; A(I)
NEXT I
END
Задача 5: Элементы массива вычисляются по формуле Y=X^2-X-2, где Х- номер элемента,
а Y- его значение. Написать программу, которая:







Напечатает на экране первые 15 элементов;
Подсчитает их сумму;
Подсчитает количество отрицательных элементов;
Обнуляет значения суммы и счетчика отрицательных элементов;
Цикл подсчета значений элементов и выход их на экран;
К предыдущей сумме прибавляет значение следующего элемента;
Проверяет, будет ли он отрицательным. Если да, то увеличивает значение счетчика
на 1.
DIM A(15)
S=0
K=0
FOR X=1 TO 15
A(X)=X^2-X-2
PRINT A(X);
S=S+A(X)
NEXT X
PRINT “СУММА ЭЛЕМЕНТОВ МАССИВА S=”; S
FOR X=1 TO 15
IF A(X)<0 THEN K=K+1
NEXT X
PRINT “КОЛИЧЕСТВО ОТРИЦАТЕЛЬНЫХ ЭЛЕМЕНТОВ К=”; K
END
Ввод и редактирование программ.
Задача 1: Элементы массива А(20) заполняются по формуле A(I)=21-I^2+4. Написать
программу, которая находит минимальный элемент в этом массиве и, если он не один, то
их количество и номера.
DIM A(20)
FOR I=1 TO 20
A(I)=21-I^2+4
PRINT “A(“I”)=”; A(I)
NEXT I
MIN=A(1)
K=0
FOR I=2 TO 20
IF MIN>A(I) THEN MIN=A(I)
NEXT I
PRINT “MIN=”; MIN
FOR I=1 TO 20
IF A(I)=MIN THEN K=K+1
IF A(I)=MIN THEN PRINT “MIN=A(“I”)=”; MIN
NEXT I
PRINT “КОЛИЧЕСТВО МИНИМУМОВ К=”; K
END
Задача 2: Написать программу, которая будет сравнивать значения выражения I^2-1 и J^31 для целых значений I и J и будет находить при каких значениях I и J они будут равны.
DIM A(10), B(10)
FOR I=0 TO 10
A(I)=I^2-1
PRINT “A(“I”)=”;A(I)
NEXT I
FOR J=0 TO 10
B(J)=J^3-1
PRINT “B(“J”)=”;B(J)
NEXT J
FOR I=0 TO 10
FOR J=0 TO 10
IF A(I)=B(J) THEN PRINT “A(“I”)=B(“J”)=”;A(I)”=”B(J)
NEXT J
NEXT I
END
Самостоятельная работа.
Задача 1: Изменить программу к задаче так, чтобы были найдены значения I и J, при
которых A(I)<B(J) при I=J.
Задача 2: Элементы массива заполняют по формуле х(х-3)(х^2-81). Написать и исполнить
программу, находящую из первых 10 элементов значения х, при которых значения
элементов равны 0.
ЛАБОРАТОРНАЯ РАБОТА № 7 «ДВУМЕРНЫЕ
МАССИВЫ».
Цель: Научиться писать простейшие программы по обработке двумерных массивов.
Таблица, состоящая из n строк и m столбцов, называется прямоугольным массивом.
Каждому элементу массива соответствует свой номер строки и номер столбца, причем на
первом месте всегда стоит номер строки. А(3,6)- двумерный массив из 4 строк и 7
столбцов. Задавая массив, мы должны указать номер максимальной строки и
максимального столбца, начать работу можем с любого номера, только указав его.
Рассмотрим двумерный массив А(3,5):
Задача 1:
Загрузить значение элементов данного массива в память ЭВМ, вывести их на экран
дисплея.
I- номер
1
2
1
7
DIM A(3,5)
FOR I=1 TO 3
FOR J=1 TO 5
INPUT X
A(I,J)=X
NEXT J
NEXT I
FOR I=1 TO 3
FOR J=1 TO 5
PRINT “A(“I”,”J”)=”;A(I,J)
2
-3
2
6
3
5
25
0
4
4
3
3
5
-1
8
2
NEXT J
NEXT I
END
При запуске на решение, после появления ?, вводим элементы из таблицы.
Дополним программу для нахождения суммы положительных и отрицательных элементов
массива.
S=0
S1=0
FOR I=1 TO 3
FOR J=1 TO 5
IF A(I,J)>0 THEN S=S+A(I,J)
IF A(I,J)<0 THEN S1=S1+A(I,J)
NEXT J
NEXT I
PRINT”СУММА ПОЛОЖИТЕЛЬНЫХ ЭЛЕМЕНТОВ S=”;S
PRINT”СУММА ОТРИЦАТЕЛЬНЫХ ЭЛЕМЕНТОВ S1=”;S1
END
Задача 2: Элементы массива А(10,10) заполняются как произведение номера строки на
номер столбца (А(5,6)=5*6=30). Вывести значение элементов на экран дисплея. Найти
сумму значений элементов, номера строк и столбцов у которых совпадают (А(6,6)=36).
DIM A(10,10)
S=0
FOR I=0 TO 10
FOR J=0 TO 10
A(I,J)=I*J
IF I=J THEN S=S+A(I,J)
?
Задача 3: А(X,Y)=5X-3Y.
Написать программу подсчета положительных, отрицательных и равных нулю элементов.
DIM A(10,10)
N=0
N1=0
N0=0
FOR X=0 TO 10
FOR Y=0 TO 10
A(X,Y)=5*X-3*Y
IF A(X,Y)>0 THEN N=N+1
IF A(X,Y)<0 THEN N1=N1+1
IF A(X,Y)=0 THEN N0=N0+1
NEXT Y
NEXT X
PRINT “N=”;N,”N1=”;N1,”N0=”;N0
END
Самостоятельная работа
A(X,Y)=2X^2-Y^2.
Вывести на экран А(2,2); найти количество отрицательных элементов, сумму
положительных элементов, номера элементов, значение которых равно 0.
Download