- •I Введение
- •1. Общие понятия
- •2. История развития вычислительной техники
- •1. Персоналии
- •2. Поколения эвм
- •1 Поколение эвм
- •2 Поколение эвм (разработки после 1960г)
- •3 Поколение эвм (разработки после 1970г)
- •4 Поколение эвм (разработки после 1980г)
- •5 Поколение эвм (разработки настоящего времени )
- •II Вычислительные машины (hardware)
- •1. Общая структура эвм
- •1. Принципы
- •2. Архитектура и структура пэвм
- •3. Классы пэвм
- •4. Конструктивные блоки
- •2. Средства обработки данных - процессоры
- •1. Процессоры
- •2. Сопроцессоры
- •3. Внутренняя память
- •1. Оперативная память
- •2. Постоянная память
- •3. Энергонезависимая программируемая память cmos.
- •4. Средства хранения информации (внешняя память)
- •1. Классификация, история развития
- •2. Накопители на гибких магнитных данных (дискетах)
- •3. Накопители на жестких дисках
- •4. Накопители на оптических дисках (cd rom –r-rw)
- •5. Магнитооптические диски
- •6. Накопители на магнитных лентах
- •7. Стримеры
- •5. Средства ввода информации в эвм
- •1. Клавиатура
- •2. Ручные манипуляторы относительного перемещения
- •3. Дигитайзер
- •7. Сетевые средства ввода/вывода
- •1. История развития связи между эвм
- •8. Перспективы развития Hardware.
- •IiiАлгоритмизация
- •1. Изображение алгоритмов
- •1. Этапы решения задач с помощью эвм
- •2. Основные определения
- •3. Основные свойства алгоритмов
- •4. Способы изображения алгоритмов
- •5. Графический способ
- •6. Правила построения блок-схем
- •IV. Понятия структурного программирования
- •1. Метод декомпозиции
- •2. Модульное программирование
- •3. Элементарные структуры
- •4. Общие рекомендации построения алгоритмов
- •5. Рекомендуемая последовательность работ при разработке алгоритма.
- •V Программное обеспечение эвм
- •1. Общая классификация
- •2. Языки программирования
- •1. Классификация
- •2. История развития
2. Модульное программирование
Под модульным программированием понимается проектирование программного проекта в виде системы модулей. Модулем называется последовательность логически связанных элементов, оформленных в виде отдельной, независимой части алгоритма или программы.
Основные свойства модуля: один вход и один выход; функциональная завершенность (желательно); слабые информационные и логические связи с другими модулями.
Этого можно добиться используя следующие рекомендации.
- Отделением ввода исходных данных от вычислений и от вывода результатов.
- Максимальным использованием стандартных подпрограмм и функций.
- Выделением модуля из общего алгоритма таким образом, чтобы в его описании был только один глагол.
- Такими размерами модуля, чтобы его программное описание было обозримым - помещалось на одну страницу, т.е. составляло 40-60 операторов.
Нисходящее проектирование вытекает из принципа декомпозиции. Проект постепенно уточняется, при этом оставляется в стороне вопрос "как делать", а рассматривается только "что делать" ("как делать" будет решаться потом). Принцип нисходящего проектирования заключается в том, что модули последовательно декомпозируются с целью получения иерархической системы модулей (см. рис.1)
Рис. 1. Проектирование алгоритма методом декомпозиции.
Всякий шаг этого процесса включает в себя разложение функций, входящих в алгоритм на подфункции. При этом уточняется логика взаимосвязи этих подфункций. Этот метод позволяет объединить все те рассмотренные ранее подходы в единый технологический процесс.
Построение такой иерархии модулей позволяет решить также два вопроса: проработку определений подпрограмм и функций (на основе информационных обменов) и более эффективное использование машинного времени, так как можно начать программирование модулей верхнего уровня на самом начальном этапе разработки.
Для улучшения стыковки модулей и упрощения процесса отладки используют метод программных заглушек - подпрограмм, состоящих из нескольких операторов и не выполняющих никаких функций, кроме передачи параметров (обменов данными). Модуль верхнего уровня может частично отлаживаться и при замене настоящих подпрограмм заглушками. После создания реальных подпрограмм, начинается отладка этих подпрограмм и их связей с вызывающей программой.
3. Элементарные структуры
Принцип структурного программирования заключается в конкретизации метода декомпозиции на этапе построения алгоритма. Он предлагает уточнять (детализировать) любой блок алгоритма с помощью одной из 3-х стандартных элементарных структур (см. рис. 2).
Рис. 2. Стандартные элементарные структуры.
а) следование, б) ветвление, в) цикл с предусловием, г) цикл с постусловием.
Все стандартные структуры имеют один вод и один выход, внутри не имеют тупиков, могут заменить блок с одним входом и одним выходом. Если последовательно применять такие формы детализации к разрабатываемому модулю начиная с блок-схемы, изображенной на рис. 3, получим формально непротиворечивый алгоритм.
Рис. 3. Исходная блок-схема алгоритма.
4. Общие рекомендации построения алгоритмов
При разработке блок-схемы желательно иметь несколько уровней подробности изображения алгоритма. Начинают с обобщенной блок- схемы, в которой отражаются общие принципы ее функционирования. Затем на каждый блок обобщенного алгоритма строится уточненная блок-схема. Каждую блок-схему сопровождает краткое описание, для чего используют комментарии. Последние на блок-схемах в соответствии с ГОСТОМ изображаются, как показано на рис. 4
Рис. 4. Сопроводительные пояснения в блок-схемах алгоритмов.
Следует отметить, что на функциональных схемах блоками часто изображаются не только действия, но и объекты (например оперативная память, монитор), виды представления данных (файл на магнитной ленте, файл на магнитном диске) и даже способы получения информации (например передача по каналам связи и т.д.).
Для всех таких блоков есть свои стандартные изображения. Достоинствами функциональных схем являются: наглядность, обозримость, целостность восприятия, однозначность.