- •Глава 3 язык программирования бейсик
- •3.1 Простейшие конструкции языка
- •3.2 Основные операторы языка
- •Строка– строка экрана (1 – 25), на которую должен переместиться курсор. Столбец– столбец экрана (1 – 80), к которому должен переместиться курсор.
- •3.3 Характерные приемы программирования типовых алгоритмов
- •Вариант 1
- •9. Составить программу для условия задачи п.9
- •10. Составить программу для условия задачи п.10
- •11. Составить программу для условия задачи п.11
- •12. Составить программу для условия задачи п.12
- •13. Составить программу для условия задачи п.13
- •14. Составить программу для условия задачи п. 14
Вариант 1
' ПРОИЗВЕДЕНИЕ P
DIM X (10)
DATA...‘ Через запятую перечисляются значения элементов массива X
FOR I = 1 TO 10: READ X (I): NEXT I
P = 1: FOR I = 1 TO 10
IF X (I) > 0 THEN P = P * X (I)
NEXT I: PRINT “ P = ”; P: END
Вариант 2
' ПРОИЗВЕДЕНИЕ P
DIM X (10)
DATA...‘ Через запятую перечисляются значения элементов массива X
P = 1: FOR I = 1 TO 10
READ X (I)
IF X (I) > 0 THEN P = P * X(I)
NEXT I: PRINT “ P = ”; P: END
9. Составить программу для условия задачи п.9
Схема алгоритма решения этой задачи приведена на рис. 2.7. Для запоминания результатов необходимо выделить нужное количество ячеек памяти с помощью оператора DIM. Чтобы вычисленные элементы занимали соответствующие ячейки памяти, в операторе присваивания следует записывать переменную Y с индексом i (элемент массива).
' ЗАПОМИНАНИЕ РЕЗУЛЬТАТОВ В МАССИВ
DIM X(20), Y(20)
DATA ... ‘ ЗНАЧЕНИЯ ПЕРЕМЕННЫХ A, B И МАССИВА X
READ A, B
FOR I = 1 TO 20: READ X(I)
Y(I) = A * EXP(B * X(I)): NEXT I
FOR I = 1 TO 20: PRINT Y(I);: NEXT I
END
Последний цикл в программе - это цикл для вывода всех 20-ти значений Y в одну строку экрана.
10. Составить программу для условия задачи п.10
Схема алгоритма решения этой задачи приведена на рис. 2.8. Здесь ввод исходного массива А и вычисление количества и суммы положительных элементов выполняются в одном цикле.
' КОЛИЧЕСТВО И СУММА
DIM A (40)
DATA... ‘ Здесь записываются через запятую значения массива A
S = 0: K = 0
FOR I = 1 TO 40: READ A(I)
IF A(I) <= 0 THEN
S = S + A(I)
K = K + 1
END IF
NEXT I
PRINT “ S = ”; S; “ K = ”; K: END
11. Составить программу для условия задачи п.11
Схема алгоритма решения этой задачи приведена на рис. 2.9. В программе выделяется N ячеек памяти для запоминания значений массива X. Результатом являются значения минимального в массиве элемента XMIN и его порядкового номера NMIN.
' НАИМЕНЬШЕЕ ЗНАЧЕНИЕ
PRINT “ ВВЕДИТЕ ЧИСЛО ЭЛЕМЕНТОВ N ”
INPUT N: DIM X (N)
FOR I = 1 TO N: READ X (I): NEXT I
XMIN = X (1): NMIN = 1
FOR I = 2 TO N
IF X(I) < XMIN THEN
XMIN = X(I)
NMIN = I
END IF
NEXT I: PRINT XMIN, NMIN
DATA...
END
12. Составить программу для условия задачи п.12
Схема алгоритма решения этой задачи приведена на рис. 2.10. По условию задачи не требуется запоминать вычисляемые значения функции Y. Переменная Y в программе является простой. Исходные данные: массив X. Результат: MAX.
' НАИБОЛЬШЕЕ ЗНАЧЕНИЕ
DIM X(17)
MAX = -10^8: PI = 3.14159
DATA...
FOR I = 1 TO 17: READ X(I)
Y = COS (PI / SQR(2) * X(I)) + EXP(X(I))
IF Y > MAX THEN MAX = Y
NEXT I: PRINT “ MAX = ”; MAX: END
13. Составить программу для условия задачи п.13
Схема алгоритма решения этой задачи приведена на рис. 2.11.Выделение поля под элементы матрицы A(5,5) осуществляется оператором DIM. Ввод матрицы организован по строкам с помощью вложенных циклов, внешним циклом является цикл по параметру i (цикл по строкам).
' REM МАТРИЦА
DIM A (5,5)
DATA... ‘ Значения матрицы A в порядке следования строк
FOR I = 1 TO 5: FOR J = 1 TO 5
READ A (I, J): NEXT J, I
P = 1: FOR I = 1 TO 5
FOR J = 1 TO 5
IF A (I, J) > 1 AND A(I,J) <= 10 THEN P = P * A(I, J)
NEXT J, I: PRINT P: END