Цикл с заданным числом повторений

Цикл с заданным числом повторений

Рассмотренные типы циклических структур имеют один недостаток: при ошибочном задании исходных данных может произойти зацикливание, т.е. возникает неприятная ситуация, когда происходит бесконечное повторение операторов, входящих в тело цикла. В этом случае приходится принудительно завершать работу программы, иногда это связано с потерей несохраненных данных и самой программы.

В практических инженерных задачах обычно известны начальные значения изменяемых величин, закон изменения и конечное число повторений. Переменная, изменение которой организуется в ходе реализации цикла, называется параметром цикла или управляющей переменной. Алгоритм работы цикла с заданным числом повторений (иногда его называют циклом с параметром) приведен на рис. 8.

Предварительные вычисления, присваивание параметру начального значения Проверка условия окончания цикла Расчеты при текущем значении параметра цикла Изменение параметра цикла по заданному закону и переход к блоку 2

Рис. 8.Развернутая схема цикла с заданным числом повторений

Следует подчеркнуть, что цикл с заданным числом повторений представляет собой соединение линейной структуры (начало цикла), структуры цикл-ПОКА (условие в нем заменено на противоположное) и снова линейной (последовательной) структуры в теле цикла.

Прочитать этот алгоритм можно следующим образом: «Меняя параметр от начального значения до конечного значения, повторять тело цикла».

Алгоритм, приведенный на рис. 8, принято называть развернутой схемой цикла с заданным числом повторений. Такая схема удобна для анализа алгоритма и поиска ошибок. Однако при написании алгоритма можно использовать и компактную запись. В псевдокодах она выглядит так:

Цикл по параметр от начальное значение

до конечное значение шаг приращение;

операторы тела цикла;

Необходимо подчеркнуть, что развернутая и компактная записи после реализации в машине дают один и тот же результат. Компактная запись менее громоздка за счет того, что в ней не задаются в явном виде связи между отдельными элементами структуры.

Рассмотрим использование циклической структуры этого типа на примере: составить алгоритм печати таблицы значений х, х 2 , sin(х) и 1/х при изменениях х от 1 с шагом 0.1 , пока выполняется условие х ≤ 10.

Составим алгоритм в виде псевдокодов:

2. Список данных:

x, fl, f2, f3 — вещественный;

3. Цикл по х от 1 до 10 шаг 0.1;

5. Вывод(х, fl, f2, f3);

Отметим, что алгоритм состоит из 7 пунктов. Та же самая задача была решена в подразд. 1.2.1, но там в качестве циклической структуры для построения алгоритма использовался цикл-ПОКА, алгоритм состоял из 9 пунктов. Сокращение алгоритма оказалось возможным за счет использования в нашем случае цикла с заданным числом повторений, в структуре которого уже предусмотрены присваивание начального значения параметру и приращение параметра.

Для изображения компактной графической схемы цикла с параметром могут быть использованы символы «Подготовка» или «Граница цикла» (см. табл. 1), как показано на рис. 9.

Рис. 9.Компактная запись цикла с параметром:

а — с использованием символа «Подготовка»; б — с использованием

символа «Граница цикла»; i — параметр цикла; iн— начальное

значение параметра; iк — конечное значение параметра;

Δi — приращение (шаг)

Если величина шага в цикле с параметром равна единице, то в заголовке цикла шаг можно не указывать. Приведем для сравнения развернутые графические схемы циклов с заданным числом повторений с возрастающим и убывающим параметрами (рис. 10).

Рис. 10.Развернутая схема цикла с заданным числом повторений: а — с возрастающим параметром; б — с убывающим параметром

Схемы отличаются знаками в блоке проверяемого логического условия и в блоке изменения параметра цикла.

Выполненная контрольная работы должна быть оформлена в соответствии с номером варианта и содержать экранные формы выполнения задания. Так же с контрольной работой должны быть представлены электронные версии выполненных заданий (исходный программный код и книга созданная в Excel)

Задание № 1

Тему для ответа на теоретические вопросы необходимо выбратьв соответствии с номером варианта.

1. Запуск WINDOWS и окончание сеанса работы.

2. Оболочка WINDOWS 95.

3. Управление окнами.

4. Меню и команды меню.

5. Контекстные меню.

6. Диалоговые окна в WDSIDOWS.

7. Справочная система WINDOWS.

8. Настройка экрана.

9. Настройка мыши.

10. Установка даты и времени.

11. Добавление и удаление устройств.

12. Запуск приложения и окончание работы с ним.

