Студопедия

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

Разделы сайта

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






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






Для досрочного прерывания цикла можно использовать оператор 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. Как можно досрочно прервать цикл?

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.