Самостоятельная работа на цикл с параметром

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

Оператор цикла while используется в программе, если надо провести некоторые повторные вычисления (цикл), однако число повторов заранее неизвестно и определяется самим ходом вычисления.

В общем виде оператор выглядит так:

while условие do

Begin

{последовательность операторов};

end;

где условие – выражение логического типа.

Оператор цикла while работает следующим образом:

1. Вычисляется условие.

2. Если условие ложно, то вход в цикл не выполняется и управление передается оператору, следующему непосредственно за операторами тела цикла.

3. Если же условие истинно, то происходит вход в цикл и однократное выполнение операторов. Как только достигнут конец тела цикла, управление передается на его заголовок, где снова вычисляется его условие.

Примечание:

1. Для того чтобы последовательность инструкций между begin и end была выполнена хотя бы один раз, необходимо, чтобы перед выполнением инструкции while условие было истинно;

2. Для того чтобы цикл завершился, необходимо чтобы последовательность инструкций между begin и end изменяла значения переменных, входящих в выражение условие.ъ

Примеры: Вычислить сумму нечетных чисел от 1 до некоторого числа n. (n=1, s=1; n=2, s=1+3=4; n=12, s=1+3+5+7+9+11=36).

program summa;

uses crt;

var

n, s, i: integer;

begin

clrscr;

s:=0; i:=1;

writeln (‘Введите натуральное число n’); readln(n);

while i<=n do

begin

s:=s+i;

i:=i+2;

end;

writeln (‘сумма нечетных чисел от 1 до ’, n, ‘=’,s);

readln;

end.

Составить таблицу значений функции на отрезке [2;4] с шагом 0,2.

program func;

uses crt;

var

x, y: real;

begin

clrscr;

x:=2;

while x<=4 do

begin

y:=sqrt(x);

writeln (y:6:3);

x:=x+0.2;

end;

readln;

end.

Задание: Составить программу составляющую таблицу значений функции на отрезке [a;b] с шагом 0,2.

Задачи:

1. Дано натуральное число. Определить:

а) количество цифр в нем;

б) сумму его цифр;

в) произведение его цифр;

г) среднее арифметическое его цифр;

д) сумму квадратов его цифр;

е) сумму кубов его цифр;

ж) его первую цифру;

2. Напечатать минимальное число, больше 200, которое нацело делится на 17.

3. Найти максимальное из натуральных чисел, не превышающих 5000, которое нацело делится на 39.

4. Даны натуральные числа a и b, обозначающие соответственно числитель и знаменатель дроби. Сократить дробь, т.е. найти такие натуральные числа p и q, не имеющие общих делителей, что p/q= a / b.

5. Даны натуральные числа m и n. Получить все кратные им числа, не превышающие m * n. Условный оператор не использовать.

6. Даны натуральные числа a и b. Найти НОД(a,b) и НОК(a,b).

7. Дано натуральное число.

а) Получить число, получаемое при прочтении его цифр справа налево.

б) Приписать по двойке в начало и конец записи этого числа.

в) Удалить из него все цифры А.

г) Переставить его первую и последние цифры.

д) Приписать к нему такое же число.

8. Дано натуральное число. Определить номер цифры 3 в нем, считая от конца числа. Если такой цифры нет, ответом должно быть число 0, если таких цифр в числе несколько - должен быть определен номер самой правой из них.

9. Дано натуральное число. Определить сумму m его последних цифр.

10. Дано натуральное число. Найти его наименьший делитель, отличный от 1.

11. Дан прямоугольник с размерами 425 x 131. От него отрезают квадраты со стороной 131, пока это возможно. Затем от оставшегося прямоугольника вновь отрезают квадраты со стороной, равной 425-131*3=32, и т. д. На какие квадраты и в каком их количестве будет разрезан исходный прямоугольник?

12. Дан прямоугольник с размерами axb. От него отрезают квадраты максимального размера, пока это возможно. Затем от оставшегося прямоугольника вновь отрезают квадраты максимально возможного размера и т.д. На какие квадраты и в каком их количестве будет разрезан исходный прямоугольник?

13. Дана непустая последовательность целых чисел, оканчивающаяся нулем. Найти:

а) сумму всех чисел последовательности;

б) количество всех чисел последовательности.

14. Определить:

а) является ли заданное число степенью числа 3;

б) является ли заданное число степенью числа 5.

15. Дано число n.

а) Напечатать те натуральные числа, квадрат которых не превышает n.

б) Найти первое натуральное число, квадрат которого больше n.

16. Дано натуральное число.

а) Верно ли, что сумма его цифр больше 10?

б) Верно ли, что произведение его цифр меньше 50?

в) Верно ли, что количество его цифр есть четное число?

г) Верно ли, что это число четырехзначное?

Составное условие и вложенный условный оператор не использовать.

д) Верно ли, что его первая цифра не превышает 6?

е) Верно ли, что оно начинается и заканчивается одной и той же цифрой?

ж) Определить, какая из его цифр больше: первая или последняя.

17. Дано натуральное число.

а) Верно ли, что сумма его цифр больше к, а само число четное?

б) Верно ли, что количество его цифр есть четное число, а само число не превышает b?

в) Верно ли, что оно начинается на X и заканчивается на Y?

г) Верно ли, что произведение его цифр меньше А, а само число делится на В?