13. Многозадачность и панель задач.

Читайте также:  Как проверить скорость интернета на андроиде

14. Обмен данными между приложениями.

15. Создание и обслуживание новых папок.

16. Индикация содержимого нанки,

17. Использование ПРОВОДНИКА.

18. Выбор (выделение) объектов.

19. Перенес (копирование) объектов.

20. Удаление объектов.

21. Переименование объектов.

22. Создание ярлыков.

23. Поиск файлов и документов.

24. Быстрый просмотр содержимого файлов.

25. Обращение к дискам»

26. Форматирование носителя данных.

27. Копирование дискет.

28. Текстовый редактор WordPad.

29. Графический редактор Paint.

30. Выполнение DOS — команд и запуск DOS — программ.

Задание № 2

С помощью операторов ввода — вывода ввести и напечатать числовые значения: переменных, заданные в таблице.

На алгоритмическом языке Паскаль первую и вторую группу чисел ввести и вывести в десятичной форме, а третью группу чисел — в показательной форме (с плавающей точкой).

Номер варианта равен остатку от деления на 10 двух последних цифр номера зачетной книжки плюс последняя цифра зачетной книжки.

Задание № 3

Составить схему алгоритма и программу вычисления функции, заданных в таблице.

Задание № 4

Составить схему алгоритма и программу для вычисления функций А=(х, у, z) и В=(х, у, z) при условиях, заданных в приведенной ниже таблице.

Задачу решить для двух значений х, заданных соответственно верхней и нижней строкой в столбце значений х.

Вид функции при условиях Исходные данные
x y z
1. 0,981 -0,32 -2,625 0,512
2. -1,251 8,367 0,827 5,001
3. 0,263 3,251 0,328 0,466
4. 6,002 -0,622 3,325 5,541
5. 1,625 6,31 5,4 0,252
6. 0,625 17,421 10,365 0,828
7. 0,451 2,444 0,869 -0,166
8. 0,335 0,001 0,025 32,005
9. 5,982 3,258 4,005 -0,666
10. 0,11 0,92 -8,251 0,765
11. 1,542 0,085 0,261 0,032

Циклические вычислительные процессы.

Задание № 5

В задаче нужно вычислить таблицу значений функции y=f(х) дня значений аргумента х в интервале от хn до xk с шагом Δх. Условия содержатся в нижеприведенной таблице.

Для каждой задачи составить схему алгоритма.

Задание № 6

В задаче нужно вычислить таблицу значений-функции y = f(x) для значений аргумента х, который представляет собой массив, содержащий от 4 до 6 чисел. Условия содержатся в ниже приведенной таблице.

Для каждой задачи составить схему алгоритма.

Лабораторная работа №7

Линейные алгоритмы

Теоретические основы

Циклические структуры

Реализация на ЭВМ линейных и разветвляющихся программ не дает большого выигрыша во времени по сравнению, например, с использованием простого калькулятора. Настоящие преимущества вычислительной машины становятся очевидными лишь при решении тех задач, где возникает необходимость многократного повторения одних и тех же фрагментов алгоритмов.

Считается, что если бы в программах не было возможности организовать циклы, то применять ЭВМ для решения многих задач не имело бы смысла.

Циклическими называются алгоритмы, у которых выполнение некоторых операторов (групп операторов) осуществляется многократно с одними и теми же или модифицированными данными.

Циклические алгоритмы находят самое широкое применение в программировании, так как при этом человек составляет программу один раз, а ЭВМ выполняет ее многократно. Циклические алгоритмы часто называют циклами.

В зависимости от способа организации числа повторений различают три типа циклов: цикл с заданным условием продолжения работы, цикл с заданным условием окончания работы и цикл с заданным числом повторений.

Цикл с заданным условием продолжения работы

Логика работы такой структуры описывается схемой, показанной на рис. 1, а.

Рис. 1. Структура цикл-ПОКА: а – развернутая схема цикла;

б – запись в псевдокодах; в – компактная схема цикла

Тело цикла может включать в себя группу операторов любой степени сложности. При выполнении условия продолжения работы выполняется тело цикла, если же условие не выполняется, то работа циклической структуры заканчивается и начинает выполняться следующая структура основного алгоритма.

Цикл с заданным условием окончания работы

Структура цикл-ПОКА предусматривает вариант, когда тело цикла не выполняется ни разу. Такое возможно, если условие, стоящее в начале цикла, сразу же не выполняется. Когда на практике возникает необходимость использовать структуру, у которой тело цикла выполняется хотя бы один раз, то в этом случае применяется структура цикла, приведенная на рис. 2.

