
- •Глава 1 . “общие сведения о языке программирования basic”
- •§1. Происхождение языка.
- •§2. Алфавит языка.
- •§3. Величины.
- •§4. Выражения.
- •Глава 2. “Операторы языка. Линейные программы.”
- •§ 5 Оформление программ.
- •§ 6 Оператор присваивания let.
- •§ 7 Оператор print.
- •§ 7.1 Форматированный вывод чисел на печать print using.
- •§ 7.2 Управление выводом на печать locate.
- •§ 8 Ввод данных с клавиатуры input.
- •Input список ввода
- •§ 8.1 Операторы data и read .
- •§ 9. Функции символьного переменного.
- •§ 10. Операторы графики. Графический режим.
- •§10.1 Работа команды сolor.
- •§ 9.3 Операторы рисования точек.
- •§ 10.2 Абсолютные и относительные координаты.
- •§ 10.3 Рисование линий и прямоугольников.
- •§ 10.4 Рисование окружностей, элипсов и дуг.
- •§ 10.5 Решение задач.
- •Глава 3. Циклические структуры.
- •§ 11. Понятие цикла.
- •§ 11.1 Счетный цикл for...Next.
- •§ 11.2 Вложенные циклы.
- •§ 11.3 Решение задач.
- •§ 11.4 Программирование динамического элемента.
- •§ 10.4 Цикл “ пока ” — while ... Wend.
- •§ 10.5 Генератор случайных чисел.
- •Глава 4. Управляющие структуры.
- •§ 11 Ветвление.
- •§ 11.1 Оператор условного перехода.
- •§ 11.2 Простые и составные условия.
- •§ 11.3 Решение задач.
- •§ 11.4 Безусловный переход.
- •§ 12 Подпрограммы.
- •Глава 5. Массивы.
- •Массив — это набор упорядоченных по номерам переменных одного типа, с общем именем.
- •§ 13 Линейные массивы.
- •§ 13 Заполнение массива.
- •§ 13.3 Вывод массива на печать.
- •§ 13.4 Решение задач.
- •§ 13.5 Символьные массивы.
- •§ 14 Двумерные массивы (матрицы).
Глава 4. Управляющие структуры.
§ 11 Ветвление.
Вычислительный процесс называется разветвляющимся, когда он, в зависимости от выполнения определенных условий, реализуется по одному из заранее предусмотренных, возможных направлений.
Структура выбора в Бейсике реализуется с помощью оператора условного перехода, который позволяет выполнять входящий в него один из двух операторов, в зависимости от выполнения условия.
§ 11.1 Оператор условного перехода.
ОБЩИЙ ВИД:
IF < УСЛОВИЕ> THEN < Действие 1 > ELSE < Действие 2>
Оператор условного перехода работает следующим образом:
ЕСЛИ условие выполняется,
ТО выполняем Действие 1 и выходим их оператора.
ИНАЧЕ выполняем Действие 2 и выходим.
Это полная форма оператора.
Например: Даны два числа. Вывести на печать квадрат большего из них.
РЕШЕНИЕ.
CLS
INPUT “A=“;A
INPUT “B=“;B
IF A>B THEN PRINT A^2 ELSE PRINT B^2
END
Оператор условного перехода можно записать в блочной форме:
I
F
условие 1 THEN
БЛОК ДЕЙСТВИЙ 1
E LSEIF условие 2 THEN
БЛОК ДЕЙСТВИЙ 2
........................................
ELSE
БЛОК ДЕЙСВИЙ n
END IF
В этом случае программа из предыдущего примера запишется так:
CLS
INPUT “A=“;A
INPUT “B=“;B
IF A>B THEN
PRINT A^2
ELSE
PRINT B^2
END IF
END
Оператор IF может не иметь конструкции ELSE. Такая форма оператора называется сокращенной.
IF < УСЛОВИЕ>
THEN <Действие >
Этот оператор выполняется следующим образом:
ЕСЛИ условие выполняется,
ТО выполняем Действие 1 и выходим их оператора.
ИНАЧЕ выходим из команды.
В блочной форме:
I F условие THEN
БЛОК ДЕЙСТВИЙ
END IF
Пример: Дано число. Заменить его значение на корень арифметический из этого числа, если оно больше или равно нулю.
CLS
INPUT “А= “; A
IF A>=0 THEN PRINT А=SQR(A)
PRINT “A=“;a
END
§ 11.2 Простые и составные условия.
В условных операторах и в операторе цикла WHILE в качестве условия можно использовать отношения равенства и неравенства: a>0; c<=0 и т.д. Такие условия называют простыми.
Из простых условий в Бейсике разрешается строить более сложные. Для этих построений существуют определенные правила.
Прежде всего требуется, чтобы все отношения, которые используются при построении, заключались в скобки: (a=b+1), (c>=0), (s>t) и т.д.
Далее, пусть А и В — некоторые условия. Рассмотрим связки, которыми они могут быть соединены.
1. А and B (чит. А и В) — это условие соблюдается тогда и только тогда, когда соблюдаются оба условия.
2. A or B (чит. А или В) — это условие соблюдается тогда и только тогда, когда соблюдается хотя бы одно из условий А и В.
3. not A (чит. не А) — это условие соблюдается тогда и только тогда, когда условие А не соблюдается.
При выполнении логических операций необходимо соблюдать следующий приоритет:
1) NOT; 2) AND; 3) OR.
§ 11.3 Решение задач.
Задача 1.
Определить, принадлежит ли число Х отрезку [3, 7].
РЕШЕНИЕ.
C
LS
INPUT “X=”;X
IF (X<3)or (X>7) THEN
PRINT “Не принадлежит ” 3 7
ELSE
PRINT “Принадлежит “
END IF
END
Задача 2.
Записать условия, которым удовлетворяют точки верхней полуплоскости системы координат:
Y
0 Х
На графике видно, что заштрихованы все точки, координаты Y у которых неотрицательны, следовательно Ответ: Y>=0.
Задача 3.
Дано Х. Вычислить Y, если
Х^3, при -1<=X<=1
Y= 7, в противном случае
Примечание: При вычислении Y нужно проверить знак Х. Сложное неравенство разобьем на 2 простых (Х>=-1) и (X<=1).
-1 1
Т.к. эти условия должны выполняться одновременно, то мы должны связать их связкой and.
Решение.
CLS
INPUT “X=“;X
IF (X>=-1) and (X<=1) THEN Y=X^3 ELSE Y=7
PRINT “Y=“;Y
END
Задача 4.
Д
ля
заданной координатами Х и У точки
проверить принадлежит ли она квадрату
на рисунке:
4
-2 2
Решение:
CLS
INPUT “X=“;X
INPUT “Y=“;Y
IF (ABS(X)>=2) AND (Y<=4) AND (Y>=0) THEN
PRINT “ ТОЧКА ПРИНАДЛЕЖИТ“
ELSE
PRINT “ТОЧКА НЕ ПРИНАДЛЕЖИТ“
END IF
END
Задача 5.
Вычислить значение выражения y=
. Значение х ввести склавиатуры.
Решение.
CLS
INPUT “X=“;X
IF (x+1 <0 ) AND (X=2) THEN
PRINT “При данном значении х функция не определена”
ELSE
Y=SQR (X+1) / (X-2)
PRINT “Значение функции равно “; Y
END IF
END
Задача 6.
Составьте программу, подсчитывающую сколько раз в данный текст входит буква “А”.
ПРИМЕЧАНИЕ: Вспомните задачу 4 из §10.2. В этой задаче мы используем тот же прием, т.е. заведем переменную-”копилку”, в которую будем класть единичку каждый раз, как встретим в слове букву “А”. Таким образом, раз мы должны будем проверить каждый символ текста, то налицо наличие в программе счетного цикла.
Решение.
CLS
INPUT “Введите текст: “; TEXT$
S=0
FOR I=1 TO LEN(TEXT$) STEP 1
IF MID$(TEXT$, I, 1)=“A” THEN S=S+1
NEXT I
PRINT “В текст “; TEXT$; “буква *А* входит “; S; “раз”
END
Рассмотрим работу программы на конкретном примере:
Пусть TEXT$=“МАМА”.
S=0
I=1 копируем первую букву — “М”
“М”=“А” ? нет
I=2 копируем вторую букву — “А”
“А”=“А” ? да S=S+1
I=3 копируем третью букву — “М”
“М”=“А” ? нет
I=4 копируем четвертую букву — “А”
“А”=“А” ? да S=S+1
Таким образом после выполнения программы в ячейке S будет лежать число 2.
Например, если TEXT$=“АБРАКАДАБРА”, то ответ будет — 5 раз.
если TEXT$ =“ЧИСЛО”, то ответ: 0 раз.
Задача 7.
Составьте программу, проверяющую является ли заданное слово “перевертышем” (т.е. читается ли слева направо и справа налево).
ПРИМЕЧАНИЕ: Задача перевертывания слова была рассмотрена в § 11.3. Заведем символьную переменную, в которую символ за символом, начиная с последнего перепишем заданное слово, а затем сравним его с исходным. Если они равны, то слово — перевертыш.
Решение.
CLS
INPUT ‘“Введите слово: “;B$
A$=“”
FOR I=1 TO LEN(B$) STEP 1
A$=A$+ MID$(B$, I, 1)
NEXT I
IF A$=B$ THEN PRINT “Слово — перевертыш “ ELSE PRINT “Слово не является перевертышем “
END
Задача 8.
Составьте программу, заменяющую все точки в тексте на запятые.
CLS
INPUT ‘“Введите текст: “;B$
FOR I=1 TO LEN(B$) STEP 1
IF MID$(B$,I ,1)=“.” THEN MID$(B$, I, 1)=“,”
NEXT I
PRINT “Преобразованный текст:”; B$
END
Примечание:
Разберем оператор IF MID$(B$,I ,1)=“.” THEN MID$(B$, I, 1)=“,”. Выделяем в тексте символ с номером I. Если этот символ — запятая, то выделенный символ заменяем на точку.