- •ВВЕДЕНИЕ
- •1. ОБЩИЕ СВЕДЕНИЯ ОБ ИНФОРМАТИКЕ
- •1.1. Информатика как наука
- •1.2 Определения информации
- •1.3. Виды информации
- •1.4. Структура информации
- •1.5. Требования, предъявляемые к социальной информации
- •Контрольные вопросы и задания:
- •2. ИСТОРИЯ РАЗВИТИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
- •2.1. Ручной период вычислений или период абака
- •2.2. Механический период
- •2.3. Электромеханический период
- •2.4. Электронный период
- •Контрольные вопросы и задания
- •3. ПОКОЛЕНИЯ ЭВМ
- •Контрольные вопросы и задания:
- •4. СФЕРЫ ИСПОЛЬЗОВАНИЯ ЭВМ
- •Контрольные вопросы и задания
- •5. ПРИНЦИПЫ ПОСТРОЕНИЯ ЭВМ. СТРУКТУРА ЭВМ, НАЗНАЧЕНИЕ ОСНОВНЫХ БЛОКОВ
- •Контрольные вопросы и задания:
- •6. ПЕРСОНАЛЬНЫЕ КОМПЬЮТЕРЫ
- •Контрольные вопросы и задания:
- •7. ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ
- •Контрольные вопросы и задания:
- •8. ПАМЯТЬ, ЕЕ ХАРАКТЕРИСТИКИ
- •8.1. Определения. Единицы емкости памяти
- •8.2. Принципы устройства памяти
- •Рис. 8.1. Взаимодействие процессора с памятью
- •8.3. Виды памяти.
- •Рис. 8.2 Структурная схема памяти персонального компьютера
- •8.4. Внешние запоминающие устройства
- •Контрольные вопросы и задания:
- •9. ЯЗЫКИ ПРОГРАММИРОВАНИЯ СОВРЕМЕННЫХ ЭВМ. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММ
- •9.1. Понятие программы
- •9.2. Машинный язык и языки программирования высокого уровня
- •9.3. Компиляторы и интерпретаторы языков программирования
- •9.4. Лингвистическое обеспечение современных ЭВМ.
- •9.5. Этапы разработки программ для ЭВМ
- •Контрольные вопросы и задания:
- •10. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СОВРЕМЕННЫХ ЭВМ
- •10.1. Роль программного обеспечения
- •10.2. Понятие об операционной системе
- •10.3. Основные задачи, решаемые ОС ПЭВМ
- •10.4. Современные операционные системы
- •10.5. Понятие интерфейса ОС
- •10.6. Классификация операционных систем. Современные операционные системы
- •10.7. Оболочки операционных систем
- •10.8. Прикладное программное обеспечение
- •10.8.1.Текстовые редакторы
- •10.8.2. Табличные процессоры
- •10.8.3. Базы данных и СУБД
- •Контрольные вопросы и задания:
- •11. АЛГОРИТМЫ
- •11.1. Понятие алгоритма
- •11.2. Свойства и состав алгоритмов
- •11.3. Способы записи алгоритмов. Блок-схемы
- •11.4. Базовые структуры алгоритмов: следование, ветвление, цикл
- •Контрольные вопросы и задания:
- •12. ИНФОРМАЦИОННЫЕ СИСТЕМЫ. ОСНОВНЫЕ ПОНЯТИЯ И КЛАССИФИКАЦИЯ
- •12.1. Классификация информационных систем
- •12.1.1. Классификация по масштабу
- •12.1.2. .Классификация по целям.
- •12.1.3. Классификация по способу организации
- •12.2. Архитектуры информационных систем
- •Контрольные вопросы и задания:
- •13. ПОНЯТИЕ ПРОГРАММНОГО ПРОДУКТА. КАЧЕСТВО И ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ПРОДУКТА
- •13.1. Программный продукт. Особенности разработки программного обеспечения
- •13.2. Качество программных продуктов
- •13.3. Показатели эффективности разработки программного обеспечения
- •13.4.1.Основные этапы жизненного цикла ПО
- •13.4.2. Структура жизненного цикла ПО
- •13.4.3. Модели жизненного цикла ПО
- •Рис. 13.1. Каскадная схема разработки ПО
- •Рис. 13.2. Реальный процесс разработки ПО по каскадной схеме
- •Рис 13.3. Спиральная модель ЖЦ
- •Контрольные вопросы и задания:
- •14. МЕТОДОЛОГИЯ И ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Рис14.1. Представление технологической операции проектирования
- •14.1. Методологии и инструменты проектирования
- •14.2. Методы и средства структурного анализа и проектирования
- •14.3. Диаграммы потоков данных
- •14.3.1. Основные символы
- •14.3.2. Контекстная диаграмма и детализация процессов
- •14.3.3.Спецификация процесса (описание операций)
- •14.3.4. Диаграммы сущность связь
- •14.4. Методология RAD
- •Контрольные вопросы и задания:
- •15. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММ
- •15.1.Понятие тестирования и отладки программ
- •15.2. Классификация ошибок, способы их выявления и устранения
- •Контрольные вопросы и задания:
- •16. ПЕРЕДАЧА ИНФОРМАЦИИ. КОМПЬЮТЕРНЫЕ СЕТИ ОСНОВНЫЕ ПОНЯТИЯ
- •16.1. Формы передачи информации на большие расстояния
- •16.2. Передача информации между компьютерами
- •16.3. Компьютерные сети
- •16.4. Классификация сетей
- •16.5. Локальные сети. Общие понятия
- •16.6. Глобальная сеть Internet. Общие понятия
- •Рис 16.2. Иерархическая структура Internet
- •Контрольные вопросы и задания:
- •17. ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ
- •17.1. Способы несанкционированного доступа к компьютерной информации
- •17.2. Компьютерные вирусы и защита от них
- •17.2.1. Способы проявления компьютерных вирусов
- •17.2.2. Защита от поражения компьютерными вирусами
- •17.3. Нормативно правовая база защиты информации
- •Контрольные вопросы и задания:
- •18. СОВРЕМЕННАЯ ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА (АНАЛОГОВАЯ И ДИСКРЕТНАЯ)
- •18.1. Аналоговая вычислительная техника
- •18.2. Основные характеристики АВМ
- •18.3. Гибридная вычислительная техника
- •18.4. Сравнительные характеристики аналоговой и дискретной техники
- •Контрольные вопросы и задания:
- •БИБЛИОГРАФИЯ
- •ОГЛАВЛЕНИЕ
72
11. АЛГОРИТМЫ
11.1.Понятие алгоритма
Спонятием алгоритма мы уже встречались, когда рассматривали этапы разработки программ для ЭВМ и определяли что такое программы.
Вообще, понятие алгоритма относится к числу фундаментальных математических понятий, поэтому, приведем определение алгоритма, взятое из «Математической энциклопедии»: «Алгоритм, алгорифм, − точное предписание, которое задает вычислительный процесс (называемый в этом случае алгоритмическим), начинающийся с произвольного исходного данного и направленный на получение полностью определяемого этим исходным данным результата. Алгоритмами являются, например, известные с начальной школы правила сложения, вычитания, умножения и деления столбиком». (Т.1, стлб. 202−203).
Из определения программы, взятого для данных лекций, также, из «Математической энциклопедии», и уже цитированного ранее, алгоритм определяется как «...конечная совокупность команд (инструкций), каждая из которых побуждает выполнить некоторую элементарную операцию над данными, хранящимися в памяти исполнителя и имена которых являются параметрами команды». Как видим, это определение, сохраняя суть, несколько отличается от предыдущего, так как приложено уже к понятию «программа». В повседневной жизни слово «алгоритм», войдя прочно в обыденный лексикон, понимается как: точное правило, инструкция, указание того, как нужно действовать, чтобы получить результат. В этом смысле главу лекций «Этапы разработки программы на ЭВМ», можно рассматривать тоже как алгоритм. Вообще, слово «алгоритм» появилось в средние века, когда европейцы познакомились с работами великого арабского математика аль-Хорезми (783855 г.г.). Эти работы произвели на них столь глубокое впечатление, что появилось слово «алгоритм», которое происходит от имени ученого. И в начале это слово обозначало нумерацию по арабской системе счисления.
11.2. Свойства и состав алгоритмов
Правильно разработанный алгоритм решения задачи должен отвечать следующим требованиям. Он должен обладать: определенностью или детерминированностью, то есть применение алгоритма к одним и тем же исходным данным, должно приводить к одному и тому же результату; он должен обладать массовостью − быть пригодным для решения класса задач одного типа, а не одной задачи из этого класса; результативностью − возможностью достижения результата за конечное число шагов. Что касается последнего свойства, то могут встретится такие задачи, решение которых не возможно найти за конечное число шагов. Поэтому, прежде чем приступать к написанию алгоритма задачи, нужно хорошо изучить область вычислительной математики, к которой относится данная задача.
73
Например, решая задачу линейного программирования, или транспортную задачу, нужно помнить, что по внешнему виду системы ограничений и целевой функции, нельзя определить, достижим ли минимум целевой функции за конечное число шагов. Или решая трансцендентное уравнение, следует задавать точность, которой вам будет достаточно.
Атеперь рассмотрим из чего состоят алгоритмы решения задач на ЭВМ:
1.Описание, используемых переменных.
2.Операции ввода, присваивающие некоторым переменным значения исходных данных.
3.Вычислений или другой обработки информации.
4.Операций присваивания переменным значений полученных в результате вычисления выражений.
5.Операции условного перехода, проверяющей некоторое условие, и
взависимости от того, выполняется заданное условие или нет, указывающей, в качестве следующей, выполнение какой-либо из двух операций.
6.Операции вывода обработанной информации.
11.3. Способы записи алгоритмов. Блок-схемы
Существуют три способа записи алгоритмов: словесный, графический и
операторный.
К словесному способу описания алгоритма можно отнести, в качестве примера, уже упомянутые «Этапы разработки программ для ЭВМ», или часто приводимый в учебниках по программированию пример рецепта приготовления какого-либо блюда. Этот способ записи алгоритмов пригоден лишь для простейших задач.
Операторный способ предполагает подробное указание действий ЭВМ или автоматизированных устройств на специальном формальном языке.
Графический способ описания алгоритмов или описание алгоритмов с помощью блок-схем, обладает большой наглядностью. Алгоритм изображается в виде последовательности блоков, предписывающих выполнение отдельных функций и связей между ними. Внутри блоков помещается информация, поясняющая выполняемые ими действия. Каждый блок снабжается номером, который размещается в разрыве контура блока в левой верхней его части. При оформлении документов (отчетов, курсовых и дипломных работ, диссертаций, инструкций и т.п.), содержащих блок-схемы, необходимо руководствоваться ГОСТами 19.002-80 и 19.003-80.
Рассмотренные графические и словесные способы описания алгоритма не могут непосредственно восприниматься машиной, и в дальнейшем выполняться, поэтому они используются для предварительной работы. Для описания алгоритмов на языке понятном ЭВМ, служат языки программирования, которые на основе строго определенных правил, позволяют формировать последовательность предписаний для исполнения ЭВМ.