- •1 Введение в алгоритмизацию и программирование 2
- •2 Алгоритмы разветвляющихся процессов 8
- •3 Алгоритмы циклических процессов 12
- •3.1 Оператор цикла со счетчиком 12
- •4 Алгоритмы вычисления функций 17
- •5 Алгоритмы обработки одномерных массивов 20
- •5.1 Алгоритмы обработки одномерных массивов 20
- •1 Введение в алгоритмизацию и программирование
- •1.2 Основные свойства алгоритмов
- •1.3 Основные элементы блок – схем алгоритмов
- •1.4 Типовые структуры алгоритмов
- •1.4.1 Линейные алгоритмы
- •1.4.2 Алгоритмы ветвящихся процессов
- •1.4 .2.1 Алгоритм разветвления
- •1.4.2.2 Алгоритм обхода
- •1.4.2.3 Алгоритм множественного выбора
- •1.4.3 Алгоритмы циклических процессов
- •1.4.3.1 Оператор цикла со счетчиком
- •1.4.3.2 Оператор цикла с предусловием
- •1.4.3.3 Оператор цикла с постусловием
- •Вопросы для самопроверки
- •2 Алгоритмы разветвляющихся процессов
- •2.1 Алгоритмы с простыми условиями
- •2.2 Алгоритмы с составными условиями
- •Вопросы для самопроверки
- •3 Алгоритмы циклических процессов
- •Вопросы для самопроверки
- •4 Алгоритмы вычисления функций
- •Вопросы для самопроверки
- •5 Алгоритмы обработки одномерных массивов
- •5.1 Алгоритмы обработки одномерных массивов
- •5.2 Алгоритмы вычисления суммы и произведения
- •5.3 Алгоритмы определения экстремального элемента
- •Вопросы для самопроверки
Вопросы для самопроверки
Какие алгоритмы называются циклическими?
Как организуется циклический процесс?
Что называется параметром цикла?
Что называется телом цикла?
Какие существуют операторы цикла?
Какие алгоритмы называют вспомогательными?
Для чего используют вспомогательные алгоритмы?
Как используют вспомогательные алгоритмы?
4 Алгоритмы вычисления функций
Вычисление функциональных зависимостей во многих задачах присутствует в качестве вспомогательных алгоритмов. Рассмотрим некоторые примеры построения таких зависимостей.
Пример 1. Вычислить значение функции
При построении алгоритма (Рис. 4.1) необходимо организовать цикл по изменению параметра цикла Х, значения которого изменяются от 0 до 10 с шагом 1. В теле цикла проводится:
проверка условия принадлежности аргумента Х интервалу [0; 5] в этом случае значение функции рассчитывается по формуле если выражение под радикалом меньше нуля, то выдается сообщение о том, что функция неопределена, и соответствующее значение х;
если х находится в интервале (5; 10], то значение функции рассчитывается по формуле при условии, что .
Вывод значения аргумента х и значения функции Y производится после блока расчета Y.
Выход из цикла происходит при значении х больше 10.
Блок-схема алгоритма решения задачи приведена на рисунке 4.1.
Пример 2. Вычислить значения функции
Для построения алгоритма вычисления этой функции (Рис. 4.2) необходимо организовать цикл по изменению параметра цикла а, изменяющегося в интервале с шагом . Критерием выхода из цикла является значение а > 20. В теле цикла вычисляется значение , зависящее от параметра а; затем в зависимости от значения х вычисляется значение функции Y по одной из трех формул. После вычисления значения х производится проверка принадлежности одному из трех интервалов: [2,5], [6, 8] и [10, 15]. Если же значение х не попадает ни в один из интервалов, то необходимо перейти к следующему значению параметра а.
Вопросы для самопроверки
Какого типа алгоритмические структуры используют при вычислении функций?
5 Алгоритмы обработки одномерных массивов
5.1 Алгоритмы обработки одномерных массивов
Особенности построения алгоритмов обработки одномерных массивов заключается в том, что массивы – это определенного размера последовательность элементов одного типа, упорядоченная относительно индекса. Обработка элементов массивов осуществляется в цикле, параметром цикла является индекс элементов массива, значения которого изменяются от 1 до N (где N – размерность массива) с шагом 1. В языке С++ по умолчанию нумерация элементов массива начинается с нуля, что и отражено в следующем примере.
Рассмотрим алгоритм ввода-вывода элементов массива (Рис. 5.1). Ввод и вывод элементов массива осуществляется в цикле, предварительно оговаривается длина массива.
Вывод элементов массива можно осуществить по аналогичному алгоритму.
Не нарушая общности, в дальнейшем ввод (или вывод) массивов будем в блок-схемах алгоритмов обозначать блоком:
Ввод (вывод) массива А из N элементов.
При работе с одномерными информационными массивами возникают различные задачи по определению суммы, произведения, определения максимального (минимального) элементов, дозаписи, удаления, поиска элементов массива, объединения двух или более массивов, создание по какому-либо признаку нового массива и др. Алгоритмы наиболее часто встречающихся задач мы рассмотрим далее.