- •Информатика учебное пособие
- •Рецензенты
- •Ответственный за выпуск
- •Оглавление
- •Раздел 4. Алгоритмические средства информатики 162
- •Раздел 1. Введение в информатику Глава 1. О науке Информатика. Понятие и представление информации
- •1.1. Наука информатика
- •1.2. Понятие информации
- •Простые типы данных и операции над ними
- •1.3. Представление информации в эвм
- •Коды десятичных и шестнадцатеричных цифр в двоичной системе
- •1.4. Операции с двоичными числами
- •Логическая функция «отрицание»
- •Логическая функция «конъюнкция»
- •Логическая функция «дизъюнкция»
- •1.5. Кодирование данных
- •Основной стандарт ascii
- •Расширенный стандарт ascii
- •Контрольные вопросы
- •Раздел 2. Технические средства информатики Глава 2. Общие сведения об эвм
- •2.1. Из истории развития эвм
- •Главные элементы концепции
- •2.2. Структура эвм
- •2.3. Особенности и классы современных эвм
- •Некоторые особенности современных эвм
- •Классы современных эвм (по размерам и функциональным возможностям)
- •Типы персональных компьютеров
- •2.4. Суперэвм
- •2.5. Персональные компьютеры
- •Состав персональных компьютеров
- •Устройства ввода-вывода
- •Внешние устройства для пк
- •Контрольные вопросы
- •Глава 3. Общие сведения о вычислительных компьютерных сетях
- •3.1. Классификация и топология компьютерных сетей
- •3.2. Технические средства для передачи информации в сети
- •Новые технологии беспроводной связи
- •Параметры качества коммуникационной сети
- •Единицы измерения
- •3.3. Организация локальных сетей
- •3.4. Организация глобальных сетей
- •3.5. Глобальная сеть интернет
- •Протоколы и услуги в Интернет
- •Система адресации в Интернет
- •3.6. Организация корпоративных сетей
- •Контрольные вопросы
- •Раздел 3. Программные средства информатики Глава 4. Классификация и обзор программных средств эвм
- •4.1. Классификация программных средств
- •4.2. Краткий обзор программных средств
- •Контрольные вопросы
- •Глава 5. Системные программы
- •5.1. Операционные системы
- •Характеристики ос
- •Файловая система
- •Драйверы устройств
- •Интерпретатор действий пользователя
- •5.2. Файловая система
- •5.3. Организация файловых систем
- •5.4. Краткий обзор семейств ос ос семейства unix
- •Ос семейства ms dos
- •Ос семейства Windows
- •5.5. Служебные программы
- •5.5.1. Диспетчеры файлов (файловые менеджеры)
- •5.5.2. Средства сжатия данных
- •5.5.3. Антивирусные программы
- •5.5.4. Средства обеспечения компьютерной безопасности и общие сведения о методах защиты
- •Контрольные вопросы
- •Глава 6. Прикладные системы на персональных компьютерах
- •6.1. Проблемно-ориентированные программы
- •6.2. Прикладные системы общего назначения
- •6.3. Интегрированные прикладные системы
- •Контрольные вопросы
- •6.4. Современные офисные пакеты. Пакет ms Office
- •Контрольные вопросы
- •6.5. Прикладные системы подготовки текстов
- •Основные характеристики текстовых процессоров
- •6.5.1. Текстовый процессор ms Word
- •Контрольные вопросы:
- •6.6. Электронные таблицы
- •6.6.1. Электронная таблица ms Excel
- •Представление данных в ячейках таблицы
- •Создание и обработка эт
- •Основные приемы работы в эт
- •Работа со структурированными данными или списками в эт
- •Пример списка «Данные о гтд»
- •Построение диаграмм в эт
- •Средства анализа данных в эт Excel
- •Основные встроенные функции
- •Финансовый анализ
- •Статистический анализ
- •Анализ "что-если"
- •Контрольные вопросы:
- •6.7. Базы данных (бд)
- •6.7.1. Реляционные модели
- •Соотношение терминов в теории и практике
- •6.7.2. Введение в системы управления базами данных (субд)
- •6.7.3. Субд ms access
- •Контрольные вопросы:
- •Раздел 4. Алгоритмические средства информатики Глава 7. Введение в моделирование
- •7.1. Классификации моделей и моделирования
- •7.2. Математические модели
- •7.3. Информационные модели
- •Контрольные вопросы:
- •Глава 8. Понятие алгоритма
- •8.1. Средства записи алгоритма
- •Словесная запись алгоритма
- •Псевдокоды
- •Структурные схемы алгоритмов
- •8.2. Языки программирования
- •Структуры алгоритмов и операторы языков программирования
- •8.2.1. Среда программирования
- •8.2.2. Технологии программирования
- •8.2.3. Основные методы разработки программ
- •Контрольные вопросы:
- •Глава 9. Язык программирования vba
- •9.1. Основные понятия языка программирования vba
- •9.2. Типы данных vba
- •9.3. Объявление переменных и констант
- •9.4. Объявление массивов
- •9.5. Операторы vba
- •If условие Then операторы1 Else операторы2 End If
- •Контрольные вопросы:
- •Заключение
- •Список литературы
- •Информатика
- •344002, Г. Ростов-на-Дону, пр. Буденновский, 20.
8.2.2. Технологии программирования
Существует несколько различных технологий программирования:
процедурное программирование;
функциональное программирование;
логическое программирование;
объектно-ориентированное программирование;
параллельное программирование.
Процедурное программирование – это технология, основанная на создании алгоритма, как последовательности команд (операторов). Основной командой является оператор присваивания, кроме того, для разветвления используются условные операторы, а для повторения действий – циклы.
Функциональное программирование – это технология, основанная на создании программ, в которых единственным действием является вызов функции. Программа и пользовательские функции строятся из совокупности базовых функций. Представитель этого направления язык Lisp (List Processing), работающий со списками.
Логическое программирование – это технология, основанная на отношении, поэтому программа – это совокупность аксиом и правил, определяющих отношение между объектами. Представитель этого направления – язык искусственного интеллекта Пролог (Programming in Logic).
Объектно-ориентированное программирование – это технология, основанная на понятии объекта, который объединяет в себе структуры данных и методы их обработки, создании модели системы, как совокупности объектов. Представителями этого направления являются языки программирования С++, Visual Basic, Java Script, Delphi и др. С середины 90-х годов объектно-ориентированные языки стали реализовываться как системы визуального программирования в которых сборка экранной формы производится из готовых объектов-«полуфабрикатов» с помощью мыши.
Параллельное программирование
Параллельное программирование – это технология, основанная на программировании реальных параллельных процессов. Основной проблемой здесь является синхронизация и осуществление одновременного доступа к данным различными процессами. Используется в суперЭВМ.
8.2.3. Основные методы разработки программ
Структурное проектирование
Задачи, решаемые на ЭВМ, являются математическими моделями процессов или явлений реальной жизни. В математической модели находят отражение наиболее существенные связи между реальными объектами. Модели реальных объектов вместе с присущими им связями образуют структуры данных, процесс обработки которых и описывается с помощью алгоритмов.
Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой (Нидерланды), разработана и дополнена Н. Виртом (Швейцария).
В соответствии с данной методологией
Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью (например оператор GOTO) выполнения операций не предусматривается.
Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.
Разработка программы ведётся пошагово, методом «сверху вниз».
Алгоритмы большой сложности обычно представляются с помощью схем двух видов: обобщенной и детальной.
Обобщенная схема описывает общий принцип функционирования алгоритма и основные логические связи между отдельными этапами.
Детальная схема описывает содержание каждого элемента обобщенной схемы с использованием управляющих структур блок-схемы или псевдокода.
Существует несколько методов проектирования:
нисходящее (сверху-вниз);
восходящее (снизу-вверх);
смешанное, использующее два предыдущих метода.
Нисходящее проектирование предполагает создание сначала обобщенной схемы, а затем детализацию каждого структурного элемента.
Восходящее проектирование предполагает создание сначала детальной схемы для каждого структурного элемента, а затем - обобщенной схемы. Наиболее используемым является смешанное проектирование.
Модульное проектирование
Модульное программирование является развитием и совершенствованием процедурного программирования и библиотек специальных программ. Основная черта модульного программирования – стандартизация интерфейса между отдельными программными единицами.
Модуль – это отдельная функционально-законченная программная единица, которая структурно оформляется стандартным образом и имеет небольшой размер. Как правило, каждый модуль содержит паспорт, в котором указаны все основные его характеристики: язык программирования, объем, входные и выходные переменные, их формат, ограничения на них, точки входа, параметры настройки и т.д.
Модульное проектирование – это искусство разбиения задачи на некоторое число различных модулей, умение широко использовать стандартные модули путем их параметрической настройки, автоматизация сборки готовых модулей из библиотек, банков модулей.
Принципы модульного проектирования программных продуктов во многом сходны с принципами нисходящего проектирования. Сначала определяются состав и подчиненность функций, а затем – набор программных модулей, реализующих эти функции.