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

Данные операторы применяются внутри операторов цикла с параметром или условием. Операторы имеют вид:

Continue; - ограничение цикла, Break; - прерывание цикла.

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

For i := 1 to 3 do begin Write( 'Введите ПАРОЛЬ:' ); Readln(S); {S и Parol - переменные одного типа} If S = Parol Then Break { прерывание цикла } else If i <> 3 Then Continue; { ограничение цикла } Writeln( 'Доступ к программе ЗАПРЕЩЕН' ); Writeln( 'Нажмите Enter' ); Readln; Halt { прерывание программы } end; { продолжение программы }

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

Программирование циклических алгоритмов

   

Цель работы: закрепить практические навыки работы с системой Borland delphi, научиться правильно использовать различные операторы циклов; научиться составлять программы решения задач с использование циклических структур.

Общие сведения

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

Перед выполнением работы необходимо изучить различные схемы организации циклов и операторы FOR, WHILE, REPEAT.

Задание 1.Вычислить значение функции Операторы ограничения и прерывания цикла - student2.ru на отрезке [ Операторы ограничения и прерывания цикла - student2.ru ] с шагом 0,1 Операторы ограничения и прерывания цикла - student2.ru

var x, y:real;

Begin

x:=0; //присваиваем начальное значение x

//Цикл с предусловием

while x<=pi do

Begin

//Вычисляем y

y:=exp(sin(x))*cos(x);

x:=x+0.1;

memo1.Lines.Add('x= '+floattostr(x)+'; y= '+floattostr(y)); // выводим значения х и у в поле Memo1

end;

End.

Задание 2: На промежутке от 1 до M найти все числа Армстронга. Натуральное число из n цифр называется числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу.

Самовлюблённое число, или совершенный цифровой инвариант или число Армстронга — натуральное число, которое в данной системе счисления равно сумме своих цифр, возведённых в степень, равную количеству его цифр. Иногда чтобы считать число таковым, достаточно, чтобы степени, в которые возводятся цифры, были равны m — тогда число можно назвать m-самовлюблённым.

Например, десятичное число 153 — число Армстронга, потому что:

1³ + 5³ + 3³ = 153

Пусть

Операторы ограничения и прерывания цикла - student2.ru — число, записываемое dkdk − 1...d1 в системе счиления с основанием b.

Если при некотором m случится так, что Операторы ограничения и прерывания цикла - student2.ru , то n является m-самовлюблённым числом. Если, сверх того, m = k, то n можно назвать истинным числом Армстронга.

Очевидно, что при любом m может существовать лишь конечное число m-самовлюблённых чисел, так как, начиная с некоторого k

Операторы ограничения и прерывания цикла - student2.ru .

«Есть только четыре числа, исключая единицу, которые равны сумме кубов своих цифр:
153 = 13 + 53 + 33
370 = 33 + 73 + 03
371 = 33 + 73 + 13
и 407 = 43 + 03 + 73.

Этапы решения задачи:

1. Математическая модель: xϵ[1;M], x=

2. Составим блок схему программы:

Операторы ограничения и прерывания цикла - student2.ru

Распишем составные части блока"Находим все числа Армстронга на заданном промежутке и печатаем их"

Операторы ограничения и прерывания цикла - student2.ru


Опишем блок "Подсчитываем сколько цифр в числе i"

Операторы ограничения и прерывания цикла - student2.ru

Опишем блок "Проверяем, является ли i числом Армстронга"

Операторы ограничения и прерывания цикла - student2.ru

Дальнейшая детализация не требуется, запишем блок-схему целиком:

Операторы ограничения и прерывания цикла - student2.ru

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

PROGRAM Primer_1;

var i,k,s,p,n: Integer;

BEGIN

Write('Введите M '); Readln(m);

For i:=1 to M do

begin

s:=0; k:=i; n:=0;

While k<>0 do

begin k:=k DIV 10; n:=n+1 end;

k:=i;

While k<>0 do

begin p:=k MOD 10; k:=k DIV 10;

If p<>0 then s:=Trunc (s+Exp(n*Ln(p)))

end;

If s=f then WriteLn (f)

end;

END.

Задачи

Вычисление выражений:
Дано натуральное n. Вычислить:
1. Операторы ограничения и прерывания цикла - student2.ru ;

2. Операторы ограничения и прерывания цикла - student2.ru ;

Дано действительное число х, натуральное число n. Вычислить:
3.x ( x - n )( x - 2 n )( x - 3 n )…( x - n2 );
4. Операторы ограничения и прерывания цикла - student2.ru ;

5. Операторы ограничения и прерывания цикла - student2.ru ;
Дано натуральное n. Вычиcлить:
6. Операторы ограничения и прерывания цикла - student2.ru ;

7. Операторы ограничения и прерывания цикла - student2.ru ;

Вычислить приближенно значение бесконечной суммы (справа от каждой суммы дается ее точное значение, с которым можно сравнить полученный ответ):
8. Операторы ограничения и прерывания цикла - student2.ru = Операторы ограничения и прерывания цикла - student2.ru ;

9. Операторы ограничения и прерывания цикла - student2.ru = Операторы ограничения и прерывания цикла - student2.ru ;

10. Операторы ограничения и прерывания цикла - student2.ru = Операторы ограничения и прерывания цикла - student2.ru ;

Нужное приближение считается полученным, если вычислена сум-+\.ма нескольких первых слагаемых, и очередное слагаемое оказалось по модулю меньше данного положительного числа e.

Задачки на смекалку

1. Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9.

2. Найти все трехзначные числа, сумма цифр которых равна данному целому числу.

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

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

5. Найти все двузначные числа, сумма квадратов цифр которых делится на 17.

6. Найти все трехзначные числа, представимые в виде сумм факториалов своих цифр.

7. Найти двузначное число, обладающее тем свойством, что куб суммы его цифр равен квадрату самого числа.

8. Найти двузначное число, равное утроенному произведению его цифр.

9. В каких двузначных числах удвоенная сумма цифр равна их произведению?

10. Можно ли заданное натуральное число М представить в виде суммы квадратов двух натуральных чисел? Написать программу решения этой задачи.

Наши рекомендации