- •Информация
- •Свойства информации
- •Преобразования сигнала
- •Системы счисления
- •Перевод из двоичной и шестнадцатеричной систем счисления в десятичную.
- •Перевод из двоичной системы счисления в шестнадцатеричную:
- •Правила вычитания
- •Правила умножения
- •Кодирование сигнала
- •Сложение по модулю
- •Ascii-коды
- •Коды Грея
- •Коды, учитывающие частоту символов
- •Код Штибица
- •Метод Вижинера
- •Метод Шеннона-Фано
- •Метод Хаффмена
- •Декодирование эффективных кодов
- •Методы эффективного кодирования словарей
- •Кодовое расстояние и корректирующая способность кода
- •Обнаружение ошибки
- •Коды, исправляющие ошибки
- •Комбинаторная мера
- •Аддитивная мера
- •Статистический подход к измерению информации
- •Полезность информации
- •Истинность информации
- •Виды современных компьютеров
- •Персональные компьютеры
- •Устройство управления
- •Арифметико-логическое устройство
- •Формы представления вещественных чисел
- •Коды представления числовых данных в алу
- •Сложение вещественных чисел
- •Поскольку старший числовой разряд мантиссы равен 0, она требует нормализации. Для этого:
- •Офисные пакеты
- •Настольные издательские системы
- •Системы автоматизации проектирования (сапр)
- •Инструментарий технологии программирования
- •Первое поколение эвм
- •Второе поколение эвм
- •Третье поколение эвм
- •Четвертое поколение эвм
- •Технология проектирования программ
- •Формализация задачи
- •Структурно-стилизованный способ
- •Операторный язык
- •Команда комментарии
- •Методы проектирования алгоритмов
- •Модуль Ввод и размещение
- •Модуль Ввод и анализ
- •Модуль Упорядочение
- •Модуль Определение
- •Лексический анализ
- •Синтаксический анализ
- •Семантический анализ
- •Генерация промежуточного кода
- •Оптимизация промежуточного кода
- •Компоновка
- •Выполнение и тестирование программы
- •Эволюция использования компьютеров. Проект эвм пятого поколения
- •Структура информационного процесса
- •Сбор информации
- •Первичное восприятие информации
- •Методы классификации
- •Иерархическая классификация
- •Фасетная классификация
- •Распознавание и кодирование объектов
- •Регистрация информации
- •Запись информации оператором
- •Контроль правильности записи данных
- •Первичное восприятие и измерение информации
- •Анализ результатов первичного восприятия и измерения
- •Распознавание символов
- •Восприятие информации клавиатурой
- •Первичное восприятие и измерение
- •Компьютерные сети
- •Топология сетей
- •Методы передачи данных в сетях
- •Организация обмена информацией в сети
- •Обработка информации
- •Хранение информации
- •Операции над данными
- •Линейные списки
- •Блочный способ
- •Двоичный способ
- •Индексно-последовательный способ
- •Индексно-произвольный способ
- •Размещение элементов в упорядоченном списке
- •Исходный список представлен таблицей 11:
- •Рандомизация
- •Фамилия (ключ) Числовое значение ключа
- •3) Формирование реальных номеров бакетов. Для определения константы с выполним следующие вычисления:
- •Метод квадратов. Распределение элементов по бакетам показано в таблице 20:
- •Сдвиг разрядов. Распределение элементов по бакетам показано в таблице 21:
- •Метод складывания. Распределение элементов по бакетам показано в таблице 22:
- •Оптимизированные цепочки элементов
- •Инвертированные списки
- •Иерархические структуры
- •Множественные ссылки на порожденные элементы
- •Ссылки на подобные и порожденные элементы
- •Кольцевые структуры
- •Справочники
- •Битовые отображения
- •Сетевые структуры
- •Множественные ссылки на порожденные элементы
- •Кольцевые структуры
- •Справочники
- •Битовые отображения
- •Жидкокристаллические мониторы
- •Плазменные мониторы
- •Технология вывода изображений на мониторы, использующие элт
- •Принципы организации текстовых видеорежимов
- •Принципы организации графических видеорежимов
- •Манипуляторы курсора
- •Механическая мышь
- •Устройства вывода на бумажный носитель
- •Матричные принтеры
- •Струйная технология
- •Термическая технология
- •Электрографическая технология
- •Технология формирования цвета
Команда комментарии
MOVE 8,a константа 8 помещается в переменную а.
MOVE 10,b константа 10 помещается в переменную b.
ADD b,a содержимое переменных a и b складывается.
MOVE z результат помещается в переменную z.
Автокоды современных ЭВМ образуют группу языков, которые называются ассемблерами. И автокоды, и машинные коды являются машинно-зависимыми языками программирования: состав и структура команд полностью соответствует составу и структуре команд ЭВМ.
машинно-независимые языки (или универсальные). Позволяют выполнять программы на любых ЭВМ. Они приближены к естественному языку, что облегчает их изучение программистом и чтение готовых текстов программ. Примером таких языков может служить Бэйсик или Турбо-Паскаль. Например, на Турбо-Паскале предыдущая задача выглядит следующим образом:
var integer a,b,z;
a:=8; b:=10;
z:=a+b; .
Запись средствами Бэйсика еще проще, так как он не требует предварительного описания переменных и констант:
a=8
b=10
z=a+b .
Преимущества более развитых языков очевидны, однако их использование требует перевода программы в машинные коды – это внутреннее представление алгоритма, которое по сей день применяется компьютерами. Такой перевод выполняется специальными программами, которые называются трансляторами (рассматриваются ниже).
Написание программы – это одновременно и наука, и искусство, которому обучаются в рамках дисциплин, связанных с программированием, а потому сам процесс составления программы не является предметом рассмотрения в настоящем разделе. Упомянем лишь некоторые моменты, связанные с этим процессом и определяющие критерии хорошей программы:
при написании программы надо учитывать особенности распределения памяти под переменные и константы, в силу чего рациональнее использовать индексированные переменные, а не множества разноименных переменных;
программа в процессе работы ясно анализируется за счет выдачи промежуточных результатов, что поясняет окончательный результат;
рекомендуется снабжать текст программы комментариями в количестве 1 комментарий на 2 – 3 строки текста (в среднем);
использование машинно-независимых языков предпочтительнее ассемблеров, поскольку первые легче читаются;
минимальное использование оператора безусловной передачи управления, поскольку он затрудняет отладку и понимание программы;
мнемоничность имен переменных, констант, подпрограмм, меток, поскольку это облегчает ориентацию в программе. Здесь рекомендуется применять так называемую венскую запись, когда то или иное имя определяет семантику описываемого объекта (современные языки программирования позволяют использовать очень длинные имена для переменных, констант и прочих объектов);
свойство гибкости программы определяет простоту ее изменения, расширения, модификации в процессе эксплуатации. Это достигается простотой стиля программирования и применением прогрессивных методов проектирования алгоритмов.
