- •Воронежский институт высоких технологий
- •Содержание
- •Введение
- •1. Понятие информации и подходы к ее количественной оценке
- •1.1 Понятие и виды информации
- •Виды информации
- •1.2 Структурная мера информации
- •1.3 Статистическая мера информации
- •Выражение (1.4) можно записать также в виде
- •1.4 Семантическая мера информации
- •1.5 Преобразование информации
- •1.6 Формы представления информации
- •1.7 Передача информации
- •Передача информации по каналу без помех
- •Передача информации по каналу с помехами
- •Таким образом, скорость передачи по каналу связи с помехами
- •1.8 Общая характеристика фаз преобразования информации
- •Контрольные вопросы
- •2. Алгоритмические основы информатики
- •2.1 Свойства алгоритмов
- •2.2 Виды алгоритмов и их реализация
- •2.3 Методы представления алгоритмов
- •Структурная (блок-) схема алгоритма
- •2.4 Порядок разработки иерархической схемы реализации алгоритмов
- •2.5 Нормальный алгоритм Маркова
- •2.6 Языки программирования
- •2.7 Жизненный цикл программного обеспечения
- •Контрольные вопросы
- •3. Математические основы информатики
- •3.1 Понятие дискретного автомата
- •Логический автомат
- •Автомат с конечной памятью
- •3.2 Машина Тьюринга
- •3.3 Кодирование информации
- •Основные понятия теории кодирования
- •Методы эффективного кодирования информации
- •Кодирование по методу четности-нечетности
- •Коды Хэмминга
- •3.4 Системы счисления
- •Смешанные системы счисления
- •Перевод чисел из одной системы счисления в другую
- •Положим
- •Тогда x1будет правильной дробью и к этому числу можно применить ту же самую процедуру для определения следующего коэффициентаq-2и т.Д.
- •3.5 Представление данных в компьютере Представление целых чисел без знака и со знаком
- •Индикаторы переноса и переполнения
- •Представление символьной информации в эвм
- •Форматы данных
- •Контрольные вопросы
- •4. Прикладная информатика
- •4.1 Информационные категории
- •4.2 Автоматизация деятельности на основе алгоритмизации
- •4.3 Методы автоматизации бизнес-процессов
- •4.4 Базовые понятия и технологии управления данными
- •4.5 Базовые сведения о компьютерной графике и геометрии
- •Способ хранения изображения
- •Фундаментальные недостаткивекторной графики
- •4.6 Введение в информационную безопасность
- •Электронная цифровая подпись: алгоритмы, открытый и секретный ключи, сертификаты
- •Контрольные вопросы
- •5. Программно-аппаратные средства реализации информационных процессов
- •5.1 Операционные системы
- •Классификация ос
- •5.2 Файловые системы
- •Имена файлов
- •Типы файлов
- •Физическая организация и адрес файла
- •Права доступа к файлу
- •Кэширование диска
- •Общая модель файловой системы
- •Отображаемые в память файлы
- •Современные архитектуры файловых систем
- •5.3 Принципы организации эвм
- •Функционирование эвм с шинной организацией
- •Функционирование эвм с канальной организацией
- •5.4 Сетевые технологии обработки данных
- •Понятие локальной вычислительной сети
- •Базовая модель osi (Open System Interconnection)
- •Архитектура лвс
- •Топологии вычислительной сети
- •Сетевые устройства и средства коммуникаций
- •Виды используемых кабелей и сетевого оборудования
- •Типы построения сетей по методам передачи информации
- •5.5 Сеть internet
- •Контрольные вопросы
- •Заключение
- •Список использованных источников
- •Приложение
- •Память эвм
2.4 Порядок разработки иерархической схемы реализации алгоритмов
К основным методам структурного программирования относится, прежде всего, отказ от бессистемного употребления оператора непосредственного перехода GOTO и преимущественное использование других структурированных операторов, методы нисходящего проектирования разработки программы, идеи пошаговой детализации и некоторые другие соглашения, касающиеся дисциплины программирования.
Всякая программа, в соответствии со структурным подходом к программированию, может быть построена с использованием только трех основных типов блоков.
1. Функциональный блок, который на блок-схеме изображается в виде прямоугольников с одним входом и одним выходом.
Функциональному блоку в языках программирования соответствуют операторы ввода и вывода или любой оператор присваивания. В виде функционального блока может быть изображена любая последовательность операторов, выполняющихся один за другим, имеющая один вход и один выход.
2. Условная конструкция. Этот блок включает проверку некоторого логического условия (Р), в зависимости от которого выполняется либо один (S1), либо другой (S2) операторы.
3. Блок обобщенного цикла. Этот блок обеспечивает многократное повторение выполнения оператора S пока выполнено логическое условие Р.
При конструировании программы с использованием рассмотренных типов блоков эти блоки образуют линейную цепочку так, что выход одного блока подсоединяется к входу следующего. Таким образом, программа имеет линейную структуру, причем порядок следования блоков соответствует порядку, в котором они выполняются.
Такая структура значительно облегчает чтение и понимание программы, а также упрощает доказательство ее правильности. Так как линейная цепочка блоков может быть сведена к одному блоку, то любая программа может, в конечном итоге, рассматриваться как единый функциональный блок с один входом и одним выходом.
При проектировании и написании программы нужно выполнить обратное преобразование, то есть этот блок разбить на последовательность подблоков, затем каждый подблок разбить на последовательность более мелких блоков до тех пор, пока не будут получены «атомарные» блоки, рассмотренных выше типов. Такой метод конструирования программы принято называть нисходящим(«сверху вниз»).
При нисходящем методе конструирования алгоритма и программы первоначально рассматривается вся задача в целом. На каждом последующем этапе задача разбивается на более мелкие подзадачи, каждая подзадача, в конечном итоге на еще более мелкие подзадачи и так до тех пор, пока не будут получены такие подзадачи, которые легко кодируются на выбранном языке программирования. При этом на каждом шаге уточняются все новые и новые детали («пошаговая детализация»).
В процессе нисходящего проектирования сохраняется строгая дисциплина программирования, то есть разбиение на подзадачи осуществляется путем применения только рассмотренных типов конструкций (функциональный блок, условная конструкция, обобщенный цикл), поэтому, в конечном итоге, получается хорошо структурированная программа.