
- •Предисловие
- •Введение
- •1. Информатика, информационные технологии
- •1.1. Информация
- •1.1.1. Понятие информации
- •1.1.2. Свойства информации
- •1.1.3. Количество информации
- •1.1.4. Информационные процессы
- •1.3. Представление (кодирование) данных
- •1.3.1. Системы счисления
- •1.3.2. Представление данных в памяти компьютера
- •1.4 Математические основы информатики
- •1.4.1. Алгебра высказываний (булева алгебра)
- •1.4.2. Элементы теории множеств
- •2.5. Поколения цифровых устройств обработки информации
- •2.6. Архитектуры вычислительных систем сосредоточенной обработки информации
- •2.7. Функциональная организация персонального компьютера
- •3. Программное обеспечение
- •3.1. Классификация программного обеспечения. Виды программного обеспечения и их характеристики
- •3.2. Системное программное обеспечение
- •3.2.1 Базовое программное обеспечение
- •3.2.2. Файловые системы
- •3.3. Служебное программное обеспечение
- •3.4. Основы машинной графики
- •3.5. Программное обеспечение обработки текстовых данных
- •3.6. Электронные таблицы
- •3.7. Электронные презентации
- •3.8. Базы данных, системы управления базами данных
- •4. Модели решений задач
- •4.1. Основные понятия
- •4.2. Классификация видов моделирования
- •4.3. Информационные модели
- •4.4. Этапы и цели моделирования
- •4.5 Модели представления данных
- •5. Алгоритмизации и программирование
- •5.1. Понятие алгоритма и его свойства
- •5.2. Способы описания алгоритмов
- •5.3. Основные алгоритмические конструкции
- •5.3.1. Линейная алгоритмическая конструкция
- •5.3.2. Разветвляющаяся алгоритмическая конструкция
- •5.3.3. Алгоритмическая конструкция «Цикл»
- •5.3.4. Рекурсивный алгоритм
- •6. Языки программирования и технологии программирования
- •6.1. Языки программирования
- •6.2. Компиляторы и интерпретаторы
- •6.3. Системы программирования
- •6.4. Классификация и обзор языков программирования
- •6.5. Этапы решения задач на компьютере
- •6.6. Принципы программирования
- •7. Компьютерные сети, Интернет, компьютерная безопасность
- •7.1. Компьютерные сети
- •7.2 Топология сетей
- •7.3. Сетевые компоненты
- •7.4. Интернет. Основные понятия
- •7.5. Подключение к Интернету
- •7.6. Вопросы компьютерной безопасности
- •Заключение
- •Глоссарий
- •4.4. Этапы и цели моделирования 84
5.2. Способы описания алгоритмов
Рассмотрим следующие способы описания алгоритма: словесное описание, псевдокод, блок-схема, программа.
Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг, электропила, дрель и т.п.) имеет инструкцию по эксплуатации, т.е. словесное описания алгоритма, в соответствии которому данный прибор должен использоваться.
Никаких правил составления словесного описания не существует. Запись алгоритма осуществляется в произвольной форме на естественном, например, русском языке. Этот способ описания не имеет широкого распространения, так как строго не формализуем (под «формальным» понимается то, что описание абсолютно полное и учитывает все возможные ситуации, которые могут возникнуть в ходе решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословностью.
Псевдокод – описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основные этапы решения задачи, перед точной его записью на языке программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика.
Строгих синтаксических правил для записи псевдокода не существует. Это облегчает запись алгоритма при проектировании и позволяет описать алгоритм, используя любой набор команд. Однако в псевдокоде обычно используются некоторые конструкции, присущие формальным языкам, что облегчает переход от псевдокода к записи алгоритма на языке программирования. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором используемых слов и конструкций.
Блок-схема – описание структуры алгоритма с помощью геометрических фигур с линиями-связями, показывающими порядок выполнения отдельных инструкций. Этот способ имеет ряд преимуществ. Благодаря наглядности, он обеспечивает «читаемость» алгоритма и явно отображает порядок выполнения отдельных команд. В блок-схеме каждой формальной конструкции соответствует определенная геометрическая фигура или связанная линиями совокупность фигур.
Некоторые основные конструкции, использующиеся для построения блок-схем, рассмотрены в таблице.
Описания алгоритма в словесной форме, на псевдокоде или в виде блок-схемы допускают некоторый произвол при изображении команд. Вместе с тем она настолько достаточна, что позволяет человеку понять суть дела и исполнить алгоритм.
На практике исполнителями алгоритмов выступают компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке, такой формализованный язык называют языком программирования.
Таблица 5.1. Элементы блок-схем
Название блока, действие |
Обозначение |
Другие обозначения |
Блок, характеризующий начало/конец алгоритма (для подпрограмм – вызов/возврат) |
начало конец |
|
Блок - процесс, предназначенный для описания отдельных действий (формул) |
действие |
|
Блок – предопределенный процесс, предназначенный для обращения к вспомогательным алгоритмам (подпрограммам) |
|
|
Блок ввода |
|
|
Блок вывода |
|
|
Б |
|
|
Блок, описывающий цикл с параметром |
|
|
Программа – описание структуры алгоритма на языке алгоритмического программирования