i := 1,8
блок «модификация»
тело цикла
Вычислите значения переменных после выполнения цикла
for i:=a downto b do
begin
{тело цикла}
end;
i := a;
while i >= b do begin
{тело цикла}
i := i - 1;
end;
Операторы цикла
i := a;
repeat
{тело цикла}
i := i - 1;
Until i
i :=1;
repeat
{тело цикла}
i := i + 1;
Until i > 10 ;
2 раза
a = 6
a := 4; b := 6;
while a < b do a := a + b;
1 раз
a = 10
a := 4; b := 6;
while a > b do a := a + 1;
0 раз
a = 4
a := 4; b := 6;
while a < b do b := a - b;
1 раз
b = -2
a := 4; b := 6;
while a < b do a := a - 1;
зацикливание
a = 4
a := 1;
for i:=3 to 1 do a := a+1;
a = 1
a := 1;
for i:=1 downto 3 do a := a+1;
a = 1
a := 1;
for i:=3 downto 1 do a := a+1;
a = 4
3 раза
a = 7
a := 4; b := 6;
repeat a := a + b; until a > b;
1 раз
a = 10
a := 4; b := 6;
repeat a := a + b; until a < b;
зацикливание
a := 4; b := 6;
repeat b := a - b; until a < b;
2 раза
b = 6
a := 4; b := 6;
repeat a := a + 2; until a < b;
зацикливание
Тело цикла 1
Тело цикла 2
Тело цикла 3
Данная таблица состоит из четырех строчек, в каждой из которых число 3 напечатано 5 раз.
for i:=1 to 5 do
write(3, ' ');
Вывод одной строки
«Нарисовать» на экране прямоугольный равносторонний треугольник с катетом N (значение вводится с клавиатуры):
А) прямой угол «смотрит» влево вверх;
Б) прямой угол «смотрит» влево вниз;
В) прямой угол «смотрит» вправо вверх;
Примеры рисунков для n=3
***
**
*
*
**
***
***
**
*
Задание №1
Записать программу для случая Б) и В)
for k:=n downto 1 do
begin
for i:=1 to n-k do
write(' ');
for j:=1 to k do
write('*');
writeln;
end;
Проверка Задачи №1
Б)
В)
Чтобы во всех рядах ниже первого звёздочки оказались на своём месте, ряд надо начать с пробелов , которые можно изобразить с помощью ещё одного оператора цикла.
Решение:
Обозначим через b количество быков; k - количество коров; t - количество телят. После этого можно записать два уравнения: 10*b+5*k+0,5*t=100 и b+k+t=100. Преобразуем их: 20*b+10*k+t=200 и b+k+t=100. На сто рублей можно купить: не более 10 быков, то есть 0<=b<=10; не более 20 коров, то есть 0<=k<=20; не более 200 телят, то есть 0<=t<=200
Задачи №2
Попробуйте записать программу сами.
Значение переменной b изменяется 11 раз (от 0 до 10), для каждого её значения переменная k изменяется 21 раз, а для каждого значения переменной k, переменная t изменяется 201 раз. Таким образом, условие будет проверяться 11*21*201=46431 раз. Но, если известно количество быков и коров, то телят можно вычислить по формуле t=100-(b+k) - и цикл по переменной t исключается
Проверка Задачи №2
Можно ли исключить цикл по переменной
t
Var i,j,k:Integer;
Begin
k:=10;
for i:=1 to 9 do
begin
for j:=1 to 10 do
begin
write(k:4);
k:=k+1;
end;
writeln;
end;
end.
Попробуйте написать программу используя только один цикл, а переходить со строки на строку через каждые 10 цифр будем, проверяя остаток от деления нацело.
Ответить на вопросы:
Домашнее задание:
Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.
Email: Нажмите что бы посмотреть