Файл: Программирование циклических алгоритмов ключевые слова while ( циклпока) repeat (циклдо).pptx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 92
Скачиваний: 1
- while ( цикл-ПОКА)
- repeat (цикл-ДО)
- for (цикл с параметрами)
>
Здесь:
<параметр> - переменная целого типа;
<начальное_значение> и <конечное_значение> - выражения того же типа, что и параметр;
<оператор> - простой или составной оператор - тело цикла.
Тело цикла
i = i1, i2
Программирование циклов с заданным числом повторений
Общий вид оператора:
for <параметр>:=<начальное_значение>
to <конечное_значение> do <оператор>
После каждого выполнения тела цикла происходит увеличение на единицу параметра цикла; условие выхода из цикла – превышение параметром конечного значения.
Тело цикла
i = i1, i2
program n_16;
var i,n:integer;a,y:real;
begin
writeln ('Возведение в степень');
write ('Введите основание a>>');
readln (a);
write ('Введите показатель n>>');
readln (n);
y:=1;
for i:=1 to n do y:=y*a;
writeln ('y=', y)
end.
Конец
Начало
Список данных
i, n – цел
a, y – вещ
y := 1
y := y * a
y
a, n
i = 1, n
Различные варианты программирования циклического алгоритма
Для решения одной и той же задачи могут быть созданы разные программы.
Организуем ввод целых чисел и подсчёт количества введённых положительных и отрицательных чисел. Ввод должен осуществляться до тех пор, пока не будет введён ноль.
В задаче в явном виде задано условие окончания работы.
Воспользуемся оператором repeat.
program n_17;
var n, k1, k2: integer;
begin
k1:=0;
k2:=0;
repeat
write ('Введите целое число>>');
readln (n);
if n>0 then k1:=k1+1;
if n<0 then k2:=k2+1;
until n=0;
writeln ('Введено:');
writeln ('положительных чисел – ', k1);
writeln ('отрицательных чисел – ', k2)
end.
да
нет
n
n > 0
Начало
Список данных
n, k1, k2 - цел
n < 0
n = 0
k1, k2
Конец
k1:=0
k2:=0
k1:=k1+1
k2:=k2+1
да
да
нет
нет
Ввод осуществляется до тех пор, пока не будет введён ноль.
Работа продолжается, пока n 0.
Воспользуемся оператором while:
program n_18;
var n, k1, k2: integer;
begin
k1:=0;
k2:=0;
n:=1;
while n<>0 do
begin
writeln ('Введите целое число>>');
read (n);
if n>0 then k1:=k1+1;
if n<0 then k2:=k2+1;
end;
writeln ('Введено:');writeln ('положительных – ', k1);writeln ('отрицательных – ', k2)end.даn > 0данетНачалоСписок данныхn, k1, k2 - целn <> 0k1, k2Конецk1:=0k2:=0n:=1k1:=k1+1k2:=k2+1нет nСамое главноеВ языке Паскаль имеются три вида операторов цикла: while (цикл-ПОКА)repeat (цикл-ДО)for (цикл с параметром).Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используются операторы while и repeat.Вопросы и задания1. Дана последовательность операторов:a:=1;b:=2;while a+b<8 dobegina:=a+1;b:=b+2;end;s:=a+bСколько раз будет повторен цикл и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?Вопросы и задания2. Требовалось написать программу вычисления факториала числа n (факториал числа n есть произведение всех целых чисел от 1 до n).Программист торопился и написал программу неправильно. Ниже приведён фрагмент его программы, в котором содержится пять ошибок:k:=1;f:=0;while kf:=f*k;k:=k+1Найдите ошибки. Допишите необходимые операторы.
| Пример входных данных | Пример выходных данных |
| Введите n> 5 | 5! = 120 |
| Введите n> 6 | 6! = 720 |
Сколько раз будет выполнен цикл?
а) for i:=0 to 15 do s:=s+1;
б) for i:=10 to 15 do s:=s+1;
в) for i:=-1 to 1 do s:=s+1;
г) for i:=10 to 10 do s:=s+1;
д) k:=5;
for i:=k-1 to k+1 do s:=s+1;
Вопросы и задания
8. Напишите программу, которая 10 раз выводит на экран ваши имя и фамилию.
Вопросы и задания
9. Напишите программу, выводящую на экран изображение шахматной доски, где чёрные клетки изображаются звёздочками, а белые - пробелами. Рекомендуемый вид экрана после выполнения программы представлен ниже:
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
Вопросы и задания
10. Напишите программу, которая вычисляет сумму:
а) первых n натуральных чисел;
б) квадратов первых n натуральных чисел;
в) всех чётных чисел в диапазоне от 1 до n;
г) всех двузначных чисел.
Вопросы и задания
11. Напишите программу, которая генерирует 10 случайных чисел в диапазоне от 1 до 20, выводит эти числа на экран и вычисляет их среднее арифметическое.
Вопросы и задания
12. Напишите программу, которая выводит на экран таблицу степеней двойки (от нулевой до десятой).
Рекомендуемый вид экрана после выполнения программы представлен ниже:
Таблица степеней двойки:
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024
Вопросы и задания
| Пример входных данных | Пример выходных данных |
| Введите n> 5 | 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50 |