- •Введение
- •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.7. Оператор on
Оператор ON означает «переключатель». Этот оператор удобно использовать для передачи управления в «к» точек программы пользователя. Его синтаксическая структура:
ON <E> ,
где ON – ключевое слово переключатель; E – арифметическое выражение, которое должно принимать последовательность целых значений 1, 2, 3, …, k.
Переключатель может передавать управление либо через GOTO в разные точки программы, либо через GOSUB к различным подпрограммам.
В зависимости от значения, которое принимает арифметическое выражение, управление передается к порядковому номеру записанных строк нс1…нсk, в соответствии со значением Е.
Основная задача пользователя задать арифметическое выражение Е, которое еще называют переключающим.
Работу оператора ON можно проиллюстрировать на задаче решения квадратного уравнения в общем виде.
Пример. Дано квадратное уравнение . Известно, что корни квадратного уравнения зависят от значения (вернее знака) дискриминанта D, который может быть больше нуля, равен нулю или меньше нуля. Предлагается выбрать в качестве Е следующие выражения:
E = SGN(D) + 2.
При D < 0 E = 1;
D = 0 E = 2;
D > 0 E = 3.
Таким образом, выполнено условие для арифметического выражения. Тогда фрагмент программы может быть следующим:
…
30 ON SGN(D) + 2 100,200,300
…
100 PRINT “Корни комплексные сопряженные”
…
200 PRINT “Корни действительные равные”
…
300 PRINT “Корни действительные разные”
…
Значения параметров строк 100,200,300 взяты произвольно, но их порядковые номера 1,2,3.
5.8. Решение нелинейных уравнений
Иррациональные числа, которые не могут быть корнем никакого алгебраического уравнения с целыми коэффициентами, называют трансцендентными числами. К таким числам относятся корни нелинейных уравнений, которые обычно решаются с помощью операторов IF – GOTO.
Задача в общем виде формируется следующим образом.
Пусть требуется с точностью определить значение одного из корней нелинейного уравнения , исходя из значения начального приближения корня . При этом считается, что функция удовлетворяет условию, гарантирующим существование решения и сходимость последовательности приближений к точному значения корня.
Известно множество методов вычисления корня уравнения. Все они предлагают приближение к корню по формуле:
, где
Функция учитывает расчетную формулу метода и исходную функцию .
Обычно значение считают достаточно хорошим приближением к точному значению корня, если выполняется условие:
При вычислении этого неравенства искомое значение корня получается равным , и вычисление прекращается.
Количество циклов приближения неизвестно, поэтому требуется анализ с помощью IF.
Студентам предлагается 3 метода решения нелинейных уравнений: метод простой итерации, метод Ньютона и метод деления пополам (метод бисекций).
5.8.1. Метод простой итерации
Задано: , и .
Введем обозначения: , , . При использовании метода простой итерации уравнение необходимо решить относительно в общем виде:
Тогда алгоритм решения будет следующим.
-
Задается значение .
-
Вычисляется .
-
Проверяется условие
-
Если условие выполняется (“истина”), то в противном случае и следует повторять цикл с п.2 (через GOTO).