kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Курсы ПК и ППК Видеоуроки Олимпиады Вебинары для учителей

Конспект урока "Тема: «Вложенные циклы»

Нажмите, чтобы узнать подробности

Цели урока:

Обучающая: :  показать сходство и различие циклов в языках программирования Qbasic и Pascal ABS

Развивающая: развитие умения анализировать, сопоставлять, сравнивать, выделять главное, приобрести опыт использования теоретических знаний в реализации конкретных задач.

Воспитывающая: воспитание коммуникативных качеств для рациональной и продуктивной работы.

Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.

Просмотр содержимого документа
«Конспект урока "Тема: «Вложенные циклы» »





Тема: «Вложенные циклы»

Цели урока:

Обучающая: : показать сходство и различие циклов в языках программирования Qbasic и Turbo Pascal 7.0.

Развивающая: развитие умения анализировать, сопоставлять, сравнивать, выделять главное, приобрести опыт использования теоретических знаний в реализации конкретных задач.

Воспитывающая: воспитание коммуникативных качеств для рациональной и продуктивной работы.

Тип урока: урок изучения нового материала.

Вид урока: комбинированный урок.

Оборудование:

  • проектор;

  • компьютеры;

Последовательность этапов урока:

    1. Организационный момент, сообщение темы и целей урока (2 мин).

    2. Проверка домашнего задания (5 мин)

    3. Объяснение нового материала (10 мин)

    4. Решение задач (15 мин)

    5. Итог урока, рефлексия (5 мин).

    6. Домашнее задание. (3 мин).



Ход урока:

  1. Организационный момент. Сообщение темы и целей урока.

  2. Проверка домашнего задания.

  1. Дана последовательность операторов:

a=1: b=1


while a+b

a=a+1 : b=b+2

wend: s=a+b

a:=1; b:=1;


while a+bbegin

a:=a+1 ; b:=b+2

end; s:=a+b

Сколько раз будет повторен цикл, и какими будут значения переменных a, b, и s после завершения этой последовательности операторов?

Ответ: 2 раза, s=8, a=3, b=5

  1. Определить значение переменной s после выполнения следующих операторов:

s=0: i=l

DO : s=s+5\ i : i= i -1: LOOP

Until i

s:=0; i:=l;
repeat s:=s+5 div i; i:=i-l; until

i;

Ответ: s=5

  1. Изучение нового материала.

При решении некоторых задач приходится использовать вложенные циклы. Внутренний и внешний циклы могут быть любыми из трех рассмотренных ранее видов: циклами с параметром, циклами с предусловием или циклами с постусловием. Правила организации как внешнего, так и внутреннего циклов такие же, как и для простого цикла каждого из этих видов. Но при использовании вложенных циклов необходимо соблюдать следующее условие: внутренний цикл должен полностью укладываться в циклическую часть внешнего цикла.

Рассмотрим на примере решения конкретной задачи.

Даны натуральные числа n и k. Составить программу вычисления выражения 1k+2k+…+nk.

Решение.

Для вычисления указанной суммы целесообразно организовать цикл с параметром i, в котором, во- первых, вычислялась бы очередное значение y=ik и, во- вторых осуществлялось бы накопление суммы прибавлением полученного слагаемого к сумме всех предшествующих(s=s+y).

‘PRIM1


DEFINT I,K,M-N,S,Y


CLS

INPUT “N=,K=”;N,K:S=0

FOR I=1 TO N

Y=1

For M=1 To K

program PRIM1;

uses crt;

var n, k, y, i, s, m: integer;

begin

clrscr;

writeln ( ‘n= k=’); readln(n, k);

s:=0;

for i:=1 to n do begin

y:=1;

for m:=1 to k do begin

Нахождение степени k числа i.

Y=Y*I

Next

y:=y*I;

end;

Нахождение промежуточной суммы.

S=S+Y

Next

PRINT “Oтвеm=”;S


END

s:=s+y;

end;
writeln (‘
Ответ:’,s);

readln;

end.



Таким образом, для решения задачи потребовалось организовать два цикла, один из которых пришлось поместить внутрь другого. Такие конструкции называют вложенными циклами.

Задание: модифицировать предыдущую программу так, чтобы она вычисляла сумму 11+22+…+ nn.

Решение.

Данная задача отличается от предыдущей тем, что показатель степени очередного слагаемого совпадает со значением ее основания, следовательно, параметры внутреннего цикла (цикла, в котором вычисляется очередное слагаемое) совпадает с параметрами внешнего цикла.

For m=1 To i

for m:=1 to i do



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

Старинная задача. Сколько можно купить быков, коров и телят, если плата за быка 10 рублей, за корову - 5рублей, за теленка - полтинник(0,5 рубля), если на 100 рублей надо купить 100 голов скота.

Решение.

Обозначим через b - количество быков; k - количество коров; t - количество телят. После этого можно записать два уравнения: 10b+5k+0.5t=100 и b+k+t=100. Преобразуем их: 20b+10k+t=200 и b+k+t=100. На 100 рублей можно купить:

-не более 10 быков, т.е. 0b

-не более 20 коров, т.е. 0k

-не более 200 телят, т.е. 0t

Таким образом, получаем:

‘PRIM3


DEFINT b, k, t


CLS

For b:=0 to 10

For k:=0 to 20

For t:=0 to 200

If (20*b+10*k+t=200) And

(b+k+t=100)

Then

PRINT “ быков”; b; “коров”;k; “телят”;t

N NEXT t, k, b


END

program prim3

uses crt;

Var b,k,t: integer;

begin

clrscr

for b:=0 to10 do

for k:=0 to 20

