11.10.2006

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

Сборник лабораторных работ по языку программирования 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

1

2

3

4

5

2

4

-3

5

7

-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^3-1 для целых значений 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

3

4

5

2

-3

5

4

-1

1

2

25

3

8

7

6

0

3

2

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)
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.