- •Структуры алгоритмов и основные конструкции
- •Алгоритмических языков
- •Учебное пособие
- •Для студентов заочного обучения
- •Н.Вирт, автор языка программирования Паскаль введение
- •1. Технология подготовки и решения задач на персональных компьютерах
- •Способы решения задач на персональных компьютерах
- •Постановка задачи и ее формализация
- •1.3. Построение алгоритма решения задачи
- •1.3.1. Понятие алгоритма и его свойства
- •1.3.2. Средства записи алгоритма
- •I) Словесная запись алгоритма.
- •2) Графическая схема алгоритма
- •3) Операторная схема алгоритма.
- •4) Псевдокоды.
- •5) Алгоритмические языки.
- •1.3.3. Структуры алгоритма
- •Разработка программы
- •Требования к алгоритмическим языкам
- •Способы описания алгоритмических языков
- •1. Металингвистические формулы.
- •2. Синтаксические диаграммы
- •Методология программирования
- •1.4.4. Обзор языков программирования для персональных компьютеров
- •1.4.5. Общие правила разработки программ
- •1.5. Работа после ввода программы в компьютер
- •Методы отладки, используемые в системах программирования пк:
- •1.6. Оформление документации на программу
- •2. Понятие о visual basic и основных элементах языка
- •2.1. Общие сведения о Visual Basic
- •2. 2. Визуальная среда Visual Basic
- •2.3. Обрабатываемые данные
- •2.3.1. Переменные и типы данных
- •Типы данных
- •Символы неявного задания типа переменной
- •2.3.2. Массивы
- •Dim имя массива (верхняя граница массива) [As тип переменных массива].
- •Dim имя (нижняя граница To верхняя граница) [As Тип],
- •Dim Firstarray (15) As Long - одномерный массив с 16 переменными типа Long;
- •2.3.3. Константы
- •2.4. Оператор присваивания
- •2.5 Программирование вычислений
- •2.6. Встроенные математические функции
- •Математические функции
- •Тригонометрические функции
- •2.7. Программирование логических выражений
- •2.8. Программирование ветвлений
- •If условие Then выполняемый оператор,
- •If условие Then
- •If Not условие Then оператор;
- •If условие Then
- •2.9. Программирование циклов
- •2.9.1. Циклы типа Do While
- •2.9.2. Циклы типа Do Until
- •2.9.3. Циклы типа For
- •Step шаг цикла
- •2.10. Процедуры и функции
- •2.11. Обработка текстов
- •Заключение
- •Литература
- •Содержание
- •Содержание………………………………………………..61
- •Учебное издание
- •Коуров Леонид Васильевич
- •Структуры алгоритмов и основные конструкции алгоритмических языков
1.3.3. Структуры алгоритма
Схема алгоритма может быть построена с использованием различных структур.
1. Структура "следование" (линейный алгоритм) состоит из нескольких последовательно соединенных блоков Ai "процесс" (рис.3).
Пример записи алгоритма на псевдокоде
Начало
A1, A2, …, An
Конец
Пример графической схемы алгоритма.
Составить графическую схему алгоритма начисления заработной платы П трех сотрудников C1, C2 и С3 за текущий месяц в зависимости от поступлений ХС.
2. Структура "ветвление" (разветвляющийся алгоритм) производит выбор одного из двух путей исполнения алгоритма в зависимости от выполнения или невыполнения логического условия Р в блоке "решение" (рис.5).
Если условие Р выполняется, т.е. принимает значение "да" (1 или true - истина), то исполняется процесс А1, при невыполнении условия Р (значение "нет", 0 или false - ложь) исполняется процесс А2.
Пример на псевдокоде
Начало
Если условие Р истинно,
то выполняется блок А1,
иначе выполняется блок А2.
Конец
Пример графической схемы алгоритма.
Составить графическую схему алгоритма расчета подоходного налога. Налог рассчитывается до формуле N=F1, если доход не превышает сумму R1, по формуле N=F2, если доход превышает сумму R1.
3.Структура "переключение" (алгоритм выбора одного процесса из нескольких возможных) показана на рис. 7.
Блок "решение" представляет собой набор логических условий Р1, Р2,….,Рm, в зависимости от значения которых осуществляется исполнение одного из процессов A1, A2, …, An.
Пример на псевдокоде.
Начало
Если условие P1 истинно, то выполняется блок A1, иначе проверяется условие Р2; если условие Р2 истинно, то выполняется блок А2; иначе проверяется условие РЗ; если условие РЗ истинно, то выполняется блок A3, иначе проверяется условие Р4; если условие Р4 выполняется, то выполняется блок А4, иначе вывод результатов.
Конец.
Пример графической схемы.
Составить графическую схему алгоритма начисления платы за аренду помещения, если сумма штрафа составляет S1 при задолженности D1 дней, сумма S2 при задолженности D2, сумма S3 при задолженности D3 (D1 < D2 < D3 ) (рис.8).
4. Структура "повторение" (циклический алгоритм) обеспечивает многократное выполнение участка алгоритма, называемого телом цикла. Число исполнений тела цикла может быть заранее известно (вычислено) или неизвестно. Примером структуры с известным числом повторений являются циклы со счетчиком, в которых число повторений регистрируется специальным счетчиком и при достижении заданного числа повторений цикл прекращается. Количество повторений исполнения тела цикла неизвестно в так называемых итерационных циклах, где исполнения тела цикла повторяются, пока некоторая монотонно убывающая величина остается по абсолютной величине больше наперед заданного положительного числа , т.е. > . Такие циклы используются при решений задач методами последовательных приближений. В циклических алгоритмах используются две основные структуры: цикл с предусловием и цикл с постусловием.
Цикл с предусловием (цикл "пока"), структура которого показана на рис.9.
В этой структуре проверка условия повторения исполнения тела цикла или выхода из цикла осуществляется до начала исполнения тела цикла. Пока условие Р выполняется, т.е. принимает значение «да» (1, true – истина) исполняется тело цикла, но исполнение прекращается, когда Р принимает значение «нет» (0, false - ложь). Если условие Р не выполняется с самого начала, то тело цикла не будет выполнено ни- разу. Один из операторов тела цикла после каждого его исполнения изменяет переменную цикла в условии Р, иначе цикл может продолжаться бесконечно.
Пример на псевдокоде
Начало
пока выполняется условие Р, повторять исполнение А.
Конец
Пример графической схемы.
Составить графическую схему алгоритма построения-графика функции y=f(x), если переменная х принимает значения от xmin до xmax с дискретностью х.
Цикл с постусловием (цикл «до»), структура которого показана на рис.11.
Проверка условия повторения тела цикла осуществляется после исполнения тела цикла. До тех пор, пока условие Р не будет выполнено, будет повторяться исполнение тела цикла. В этом случае тело цикла исполняется обязательно хотя бы один раз.
Пример на псевдокоде:
Начало
повторять исполнение А
до выполнения условия Р
Конец
Схема алгоритма может быть построена с использованием различных структур. Однако любой алгоритм может быть разработан на основе только трех базовых структур: следования, ветвления и повторения.
Пример графической схемы по условию предыдущей задачи показан на рис. 12.
Вложенные циклы. Используются тогда, когда одному значению первой переменной соответствует несколько значений второй переменной, следующему значению первой переменной соответствует тот же набор значений второй переменной и т.д. Это так называемый двойной цикл, где цикл вычислений по второй переменной вложен в цикл по первой переменной. Степень вложения циклов может быть многократной. Вложенные циклы организуются как с предусловием, так и постусловием. Одним из применений вложенных циклов является обработка многомерных массивов. Чтобы исключить ошибки, следует помнить, что начало и завершение вложенного цикла должны находиться внутри одного и того же цикла более высокого уровня.
Пример графической схемы.
Составить графическую схему алгоритма вычисления функции y=f(А,x), если х принимает значения от 0 до 1 с дискретностью 0,01, а коэффициент А принимает все значения натурального ряда чисел в интервале от 0 до 10 (рис. 13).