Залежно від того, чи відома заздалегідь кількість повторів, розрізняють цикл з умовою та цикл з параметром. Цикл з параметром застосовують тоді, коли кількість повторів відома. Для підрахунку кількості повторів вводиться змінна-параметр одного з порядкових типів: integer, boolean або char тощо.
Аналіз умови задачі: Відомо, що кількість повторів визначена, вона точно буде дорівнювати числу N, яке ми вводимо з клавіатури. Оскільки перше натуральне число дорівнює 1, а останнє - N, то можемо застосувати параметричний цикл. Змінну-параметр часто позначають буквою i. Суму чисел позначимо буквою S. Оскільки числа натуральні, то їх сума буде натуральним числом, як і сам параметр. Оберемо тип даних word.
Реалізація на мові Pascal:
var S, i, N: word;
begin
read(N); {зчитується значення змінної N, яке ввів користувач}
for i:=1 to N do S:=S+i; {для i від 1 до N виконати: до змінної S додати значення параметра і. За замовчуванням значення змінної S = 0, якщо перед початком тіла циклу ми не змінювали його, значення параметра i постійно збільшується на 1, поки не досягне значення N}
writeln (S) {вивести значення змінної S}
end.
Змінимо умову задачі наступним чином:
Задача. Знайти суму перших N натуральних чисел. Результат кожної дії виводити на екран. Число N вводиться з клавіатури.
Тоді доведеться не тільки декілька разів додавати до S (суми) параметр і, а ще і кожного разу виводити результат на екран. Таким чином у тілі циклу виконуватиметься не одна, а група вказівок: обчислити і вивести значення. У такому випадку тіло циклу потрібно взяти в операторні дужки begin - end. Тоді програма набуде наступного вигляду:
var S, i, N: word;
begin
read(N);
for i:=1 to N do
begin
S:=S+i;
writeln (S)
end;
end.
Оператор параметричного циклу має наступну структуру:
1. For <параметр>:= A to B do
begin
<тіло циклу>
end;
(Для <параметр>:= A до B виконати)
2. For <параметр>:= A downto B do
begin
<тіло циклу>
end;
(Для <параметр>:= A назад до B виконати)
Тут А - початкове значення параметра, В - кінцеве значення, якого набуде параметр. Тіло циклу - це набір команд, які будуть виконуватись до того часу, поки параметр не досягне свого кінцевого значення. Якщо команд кілька, то їх слід взяти у операторні дужки: begin - end. Під час кожного виконання вказівки значення параметра збільшується або зменшується на одиницю, залежно від того, яку вказівку застосовано: to чи downto. Таким чином параметр набуватиме значень: А, А + 1, А+2..., В-1, В або навпаки.1. For <параметр>:= A to B do
begin
<тіло циклу>
end;
(Для <параметр>:= A до B виконати)
2. For <параметр>:= A downto B do
begin
<тіло циклу>
end;
(Для <параметр>:= A назад до B виконати)
(На основі матеріалів підручника "Інформатика 7 клас" Пилипчук О.П., Ріпко Н.А., Шестопалов Є.А. 2015 рік )
Задача. Знайти суму перших N натуральних чисел. Число N вводиться з клавіатури.Аналіз умови задачі: Відомо, що кількість повторів визначена, вона точно буде дорівнювати числу N, яке ми вводимо з клавіатури. Оскільки перше натуральне число дорівнює 1, а останнє - N, то можемо застосувати параметричний цикл. Змінну-параметр часто позначають буквою i. Суму чисел позначимо буквою S. Оскільки числа натуральні, то їх сума буде натуральним числом, як і сам параметр. Оберемо тип даних word.
Реалізація на мові Pascal:
var S, i, N: word;
begin
read(N); {зчитується значення змінної N, яке ввів користувач}
for i:=1 to N do S:=S+i; {для i від 1 до N виконати: до змінної S додати значення параметра і. За замовчуванням значення змінної S = 0, якщо перед початком тіла циклу ми не змінювали його, значення параметра i постійно збільшується на 1, поки не досягне значення N}
writeln (S) {вивести значення змінної S}
end.
Змінимо умову задачі наступним чином:
Задача. Знайти суму перших N натуральних чисел. Результат кожної дії виводити на екран. Число N вводиться з клавіатури.
Тоді доведеться не тільки декілька разів додавати до S (суми) параметр і, а ще і кожного разу виводити результат на екран. Таким чином у тілі циклу виконуватиметься не одна, а група вказівок: обчислити і вивести значення. У такому випадку тіло циклу потрібно взяти в операторні дужки begin - end. Тоді програма набуде наступного вигляду:
var S, i, N: word;
begin
read(N);
for i:=1 to N do
begin
S:=S+i;
writeln (S)
end;
end.
Немає коментарів:
Дописати коментар