Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

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



 

while <условие> do P;

 

Где P - простой или составной оператор.

По этому оператору проверяется <условие> и, если оно выполняется, то выполняется - P, после чего опять проверяется <условие> и т. д.

Итак, P выполняется до тех пор, пока выполняется <условие>.

Если условие ни разу не выполнилось, P игнорируется, управление передается следующему оператору.

 

Задача.

Вычислить сумму ряда:

где n! = 1*2*…*n

 

Значение аргумента х и количество итераций n ввести с клавиатуры.

Введем дополнительную переменную для вычисления n! – f.

 

program cikl_2;

uses

crt; var x,y : real; i,n,f : integer;

begin writeln (' введите x, n '); read (x, n);

y: =0; f: =1; i:=1;

while i<=n do

{ составной оператор }

begin

f:=f*I;

y:=y+sin(i*x)/f;

i:=i+1;

end;

writeln (' y = ', y:8:3);

readln;

end.

 

Вложенные циклы

 

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

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

 

var

i,j : byte;

begin

writeln(‘ Таблица умножения ’);

for i:=1 to 9 do

begin

for j:=1 to 9 do

writeln( i , ‘ * ‘ , j ,‘ = ’, i*j );

writeln;

end;

readln;

end.

 

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

 

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

 

Для досрочного прерывания цикла можно использовать оператор goto или стандартную процедуру break.

Рассмотрим фрагмент:

for i:=1 to n do begin

p:=p* i;

if p>100 then break ;

writeln(‘p=’, p);

end;

Цикл будет прерван при достижении условия p>100 по процедуре break.

 

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

 

Задача.

  1. Формулировка задачи:

Составить программу расчета таблицы значений функции f(x) на интервале a<=x<=b в n равностоящих точках. Границы интервала a,b и количество точек n ввести с клавиатуры. Результаты вывести на печать.

Найти сумму положительных значений функции f(x) на заданном интервале. Формула для расчета шага изменения аргумента:

dx = (b-a)/(n-1)

  1. Таблица идентификаторов

 

Наименование переменной Обозначения в программе
Функция y
Аргумент x
Количество точек n
Начальное значение x a
Конечное значение x b
Шаг изменения аргумента dx
Сумма s

 

  1. Листинг программы

 

program cikl_3;

uses

ctr;

var

y,x,a,b,dx,s : real;

I,n : integer;

begin

clrscr;

writeln(‘Введите a,b,n’);

readln(a,b,n);

{ шаг изменения аргумента}

dx:=(b-a)/(n-1);

s:=0;

x:=a;

for i:=1 to n do

begin

y:=(1-exp(-x)) * sin(4*pi*x);

writeln(‘y=’,y:8:3);

x:=x+dx;

if y>0 then s:=s+y;

end;

writeln(‘Сумма положительных значений s=’,s:8:3);

readln;

end.

 

 

Вопросы для самоконтроля

  1. Что такое цикл?
  2. Какие циклы можно организовать на языке Паскаль?
  3. В каких случаях предпочтительней использовать оператор for …to … do для организации циклов?
  4. Какой тип должна иметь переменная, которая является параметром цикла в операторе for …to … do ?
  5. Сколько циклов будет пройдено, если в операторе while … do условие не выполнилось с первого раза?
  6. Сколько циклов будет пройдено, если в операторе repeat … until условие выполнилось с первого раза?
  7. Что такое вложенные циклы?
  8. Как можно досрочно прервать цикл?

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.