ПРАКТИЧЕСКОЕ ЗАНЯТИЕ РАЗРАБОТКА ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ ЦИКЛА С ПАРАМЕТРОМ (FOR)

  • docx
  • 11.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-00404.docx

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ РАЗРАБОТКА ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ

ЦИКЛА С ПАРАМЕТРОМ (FOR)

 

1.     ЦЕЛЬ ЗАНЯТИЯ

Целью занятия является получение навыков в составлении циклических программ с использованием оператора цикла For.

 

2.   ИНФОРМАЦИОННЫЙ БЛОК

Цикл это многократно повторяющаяся последовательность операторов. В Паскале используются 3 типа циклов:

-       цикл с постусловием (Repeat);

-       цикл с предусловием (While);

-       цикл с параметром (For).

 

2.1   Оператор цикла For

Оператор цикла For используется когда заранее известно количество по- вторений цикла и когда шагом цикла является целое число.

Синтаксис оператора цикла с параметром:

 

For <параметр цикла> := <начальное значение> To/DownTo <конечное значение> Do <оператор>;

 

<Оператор> выполняется до тех пор, пока <параметр цикла> изменяет свое значение от <начального значения> до <конечного значения>.

 


 

 

 

ски.


Например,

For I:=1 To 10 Do x:=x+2;

В этом случае параметр цикла каждый раз увеличивается на 1 автоматиче-


 

For I:=10 DownTo 1 Do x:=x+2;

В этом случае параметр цикла каждый раз уменьшается на 1 автоматиче-

ски.

 

ВНИМАНИЕ! В теле цикла НЕ желательно изменять параметр цикла (для избежания зацикливания). Например:

For I:=1 To 10 Do I:=I+2; {последний раз цикл должен выполниться для I равного 10 и если каким-то образом переменная I «проскочит» это значение, то произойдет зацикливание программы}

Если все-таки программа зациклилась, воспользуйтесь комбинацией кла- виш Ctrl+Break для возврата в среду программирования Паскаль.

 

Если телом цикла For является составной оператор, то его заключают в операторные скобки Begin …end. Например:


 

For I:=1 to 10 Do Begin оператор1;

операторN; end;

 

Перед началом цикла параметру цикла присваивается <начальное значе- ние>. И если до этого цикла переменная, являющаяся параметром цикла храни- ла какое-то значение, оно теряется.

 

2.2   Процедуры Break и Continue

Процедура Break предназначена для принудительного досрочного выхода из цикла. Как правило, используется для уменьшения времени выполнения про- граммы (время выполнения программы можно сократить за счет невыполнения некоторых операторов «в холостую», это когда результат выполнения таких операторов ни на что не влияет). Например:

For I := 1 To 100 Do

Begin

Readln(k);

If k mod 2 <> 0 Then Break; {принудительный выход из цикла ес-

ли введено нечетное число k}

If k>0 Then s:=s+k ;

End;

 

Если после процедуры Readln(k) будет введено нечетное значение, цикл прекратит свое выполнение и далее будет выполнен оператор, следующий за оператором End. В данном примере процедура Break позволяет сократить время выполнения программы, по меньшей мере, на время выполнения операто- ра If k>0 (т.е. на время проверки условия k>0).

 

Процедура Continue принудительно вызывает начало новой итерации (по-

вторения) цикла, даже если предыдущая не закончена. Например:

 

For I := 1 To 100 Do

Begin

Readln(k);

If k = 0 Then  Continue;   {вызов начала выполнения тела цикла,

начиная с процедуры ввода Readln(k)}


 

 

End;


If k>0 Then s:=s+1; If k<0 Then d:=d+1;


В данном примере если с помощью процедуры ввода Readln(k) в перемен- ной k окажется ноль, то два последних условных оператора будут проигнори- рованы и запрошено новое значение переменной k (тело цикла начнет выпол- няться сначала). Т.е. процедура Continue также позволяет экономить время выполнения программы. В принципе условного оператора If k = 0 Then Contin- ue может не быть. Но тогда в случае нулевого значения переменной k будет зря тратиться время на проверку двух последних условий.

 

3.   ИСПОЛНИТЕЛЬНЫЙ БЛОК

3.1   Написать программу, выводящую на экран заглавные буквы латинского алфавита в обратном порядке в одну строку через запятую.

В качестве параметра цикла For может быть переменная не только целого типа, но и символьного. Например,

Var С:char; Begin

For С:=’a’ to ‘k’ do writeln(С); {параметр цикла С перебирает значения букв латинского алфавита от а до k по порядку}

В данной задаче необходимо вывести буквы в обратном порядке, т.е. не по алфавиту. Значит, параметр цикла должен не увеличиваться, а уменьшаться, следовательно, вместо разделителя To необходимо использовать разделитель DownTo.

3.2        Вывести на экран все нечетные числа из последовательности чисел, вводимых с клавиатуры. Количество чисел в исходной последовательности N описать как константу в разделе описания констант Const.

 

Например, дана последовательность чисел: 2 5 12 36 45 7 9 22. Результа-

том работы программы будет следующая последовательность чисел: 5 45 7 9.

 

По блок-схеме алгоритма, приведенной на рисунке 1, составить программу решения задачи и заполнить таблицу.

Вводимая последовательность

Результат

 

 

 

 


 

 

Рисунок 1

 

4.   КОНТРОЛЬНЫЕ ВОПРОСЫ

1)            В каких случаях может быть использован оператор цикла For?

2)            Какие требования предъявляются к параметру цикла For?

3)            Как изменится цикл For, если параметр цикла должен не увеличиваться, а уменьшаться с каждой следующей итерацией цикла.

4)            Если телом цикла является составной оператор, что при этом изменится для цикла For?

5)            С помощью какой процедуры можно прервать выполнение цикла? Приве- дите пример.

6)            Как можно возобновить выполнение цикла, если еще не завершен преды- дущий проход цикла? Приведите пример.

7)            По приведенному фрагменту программы определить сколько раз на экране появится слово «ЦИКЛ».

I:=3;

For I:=1 to 5 do Writeln(‘ЦИКЛ’);

 

5.   ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ

1)            Написать программу, вычисляющую сумму и среднее арифметическое по-

следовательности положительных чисел, которые вводятся с клавиатуры.

2)            Написать программу, которая вычисляет среднюю (за неделю) температу- ру воздуха. Исходные данные должны вводиться во время работы про- граммы.

3)            Составить программу, вычисляющую сумму квадратов чисел от 1 до вве- денного вами целого числа n.


4)            Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней.

5)            Написать программу, которая выводит таблицу степеней двойки (от нуле- вой до десятой).


 

Скачано с www.znanio.ru