- •Введение
- •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
10.13. Построение графиков
Для наглядного представления и сравнительной оценки результатов вычислений целесообразно их размещать в таблицы и представлять в виде графиков.
При размещении результатов вычислений очень удобно пользоваться оператором PRINT совместно с функцией TAB. Конечно, можно использовать и оператор LOCATE . Функция TAB и оператор LOCATE рассмотрены в предыдущих разделах.
Что касается построения графиков функций, то можно использовать графические операторы PSET и LINE. Однако при построении графиков необходимо всегда решать вопрос, связанный с масштабированием графиков. Во-первых, при построении графиков на компьютере пользователь всегда имеет дело с дискретными функциями: yn = f(ndx) или yn = f(nTk), где dx – шаг изменения аргумента; Tk – период квантования, который является тоже шагом по аргументу, которым является время t = nTk.
Необходимо всегда оценивать минимальное и максимальное значение функции: y0(min) при n=0 и yn(max) при nmax.
Кроме того, необходимо выбрать начальную точку (a, b) для построения графика, определить границы окончания графика справа и сверху, а потом рассчитать масштаб по аргументу и по функции. Для пояснения на рисунке 10.3 показан произвольный график:
Рисунок 10.3. К выбору масштаба
Если исходить из разрешающей способности 640х480 пикселей (12 режим экрана монитора), то:
- количество пикселей по оси Х: 640 – а – а1;
- количество пикселей по оси У: b – b1,
где а1 и в1 – отступы соответственно с правой и верхней сторон экрана, как показано на рисунке 10.3.
Тогда масштабы по осям Х(Мх) и Y(Му) равны:
.
С учетом Мх и Му координаты точек для оператора PSET будут следующими:
.
В этих формулах учитывается, что по оси абсцисс количество пикселей возрастает при увеличении n, а количество пикселей по оси y убывает.
Для проверки правильности выбора а2 и в2 надо подставить в эти формулы значения nmax и ymax вместо n и y. При этом a2 = 640 – a1, а b2 = b1, то есть, последние значения будут соответствовать значениям отступов. Таким образом, при построении графика следует использовать PSET с координатами (a2,b2):
.
Для возможности перемещения графика по экрану рекомендуется расчет масштабирования вводить в программу.
Задание 1.
-
Составить программу табулирования функции, приведенной в табл. 10.4.
-
Построить график указанной функции, используя результаты работы программы задания 1.
Таблица 10.4. Список заданий
Вариант |
Функция |
|
Аргумент (в градусах) |
Шаг аргумента (в градусах) |
1 |
5,45 |
14 |
||
2 |
2,10 |
15 |
||
3 |
3,63 |
20 |
||
4 |
8,45 |
10 |
||
5 |
4,80 |
15 |
||
6 |
1,57 |
10 |
||
7 |
1,5 |
5 |
||
8 |
2,51 |
4 |
||
9 |
7,45 |
10 |
||
10 |
2,37 |
10 |
Задание 2. Вычертить фигуру согласно таблице 10.5.
Таблица 10.5. Список заданий
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |