Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Операторы Break и continue




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

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

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

Ходом выполнения цикла можно управлять с помощью двух операторов break и continue.

Break – прерывает выполнение цикла, управление передается операторам, следующим за оператором цикла.

Continue – прерывает выполнение очередного шага цикла и возвращает управление в начало цикла, начиная следующий шаг.

Например:

for n:=1 to 10 do

begin

if n mod 2 = 0 then continue;

if n = 7 then break;

writeln(n);

end;

Данная программа будет печатать только нечетные числа (из-за срабатывания continue). Цикл прекратит выполняться, когда n станет равно 7. В итоге будут напечатаны числа: 1, 3, 5.

Практическая часть работы

Пример №1_Вычисление значения суммы ряда (подсказка для решения задачи №2.1)

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

Например, в случае суммы ряда вида cos(x)+cos(2x)+cos(3x)+…+cos(7x) общий вид слагаемого с номером k будет иметь вид cos(k*x), где k изменяется от 1 до 7.

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

Фрагмент программы нахождения указанной выше суммы ряда с помощью оператора FOR может иметь, например следующий вид: С помощью оператора While:   С помощью оператора Repeat:  
… s:=0; for k:=1 to 7 do s:=s+cos(k*x); writeln(‘сумма =’, s); end.   … s:=0; k:=1; while k<=7 do begin s:=s+cos(k*x); k:=k+1; end; writeln(‘сумма =’, s); end. … s:=0; k:=1; repeat s:=s+cos(k*x); k:=k+1; until k>7; writeln(‘сумма =’, s); end.

Пример №2 (Подсказка для решения задачи №3)

Вывести на экран таблицу значений функции y(x)=x*2+ при изменении аргумента от -10 до 10 с шагом 0.5

program f1;

uses crt;

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

Begin

Clrscr;

Write(’Введите начальное значение аргумента:’);readln(a);

Write(’Введите конечное значение аргумента:’);readln(b);

Write(’Введите шаг табулирования:’);readln(dx);

Writeln(’-------------------------’:20);

Writeln(’x’:9’ | ’:4,’ y’:4); {шапка таблицы}

Writeln(’-------------------------’:20);

X:=a;

While (x<=b) do

Begin

 

If (5-x)<0 then Writeln(’ x:10:3,’ | функция не определена’:22)

Else

Begin

Y:=x*2+sqrt(5-x);

Writeln(x:10:3,’ | ’,y:7:3);

End;

X:=x+dx;

End;

Writeln(’-------------------------’:20);readln;

End.

Пример №3 Заставка к фильму «Матрица» (подсказка для решения задачи №4)

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





Поделиться с друзьями:


Дата добавления: 2015-10-27; Мы поможем в написании ваших работ!; просмотров: 700 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Неосмысленная жизнь не стоит того, чтобы жить. © Сократ
==> читать все изречения...

2347 - | 2058 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.