- •Введение
- •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
2.3. Разрядные сетки микроЭвм
Один разряд двоичного числа представляет 1 бит информации (0 или 1). Для его хранения необходимо в микроЭВМ какое-нибудь техническое устройство, например, триггер. Совокупность таких устройств для представления в машине многоразрядного числа (слова) называют регистром. 8 бит информации называют байтом, 16 бит, 32 бит или 64 - слово.
210 = 1024 1000 = 1 кб – 1 килобайт,
1000 кб = 1 Мб – 1 мегабайт,
1000 Мб = 1 Гб – 1 гигабайт,
1000 Гб = 1 Тб – 1 терабайт.
В микроЭВМ применяют две формы представления чисел: для целых чисел и для представления чисел с плавающей запятой (экспоненциальная форма). Форма обычно используемых данных называют разрядной сеткой микроЭВМ.
Исходя из формулы (2.2), видно, что можно получить два вида разрядных, сеток для чисел с фиксированной запятой: запятая фиксируется после младшего разряда (все числа |N|>1); запятая фиксируется перед старшим разрядом (все числа |N|<1).
Для кодирования знака используется "знаковый" (старший) разряд разрядной сетки: 0 - соответствует плюсу, а 1 - минусу. При использовании обоих видов разрядных сеток для чисел с фиксированной запятой необходимо, чтобы все данные не выходили за диапазон чисел, допустимых разрядной сеткой. С этой целью используется масштабирование.
Представление числа с плавающей запятой не требует масштабирования. Общий вид двоичных чисел: , где q - мантисса; p - порядок в двоичной системе счисления.
В разрядной сетке для чисел с плавающей запятой используются два знаковых разряда (для мантиссы и порядка), затем следуют модуль порядка (обычно 7 разрядов) и модуль мантиссы. Двоичное число при таком представлении всегда имеет нормализованную мантиссу (до и после операций нормализация производится автоматически). Двоичное число нормализовано, если в старшем разряде мантиссы стоит единица.
2.4. Прямой и обратный коды
Для упрощения арифметических устройств вводятся специальные коды, которые позволяют операцию вычитания свести к арифметическому сложению.
В микроЭВМ для представления часто применяют прямой, обратный и дополнительный коды (ПК, ОК и ДК). Обратный и дополнительный коды используются только для представления отрицательных чисел.
Код, полученный при преобразовании положительного числа называется прямым. Прямые коды двоичных чисел N и - N отличаются знаковыми разрядами. Для получения ОК числа - N необходимо все разряды, кроме знакового, поменять на противоположное значение. Если к ОК числа - N прибавить единицу младшего разряда, то получается дополнительный код.
Пример. Записать ПК для N1 = и ПК, ОК и ДК для N2 = -, используя восьмиразрядную сетку микроЭВМ.
ПК(N1) = 0 00001012
ПК(N2) = 1 00001012
OK(N2) = 1 11110102
ДК(N2) = 1 11110112
Задание.
Используя данные таблицы
-
Перевести число Д10 в 2 с/с, 8 с/с и 16 с/с.
-
Вычислить с помощью двоичной арифметики: С1 = А + В; С2 = А - В; С3 = А х В ; С4 = А / В.
-
Перевести числа А, В, С1÷С4 в 8 с/с, 16 с/с и 10 с/с.
-
Округлить А, В, С1÷С4 в 2 с/с до целой части, записать ПК. Изменив знак на противоположный, записать ОК и ДК. При записи использовать 16-разрядную сетку микроЭВМ.
Таблица 2.3. Варианты заданий
Вариант |
Десятичное число Д10 |
Двоичное число А2 |
Двоичное число В2 |
1 |
156,5 |
101000,101 |
1000,001 |
2 |
127,3 |
101111,01 |
101,01 |
3 |
118,4 |
110011,11 |
100,1 |
4 |
79,85 |
111000,01 |
100,1 |
5 |
132,75 |
111100,101 |
101 |
6 |
84,875 |
1000001,01 |
100,1 |
7 |
163,625 |
1000100,111 |
100,11 |
8 |
213,5 |
1001011,101 |
101 |
9 |
314,7 |
100100,01 |
110,1 |
10 |
146,27 |
101001,101 |
100,1 |