С помощью такой структуры обычно составляют алгоритмы итерационных вычислительных процессов, то есть процессов, в которых для определения последующих значений переменной используется ее предыдущее значение. Итерационный процесс положен, например, в основу метода последовательных приближений.

Читайте также:  Как в кореле сделать тиснение

Выход из конструкции цикл-ДО осуществляется по достижении заданной точности или по какому-либо другому признаку.

Рис. 2. Структура цикл-ДО: а – развернутая схема цикла;

б – запись в псевдокодах; в – компактная схема цикла

Цикл с заданным числом повторений

Рассмотренные типы циклических структур имеют один недостаток: при ошибочном задании исходных данных может произойти зацикливание, т.е. возникает неприятная ситуация, когда происходит бесконечное повторение операторов, входящих в тело цикла. В этом случае приходится принудительно завершать работу программы, иногда это связано с потерей не сохраненных данных и самой программы.

В практических инженерных задачах обычно известны начальные значения изменяемых величин, закон изменения и конечное число повторений. Переменная, изменение которой организуется в ходе реализации цикла, называется параметром цикла, или управляющей переменной. Алгоритм работы цикла с заданным числом повторений (иногда его называют циклом с параметром) приведен на рис. 3.

Рис. 3. Развернутая схема цикла с заданным числом повторений

Следует подчеркнуть, что цикл с заданным числом повторений представляет собой соединение линейной структуры (начало цикла), структуры цикл-ПОКА (условие в нем заменено на противоположное) и снова линейной (последовательной) структуры в теле цикла.

Прочитать этот алгоритм можно следующим образом: «Меняя параметр от начального значения до конечного значения, повторять тело цикла».

Алгоритм, приведенный на рис. 9, принято называть развернутой схемой цикла с заданным числом повторений. Такая схема является удобной для анализа алгоритма и поиска ошибок. Однако при написании алгоритма можно использовать и компактную запись. В псевдокодах она выглядит так:

Цикл по параметр от начальное значение

до конечное значение шаг приращение;

операторы тела цикла;

Необходимо особо подчеркнуть, что развернутая и компактная записи после реализации в машине дают один и тот же результат. Компактная запись менее громоздкая за счет того, что в ней не задаются в явном виде связи между отдельными элементами структуры.

Для изображения компактной графической схемы цикла с параметром могут быть использованы символы “Подготовка” или “Граница цикла” (см. табл. 1), как показано на рис. 4.

Рис. 4. Компактная запись цикла с параметром: а – с использованием символа “Подготовка”; б – с использованием символа “Граница цикла”

На рисунке обозначено: i – параметр цикла; iн – начальное значение параметра; iк – конечное значение параметра; Di – приращение (шаг). Если величина шага в цикле с параметром равна единице, то в заголовке цикла шаг можно не указывать.

В заключение приведем для сравнения развернутые графические схемы циклов с заданным числом повторений с возрастающим и убывающим параметром.

Рис. 5. Развернутая схема цикла с заданным числом повторений:

а – с возрастающим параметром; б – с убывающим параметром

Схемы отличаются знаками в блоке проверяемого логического условия и в блоке изменения параметра цикла.

Пример 1. Определить значение переменной M, которое будет получено в результате выполнения фрагмента алгоритма:

Цикл по Т от А до В шаг С;

при условии, что переменные имеют следующие значения: А=1; В=5; С=1.

Данный фрагмент алгоритма содержит цикл с заданным числом повторений. Параметр Т изменяется от 1 до 5 с шагом 1. Сначала в таблицу состояния записывается содержимое ячеек памяти перед выполнением цикла: А=1; В=5; С=1; М=1 (табл. 1).

В соответствии с развернутой схемой цикла с заданным числом повторений, параметру цикла присваивается начальное значение: Т=1. Затем проверяется условие: «Значение параметра больше конечного значения?»; в нашем случае: 1>5? Данное условие не выполняется, поэтому далее следуют операторы тела цикла. В рассматриваемом примере в теле цикла стоит один оператор присваивания: М:=М+1. В ячейку М записывается число 2. Затем к параметру добавляется шаг, и Т принимает значение, равное 2. После проверки условия 2 > 5 снова выполняется оператор, стоящий в теле цикла, происходит увеличение параметра на величину шага и, цикл повторяется в очередной раз. Последний раз тело цикла будет выполняться, когда параметр равен конечному значению, т.е. Т=5.

По окончании цикла: М=6, Т=6. Следующим за циклом стоит оператор присваивания М:=М+В, поэтому после выполнения всего фрагмента алгоритма М=11 (табл. 1).

Читайте также:  Как обрезать страницу в pdf

Пример 2. Разработать алгоритм, обеспечивающий вычисление суммы элементов:

Данная задача может быть решена с помощью ЭВМ следующим образом. В памяти машины выделяется ячейка С, в которую первоначально записывается 0. Затем, используя цикл с заданным числом повторений, к содержимому ячейки С прибавляют значение очередного элемента ХI. Математическая модель решаемой задачи имеет вид:

Ввод: N – число элементов;

Х(I:N) – значения элементов.

Схема алгоритма решения задачи приведена на рисунке.

Решение задач

ЗАДАЧА 1. Определить, что выводится на печать при выполнении фрагмента алгоритма:

Составим таблицу значений:

Память Условие Вывод

ЗАДАЧА 2. Разработать алгоритм, обеспечивающий вычисление и печать значений функции Y=f(X) в точках X1, X2,…,XN:

При решении задач может возникнуть необходимость повторить одни и те же действия несколько или множество раз. В программировании блоки кода, которые требуется повторять не единожды, оборачиваются в специальные конструкции – циклы. У циклов выделяют заголовок и тело. Заголовок определяет, до каких пор или сколько раз тело цикла будет выполняться. Тело содержит выражения, которые выполняются, если в заголовке цикла выражение вернуло логическую истину (True, не ноль). После того как достигнута последняя инструкция тела, поток выполнения снова возвращается к заголовку цикла. Снова проверяется условие выполнения цикла. В зависимости от результата тело цикла либо повторяется, либо поток выполнения переходит к следующему выражению после всего цикла.

В языке программирования Паскаль существует три вида циклических конструкций.

Цикл for

Часто цикл for называют циклом со счетчиком. Этот цикл используется, когда число повторений не связано с тем, что происходит в теле цикла. Т.е. количество повторений может быть вычислено заранее (хотя оно не вычисляется).

В заголовке цикла указываются два значения. Первое значение присваивается так называемой переменной-счетчику, от этого значения начинается отсчет количества итераций (повторений). Отсчет идет всегда с шагом равным единице. Второе значение указывает, при каком значении счетчика цикл должен остановиться. Другими словами, количество итераций цикла определяется разностью между вторым и первым значением плюс единица. В Pascal тело цикла не должно содержать выражений, изменяющих счетчик.

Цикл for существует в двух формах:

Счетчик – это переменная любого из перечисляемых типов (целого, булевого, символьного, диапазонного, перечисления). Начальные и конечные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между начальным и конечным выражением указано служебное слово to, то на каждом шаге цикла значение параметра будет увеличиваться на единицу. Если же указано downto, то значение параметра будет уменьшаться на единицу.

Количество итераций цикла for известно именно до его выполнения, но не до выполнения всей программы. Так в примере ниже, количество выполнений цикла определяется пользователем. Значение присваивается переменной, а затем используется в заголовке цикла. Но когда оно используется, циклу уже точно известно, сколько раз надо выполниться.

Цикл while

Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false – то нет.

Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание, одна из самых неприятных ошибок в программировании.

Цикл repeat

Цикл while может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло false. Однако такая ситуация не всегда может быть приемлемой. Бывает, что тело цикла должно выполниться хотя бы один раз, не зависимо оттого, что вернет логическое выражение. В таком случае используется цикл repeat – цикл с постусловием.

В цикле repeat логическое выражение стоит после тела цикла. Причем, в отличие от цикла while, здесь всё наоборот: в случае true происходит выход из цикла, в случае false – его повторение.

В примере, даже если n будет равно 0, одна звездочка все равно будет напечатана.

Ссылка на основную публикацию
Фото с листком для вк
Сигна в ВК – это просто фотография человека с листком бумаги, на котором обычно написано чье-то имя. Часто надписи делают...
Установка виндовс зависла на начало установки
Если вы решили переустановить или установить операционную систему, но начало установки Windows 7 зависает, то в этой статье, думаю, вы...
Установка драйвера принтера отказ
Нередки ситуации, когда не устанавливается принтер, хотя система видит, что к компьютеру подсоединилось новое оборудование. Решение такой задачи требует серьезного...
Фото спортивных мужчин 40 лет
17. Джерард Батлер, 48 лет (kinopoisk) «Законопослушный гражданин» Джерард Батлер когда-то работал официантом, демонстратором игрушек и даже юристом. Он также...
Adblock detector