for t:=0 to 200 do

if (20*b+10*k+t=200) and

(b+k+t=100)

then

writeln (‘ быков’, b, ‘ коров’, k,’

телят ‘, t);


readln;

end.

Сколько раз будет проверяться условие в данной программе?
Значение переменной b изменяется 11 раз (от 0 до 10), для каждого ее значения переменная k изменяется 21 раз, а для каждого значения переменной k переменная t изменяется 201 раз. Таким образом, условие будет проверяться 11*21*201 раз. Но если известно количество быков и коров, то количество телят можно вычиcлить по формуле t=100-(b+k) и цикл по переменой t исключается.

‘PRIM3b


DEFINT B,K,T


CLS

For b:=0 to 10

For k:=0 to 20

t:=100-(b+k)

If (20*b+10*k+t=200) Then

Print “быков”; b; “коров”; k; “телят”; t

Next k, b


END

program prim3b;

uses crt;

Var b,k,t: integer;

begin

clrscr

for b:=0 to10 do

for k:=0 to 20 do begin

t=100-(b+k)

if (20*b+10*k+t=200) then

writeln (‘ быков’, b, ‘ коров’, k,’

телят ‘, t);

end;

readln;

end.



При этом решении условие проверяется 11*21 раз.

Задача 2. Написать программу, которая находит и выводит на печать все четырехзначные abcd числа, где а,b,c,d - различные цифры, для которых выполняется: ab-cd=a+b+c+d.

Решение.

Задачу можно решать несколькими способами. Одним из возможных способов является перебор всех четырехзначных чисел и проверка для каждого из них выполнения условий. Попробуем сократить перебор, для этого преобразуем второе условие:

10a+b-(10c+d)=a+b+c+d;

9(a-c)=2(c+d);

(a-c)/(c+d)=2/9

Проанализировав первое условие, получаем, что a=c+2, d=9-c, следовательно 0c

‘ PRIM4


DEFINT A-D


CLS

For c = 0 To 7

A=c+2: d = 9 – c

For b = 0 To 9

If bc And ba And bd Then


Print a, b, c, d

Print

NEXT

NEXT


END

program prim4;

uses crt;
var a, b ,c, d: integer;

begin
clrscr;
for c:=0 to 7 do begin
a:=c+2; d:=9-c;
for b:=0 to 9 do begin
if (bc) and (ba) and (bd)
then
write( ‘a, b, c, d’);
writeln
end;
end;
readln;
end.




Таким образом, мы решили задачу, значительно сократив перебор.

Задача 3. Составить программу для нахождения цифрового корня натурального числа. (Если мы сложим все цифры какого – либо числа, затем все цифры найденной суммы и будем повторять много раз, мы, наконец, получим однозначное число (цифру), называемое цифровым корнем данного числа. Например, цифровой корень числа 34697 равен 2 (3+4+6+9+7=29; 2+9=11; 1+1=2).

Решение.

Сколько переменных потребуется для решения задачи, какого типа будут эти переменные?

Всегда ли необходимо вычислять сумму цифр числа (а если введенное число является однозначным)?

Вычислим сумму цифр числа: для этого будем выделять цифры числа и увеличивать текущую сумму. Какую конструкцию необходимо использовать для этого?

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

Программа, вычисляющая корень данного числа, может выглядеть следующим образом:

‘PRIM5


DEFLG N, K, S


CLS

INPUT “число N=”;N : S=N

Program prim5

uses crt;

var n, k, s: longint;

begin

clrscr;

written(‘ число =’); readln(n);

s:=n;

Пока сумма является двузначным числом.

While S9

K=S: S=0

while s9 do begin

k:=s; s:=0;

Вычисляем сумму цифр числа

DO

S=S+K Mod 10: K = K \ 10

LOOP Until K=0

Wend

PRINT “цифровой корень числа равен”; S


END

repeat

S:=s+k mod 10; k:=k div 10;

until k=0

end;

writeln(‘ цифр. корень числа ‘,n,’

равен ‘,s);

readln;

end.

  1. Итог урока, рефлексия

  2. Домашнее задание:§11, с.148-151; №8 на с.157


    1. Н.Д. Угринович. Информатика и ИКТ. Профильный уровень: учебник для 11 класса. - М.: Бином. Лаборатория знаний, 2010.



ІV. Итог урока.

Домашнее задание.

Что будет выведено на экране монитора после выполнения следующего фрагмента программы:

A=28

A:=28;

FOR I = 1 TO A\2

For i:=1 to a div 2 do begin

IF A MOD I=0 THEN PRINT I

If a mod i =0 then writeln(i);

NEXT

end;

Решение какой задачи выражает этот фрагмент программы?

Ответ: на экран выводятся делители числа А. (А=28).








Получите в подарок сайт учителя

Предмет: Информатика

Категория: Уроки

Целевая аудитория: 11 класс

Скачать
Конспект урока "Тема: «Вложенные циклы»

Автор: Харнаева Екатерина Валерьевна

Дата: 11.06.2015

Номер свидетельства: 219095

Похожие файлы

object(ArrayObject)#852 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(124) "Конспект урока по теме «Программирование циклических алгоритмов». "
    ["seo_title"] => string(72) "konspiekt-uroka-po-tiemie-proghrammirovaniie-tsiklichieskikh-alghoritmov"
    ["file_id"] => string(6) "241844"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(5) "uroki"
    ["date"] => string(10) "1445331907"
  }
}


Получите в подарок сайт учителя

Видеоуроки для учителей

Курсы для учителей

ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

Добавить свою работу

* Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

Удобный поиск материалов для учителей

Ваш личный кабинет
Проверка свидетельства