Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмы и алгоритмические языки. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
11
Рисунок 1.2. N S-диаграмма
нахождения максимального из двух значений
В дальнейшем для создания алгоритмов в графическом виде в
пособии будут использоваться N – S-диаграммы.
4. Программа. Чтобы решить задачу на компьютере необходимо создать программу на языке программирования. Язык
программирования это формализованная запись алгоритма. Программа – это алгоритм, записанный на языке программирования.
При исполнении алгоритма на компьютере, программа выполняется только после ее трансляции (перевода) с языка высокого уровня на низкий (машинный язык).
Программа указывает компьютеру, какие, операции и в каком,
порядке их нужно выполнить для решения задачи. Текст программы состоит из отдельных предложений – операторов. Каждый оператор записывается строго определенным образом, содержит имя, данные и указывает, какую операцию и над какими величинами ЭВМ должна выполнить программу.
PROGRAM MAX(X, Y); USES CRT; VAR
X,Y: REAL; Z: REAL;
BEGIN
CLRSCR;
WRITE(′X=′); READLN(X); WRITE(′Y=′); READLN(Y);
CLRSCR; IF X>Y THEN Z:=X ELSE Z:=Y; WRITELN(′′:4,′ИСХОДНЫЕ ДАННЫЕ′); WRITELN(′′:4, X:5:2, ′′:2, ′И′, ′′:2, Y:5:2,);
Вв. x, y
+ x>y –
z=y z=y
В. z
12
WRITELN(′′:20, ′МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ ИЗ ДВУХ
ЗАДАННЫХ ЗНАЧЕНИЙ′);
WRITE(′′:4, ′Z=′, Z:5:2); READKEY
END.
Основные структуры алгоритмов
Алгоритмы в графическом изображении состоят из основных элементов, называемых базовыми. К базовым относятся «следование», «ветвление», «цикл». Для построения схематических алгоритмических конструкций используем диаграммы Насси – Шнейдермана (N – S­диаграммы).
Алгоритм линейной структуры (следование) – алгоритм, в котором все действия выполняются последовательно друг за другом. Такой порядок выполнения действий называется естественным. (рис.
1.3)
Рисунок 1.3. Схема линейной структуры алгоритма
При решении задач мы редко встречаемся с такими задачами, в которых применяются только линейные конструкции. Очень часто в задачах возникает необходимость в вычислении промежуточных значений по одним формулам или по каким-то другим. В этом случае необходимо использовать базовую конструкцию «ветвление».
Алгоритм разветвляющейся структуры (ветвление, развилка) – эта такая форма организации действий, в которой в зависимости от выполнения или невыполнения некоторого условия выполняется та или иная последовательность действий.
Существуют две формы ветвления: полная или неполная (рис.1.4).
полное ветвление неполное ветвление
условие
да нет дейст. 1 дейст. 2
условие
да
действие
действие 1
действие n
13
Рисунок 1.4. Две формы ветвления
Алгоритмы, отдельные действия в которых многократно повторяются, называются алгоритмами циклической структуры
(повторение).
Тело цикла – это последовательность действий, выполняющаяся
многократно.
Величина, с изменением которой связано многократное выполнение тела цикла называется параметром цикла.
Для организации цикла в алгоритмах используется один из трех видов цикла (рис. 1.5):
цикл с параметром («Для»);
цикл с предусловием («Пока»);
цикл с постусловием («До»).
Цикл с параметром Цикл с предусловием Цикл с постусловием
Рисунок 1.5. Схемы циклических структур
Где
 – параметр цикла;
начальное значение параметра;
конечное значение параметра;
– шаг изменения параметра цикла.
При использовании базовой конструкции «цикл» в алгоритме необходимо:
перед первым выполнением цикла задать начальные
значения переменным. Данный процесс является
подготовкой цикла, т.е.   
;
предусмотреть повторение действий для используемых
переменных в цикле, т.е. создать тело цикла;
перед каждым выполнением тела цикла изменять значение
параметра цикла – выполнять модификацию –  
;
выполнять контроль для продолжения или окончания цикла,
проверяя одно из условий – управлять циклом
Для
󰇛󰇜
тело цикла
тело цикла
До

Пока