д) Верно ли, что сумма его цифр больше M, а само число делится на N?

18. Дано натуральное число. Определить:

а) есть ли в нем цифра 3;

б) есть ли в нем цифры 2 и 5.

19. Дано натуральное число.

а) Определить, есть ли в нем цифра А.

б) Верно ли, что в нем нет цифры В?

в) Верно ли, что цифра А встречается в нем более К раз?

г) Определить, есть ли в нем цифры А и В.

20. Дано натуральное число. Выяснить, является ли оно палиндромом ("перевертышем"), т.е. числом, десятичная запись которого читается одинаково слева направо и справа налево.

21. Напечатать полную таблицу умножения в виде:

1*1=1 1*2=2 … 1*9=9

2*1=1 2*2=4 … 2*9=18

… … … …

9*1=9 9*2=18 … 9*9=81

22. Найти все натуральные числа, меньшие 200, у которых сумма цифр равна 13.

23. Найти все целые числа от 30 до 350, у которых сумма цифр равна 15.

24. Найти все целые числа из промежутка от 1 до 100, у которых есть цифра ‘7’.

25. Найти все целые числа из промежутка т 50 до 150, у которых есть цифра ‘9’.

26. Найти все целые числа из промежутка от 10 до 200, у которых есть цифры ‘2’ и ’5’.

27. Найти размеры всех прямоугольников, площадь которых равна заданному натуральному числу s и стороны которого выражены натуральными числами. При этом решения, которые получаются перестановкой размеров сторон:

а) считать разными;

б) считать совподающими.

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

Инструкция repeat как и инструкция while, используется в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однако число повторений не известно и определяется самим ходом вычислений.

В общем виде оператор выглядит так:

Repeat

{последовательность операторов};

until условие;

где условие – выражение логического типа.

Оператор работает следующим образом:

1. Выполняются инструкции следующие за слово repeat.

2. Вычисляется значение условия. Если условие ложно, то повторно выполняются инструкции цикла. Если же условие истинно, то выполнение цикла заканчивается.

Таким образом, операторы находящиеся между repeat и until выполняются до тех пор, пока условие ложно.

Примечания:

1. Последовательность инструкций между repeat и until всегда будет выполнена хотя бы один раз.

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

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

Пример: Составить программу вычисляющую сумму положительных чисел, вводимых с клавиатуры.

program polog;

uses crt;

var

n, s: integer;

begin

clrscr;

s:=0;

repeat

write (‘->’);

readln (n);

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

until n<=0;

writeln (‘Сумма введенных положительных чисел =’,s);

readln;

end.

Пример: С клавиатуры вводится число, проверить является ли оно простым.

program prost;

uses crt;

var

r, n, d: integer;

begin

clrscr;

writeln (‘Введите целое число’); readln (n);

d:=2;

repeat

r:=n mod d;

if r<>0 then d:=d+1;

until r=0;

if d=n then

writeln (n,‘ – простое число’)

else writeln (n,‘ – составное число’)

readln;

end.

Задачи:

1. Дано натуральное число.

а) Получить все его делители.

б) Найти сумму его делителей.

в) Найти сумму его четных делителей.

г) Определить количество его делителей.

д) Определить количество его нечетных делителей.

е) Определить количество его делителей. Сколько из них четных?

ж) Найти количество его делителей, больших D.

2. Натуральное число называется совершенным, если оно равно сумме своих делителей, включая 1 и, естественно, исключая это самое число. Например, число 6 - совершенное (6=1+2+3). Дано натуральное число. Выяснить, является ли оно совершенным.

3. Найти количество делителей каждого из целых чисел от 120 до 140.

4. Найти все целые числа из промежутка от 1 до 300, у которых ровно 5 делителей.

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

6. Найти все целые числа из промежутка от А до В, у которых количество делителей равно К. Если таких чисел нет, то должно быть напечатано соответствующее сообщение.

7. Найти натуральное число из интервала от А до В, у которого количество делителей максимально. Если таких чисел несколько, то должно быть найдено:

а) максимальное из них;

б) минимальное из них.

8. Найти все трёхзначные простые числа.

9. Найти 100 первых простых чисел.

10. Найти сумму делителей каждого из целых чисел от 50 до 70.

11. Найти все целые числа из промежутка от 100 до 300, у которых сумма делителей равна 50.

12. Найти все целые числа из промежутка от 300 до 600, у которых сумма делителей кратна 10.

13. Два натуральных числа называются дружественными, если каждое из них равно сумме всех делителей другого (само другое число в качестве делителя не рассматривается).Найти все пары дружественных чисел, меньших 50000.

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

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

16. Дана последовательность натуральных чисел а1,а2,...,а15. Определить, есть ли в последовательности хотя бы одна пара одинаковых "соседних" чисел. В случае положительного ответа определить порядковые номера чисел первой из таких пар.

17. Дана последовательность целых чисел, оканчивающаяся числом 9999. Количество чисел в последовательности не меньше двух. Определить, есть ли в ней хотя бы одна пара "соседних" четных чисел. В случае положительного ответа определить порядковые номера чисел первой из таких пар.

18. Дана последовательность вещественных чисел, оканчивающаяся числом 10000. Количество чисел в последовательности не меньше двух. Определить, является ли последовательность упорядоченной по возрастанию. В случае отрицательного ответа определить порядковый номер первого числа, "нарушающего" такую упорядоченность.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: