Циклические программы виды циклов

1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков в составлении алгоритмов и программ циклической структуры.

ОСНОВНЫЕ СВЕДЕНИЯ

Операторы циклов

В языке Си существует 3 вида циклов: 1) цикл с параметром или цикл типа for; 2) цикл с предусловием или цикл типа while, 3) цикл с постусловием или цикл типа do . while. Во всех этих циклах условие продолжения цикла заключается в круглые скобки.

В циклах типов for и while повторяющаяся часть состоит из одного оператора, если требуется выполнить в цикле несколько операторов, они заключаются в фигурные скобки, образуя составной оператор. В цикле с постусловием тело цикла помещается между словами do и while. В отличие от цикла с предусловием, цикл с постусловием выполнится хотя бы один раз. Циклы с пред- и постусловием продолжаются, если условие продолжения истинно.

Цикл с параметром

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

Циклические программы в Паскале 8 класс

А) начальные значения: операторы присваивания, которые выполняются один раз перед выполнением цикла;

В) условие, при котором выполняется следующий шаг цикла; если условие неверно, работа цикла заканчивается; если оно неверно в самом начале, цикл не выполняется ни одного раза (говорят, что это цикл с предусловием, то есть условие проверяется перед выполнением цикла);

С)действия в конце каждого шага цикла (в большинстве случаев это операторы присваивания).

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

for ( i = 0; i

for ( i = 0, x = 1.; i

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

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

• Для того, чтобы легче разобраться в программе, все тело цикла и ограничивающие его скобки сдвигаются вправо на 2-3 символа (запись «лесенкой»).

Пример вычисления суммы квадратов натурального ряда чисел от 1 до n.

S= = 1 2 + 2 2 + . . . + n 2 .

//lab3_1 сумма квадратов натурального ряда

printf(“Введите n ”); scanf(“%d”,

S+=i*i; // соответствует S=S+i*i

В разделе инициализации присваиваются начальные значения переменным S и i. При i, не превышающем n, цикл повторяется, иначе выполняется выход из цикла. Оператор инкремента i++ (или декремента i—), эквивалентен i=i +1 (i=i-1). Для досрочного выхода из цикла и перехода на следующий оператор после цикла используется оператор break. Для пропуска всех операторов, оставшихся до конца тела цикла и перехода к следующему повторению цикла используется оператор continue.

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

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

C# — Циклы. Уроки для маленьких и тупых #6.

Цикл while состоит из заголовка и тела цикла.

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

В условии можно использовать знаки логических отношений и операций

Если условие неверно в самом начале, то цикл не выполняется ни разу (это цикл с предусловием). Если условие никогда не становится ложным (неверным), то цикл никогда не заканчивается; в таком случае говорят, что программа «зациклилась» — это серьезная логическая ошибка. В языке Си любое число, не равное нулю, обозначает истинное условие, а ноль — ложное

while ( 1 ) < . >// бесконечный цикл

while ( 0 ) < . >// цикл не выполнится ни разу

Тело цикла заключается в фигурные скобки; если в теле цикла стоит всего один оператор, скобки можно не ставить. В тело цикла могут входить любые другие операторы, в том числе и другие циклы (такой прием называется «вложенные циклы»). Для того, чтобы легче разобраться в программе, все тело цикла и ограничивающие его скобки сдвигаются вправо на 2-3 символа.

Цикл do-while также используется тогда, когда количество повторений цикла заранее неизвестно и не может быть вычислено.

Цикл do-while состоит из заголовка do, тела цикла и завершающего условия.

Условие записывается в круглых скобках после слова while, цикл продолжает выполняться, пока условие верно; когда условие становится ложным, цикл заканчивается. Условие проверяется только в конце очередного шага цикла (это цикл с постусловием),

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

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

Рассмотрим пример из предыдущей работы — вычисление суммы квадратов натурального ряда чисел от 1 до n.

S= = 1 2 + 2 2 + . . . + n 2 .

Изменим условие в этом примере: Определить число n, при котором сумма чисел S предыдущего ряда не превысит величину K, введенную с клавиатуры. Такую программу можно реализовать с помощью циклов предусловия или постусловия следующим образом:

//lab3_2 циклы while и do…while

clrscr(); // очистка экрана перед выводом

printf (“Введите К ”); scanf (“%d”,

Дата добавления: 2019-01-14 ; просмотров: 268 ; Мы поможем в написании вашей работы!

Источник: studopedia.net

Циклические программы виды циклов

Календарь

  • ГЛАВНАЯ
  • ЗАНИМАТЕЛЬНО
  • Хитрости устного счета
  • Логические задачи
  • Познавательно
  • Федеральные ресурсы
  • Подготовка к ЕГЭ и ГИА
  • Методические материалы
Читайте также:
В какой программе сделать выкройку из кожи

Ученику

Учителю

  • Информатика
  • Математика
  • Химия
  • Внеклассная работа
  • Другое
  • + Создать HTML-тест
  • + Добавить материал

Календарь

« Июль 2023 »
Пн Вт Ср Чт Пт Сб Вс
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

Материал по информатике. Тема: «Циклические программы».

В данном материале рассмотрены основные структуры циклических программ: с условием и с параметром. А также составлены программы для 3-х видов цикла по одной и той же задаче. Где наглядно можно увидеть все плюсы и минусы каждой конструкции.

Циклические программы в языке программирования «Pascal»

Ц икл – разновидность управляющей конструкции, которая предназначена для организации многократного повторения (исполнения) набора операторов (команд).

Все циклы делятся на две группы: циклы с условием и циклы с параметром (for). Циклы с условием также можно разбить на две группы: циклы с предусловием (while) и циклы с постусловием (repeat – until) . Схематично разбиение на типы циклов можно изобразить следующим образом:

Рассмотрим цикл с предусловием while.

Оператор цикла с предусловием выполняет действия заранее неизвестное число раз. В заголовке цикла находится некоторое логическое выражение (условие). Если условие истинно, то тело цикла выполняется, если ложно – то нет. Так как верность логического выражения проверяется в начале, тело цикла может не выполнится ни разу.

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

Структура цикла while:

While do

Begin

Структура цикла repeat – until:

Repeat

Until

Последний тип циклов: цикл с параметром for.

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

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

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

Другими словами, количество итераций цикла определяется разностью между вторым и первым значением плюс единица. В данном цикле, в отличие от циклов while и repeat – until (в них изменялось логическое выражение (условие) в цикле), в теле цикла не должны содержаться операторы, изменяющие счетчик цикла.

Структура цикла for (2 варианта ) :

For i := n1 to n2 do

Begin

End;

For i := n1 downto n2 do

Begin

End;

Примеры программ для выполнения одной и той же задачи,

но разными способами:

Задача: Найти сумму чисел от 1 до 12.

1. С предусловием

Источник: infocabinet.ru

Программирование в программе-функции циклических алгоритмов

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

Классификация циклов.Циклы можно условно разделить на две группы:

· циклы типа арифметической прогрессии;

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

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

ПримерВычислить значение x= , используя итерационную процедуру

В качестве приближенного значения корня квадратного берется такое значение xn, которое удовлетворяет условию

,

где — заданная точность вычисления.

Видно, что задав исходные данные, например, a = 9, = 10 -3 , нельзя, не выполняя итерационные вычисления, определить количество повторений тела цикла.

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

· щелкнуть на кнопке for наборной панели Программирования. На экране появятся поля ввода, изображенные на рис. 2.4.

Поле 1
Поле 2
Поле 3

Рис. 2.4. Структура оператора цикла for

· в поле ввода 1 введите имя параметра цикла;

· в поле ввода 2 ввести диапазон значений параметра цикла, используя для этого дискретный аргумент ;

· в поле ввода 3 вводятся операторы, составляющие тело цикла. Если одной строки недостаточно, то дополнительные поля ввода (дополнительные строки) создаются щелчком на кнопке “Add line” в панели программирования и тогда слева от тела цикла появляется вертикальная черта.

ПримерДля x меняющего от -2 до 2 с шагом 0.5 вычислить значение f(x) = e -x . Cos ( 2x ) и сформировать из этих значений вектор y, т.е. y1 = f(-2), y2 = f(-1.5) и т.д.

В этом примере количество повторений определяется по формуле

где xk , x0 — конечное и начальное значение параметра цикла, d — шаг его изменения. Подставив значения, получаем (2 — (-2) )/0.5+1=9.

Описание программы-функции имеет вид

В этом варианте описания программы-функции формальные параметры используются для задания диапазона изменения параметра цикла (переменная x). Для изменения индекса у элемента массива y вводится переменная i целого типа внутри программы-функции. Обращение к описанной программе-функции может иметь вид

Читайте также:
Установить программу зип на компьютер

n

ЗамечаниеЕсли значение индексов у элементов массива меняется начиная с 1 ( как в этом примере ), то начальное значение индекса необходимо установить равным 1 ( для этого обратиться к пункту MATHкоманде Built-inVariables, а затем в поле ввода Originввести значение 1 ( вместо установленного по умолчанию значения 0 ).

Программирование итерационных циклов. Для программирования таких циклов используется оператор цикла while. Для ввода этого оператора необходимо выполнить следующие действия:

· щелкнуть на кнопке while панели Программирования. На экране появляются элементы, показанные на рис. 2.5.

Поле 1
Поле 2

Рис. 2.5. Структура оператора цикла while

· в поле 1 ввести условие выполнения цикла;

в поле 2 ввести операторы тела цикла. В теле цикла должны присутствовать операторы делающие условие цикла ложным иначе цикл будет продолжаться бесконечно.

Оператор цикла while выполняется следующим образом: обнаружив оператор while, Mathcad проверяет указанное условие. Если оно истинно, то выполняется тело цикла и снова проверяется условие. Если оно ложно, то цикл заканчивается.

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

Как видно из текста программы-функции нет необходимости хранить в памяти все приближенные решения x0, x1, x2 , . , и т.д. Достаточно хранить предыдущее ( “старое” ) значение xc и последующее (“новое”) значение xn.

Обращение к описанной программе будет иметь вид

n

К сожалению организация итерационного цикла с помощью оператора while , без дополнительных средств контроля может привести к зацикливанию. Например, задав при обращении к программе eps < 0 получаем зацикливание.

Поэтому в Mathcad имеется специальный оператор break, который позволяет выйти из цикла или приостановить исполнение программы при выполнении заданного в операторе break условии. Для ввода оператора break необходимо щелкнуть на кнопке break панели Программирования(нельзя вводить этот оператор с клавиатуры по символам). Оператор breakиспользуется в левом поле ввода условного оператор if, а в правом размещается

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

Следующий пример показывает написание не зацикливающей программы с оператором break.

Пример 2.13.Составим программу-функцию, реализующую итерационную процедуру вычисления корня квадратного (см. пример 2.9) без зацикливания. Описание такой программы-функции имеет вид :

В этой программе число повторений тела ограничено 1000. Если за это число итераций приближенное значение корня с заданной точностью не найдено, то параметр ierr получает значение 1, что говорит об ошибке вычислительного процесса ( если были выполнены 1000 итераций ) . Так как через имя программы передается значение только одной переменной, то для передачи двух значений xn, ierr используется вектор, проекции которого формируются внутри программы.

Найденный корень

Значение ierrнужно проверять после обращения к программе sqroot1. Например,

Значение ierr

Ошибочное задание а ( должнобыть > 0 )

Отметим некоторые области применения компьютерной графики: оформление визиток и объявлений, иллюстративная и деловая графика, под­готовка рисунков для отчетов, статей, книг; моделирование реально не суще­ствующих объектов; построение трехмерных сцен и анимационных фильмов; создание рекламных роликов и др.

Для составления подобных документов служат специальные приклад­ные программы — графические редакторы (ГР).

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

Разработаны ГР для построения двумерных (плоских) и трехмерных, статических и динамических объектов.

Все ГР можно разделить на два класса: растровые и векторные. В растровыхГР (по-другому называются Bitmap — графические редакторы) изо­бражение строится на растре маленьких, равных по величине, квадратиков (элементов изображений, пикселей).

В векторныхГР все линии определяются начальными точками и формулами, описывающими эти линии.

Растровая графика (РГ) получается в результате сканирования фото­графий, иллюстраций, в результате съемки с помощью цифрового фотоаппа­рата или цифровой видеокамеры. Растровый рисунок можно создать с по­мощью растрового графического редактора.

Основным элементом РГ является точка (ее положение, яркость, цвет). Растровое изображение формируется из множества отдельных точек (пикселей), расположенных на пересечении столбцов и строк. Слева показана буква, нарисованная с помо­щью растровой графики.

Термину «растровая графика» в английском языке соответствует термин «Bitmap — графика». В переводе это означает графику, основанную на карте (плане) расположения битов. Приведенный рисунок подтверждает справедливость такого на­ звания.

Качество точечного изображения характеризует разрешающая спо­собность,которая измеряется в точках на дюйм (dotsperinch — dpi). Поли-Тафическое качество печати требует разрешения порядка 250 dpi

Фотоснимок размером 10×12 см будет содержать примерно 1000 х 1200 пикселей. Если для кодирования цвета каждого пикселя исполь­зовать 24 бита (это дает более 16 миллионов цветовых оттенков), то для хра­нения всей информации о такой фотографии потребуется более 3,4 Мбайта. Приведенное число говорит о том, что для запоминания растрового изобра­жения требуется большой объем памяти. Большой объем файла является первым недостатком растровых рисунков.

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

Достоинства растрового способа представления информации заклю­чаются в почти неограниченных возможностях изменения формы и цвета объекта.

Типичным представителем этого класса ГР является графический ре­дактор Paint, входящий в состав операционной системы Windows.

Растровымиредакторамитакжеявляются Adobe Photoshop, Pho-tostyler, Adobe Photo-Paint, Picture Publisher, Corel Photo-paint идр.

В векторной графике при изменении масштаба объекта пропорции точно выдерживаются благодаря запоминанию математической модели объ­екта, а не карты (таблицы, матрицы) расположения разноцветных пикселей.

Читайте также:
Какова цель тестирования контроля и диагностики программ

Векторными графическими редакторами являются AdobeIllustrator, MacromediaFreehand и CorelDraw и др.

Основным элементом векторной графики (ВГ) являются линия и ма­тематическая формула, которая описывает эту линию.

При использовании растровой графики линия создается из множества последовательно расположенных точек, и чем длиннее линия, тем больший объем памяти она требует для своего хранения.

При использовании векторной графики запоминается формула, поэто­му независимо от длины все линии одинаковой формы занимают одинаковое место в памяти. С помощью дополнительных параметров задаются цвет, толщина линии и ее вид (сплошная, пунктирная, штрих-пунктирная и т. д.).

Изменение масштаба изображения не приводит к искажениям вектор­ного изображения.

Векторы представляют собой математическое описание объектов. Чтобы компьютер нарисовал прямую линию, нужно указать координаты Двух точек. Для изображения окружности достаточно указать координаты Центра и радиус и т. д.

Наибольшее распространение в векторной графике получили кривыеБезье — разновидность кривых третьего порядка.

Динамическое изображение создают с помощью редакторов 3D StudioMAX, CorelDraw и AnimatorPro.

В пакете 3D StudioMAX используется следующая схема формирова­ния изображения: задается небольшое количество ключевых кадров (keyframes), а все остальные связывающие их кадры пакет строит автомати­чески посредством интерполяции (математическая операция восстановления, Реконструкции недостающих данных).

Редактор 3D StudioMAX позволяет выполнять следующие преобразо- Ва ния изображаемых объектов: перемещение вдоль заданной траектории; в Ращение; деформацию (сжатие или растяжение); морфинг (плавная транс-

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

Форматы графический файлов

Знание файловых форматов и их возможностей является одним из ключевых факторов в допечатной подготовке изданий, подготовке изображений для web и в компьютерной графике вообще. Да, сегодня нет такого калейдоскопа расширений, как в начале 90-х, когда каждая компания-производитель редакторов изображений считала своим долгом создать свой файловый тип, а то и не один, однако это не означает, что «все нужно сохранять в TIFF, а сжимать JPEG’ом». Каждый, из утвердившихся сегодня форматов, прошел естественный отбор, доказал свою жизнеспособность и нужность. Все они имеют какие-то характерные особенности и возможности, делающие их незаменимыми в работе. Знание особенностей, тонкостей технологии важно для современного дизайнера так же, как для художника необходимо разбираться в различиях химического состава красок, свойствах грунтов, типов металлов и породах дерева.

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

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

Таким образом, векторная иллюстрация это набор геометрических примитивов. Большинство векторных форматов могут так же содержать внедрённые в файл растровые объекты или ссылку на растровый файл (технология OPI). Сложность при передаче данных из одного векторного формата в другой заключается в использовании программами различных алгоритмов, разной математики при построении векторных и описании растровых объектов.

OPI (Open Prepress Interface) — технология, разработанная фирмой Aldus, позволяющая импортировать не оригинальные файлы, а их образы, создавая в программе лишь копию низкого разрешения (эскиз) и ссылку на оригинал. В процессе печати на принтер, эскизы подменяются на оригинальные файлы. Применение OPI, вместо простого внедрения, (embedding) дает возможность экономить ресурсы компьютера (прежде всего, память), заметно повышая его производительность. OPI является основной работы с импортированными графическими файлами в таких программах, как FreeHand и QuarkXPress, широко применяется в других продуктах.

Растровый файл устроен проще (для понимания, по крайней мере). Он представляет из себя прямоугольную матрицу (bitmap), разделенную на маленькие квадратики — пикселы (pixel — picture element). Растровые файлы можно разделить на два типа: предназначенные для вывода на экран и для печати.

Разрешение файлов таких форматов как GIF, JPEG, BMP зависит от видеосистемы компьютера. В старых Маках на квадратный дюйм экрана приходилось 72 пиксела (экранное разрешение), на Windows единого стандарта не сложилось, но сегодня чаще всего употребляется значение 96 пикселов на квадратный дюйм экрана. Реально, однако, эти параметры теперь стали довольно условными, так как почти все видеосистемы современных компьютеров позволяют изменять количество отображаемых на экране пикселов. Растровые форматы, предназначенные исключительно для вывода на экран, имеют только экранное разрешение, то есть один пиксел в файле соответствует одному экранному пикселу. На печать они выводятся так же с экранным разрешением.

Растровые файлы, предназначенные для допечатной подготовки изданий имеют, подобно большинству векторных форматов, параметр Print Size — печатный размер. С ним связано понятие печатного разрешения, которое представляет из себя соотношение количества пикселов на один квадратный дюйм страницы (ppi, pixels per inch или dpi — dots per inch, — термин не совсем верный, но часто употребимый). Печатное разрешение может быть от 130 dpi (для газеты) до 300 (высококачественная печать), больше почти никогда не нужно.

Растровые форматы, так же отличаются друг от друга способностью нести дополнительную информацию: различные цветовые модели, вектора, Альфа-каналы или каналы плашковых (spot)-цветов, слои различных типов, интерлиньяж (черезстрочная подгрузка), анимация, возможности сжатия и другое.

Дата добавления: 2016-05-31 ; просмотров: 2109 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Источник: poznayka.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru