рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Правила использования операторов цикла

Правила использования операторов цикла - раздел Информатика, Оглавление Оператор Цикла С Предусловием While. 1 Оператор ...

Оглавление

Оператор цикла с предусловием While. 1

Оператор цикла с постусловием Repeat 2

Правила использования операторов цикла. 2

Примеры алгоритмов циклической структуры.. 3

Контрольные вопросы и задания. 8

Комбинированный урок №7

Цель: формирование знаний о форматах операторов While, Repeat, навыков применения операторов, приемов составления схем алгоритмов циклических…   Различают циклы с известным числом повторений (цикл с параметром - FOR) и итерационные (с пред- и постусловием…

Оператор цикла с предусловием While

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

WHILE условие DO оператор;

где условие - это логическое выражение, от значения которого зависит- продолжать повторы или завершить цикл;

оператор - любой простой или составной оператор.

Выполнение оператора начинается с вычисления значения логического выражения. Если оно имеет значение "True" (истина), то выполняется оператор (операторы), входящий в цикл. Выполнение цикла продолжается до тех пор, пока логическое выражение в его заголовке не примет значение "False" (ложно). Если выражение равно "False" при первом же витке цикла, то работа цикла завершится, а входящие в него операторы не выполнятся ни разу. Поскольку в цикле типа WHILE...DO условие завершения его работы проверяется до выполнения входящего в него оператора, такой цикл называется "оператор цикла с предусловием".

Пример использования оператора цикла с предусловием:

Program Primer;

Var K:integer;

Begin K:=0;

WHILE K<=10 DO

begin K:=K+2; Write('K= ',K:3) end;

Readln

End.

Оператор цикла с постусловием Repeat

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

REPEAT

Оператор1, оператор2, ... , операторN

UNTIL условие;

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

Program Primer;

Var K:Integer;

Begin

K:=0;

REPEAT

K:=K+2; Write('K= ',K:3)

UNTIL K>10;

Readln

End.

Правила использования операторов цикла

При использовании операторов цикла следует учитывать следующие особенности:

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

При работе с этой конструкцией цикла важно следить за тем, чтобы на каком-то шаге выполнения тела цикла проверяемое условие обязательно стало ложным. Если этого не произойдет, то выход из цикла будет невозможен. В этом случае говорят, что программа "зациклилась".

Цикл Repeat..Until. Встретив служебное слово Repeat компьютер "запоминает" его местоположение на случай необходимости повторного выполнения тела цикла. Таким образом, служебное слово Repeat отмечает начало тела цикла. После выполнения тела цикла проверяется условие, расположенное за служебным словом Until. Если оно является ложным, то снова выполняется тело цикла и т.д. Когда условие станет истинным, будет осуществлен переход к следующей конструкции, идущей после цикла.

1. Операторы, входящие в цикл Repeat...Until, всегда выполняются хотя бы один раз, поскольку истинность логического выражения в цикле этого типа проверяется после операторов, входящих в тело цикла. При использовании цикла типа While...Do могут быть ситуации, когда операторы, входящие в цикл, не будут выполнены ни разу, если логическое выражение изначально имеет значение "FALSE".

2. Цикл Repeat...Until выполняется, пока логическое выражение имеет значение FALSE. Цикл While...Do выполняется, пока логическое выражение имеет значение TRUE. Этот нюанс следует учитывать при замене цикла одного типа другим.

Program Whl; Var i:integer; Begin i:=1; WHILE i<=10 DO begin Writeln('Привет'); i:=i+1 end; Readln End. Program Rep; Var i:integer; Begin i:=1; REPEAT Writeln('Привет'); i:=i+1 UNTIL i>10; Readln End.

3. Если тело цикла While...Do состоит из нескольких операторов, их следует обрамлять операторными скобками begin...end, образующими составной оператор. В цикле типа Repeat...Until операторные скобки не нужны.

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

k1:=1; WHILE k1<5 DO Writeln('Бесконечный цикл');

5. Если в программе встретится такой фрагмент, то экран заполнится строками с фразой "Бесконечный цикл", выдача которой в режиме прокрутки (Scrolling) будет длиться до тех пор, пока программистом не будут приняты действия по принудительному завершению работы программы. Вывести программу из бесконечного цикла можно, дважды нажав сочетание клавиш Ctrl и Break, после чего надо нажать клавишу ESC.

6. Зацикливания не произойдет, если операторы, входящие в тело цикла, будут влиять на условие, определяющее завершение цикла:

k1:=1;

WHILE k1<5 DO

Begin

Writeln('Цикл');

k1:=k1+1

End;

7. В этом фрагменте цикл выполнится ровно 4 раза и компьютер перейдет к следующим командам.

8. При использовании операторов цикла с предусловием и постусловием необходимо быть осторожным в тех случаях, когда в логическом выражении (условии окончания цикла) фигурируют вещественные переменные. Следует помнить, что в компьютере значения выражений вещественного типа вычисляются приближенно, т.е. с небольшой погрешностью. Например, вещественное число 1.0 в компьютере может быть представлено как 0.99999999 или как 1.00000001 . Поэтому фрагмент

.............

REPEAT

...........

UNTIL X=B;

.............

где X, B : Real, будет неправильным, хотя с математической точки зрения он верен. Условие X=B скорее всего никогда не выполнится, в результате произойдет "зацикливание" программы. Не следует управлять циклом с помощью логического выражения, в котором вещественные переменные проверяются на строгое равенство.

Примеры алгоритмов циклической структуры

Пример 1. Для вычисления В в 9-й степени при В < 0, когда Exp(9*Ln(B)) недопустим, можно использовать следующий цикл:

………

K:=1; P:=1;

While K <= 9 Do

Begin

P:=P*B;

K:=K+1

End;

 

Пример 2. Составить программу вычисления и вывода на печать таблицы значений функции , при Х1 <= Xi <= Хn с шагом dX. Здесь а=-105; b=-3,62e-2; c=1,1; Х1 =2,65; Хn =5,55; dX=0,15.

Program Cikl_1;

Var A,B,C: Real;

X,Xn,Xk,dX : Real;

Z: Real;

Begin

Read(A,B,C,Xn,Xk,dX);

X:=Xn;

While X <= Xk Do

Begin

Z:=A*Exp(B*X - C*X*X);

Writeln(' X=',X:5:2,' ':5,'Z=',Z:10);

X:=X+dX

End

End.

 

Пример 3. ВычислитьВ в 9-й степени при В<0 с использованием оператора цикла Repeat.

K:=1; P:=1;

Repeat

P:=P*B;

K:=K+1

Until K > 9;

Пример 4. Составить программу для вычисления и вывода на печать таблицы значений функции при х=5,6,...,25; а=15.27е-2.

Program Cikl_2;

Var A,Y : Real;

X : Byte;

Begin

A:=15.27e-2;

X:=5;

Repeat

Y:=Sin(A*X) * Sqrt(X);

WriteLn(' X=',x,' Y=',y:10);

X:=X+1

Until X > 25

End.

Операторы тела цикла будут выполняться до тех пор, пока Х не станет больше 25.

Пример 5.Найти произведение натуральных чисел меньших 200 и кратных 7.

 

Uses crt;

var m,n:word;

l:longint;

Begin

Clrscr;

l:=1;

m:=1;

while m<200 do

Begin

if m mod 7 = 0 then l:=l*m;

Inc(m);

End;

Writeln(l);

Readkey;

End.

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

uses crt;

var n,m,max,s,k,p:longint;

st:string;

begin

clrscr;

max:=-2147483647;

s:=0;

k:=0;

repeat

read (n);

if n>max then max:=n; {поиск максимального значения числа}

s:=s+n; {здесь находится счетчик чисел}

str(n,st); {преобразование целого числа в символьное значение}

repeat

p:=0;

p:=pos('7',st); {поиск значения '7' в строке st и сохранение номера позиции в Р, откуда начинается найденный символ}

if p<>0 then

begin

inc(m);

delete(st,1,p);{удалить количество символов Р из строки ST, }

{начиная с позиции 1}

end;

until p=0;

if m=3 then

begin

inc(k);

m:=0;

end;

until n=0;

writeln ('max: ',max,' summa: ',s,' k: ',k);

readkey;

end.

Пример 7.Вычислить и вывести на экран значения функции y=x3 на интервале изменения х, равном [a, b] в n равноотстоящих точках интервала. Найти:

- сумму тех значений функции, которые удовлетворяют условию –10 <y < 10;

- произведениетех значений функции, целая часть которых делится на 3 без остатка;

- количествоположительных значений функции в точках с нечетными номерами;

- наибольшееиз вычисленных значений функции в расчетных точках.

- наибольшееиз вычисленных значений функции в расчетных точках.

Следующий рисунок иллюстрирует задачу. Требуется вычислить значения функции в n точках, изменяя переменную x от а до b с постоянным шагом

 

Исходные данные задачи:

a, b –левая и правая границы интервала измененияx;

n –количество расчетных точек.

Введем следующие обозначения:

x –изменяющийся аргумент функции;

y –вычисляемое значение функции;

dx –шаг изменения значения x;

i –номер расчетной точки, изменяющийся от 1 до n с шагом 1;

sum –сумма вычисленных значений функции, удовлетворяющих условию –10 < y < 10;

pr -произведение вычисленных значений функции, целая часть которых делится на 3 без остатка;

kol -положительных значений функции в точках с нечетными номерами;

max –наибольшее из вычисленных значений функции.

 

Фрагмент блок-схемы

Пример.Разложение целого числа Х на простые множители. Будем делить Х на p, начиная с p = 2. Если делится нацело, то p — множитель, если не делится,…

Контрольные вопросы и задания

  1. Назовите основные виды циклов. Назовите отличия циклов друг от друга.
  2. Опишите структуру оператора цикла с предусловием. Принцип выполнения цикла с предусловием.
  3. Дайте описание типу данных, используемых в качестве параметров для цикла с предусловием.
  4. Опишите структуру оператора цикла с постусловием. Принцип выполнения цикла с постусловием.
  5. Дайте описание типу данных, используемых в качестве параметров для цикла с постусловием.
  6. Дайте объяснение выражению «Может ли один цикл быть вложен внутрь другого?».
  7. Назовите правила использования операторов цикла с пост- и предусловием.
  8. Определите сколько раз исполнится фрагмент программы и чему равно выражение K.

K:=0;

WHILE K<=10 DO

begin K:=K+2; Write('K= ',K:3) end;

  1. Определите сколько раз исполнится фрагмент программы и чему равно выражение K.

K:=0;

WHILE K<=10 DO

begin K:=K+3; Write('K= ',K:3) end;

  1. Определите сколько раз исполнится фрагмент программы и чему равно выражение K.

m:=1;

while m<20 do

Begin

m:=m*3;

Writeln(m);

End;

  1. Определите сколько раз исполнится фрагмент программы и чему равно выражение K.

m:=1;

while m<>20 do

Begin

m:=m*2;

Writeln(m);

End;

 

– Конец работы –

Используемые теги: Правила, использования, операторов, цикла0.072

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Правила использования операторов цикла

Что будем делать с полученным материалом:

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

Еще рефераты, курсовые, дипломные работы на эту тему:

Экономический цикл. Фазы цикла
Российская экономика представляла собой величайший парадокс ХХв С одной стороны на протяжении нескольких десятилетий Россия занимала второе место... Именно эта командно административная сталинская модель экономики лежала в... Именно это и послужило причиной для проведения координальных экономических реформ дабы искоренить те противоречия и...

УЧЕБНО - МЕТОДИЧЕСКИЙ КОМПЛЕКС учебной дисциплины ВВЕДЕНИЕ В СПЕЦИАЛЬНОСТЬ цикла Б1 Гуманитарный, социальный и экономический цикл направления
Государственное образовательное учреждение высшего профессионального... образования Ростовский государственный экономический университет РИНХ...

Анализ правил землепользования и застройки в части видов разрешенного использования територии проектируемого объекта Архитектурно-градостроительные решения. Классификационные признаки проектируемого объекта SWOT-анализ проекта (пример). Анализ рынка недви
Государственное образовательное учреждение...

Истечение и дросселирование водяного пара. Прямые термодинамические циклы – циклы паротурбинных установок
Изобразить процесс истечения в h – S координатах. Решение.Отношение давлений Р2/Р1 = 1/12 = 0,0834 < (0,546 = вкр). В первом случае давление в… Задача № 1.3-4. Пар при Р1 = 20 бар и t1 = 350 °C расширяется в сопле до Р2 =… Задача № 1.3-5. Пар при Р1 = 120 бар и t1 = 500 °C расширяется в сопле до Р2 = 50 бар. Определить вид сопла,…

Использование оператора IF – THEN в командах
На сайте allrefs.net читайте: "Использование оператора IF – THEN в командах"

Операторы цикла
Оператор while это оператор цикла с предусловием проверя ется условие и пока условие истинно повторяется тело цикла... Пример Вычисляем сумму четных чисел пока сумма меньше... include lt stdio h gt...

Использование оператора EXISTS
На сайте allrefs.net читайте: "Использование оператора EXISTS"

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

Использование модели жизненного цикла для прогноза сбыта
Более всего интересен цикл жизни товара на рынке. По времени он короче экономического цикла, включающего фазы создания прототипа продукта, его… Эта концепция описывает этапы и форму сбыта товара.Большинство жизненных… Это явление называется жизненным циклом товара.

Определение и использование операторов BUY и SELL
На сайте allrefs.net читайте: "Определение и использование операторов BUY и SELL"

0.038
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам