
- •Наука информатика Глава 1. Информатика — предмет и задачи
- •1.1. Появление и развитие информатики
- •1.2. Структура информатики
- •1.3. Влияние информатики на развитие общества: информационные революции
- •1.4. Информационные технологии: этапы развития
- •Глава 2. Технические средства информатики
- •2.1. Классификация эвм
- •2.2. Архитектура эвм
- •2.3. Основные характеристики вычислительной техники
- •2.4. Архитектура персонального компьютера
- •2.4.1. Системный блок
- •2.4.2. Материнская плата
- •2.4.3. Внутренняя память
- •2.4.4. Внешняя память
- •2.4.5. Устройства ввода
- •2.4.6. Устройства вывода
- •Глава 3. Программные средства информатики.
- •3.1. Классификация программных продуктов
- •3.2. Системное программное обеспечение
- •3.3. Пользовательское программное обеспечение
- •3.4. Инструментарий технологии программирования
- •II. Информация и информационные процессы. Глава 1. Информация.
- •1.1. Информация и данные.
- •1.2. Количественные характеристики информации.
- •Синтаксическая мера информации.
- •Семантическая мера информации
- •1.3. Качественные характеристики информации.
- •Глава 2. Технологии работы с информацией.
- •2.1. Технология кодирования информации
- •Кодирование чисел
- •Двоичная система счисления
- •Кодирование музыки
- •Кодирование текста
- •Кодирование изображений
- •Кодирование фильмов
- •2.2. Технология упаковки информации
- •1. Для любой последовательности данных существует теоретический предел сжатия, который не может быть превышен без потери части информации.
- •2. Для любого алгоритма сжатия можно указать такую последовательность данных, для которой он обеспечит лучшую степень сжатия, чем другие методы.
- •3. Для любого алгоритма сжатия можно указать такую последовательность данных, для которой данный алгоритм вообще не позволит получить сжатия.
- •Сжатие с потерей информации
- •Обратимое сжатие информации
- •2.3. Технология шифрования информации
- •Алгоритмы симметричного шифрования
- •Алгоритмы ассиметричного шифрования
- •Сравнение алгоритмов шифрования
- •Глава 3. Информационные процессы и информационные системы.
- •3.1. Информационная деятельность и информационные процессы
- •Получение информации
- •Передача и хранение информации
- •Обработка и преобразование информации
- •3.2. История развития вычислительных устройств
- •3.3. Информационные системы
- •Задачи, решаемые информационными системами
- •Алгоритмизация и программирование. Глава 1. Технология решения задач
- •1.1. Этапы решения задачи на эвм
- •1.2. Категории специалистов, занятых разработкой и сопровождением программного обеспечения
- •Глава 2. Алгоритмизация
- •2.1. Понятие, определение и свойства алгоритма
- •2.2. Способы записи алгоритмов
- •2.3. Виды алгоритмов
- •Глава 3. Программирование
- •Виды языков программирования
- •3.2. Основные понятия программирования
- •3.3. Основные конструкции языка программирования на примере basic
- •3.4. Жизненный цикл программного продукта
- •Основы информационной культуры Глава 1. Информационное общество
- •1.1. Представление об информационном обществе и информационной культуре
- •1.2. Информационные ресурсы и рынок информационных услуг
- •Глава 2. Всемирная компьютерная сеть
- •2.1. Разновидности компьютерных сетей
- •Модель взаимодействия «клиент – сервер».
- •4. Смешанные топологии
- •2.2. История Интернет
- •2.3. Структура Интернет
- •2.4. Сервисы Интернет Электронная почта
- •Поисковые системы
- •Телеконференции
- •Чаты (irc)
- •Содержание
2.3. Виды алгоритмов
Одним из свойств алгоритма является дискретность — возможность расчленения процесса вычислений, предписанных алгоритмом, на отдельные этапы, возможность выделения участков программы с определенной структурой. Можно выделить и наглядно представить графически три простейшие структуры:
последовательность двух или более операций;
выбор направления;
повторение.
Любой вычислительный процесс может быть представлен как комбинация этих элементарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:
линейные;
ветвящиеся;
циклические.
Линейным принято называть вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательности.
Линейные вычислительные процессы имеют место, например, при вычислении арифметических выражений, когда имеются конкретные числовые данные и над ними выполняются соответствующие условию задачи действия. На рис. 11.1, а показан пример линейного алгоритма, определяющего процесс вычисления арифметического выражения
у=(b2-ас):(а+с).
|
|
а |
б |
Рис. 11.1. Примеры алгоритмов: а) линейный алгоритм; б) ветвящийся алгоритм
Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений (ветвей). Каждое отдельное направление процесса обработки данных является отдельной ветвью вычислений. Ветвление в программе — это выбор одной из нескольких последовательностей команд при выполнении программы. Выбор направления зависит от заранее определенного признака, который может относиться к исходным данным, к промежуточным или конечным результатам. Признак характеризует свойство данных и имеет два или более значений.
Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей — сложным. Сложный ветвящийся процесс можно представить с помощью простых ветвящихся процессов. Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» — условие выполнено и «нет» — условие не выполнено. Следует иметь в виду, что, хотя на схеме алгоритма должны быть показаны все возможные направления вычислений в зависимости от выполнения определенного условия (или условий), при однократном прохождении программы процесс реализуется только по одной ветви, а остальные исключаются. Любая ветвь, по которой осуществляются вычисления, должна приводить к завершению вычислительного процесса.
На рис. 11.1,б показан пример алгоритма с разветвлением для вычисления следующего выражения:
Y = (а+b), если Х <0;
с/b, если Х>0.
Циклическиминазываются программы, содержащие повторения.Цикл— это многократно повторяемый участок программы.
В организации цикла можно выделить следующие этапы:
• подготовка (инициализация) цикла (И);
• выполнение вычислений цикла (тело цикла) (Т);
• модификация параметров (М);
• проверка условия окончания цикла (У).
Порядок выполнения этих этапов, например, ТиМ, может изменяться. В зависимости от расположения проверки условия окончания цикла различают циклы с пред- и постусловиями (рис. 11.2). Для цикла спостусловием(рис. 11.2, а) тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла. В случае цикла спредусловием(рис. 11.2, б) тело цикла может не выполниться ни разу в случае, если сразу соблюдается условие выхода.
|
|
а |
б |
Рис. 11.2. Примеры циклических алгоритмов
Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называетсяитерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.
На рис. 11.3 показан пример циклического алгоритма вычисления суммы десяти чисел.
Рис. 11.3. Алгоритм нахождения суммы 10-ти чисел