- •Введение
- •1. Общие сведения о микроэвм. Выбор языка программирования
- •1.1. Общие сведения о микроЭвм.
- •1.2. К выбору языка программирования
- •2. Системы счисления микроэвм. Двоичная арифметика. Разрядные сетки. Прямой и дополнительный коды
- •2.1. Системы счисления
- •2.2. Двоичная арифметика
- •2.3. Разрядные сетки микроЭвм
- •2.4. Прямой и обратный коды
- •3. Загрузка языка basic – интерпретатора. Основные понятия языка. Получение листинга простейшей программы
- •3.1. Загрузка языка basic – интерпретатора
- •3.2. Основные понятия языка basic
- •3.2.1. Алфавит языка
- •3.2.2. Условные обозначения
- •3.2.3. Константы
- •3.2.4. Переменные
- •3.2.5. Стандартные функции
- •3.2.6. Арифметические выражения
- •3.2.7. Строки и операторы
- •3.3. Оператор remark
- •3.4. Оператор присваивания
- •3.5. Операторы окончания программы
- •3.6. Команда выполнения программы
- •3.7. Отладка и редактирование программы
- •3.8. Основные команды языка gw-basic
- •4. Программирование линейных вычислительных процессов
- •4.1. Линейный вычислительный процесс
- •4.2. Оператор печати для вывода информации на экран
- •4.3. Вывод информации на печатающее устройство
- •4.4. Операторы задания начальных значений и ввода данных
- •4.5. Оператор восстановления блока данных
- •3Адание 2.
- •5. Программирование разветвляющихся вычислительных процессов
- •5.1. Разветвляющийся процесс
- •5.2. Выражения отношений
- •5.3. Логические функции
- •5.4. Приоритет выполнения всех операций
- •5.5. Операторы безусловного перехода
- •5.6. Оператор условного перехода
- •5.7. Оператор on
- •5.8. Решение нелинейных уравнений
- •5.8.1. Метод простой итерации
- •5.8.2.Метод Ньютона
- •5.8.3.Метод деления пополам
- •6. Диалоговый режим работы. Программирование циклических процессов
- •6.1. Диалоговый режим
- •6.2. Оператор input
- •6.3.Циклические вычислительные процессы
- •6.4.Итерационные циклы
- •6.5. Циклы с параметром
- •6.6. Операторы for и next
- •6.7. Вложенные циклы
- •6.8. Операторы while – wend
- •6.9. Операторы do – loop
- •7. Обработка массивов
- •7.1.Массивы
- •7.2. Оператор dim
- •7.3. Обработка массивов
- •7.4. Ввод массивов
- •7.5. Вывод массивов
- •7.6. Использование массивов в вычислениях
- •7.7. Функция tab
- •8. Использование массивов в вычислениях
- •9. Функции и подпрограммы пользователя
- •9.1. Функции пользователя
- •9.2. Подпрограммы пользователя
- •10. Графические средства языка basic
- •10.1. Передний план, фон и окантовка
- •10.2. Режимы работы экрана
- •10.3. Координаты точек на экране
- •10.4. Оператор color в текстовом режиме
- •10.5. Оператор color в графическом режиме
- •10.6. Оператор pset
- •10.7. Оператор line
- •10.7.1 Построение ломаных линий
- •10.10. Оператор circle
- •10.10.1. Построение дуг окружностей
- •10.10.2. Построение радиусов
- •10.10.3. Построение эллипсов
- •10.11. Оператор paint
- •10.12. Оператор draw
- •10.12.1. Команды оператора draw
- •10.13. Построение графиков
- •11. Построение динамических изображений
- •Приложение 1
- •2.3. Циклический процесс.
- •Приложение 2
5.3. Логические функции
В языках BASIC используются следующие логические функции: конъюнкция (операция «И», условное обозначение «»), дизъюнкция (операция «ИЛИ», условное обозначение «»), отрицание (операция «НЕ», условное обозначение «») и операция сложения по модулю (исключающее «ИЛИ», условное обозначение «»). В алгебре логики логические функции характеризуются таблицами истинности, которые отражены в таблицах 5.2 – 5.5, где 0 – ложь, 1 – истина.
Таблица 5.2. C = A ∩ B Таблица 5.3. C = A B
A |
B |
C |
|
A |
B |
C |
0 |
0 |
0 |
|
0 |
0 |
0 |
1 |
0 |
0 |
|
1 |
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
Таблица 5.4. B = A Таблица 5.5. C = A B
A |
B |
|
A |
B |
C |
0 |
1 |
|
0 |
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
|
|
|
0 |
1 |
1 |
|
|
|
1 |
1 |
0 |
На языке BASIC логические функции записываются следующим образом:
C = A ∩ B C = A AND B
C = A B C = A OR B
B = A B = NOT A
C = A B C = A XOR B
5.4. Приоритет выполнения всех операций
С учетом рассмотренных выражений отношений и логических функций приоритет выполнения всех операций без скобок следующий:
1. Стандартные функции.
2. Возведение в степень.
3. Умножение/деление в том порядке, в котором они встречаются в выражении.
4. Сложение/вычитание в том порядке, в котором они встречаются в выражении.
5. Выражения отношений.
6. Логическая операция NOT.
7. Логическая операция AND.
8. Логические операции OR и XOR.
5.5. Операторы безусловного перехода
Синтаксическая структура оператора безусловного перехода:
GOTO <нсi>,
где GOTO – ключевое слово “ИДТИ К”; угловая скобка содержит номер строки, которой передается управление без всякого условия.
В строке может использоваться либо один, либо последним.
Пример. 50 GOTO 120
Этот оператор используется либо для передачи управления к другой группе операторов, либо для обхода нежелательных операторов.
5.6. Оператор условного перехода
Оператор условного перехода IF используется для передачи управления в различных участках программы по условию, которым является логическое выражение, в частном случае упрощенное.
Имеется 3 синтаксических конструкции IF: IF-THEN, IF-THEN-ELSE и IF-THEN-IF. Последняя конструкция выделена, так как до версии GB она была запрещена.
Синтаксические структуры выглядят следующим образом:
а) IF <условие> THEN ;
б) IF <условие> THEN ELSE ;
в) IF <условие> THEN IF <условие> THEN ;
где IF – ключевое слово «если»; THEN – служебное слово «тогда»; оператор может быть любым, что позволяет использовать конструкцию в); нс – номер строки; ELSE – служебное слово «иначе».
В QB и TB может использоваться и «нс», и метка как в виде цифры или символа(символов), после которой ставится «:».
В каждой из конструкций IF сначала вычисляется заданное условие: TRUE или FALSE. Если «истина», то выполняется конструкция после THEN; если «ложь», то управление передается на следующую строку (в программе для конструкции а) или управление передается конструкции после ELSE.
С помощью конструкции в) можно программировать сдвоенные неравенства.
Пример: Запрограммировать выражение a<b<c.
Решение: IF a < b THEN IF b < c THEN…
Зная логические функции, это неравенство можно запрограммировать проще: IF a<b AND b<c THEN…
Пример.
70 IF A > B THEN IF A < D THEN 120
80 X = A * 3 - C
…
120 X = A
…
Оператор в строке 120 выполняется только при условии попадания А в зону: B<A<D; в противном случае выполняется оператор в строке 80.
Оператор IF может записываться с другими операторами в строке, но если в его составе есть операторы безусловного перехода (GOTO, GOSUB, <нсj>), то он должен быть в строке последним.
В языке БЭЙСИК имеется оператор для организации нескольких ветвлений из одной точки программы. Это арифметический оператор ON