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

Содержание

Слайд 2

Ключевые слова

while ( цикл-ПОКА)
repeat (цикл-ДО)
for (цикл с параметрами)

Ключевые слова while ( цикл-ПОКА) repeat (цикл-ДО) for (цикл с параметрами)

Слайд 3

Программирование циклов с заданным условием продолжения работы

Общий вид оператора:
while <условие> do <оператор>
Здесь:
<условие>

Программирование циклов с заданным условием продолжения работы Общий вид оператора: while do
- логическое выражение; пока оно истинно, выполняется тело цикла;
<оператор> - простой или составной оператор, с помощью которого записано тело цикла.

Слайд 4

program n_14;
var x, y, q, r: integer;
begin
writeln ('Частное и остаток');

program n_14; var x, y, q, r: integer; begin writeln ('Частное и
write ('Введите делимое x>>');
readln (x);
write ('Введите делитель y>>');
read (y);
r:=x;
q:=0;
while r>=y do
begin
r:=r-y;
q:=q+1
end;
writeln ('Частное q=', q);
writeln ('Остаток r=', r)
end.

Слайд 5

Программирование циклов с заданным условием окончания работы

Общий вид оператора:
repeat <оператор1; оператор2; …;

Программирование циклов с заданным условием окончания работы Общий вид оператора: repeat until
> until <условие>
Здесь:
<оператор1>; <оператор2>; … - операторы, образующие тело цикла;
<условие> - логическое выражение; если оно ложно, то выполняется тело цикла.

Слайд 6

program n_15;
var i: integer; x: real;
begin
writeln ('График тренировок');
i:=1;
x:=10;

program n_15; var i: integer; x: real; begin writeln ('График тренировок'); i:=1;
repeat
i:=i+1;
x:=x+0.1*x;
until x>=25;
writeln ('Начиная с ', i, '-го дня спортсмен будет пробегать 25 км')
end.

Слайд 7

Программирование циклов с заданным числом повторений

Общий вид оператора:
for <параметр>:=<начальное_значение>
to <конечное_значение> do <оператор>

Здесь:
<параметр>

Программирование циклов с заданным числом повторений Общий вид оператора: for := to
- переменная целого типа;
<начальное_значение> и <конечное_значение> - выражения того же типа, что и параметр;
<оператор> - простой или составной оператор - тело цикла.

После каждого выполнения тела цикла происходит увеличение на единицу параметра цикла; условие выхода из цикла - превышение параметром конечного значения.

Слайд 8

program n_16;
var i,n:integer;a,y:real;
begin
writeln ('Возведение в степень');
write ('Введите основание a>>');

program n_16; var i,n:integer;a,y:real; begin writeln ('Возведение в степень'); write ('Введите основание
readln (a);
write ('Введите показатель n>>');
readln (n);
y:=1;
for i:=1 to n do y:=y*a;
writeln ('y=', y)
end.

Слайд 9

Различные варианты программирования циклического алгоритма

Для решения одной и той же задачи могут

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

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

Слайд 10

program n_17;
var n, k1, k2: integer;
begin
k1:=0;
k2:=0;
repeat
write ('Введите

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.

Слайд 11

Ввод осуществляется до тех пор, пока не будет введён ноль.
Работа продолжается, пока

Ввод осуществляется до тех пор, пока не будет введён ноль. Работа продолжается,
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

Слайд 12

Самое главное

В языке Паскаль имеются три вида операторов цикла:
while цикл-ПОКА)
repeat (цикл-ДО)
for

Самое главное В языке Паскаль имеются три вида операторов цикла: while цикл-ПОКА)
(цикл с параметром).
Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используются операторы while и repeat.

Слайд 13

Вопросы и задания

Дана последовательность операторов:
a:=1;
b:=2;
while a+b<8 do
begin
a:=a+1;
b:=b+2;
end;
s:=a+b
Сколько раз будет повторен

Вопросы и задания Дана последовательность операторов: a:=1; b:=2; while a+b begin a:=a+1;
цикл и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?

Требовалось написать программу вычисления факториала числа n (факториал числа n есть произведение всех целых чисел от 1до n).
Программист торопился и написал программу неправильно.
Ниже приведён фрагмент его программы, в котором содержится пять ошибок:
k:=1;
f:=0;
while k f:=f*k;
k:=k+1
Найдите ошибки. Допишите необходимые операторы.

Проанализируйте следующий цикл:
while ac:=a=b;
В чём его особенность?

Дана последовательность операторов:
a:=1;
b:=1;
repeat
a:=a+1;
b:=b*2;
until b>8;
s:=a+b
Сколько раз будет повторён цикл и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?

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

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

Напишите программу вычисления наибольшего общего делителя двух целых чисел:
а) используйте оператор repeat;
б) используйте оператор while.

Сколько раз будет выполнен цикл?
а) 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;

Напишите программу, которая 10 раз выводит на экран
ваши имя и фамилию.

Напишите программу, выводящую на экран изображение шахматной доски, где чёрные клетки изображаются звёздочками, а белые - пробелами. Рекомендуемый вид экрана после выполнения программы представлен ниже:
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *

Напишите программу, которая вычисляет сумму:
а) первых n натуральных чисел;
б) квадратов первых n натуральных чисел;
в) всех чётных чисел в диапазоне от 1 до n;
г) всех двузначных чисел.

Напишите программу, которая генерирует 10 случайных чисел в диапазоне от 1 до 20, выводит эти числа на экран и вычисляет их среднее арифметическое.

Напишите программу, которая выводит на экран таблицу степеней двойки (от нулевой до десятой).
Рекомендуемый вид экрана после выполнения программы представлен ниже:
Таблица степеней двойки:
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024

Напишите программу, которая выводит на экран таблицу умножения на n (n - целое число в диапазоне от 2 до 10, вводимое с клавиатуры).

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

Имя файла: Программирование-циклических-алгоритмов.-Начала-программирования.pptx
Количество просмотров: 42
Количество скачиваний: 0