Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

План2

.docx
Скачиваний:
29
Добавлен:
18.04.2015
Размер:
27.54 Кб
Скачать

План-конспект урока

Тема: Оператор цикла с параметром.

Цели урока:

1. образовательная: обеспечить усвоение понятий оператор цикла с параметром, оператор повторения.

2. развивающая: способствовать развитию мышления учащихся, обеспечить формирование мотивов учения и познавательного интереса.

3. воспитательная: способствовать развитию аккуратности, настойчивости, самостоятельности учащихся; обеспечить формирование научного мировоззрения.

Методы:

  1. словесные: беседа.

  2. практические: работа с учебником.

  3. методы контроля: актуализация знаний, решение задач на закрепление.

Связи: внутрипредметные (прошлая тема)

Литература:

Ход урока:

1. Организационный момент (2 мин).

2. Актуализация опорных знаний (5 мин).

3. Решение задач (35 мин).

4. Подведение итогов. Домашнее задание (3 мин).

Содержание урока.

Актуализация знаний

1. В каких случаях в программе используется оператор for?

2. Какие формы оператора for вы знаете?

3. Чем отличается формы «to» и «downto» оператора for ?

4. Можно ли изменять параметр цикла в теле цикла?

5. Какой тип данных может иметь параметр цикла ? ( Параметр цикла, его начальное и конечное значения должны принадлежать к одному и тому же типу данных (чаще всего это целочисленный тип integer, но могут быть и другие типы, кроме вещественного))

В общем виде оператор for может быть представлен в виде:

for <параметр цикла>:=<начальное значение > to <конечное значение> do <оператор>;

for i:=N1 to N2 do <оператор>; N1<N2

for <параметр цикла>:=<начальное значение > downto <конечное значение> do <оператор>;

for i:=N1 downto N2 do <оператор>; N2<N1.

Важно помнить:

Ø Не рекомендуется изменять параметр цикла в теле цикла с помощью команды присваивания. Это может привести к «зацикливанию» программы (бесконечному повторению тела цикла) либо к неверным результатам выполнения программы.

Ø Если в заголовке оператора for..to начальное значение параметра цикла больше конечного значения, то тело цикла не выполнится ни разу.

Ø Если в заголовке оператора for..downto начальное значение параметра цикла меньше конечного значения, то тело цикла не выполнится ни разу.

Ø При выходе из цикла текущее значение параметра цикла равно конечному значению в операторе for..to и наоборот в операторе for..downto.

Ø Телом цикла может быть не один оператор, а группа операторов (составной оператор), которую обязательно надо заключать в операторные скобки begin… end.

Раздаю 2 варианта задачек на листочках, ученики сидящие за одним компьютером выполняют 1 вариант, их соседи, сидящие за вторым компьютером 2 вариант.

Решение задач

1 вариант

  1. Составьте программу вычисления суммы чисел в диапазоне от 5 до 65 (5+6+7+... ...+65).

Program zadacha1;

Var i, sum: integer;

begin

sum:=0; {начальное значение суммы}

for i:=5 to 65 do{параметр цикла i (счетчик цикла) меняется от 5 до 65

с шагом -1}

sum:=sum +i; {тело цикла}

writeln (‘sum=’, sum); {вывод результата}

end.

2. Составьте программу вычисления суммы квадратов чисел от 1 до 20.

Program zadacha2;

Var i, sum:integer;

begin

sum:=0; {начальное значение суммы}

for i:=1 to 20 do {параметр цикла i (счетчик цикла) меняется от 1 до 20

с шагом -1}

sum:=sum+sqr(i); {тело цикла}

writeln (‘sum=’, sum); {вывод результата}

end.

3. Напечатать все двухзначные числа, сумма которых равна 12.

Program zadacha3;

Var i,k,l,a:integer;

begin

for i:=10 to 99 do

begin

k:=i mod 10;

l:=i div 10;

a:=k+l;

if a=12 then writeln (‘i=’,i);

end;

end.

4. Составьте программу вычисления суммы чисел кратных 5 в диапазоне от 1 до 100.

Program zadacha4;