тело цикла
14
Для выполнения контроля в цикле с предусловием
используется условие 
. Если это условие не выполняется перед первым выполнением тела цикла «Пока», то цикл не выполняется ни разу.
Для выполнения контроля в цикле с постусловием
применяется условие вида 
. Цикл «До» при невыполнении
данного управляющего условия выполнится хотя бы один раз, т.к. оно проверяется после выполнения тела цикла.
Если в алгоритме необходимо организовать проверку множества
условий и в зависимости от истинности или ложности этих условий выполнить соответствующие действия, то «ветвление» удобней заменить управляющей конструкцией «множественный выбор». В данной структуре сравниваются константы со значением селектора.
Выполняется то действие, константа выбора которого равна
значению селектора, в противном случае выполняется действие в ветке «иначе» (рис. 1.6).
Рисунок 1.6. Множественный выбор
Алгоритмы со структурой вложенных циклов – это такие
алгоритмы, в которых внутри одного цикла могут находиться один или несколько других циклов (рис. 1.7). В этом случае, охватывающий цикл называется внешним, а вложенные в него циклы – внутренними. Правила организации как внешнего, так и внутренних циклов аналогичны правилам организации простого цикла. Параметры внешнего и внутреннего циклов изменяются не одновременно, т.е. при одном значении параметра внешнего цикла параметр внутреннего последовательно принимает все возможные значения.
Рисунок 1.7. Вложенный цикл
значение выражения-селек
тора
1 2 … иначе
дейст.1 дейст.2 … дейст. n+1
󰇛󰇜
󰇛󰇜
тело цикла
15
При записи алгоритмов могут использоваться уже разработанные алгоритмы – подчиненные. Подчиненный алгоритм (подалгоритм) – это алгоритм, целиком используемый в составе другого алгоритма (рис. 1.8).
Алгоритм, содержащий в своем описании подчиненные алгоритмы, может сам выступать в роли подалгоритма.
Рисунок 1.8. Схема подчиненного алгоритма
Вопросы для самоконтроля
1. Что такое алгоритм?
2. Приведите примеры алгоритмов.
3. Перечислите свойства алгоритмов.
4. Что называют алгоритмизацией?
5. Перечислите формы записи алгоритмов.
6. Что такое графическая схема записи алгоритма?
7. Назовите блоки для графического изображения алгоритма
и выполняемые ими функции.
8. Что такое N – S-диаграммы?
9. Перечислите преимущества N – S-диаграмм.
10. Что такое программа?
11. Что представляют собой линейные алгоритмы?
12. Приведите примеры схем и структурограмм линейных
алгоритмов.
13. Что представляют собой алгоритмы с ветвлениями?
14. Приведите примеры схем и структурограмм
разветвляющихся алгоритмов.
15. Что представляют собой алгоритмы циклической
структуры?
16. Приведите примеры N – S-диаграмм циклов.
17. Что такое тело цикла?
18. Что называют параметром цикла?
19. Какие виды цикла существуют и перечислите их отличия?
20. Какие условия необходимо предусмотреть для организации
циклов?
действие
подпрограмма
16
21. Что включает в себя заголовок цикла с параметром?
22. Чем отличается множественный выбор от ветвления?
23. Приведите примеры схем и структурограмм алгоритмов со
структурой множественного выбора.
24. Какие циклы называют вложенными?
25. Назовите отличие вложенных циклов от простых.
26. Какие алгоритмы называются подчиненными?
27. Приведите примеры схем и структурограмм подчиненных
алгоритмов.
Тестовые задания №1
1. В блок-схеме ввод данных обозначается фигурой
А)
В)
С)
D)
2. Фигура для обозначения начала цикла
A)
B)
C)
D)
3. В блок-схеме проверка условия выполняется в фигуре
A)
17
B)
C)
D)
4. Фигура для обозначения начала и конца алгоритма
A)
B)
C)
D)
5. В блок-схеме вызов подпрограммы обозначается фигурой
A)
B)
C)
6. В блок-схеме вычислительное действие записывают в фигуре
A)
B)
C)
18
7. Блок Если
A)
B)
C)
8. Блок Модификация
A)
B)
C)
9. Алгоритм
A) подробный перечень действий, необходимых для выполнения алгоритма В) инструкция по выполнению программы
C) последовательность команд, записанных на машинном языке D) последовательность действий, описанная с помощью геометрических фигур E) простое и четкое описание действий, приводящее к получению результата
10. В линейном алгоритме некоторая последовательность действий
A) повторяется многократно B) выполняется в зависимости от некоторого условия C) выполняется последовательно друг за другом D) вызывается из основной программы
11. К свойствам алгоритма относятся
A) массовость, актуальность, достоверность, понятность B) массовость, актуальность, понятность, достоверность, правдивость C) актуальность, понятность, достоверность, правдивость D) результативность, дискретность, массовость, определенность
12.Результативность алгоритма означает, что
19
A) через определенное количество шагов вычислительный процесс
приводит к выдаче результата или сообщения, что задача не имеет решения B) однотипные задачи с различными наборами исходных данных можно решать, используя один и тот же алгоритм C) алгоритм для решения сложной задачи разбивается на элементарные этапы D) алгоритм должен быть однозначным
13. Массовость алгоритма означает, что
A) через определенное количество шагов вычислительный процесс приводит к выдаче результата или сообщения, что задача не имеет решения B) однотипные задачи с различными наборами исходных данных можно решать, используя один и тот же алгоритм C) алгоритм для решения сложной задачи разбивается на элементарные этапы D) алгоритм должен быть однозначным
14. Структура алгоритма, в которой в зависимости от истинности или ложности проверяемого условия, выполняются действия в ветке «да» или в ветке «нет»
A) линейная B) разветвляющаяся C) циклическая D) выборная E) исключающая
15. Для того чтобы выполнить действия в ветке «да» в блоке «ЕСЛИ» должно быть записано условие
A) X0 B) X<0 C) X<-5 D) X=-5
20
16. Результат выполнения фрагмента алгоритма
A) 16 B) 4 C) 8 D) 7 E) 12
17. Результат выполнения фрагмента алгоритма
A) 6 B) 2 C) 24 D) 1 E) 3
18. Алгоритмом является
A) список студентов в электронном журнале B) расписание движения поездов C) правила дорожного движения D) перечень медикаментов в аптечке E) рецепт приготовления торта
19. Последовательность этапов обработки данных на компьютере
A) ввод данных; обработка данных; вывод результата обработки B) копирование данных; форматирование данных, перемещение данных
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]