- •1.2.2. Общая характеристика этапов решения задачи с использованием эвм
- •Основы алгоритмизации
- •2.1. Общие сведения об алгоритмах
- •2.1.1. Свойства алгоритмов и способы их задания
- •Описание условных графических обозначений (уго), используемых в са
- •2.2. Понятие о технологии программирования
- •2.2.1. Принципы структурной алгоритмизации
- •2.2.2. Базовый набор структур
- •2.2.3. Линейные и разветвляющиеся структуры
- •1.1.2. Общие вопросы организации разветвлений в алгоритмах
- •2.3. Организация циклических вычислительных процессов
- •2.3.1. Цикл с заданным условием продолжения работы (цикл-пока)
- •2.3.2. Цикл с заданным условием окончания работы (цикл-до)
- •2.3.3. Цикл с заданным числом повторений
- •2.3.4. Исполнение циклических структур
- •1.3. Логические алгоритмы
- •1.3.1. Задача "Поиск пути в лабиринте"
- •1.3.2. Задача "Ханойские башни"
- •2.4.1. Основы типизации и структуризации данных
- •2.4. Массивы и работа с ними
- •2.4.2. Описание массивов
- •Температура воздуха
- •2.4.3. Выборка элементов массивов
- •2.4.4. Использование циклических операций для обработки массивов
- •2.5.4. Учет конкретных особенностей задач
2.3. Организация циклических вычислительных процессов
Реализация на ЭВМ линейных и разветвляющихся программ не дает большого выигрыша во времени по сравнению, например, с использованием простого калькулятора. Настоящие преимущества вычислительной машины становятся очевидными лишь при решении тех задач, где возникает необходимость многократного повторения одних и тех же фрагментов алгоритмов.
Считается, что если бы в программах не было возможности организовать циклы, то применять ЭВМ для решения многих задач не имело бы смысла.
Циклическими называются алгоритмы, у которых выполнение некоторых операторов (групп операторов) осуществляется многократно с одними и теми же или модифицированными данными. Циклические алгоритмы находят самое широкое применение в программировании, так как при этом человек составляет программу один раз, а ЭВМ выполняет ее многократно. Циклические алгоритмы часто называют циклами.
В зависимости от способа организации числа повторений различают три типа циклов: цикл с заданным условием продолжения работы; цикл с заданным условием окончания работы и цикл с заданным числом повторений.
2.3.1. Цикл с заданным условием продолжения работы (цикл-пока)
Логика работы такой структуры описывается схемой, показанной на рис. 14, а.
Т
Цикл-ПОКА (условие);
операторы тела
цикла;
Конец-цикла;
б
Рис. 14. Структура цикл-ПОКА: а — развернутая схема цикла; б — запись в псевдокодах; в — компактная схема цикла
Рассмотрим применение циклической структуры этого типа на простом примере: составить алгоритм печати таблицы значений х, х2, sin(x) и 1/х при изменениях х от 1 с шагом 0.1 , пока выполняется условие х<10.
Составим алгоритм в виде псевдокодов:
1. Начало;
2. Список данных:
х, fl, f2, f3 — вещественный;
3. х:=1;
4. Цикл-ПОКА (х < 10) ;
5. fl:=x2; f2:=sin(x); f3:=l/x;
6. Вывод(х, fl, f2, f3);
7. x:=x+0.1;
8. Конец-цикла 4;
9. Конец.
Здесь тело цикла содержит вычислительные операции, ввод очередной строки таблицы и модификацию значения х. Графическую схему этого алгоритма вам предлагается составить самостоятельно.
2.3.2. Цикл с заданным условием окончания работы (цикл-до)
Структура цикл-ПОКА предусматривает вариант, когда тело цикла не выполняется ни разу. Такое возможно, если условие, стоящее в начале цикла, сразу же не выполняется. Когда на практике возникает необходимость использовать структуру, у которой тело цикла выполняется хотя бы один раз, то в этом случае применяется структура цикла, приведенная на рис. 15.
С
помощью такой структуры обычно составляют
алгоритмы итерационных вычислительных
процессов, т.е. процессов, в которых для
определения последующих значений
переменной используется ее предыдущее
значение. Итерационный процесс положен,
например, в основу м
Цикл-ДО
(условие);
операторы тела
цикла;
Конец-цикла;
б
Рис. 15. Структура цикл-ДО: а — развернутая схема цикла; б — запись в псевдокодах; в — компактная схема цикла
Выход из конструкции цикл-ДО осуществляется по достижении заданной точности или по какому-либо другому признаку.
Рассмотрим использование циклической структуры цикл-ДО на простом примере: разработать алгоритм, позволяющий найти и вывести на печать наибольшее целое положительное число х, удовлетворяющее условию: 0.7е – 150х < 12.5.
Составим алгоритм в виде псевдокодов.
1. Начало;
2. Список данных:
х — целый;
3. х:=1;
4. Цикл-ДО (0.7е – 150 ≥ 12.5);
5. х:=х+1;
6. Конец-цикла 4;
7. х:=х-1;
8. Вывод(х);
9. Конец.
Здесь тело цикла содержит модификацию числа х. Графическую схему этого алгоритма вам предлагается составить самостоятельно.