Var i,sum:integer;

Begin

Sum:=0;

for i:=1 to 100 do

begin

if i mod 5 = 0 then

sum:=sum+i;

end;

writeln(‘sum=’, sum);

end.

5. Составьте программу, которая выводит на экран числа кратные 6 и 11 в диапазоне от 6 до 200.

Program zadacha5;

Var i:integer;

Begin

for i:=6 to 200 do

begin

if ( i mod 6 = 0) and (i mod 11=0 ) then

writeln(‘i=’, i);

end;

end.

6*. Даны натуральные числа n, k (n, k<=9999). Из чисел от n до k выберете те, запись которых содержит три одинаковых цифры. Например, числа 6766, 5444, 0006, 0060 содержат ровно три одинаковых цифры.

Program zadacha6;

Var i,n,k,a1,a2,a3,a4,m :integer;

Begin

Writeln('Введите n');

Readln(n);

Writeln('Введите k');

Readln(k);

for i:=n to k do

begin

m:=i;

a1:=m div 1000;

a2:=(m div 100); a2:=a2 mod 10;

a3:=m mod 100; a3:=a3 div 10;

a4:=m mod 10;

if ((a1=a2) and (a2=a4) and (a1<>a3)) or ((a1=a2) And (a1= a3) And (a1<>a4)) or ((a1=a3) and (a1=a4) and (a1<>a2)) or ((a2=a3) and (a3=a4) and (a1<>a2)) then writeln('i=', i);

end;

end.

2 вариант

  1. Составьте программу вычисления суммы чисел в диапазоне от 45 до 115 (45+46+47+... ...+115).

Program zadacha1;

Var i, sum: integer;

begin

sum:=0; {начальное значение суммы}

for i:=45 to 115 do{параметр цикла i (счетчик цикла) меняется от 5 до 65

с шагом -1}

sum:=sum +i; {тело цикла}

writeln (‘sum=’, sum); {вывод результата}

end.

  1. Составьте программу, которая находит сумму четных чисел и произведение нечетных чисел в диапазоне от 1 до 10.

Program zadacha2;

Var i, sum,P: integer;

begin

sum:=0;

P:=1;

for i:=2 to 100 do

begin

if i mod 2 = 0 then sum:=sum+1

else P:=P*i;

writeln (‘sum=’, sum);

writeln (‘P=’, P);

end;

end.

  1. Напечатать все двухзначные числа, сумма которых равна 15.

Program zadacha3;

Var i,k,l,a:integer;

begin

for i:=10 to 99 do

begin

k:=i mod 10;

l:=i div 10;

a:=k+l;

if a=15 then writeln (‘i=’,i);

end;

end.

4. Составьте программу вычисления суммы чисел кратных 6 в диапазоне от 6 до 100.

Program zadacha4;

Var i,sum:integer;

Begin

Sum:=0;

for i:=6 to 100 do

begin

if i mod 6 = 0 then

sum:=sum+i;

end;

writeln(‘sum=’, sum);

end.

5. Составьте программу, которая выводит на экран числа кратные 4 и 11 в диапазоне от 4 до 150.

Program zadacha5;

Var i:integer;

Begin

for i:=4 to 150 do

begin

if ( i mod 4 = 0) and (i mod 11=0 ) then

writeln(‘i=’, i);

end;

end.

6*. Даны натуральные числа n, k (n, k<=9999). Из чисел от n до k выберете те, у которых все четыре цифры различны.

Program zadacha6;

Var i,n,k,a1,a2,a3,a4,m :integer;

Begin

Writeln('Введите n');

Readln(n);

Writeln('Введите k');

Readln(k);

for i:=n to k do

begin

m:=i;

a1:=m div 1000;

a2:=(m div 100); a2:=a2 mod 10;

a3:=m mod 100; a3:=a3 div 10;

a4:=m mod 10;

if (a1<>a2) and (a1<>a3) and (a1<>a4) and (a2<>a3) and (a2<>a4) then writeln('i=', i);

end;

end.

Подведение итогов, кто сколько задач решил, выставление оценок.

Домашнее задание: §3(1-2)

6