Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

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






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




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

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

for i:=1 to n do

begin

p:=p* i;

if p>100 then break ;

writeln(‘p=’, p);

end;

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

 

2.4.6. Примеры типовых задач по теме «Циклические вычислительные процессы»

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

S= 1+1/2+1/3+ … +1/50

Выделим переменную для накапливания суммы - sum. Значение этой переменной необходимо предварительно обнулить. В программе используется оператор цикла с параметром.

Программа Пояснения
program prim_cikl1; var i: integer; sum: real; begin sum: =0; for i: = 1 to 50 do sum: = sum + 1/i; Writeln (' сумма = ', sum); end. Имя программы – prim_ cikl1 {Описательная часть}   {Исполнительная часть}   Начало цикла Вычисление суммы ряда Вывод результата на экран  

 

2. Вычислить значение функции:

y = a sin (x ) ,

при x = , с шагом =0.2, значение переменной a ввести с клавиатуры.

В программе используется оператор цикла с постусловием.

Программа Пояснения
program cikl_2; var y,a,x:real; begin writeln(‘Введите а’); readln(a); x:=0; repeat y:=a*sin (x); writeln(‘y=’,y:8:3, ‘ x=’,x:8:3); x:=x+0.2; until x>1; readln; end. Имя программы – prim_ cikl2 {Описательная часть}   {Исполнительная часть} Вывод сообщения на экран Ввод данных с клавиатуры Определение начального значения Начало цикла Вычисление значения функции Вывод результата на экран Увеличение параметра цикла на шаг Проверка на выход из цикла

 

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

 

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

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

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

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

В программе используется оператор цикла с предусловием.

Программа Пояснения
program cikl_3; uses crt; var x,y : real; i,n,f : integer; begin writeln (' введите x, n '); readln(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. Имя программы – prim_ cikl3 {Описательная часть}   {Исполнительная часть} Вывод сообщения на экран Ввод данных с клавиатуры Определение начальных значений Начало цикла Подсчет n! Вычисление значения функции Увеличение параметра цикла на шаг   Вывод результата на экран

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



 

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

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

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

Составим таблицу идентификаторов:

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

 

Программа Пояснения
program cikl_4; var y,x,a,b,dx,s : real; i,n : integer; begin 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. Имя программы – prim_ cikl4 {Описательная часть}   {Исполнительная часть} Вывод сообщения на экран Ввод данных с клавиатуры Шаг изменения xаргумента     Начало цикла Вычисление значения функции Вывод значений функции на экран Увеличение параметра цикла на шаг Подсчет сумму Конец цикла Вывод суммы на экран  

Цикл организован с помощью оператора цикла с параметром for to do.



 

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

Программа Пояснения
program cikl_5; 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. Имя программы – prim_ cikl5 {Описательная часть}   {Исполнительная часть} Вывод сообщения на экран Внешний цикл   Внутренний цикл Вывод значений на экран Вывод на экран пустой строки Конец внутреннего и внешнего циклов

 

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

1. Что такое цикл?

2. Какие циклы можно организовать на языке Паскаль?

3. В каких случаях предпочтительней использовать оператор for …to … do для организации циклов?

4. Какой тип должна иметь переменная, которая является параметром цикла в операторе for …to … do ?

5. Сколько циклов будет пройдено, если в операторе while … do условие не выполнилось с первого раза?

6. Сколько циклов будет пройдено, если в операторе repeat … until условие выполнилось с первого раза?

7. Что такое вложенные циклы?

8. Как можно досрочно прервать цикл?

 


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал