- •Оглавление
- •I. Понятие информации. Общая характеристика процессов сбора, передачи, обработки и накопления информации Литература
- •1.1. Основные понятия информатики
- •1.2. Информация. Информационные процессы
- •1.3. Свойства и виды информации
- •1.4. Измерение информации
- •Вероятностный подход
- •Объемный подход
- •1.5. Системы счисления
- •Правила перевода чисел из одной системы счисления в другую
- •1.6. Логические основы эвм
- •Вопросы для подготовки к контрольной работе по теме «Информация»
- •II. Технические средства реализации информационных процессов
- •2.1. История развития вычислительной техники
- •2.2. Архитектура эвм
- •Классическая архитектура эвм
- •Магистрально-модульная или шинная архитектура компьютера
- •2.3. Состав и назначение основных элементов персонального компьютера Базовая (типовая) конфигурация современного пк
- •Краткая характеристика устройств системного блока
- •2.3 Устройства ввода/вывода данных, их разновидности и основные характеристики Устройства ввода информации
- •Устройства вывода информации
- •Устройства вывода информации
- •Вопросы для подготовки к контрольной работе по теме «Технические средства реализации информационных процессов»
- •III. Модели решения функциональных и вычислительных задач
- •1. Постановка задачи. Построение информационной модели
- •2. Формализация задачи
- •3. Построение алгоритма
- •4. Составление программы
- •5 Ввод программы в память компьютера. Пробный запуск
- •6. Отладка и тестирование программы
- •7. Получение и анализ результатов
- •IV. Алгоритмизация
- •4.1. Алгоритм и исполнитель
- •4.2. Свойства алгоритмов
- •4.4. Основные типы алгоритмов
- •Линейный тип алгоритмов
- •Разветвляющийся тип алгоритмов
- •Циклический тип алгоритмов
- •Подготовка цикла
- •V. Программирование
- •5.1. Общие понятия программирования
- •5.2. Трансляторы
- •5.3. Языки программирования
- •Поколения языков программирования
- •Обзор языков программирования высокого уровня
- •Классификация с точки зрения принципов программирования (Алексеев е.Г.)
- •5.4. Типы программирования Алгоритмическое (модульное) программирование
- •Структурное программирование
- •Событийно-ориентированное программирование
- •Объектно-ориентированное программирование
- •Визуальное программирование
- •5.5. Программирование как вид деятельности
- •Методы маркетинга программного обеспечения
- •Вопросы для подготовки к контрольной работе по темам «Модели решения задач», «Алгоритмизация», «Программирование»
- •VI. Базы данных
- •6.1. Базы данных (бд), системы управления базами данных (субд)
- •6.2. Реляционные базы данных
- •Реляционные объекты данных
- •Проектирование реляционных баз данных
- •Связи в реляционных базах данных
- •VII. Программное обеспечение эвм
- •7.1. Основные понятия. Программный продукт
- •7.2. Общая классификация программного обеспечения эвм
- •7.3. Системное программное обеспечение
- •Базовое системное программное обеспечение
- •Операционная система
- •Сервисное системное программное обеспечение
- •7.4. Инструментарий технологии программирования
- •Средства для создания приложений
- •Case-технологии
- •7.5. Прикладное программное обеспечение
- •Ппп общего назначения
- •Ппп специального назначения
- •Вопросы для подготовки к контрольной работе № 4 (темы «Базы данных» и «по эвм»)
- •VIII. Компьютерные сети
- •8.1. Введение в компьютерные сети
- •8.2. Структура компьютерной сети
- •Сетевые средства и службы
- •Носители и устройства для передачи данных
- •Соединительное оборудование
- •Сетевые протоколы (tcp/ip)
- •8.3. Классификация компьютерных сетей
- •III. По физической топологии
- •8.4. Адресация в кс
- •IX. Основы защиты информации
- •9.1. Цели и направления защиты информации
- •9.2. Система безопасности информации
- •9.3. Основные методы защиты информации
- •Правовые методы защиты информации
- •Программные методы защиты информации
- •3) Программные или аппаратные барьеры (брендмауэры)
- •Вопросы для подготовки к контрольной работе № 5 (темы «Компьютерные сети» и «Основы защиты информации»)
Структурное программирование
При создании средних по размеру приложений (несколько тысяч строк исходного кода) используется структурное программирование, идея которого заключается в том, что структура программы должна отражать структуру решаемой задачи, чтобы алгоритм решения был ясно виден из исходного текста. Для этого надо иметь средства для создания программы не только с помощью трех простых операторов, но и с помощью средств, более точно отражающих конкретную структуру алгоритма. С этой целью в программирование введено понятие подпрограммы — набора операторов, выполняющих нужное действие и не зависящих от других частей исходного кода. Программа разбивается на множество мелких подпрограмм (занимающих до 50 операторов — критический порог для быстрого понимания цели подпрограммы), каждая из которых выполняет одно из действий, предусмотренных исходным заданием. Комбинируя эти подпрограммы, удается формировать итоговый алгоритм уже не из простых операторов, а из законченных блоков кода, имеющих определенную смысловую нагрузку, причем обращаться к таким блокам можно по названиям. Получается, что подпрограммы — это новые операторы или операции языка, определяемые программистом.
Возможность применения подпрограмм относит язык программирования к классу процедурных языков.
Наличие подпрограмм позволяет вести проектирование и разработку приложения сверху вниз — такой подход называется нисходящим проектированием. Сначала выделяется несколько подпрограмм, решающих самые глобальные задачи (например, инициализация данных, главная часть и завершение), потом каждый из этих модулей детализируется на более низком уровне, разбиваясь в свою очередь на небольшое число других подпрограмм, и так происходит до тех пор, пока вся задача не окажется реализованной.
Такой подход удобен тем, что позволяет человеку постоянно мыслить на предметном уровне, не опускаясь до конкретных операторов и переменных. Кроме того, появляется возможность некоторые подпрограммы не реализовывать сразу, а временно откладывать, пока не будут закончены другие части. Например, если имеется необходимость вычисления сложной математической функции, то выделяетсяотдельная подпрограмма такого вычисления, но реализуется она временно одним оператором, который просто присваивает заранее выбранное значение. Когда все приложение будет написано и отлажено, тогда можно приступить к реализации этой функции.
Немаловажно, что небольшие подпрограммы значительно проще отлаживать, что существенно повышает общую надежность всей программы.
Очень важная характеристика подпрограмм — это возможность их повторного использования. С интегрированными системами программирования поставляются большие библиотеки стандартных подпрограмм, которые позволяют значительно повысить производительность труда за счет использования чужой работы по созданию часто применяемых подпрограмм.
Событийно-ориентированное программирование
С активным распространением системы Windows и появлением визуальных RAD-сред широкую популярность приобрел событийный подход к созданию программ — событийно-ориентированное программирование.
Идеология системы Windows основана на событиях. Щелкнул человек на кнопке, выбрал пункт меню, нажал на клавишу или кнопку мыши - в Windows генерируется подходящее сообщение, которое отсылается окну соответствующей программы. Структура программы, созданной с помощью событийного программирования, следующая. Главная часть представляет собой один бесконечный цикл, который опрашивает Windows, следя за тем, не появилось ли новое сообщение. При его обнаружении вызывается подпрограмма, ответственная за обработку соответствующего события (обрабатываются не все события, их сотни, а только нужные), и подобный цикл опроса продолжается, пока не будет получено сообщение «Завершить работу».
События могут быть пользовательскими, возникшими в результате действий пользователя, системными, возникающими в операционной системе (например, сообщения от таймера), и программными, генерируемыми самой программой (например, обнаружена ошибка и ее надо обработать).
Событийное программирование является развитием идей нисходящего проектирования, когда постепенно определяются и детализируются реакции программы на различные события.