ТЕМА: СОСТАВЛЕНИЕ ПРОГРАММ УСЛОЖНЕННОЙ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ
Цель работы: научиться составлять программы с использованием вложенных циклов
Оборудование: ПК, ИСР Pascal ABC
ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Для решения задачи достаточно часто требуется использовать две и более циклические конструкции, одна из которых помещается в тело цикла другой. Такие конструкции называют вложенными циклами. Внутренний и внешний циклы могут быть любыми из трех рассмотренных ранее видов (Практическая работа 5). Правила организации внешнего и внутреннего циклов такие же, как и соответствующих простых операторов. Однако при использовании вложенных циклов необходимо соблюдать следующее условие: внутренний цикл должен полностью укладываться в циклическую часть внешнего цикла.
Цикл, в тело которого мы вкладывали команды, называется внешним циклом. А цикл, который мы вложили в тело первого, называется внутренним или вложенным циклом.
Принцип работы вложенного цикла таков: на первом проходе, внешний цикл вызывает внутренний, который исполняется до своего завершения, после чего управление передается в тело внешнего цикла. На втором проходе внешний цикл опять вызывает внутренний. И так до тех пор, пока не завершится внешний цикл.
Пример 1. Вывести на экран таблицу умножения (от 1 до 9). Алгоритм решения
Перебрать во внешнем цикле числа от 1 до 9. Для каждого из них перебрать во внутреннем цикле числа от 1 до 9. Во внутреннем цикле выполнять умножение переменных-счетчиков внешнего и внутреннего циклов. Таким образом на одну итерацию внешнего цикла произойдет девять итераций внутреннего, и сформируется одна строка таблицы умножения. После каждой строки надо перейти на новую. Это делается во внешнем цикле, после того как закончится выполняться внутренний.
Для построения таблицы необходимо использовать форматированный вывод, т.е. задавать ширину столбцов, иначе произойдет сдвиг, т.к. количество цифр в каждой строке различно.
var i,j: byte; begin
for i:=1 to 9 do begin for j:=1 to 9 do
write(i*j:4);
writeln;
end; end.
Результат работы:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
ЗАДАНИЕ
1. Что будет выведено на экране монитора после выполнения следующего фрагмента программы:
a:=1; b:=1;
For i:=0 to n Do Begin
For j:=1 To b Do Write ('*') ; WriteLn;
c:=a+b; a:=b; b:=c; End;
если n=6? Решение какой задачи выражает этот фрагмент программы?
2. Что будет выведено на экране монитора после выполнения следующего фрагмента программы:
b: = 0 ;
While а<>0 Do
Begin
b:=b*10+а Mod 10;
а:=а Div 10; End;
Write (b) ;
если a=13305? Решение какой задачи выражает этот фрагмент программы?
3. Выведите на экран числа в следующем виде:
7 6 5 4 3 2
6 5 4 3 2
5 4 3 2
4 3 2
3 2
2
4. Придумайте задачу, которую можно решить с использованием вложенного цикла
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.