
- •Предисловие
- •Введение
- •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.3. Основные алгоритмические конструкции
Элементарные шаги алгоритма можно объединить в следующие алгоритмические конструкции: линейные (последовательные), разветвляющиеся, циклические и рекурсивные.
5.3.1. Линейная алгоритмическая конструкция
Линейной называют алгоритмическую конструкцию, реализованную в виде последовательности действий (шагов), в которой каждое действие (шаг) алгоритма выполняется ровно один раз, причем после каждого i-го действия (шага) выполняется (i+1)-е действие (шаг), если i-е действие – не конец алгоритма.
Пример 5.1. Опишем алгоритм, позволяющий вычислить площадь прямоугольника по известной длине и ширине на псевдокоде и в виде блок-схемы.
Псевдокод: 1. Ввод двух чисел а, b. 2. Вычисляем площадь S = а·b. 3. Вывод S. 4. Конец.
|
|
5.3.2. Разветвляющаяся алгоритмическая конструкция
Разветвляющейся (или ветвящейся) называется алгоритмическая конструкция, обеспечивающая выбор между двумя альтернативами в зависимости от значения входных данных. При каждом конкретном наборе входных данных разветвляющийся алгоритм сводится к линейному.
Различают неполное (если – то) и полное (если – то – иначе) ветвления. Полное ветвление позволяет организовать две ветви в алгоритме (то или иначе), каждая из которых ведет к общей точке их слияния, так что выполнение алгоритма продолжается независимо от того, какой путь был выбран (рис. 5.1 слева).
Неполное ветвление предполагает наличие некоторых действий алгоритма только на одной ветви (то), вторая ветвь отсутствует, т.е. для одного из результатов проверки никаких действий выполнять не надо, управление сразу переходит к точке слияния (рис. 5.1 справа).
Рис. 5.2. Ветвление
Пример 5.2. Найти значение наименьшего из двух чисел и вывести его на экран.
В данном примере реализовано полное ветвление. ЕСЛИ значения входных данных таковы, что а < b, ТО выполняется левая часть ветвления, переменная min примет значение a, ИНАЧЕ, когда а >b, выполняется левая часть ветвления, переменная min примет значение b.
Псевдокод: 1. Ввод двух чисел а, b. 2. ЕСЛИ а < b, ТО min=а, ИНАЧЕ min=b 3. Выводим min. 4. Конец.
|
|
Пример 5.3. Вывести на экран для действительного числа x значение √x, если это возможно.
В решении задачи предполагается, что корень из отрицательного числа не существует. Представим алгоритм в виде псевдокода и блок-схемы.
Псевдокод: 1. Ввод чисел x. 2. ЕСЛИ x ≥0, ТО 2.1. y=√x. 2.2. Вывести y. 3. Конец.
|
|
В данном примере реализовано неполное ветвление. ЕСЛИ значение x неотрицательно, ТО выполняется линейный алгоритм по вычислению y.