- •Вопрос №1 Понятие информации
- •Свойства информации
- •Вопрос №2 Понятие количества информации
- •Вопрос №3 Информационные процессы
- •Вопрос №4 Предмет и структура информатики
- •Вопрос №5 Технические средства реализации информационных процессов.
- •Принцип автоматической обработки информации вычислительным устройством.
- •Вопрос №6 Поколение цифровых устройств обработки информации
- •Первое поколенuе – электронные лампы (1945-1955 гг.)
- •Второе поколение – транзисторы (1955-1965 гг.)
- •Третье поколение – интегральные схемы (1965-1980 гг.)
- •Четвертое поколение – сверхбольшие интегральные схемы (с 1980 гг.)
- •Вопрос №7 Классификация компьютеров по сферам применения
- •Вопрос №10 Оперативное запоминающее устройство
- •Внутренние шины передачи информации
- •Вопрос №11 Внешние запоминающие устройства
- •Вопрос №12,13 Внешние устройства
- •Вопрос №14 Устройства ручного ввода информации
- •Вопрос №15 Устройства печати
- •Вопрос №16 Устройства поддержки безбумажных технологий
- •Вопрос №17 Программные средства реализации информационных процессов.
- •Системное программное обеспечение
- •Инструментальное программное обеспечение
- •Прикладное программное обеспечение
- •Вопрос №18 Информационные системы. Структура и классификация информационных систем
- •Понятие информационных технологий. Виды информационных технологий
- •Этапы развития информационных технологий
- •Вопрос №19 Основы защиты информации
- •Вопрос №20 компьютерные сети. Особенности построения. Назначение и классификация
- •Сетевые протоколы
- •Проблема защиты
- •Вопрос №21,22 Основы алгоритмизации и технологии программирования Понятие алгоритма и его свойства
- •Способы описания алгоритмов
- •Вопрос №23 Основные алгоритмические конструкции
- •Линейная алгоритмическая конструкция
- •Разветвляющаяся алгоритмическая конструкция
- •Алгоритмическая конструкция «Цикл»
- •Арифметический цикл
- •Цикл с предусловием
- •Цикл с постусловием
- •Рекурсивный алгоритм
- •Вопрос №24 Простые типы данных: переменные и константы
- •Вопрос 25 Структурированные данные и алгоритмы их обработки
- •Вопрос №26 Модели решения функциональных и вычислительных задач Основные понятия
- •Системный подход в моделировании систем
- •Вопрос №27 Классификация видов моделирования
- •Математические модели
- •Построение математической модели системы
Вопрос №23 Основные алгоритмические конструкции
Элементарные шаги алгоритма можно объединить в следующие алгоритмические конструкции: линейные (последовательные), разветвляющиеся, циклические и рекурсивные.
Линейная алгоритмическая конструкция
Линейной называют алгоритмическую конструкцию, реализованную в виде последовательности действий (шагов), в которой каждое действие (шаг) алгоритма выполняется ровно один раз, причем после каждого i- гo действия (шага) выполняется (i+ 1)-е действие (шаг), если i-e действие – не конец алгоритма.
Пример 1.
Опишем алгоритм сложения двух чисел на псевдокоде в виде блок-схемы (рис. 2).
Псевдокод:
Ввод двух чисел а, b .
Вычисляем сумму S = а + b .
Вывод S.
Конец.
Разветвляющаяся алгоритмическая конструкция
Разветвляющейся (или ветвящейся) называется алгоритмическая конструкция, обеспечивающая выбор между двумя альтернативами в зависимости от значения входных данных. При каждом конкретном наборе входных данных разветвляющийся алгоритм сводится к линейному. Различают неполное (если – то) и полное (если – то – иначе) ветвления. Полное ветвление позволяет организовать две ветви в алгоритме (то или иначе), каждая из которых ведет к общей точке их слияния, так что выполнение алгоритма продолжается независимо от того, какой путь был выбран (рис. 3). Неполное ветвление предполагает наличие некоторых действий алгоритма только на одной ветви (то), вторая ветвь отсутствует, т.е. для одного из результатов проверки никаких действий выполнять не надо, управление сразу переходит к точке слияния (рис. 4).
Рассмотрим стандартный алгоритм поиска наибольшего (наименьшего) значения среди нескольких заданных. Основная идея алгоритма сводится к следующему: за наибольшее (наименьшее) принимаем значение любого из данных. Поочередно сравниваем оставшиеся данные с наибольшим (наименьшим). если окажется, что очередное значение входного данного больше (меньше) наибольшего (наименьшего), то наибольшему (наименьшему) присваиваем это значение. Таким образом, сравнив все входные данные, найдем наибольшее (наименьшее) среди них. Алгоритм использует неполное ветвление.
Пример 2.
Заданы три числа. Найти значение наименьшего из них Заданные числа обозначим: а, b, с; результирующее наименьшее –min. На рис. 5 представлена блок-схема алгоритма решения данной задачи.
Алгоритмическая конструкция «Цикл»
Циклической (или циклом) называют алгоритмическую конструкцию, в кoтoрoй некая, идущая подряд группа действий (шагов) алгоритма может выполняться несколько раз, в зависимости от входных данных или условия задачи. Группа повторяющихся действий на каждом шагу цикла называется телом цикла. Любая циклическая конструкция содержит себе элементы ветвящейся алгоритмической конструкции.
Рассмотрим три типа циклических алгоритмов: ц uкл с параметром (который называют арифметическим циклом), цикл спредусловием и цикл с постусловием (их называют итерационными) .