Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема- Циклы с условиями

Работа добавлена на сайт samzan.net:


10

План-конспект проведения открытого занятия.

Дата проведения: 21.02.2005г. Время: 15.00. Группа: 11в

Тема: Циклы с условиями. Циклы WHILE,REPEAT ….UNTIL Решение задач.

Цели занятия

УчебнаяЧто такое WHILE,REPEAT ….UNTIL ?Как выглядит цикл с предусловием, как он работает, примеры. Как выглядит цикл с постусловием, как он работает,примеры.

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

Профессиональнаястимулировать целенаправленную деятельность кружковцев, развивать познавательный интерес в изучении основ информатики, различных языков программирования

Продолжительность занятия: 45 минут.

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

Ход занятия.

  1.  Организационный момент: Приветствие. Установить должную дисциплину в группе. Отметить отсутствующих, сообщить тему занятия, цели и задачи.
  2.  Опрос по пройденному материалу (актуализация опорных знаний).

Вопросы на повторение:

Прежде, чем мы с вами перейдем к следующей теме, поговорим о ключевых    понятиях предмета    информатики:

1) что такое алгоритм, какие вы знаете виды алгоритмов; программа и алгоритм – это одно и то же?

2) Какие вы знаете правила записи программ на Turbo Pascal 7.0. ?

3) Как выглядит полный условный  оператор? Как он работает?

    Как выглядит неполный условный  оператор? Как он работает?

4) какие целые, вещественные типы вы знаете? 

5)   Как выглядит цикл  FOR? Как он работает?

  1.  Теоретическая часть:

называются тема,  цели и задачи занятия.

НОВАЯ ТЕМА:

Циклы с условиями.

 Цикл с предусловием. Цикл с постусловием. Решение задач

Основные вопросы темы:

ЦИКЛЫ С УСЛОВИЯМИ

Цикл с предусловием

Цикл с предусловием используется тогда, когда число повторений оператора цикла заранее не известно, а задается некоторое условие продолжения цикла.

Оператор

Цикл       с предусловием

While <условие> Do <тело цикла>;

Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова While. Если оно соблюдается, то выполняется <тело цикла>, затем вновь проверяется условие и т.д. Как только при очередной проверке окажется, что условие не соблюдается, <тело цикла> выполняться не будет.

Примечание.

  1.  Если <тело   цикла>   состоит из нескольких
    операторов, то они объединяются операторными
    скобками.
  2.  В теле цикла обязательно должен быть оператор,
    влияющий на соблюдение условия, в противном случае произойдет зацикливание.

Пример

Подсчитать количество цифр заданного натурального числа п.

Решение

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

Program Example_8;

 Var m, n: Longint;

k: Integer;  {счетчик цифр}

 Begin

Writeln(' Введите натуральное число'); {вводим натуральное число п>0} ' Readln(n);

m:=n; k:=0;

While m<>0 Do

{пока (While) число m<>0 делать(Do)}

Begin

Inc(k);   { k:=k+l;} m:=m div 10;

{"выбрасываем" из числа последнюю цифру} End;

Writeln('В числе   ',n,'   —   ', k,’   цифр');
{вывод количества цифр}
Readln;
End.

 

Трассировка примера

Рассмотрим выполнение этой программы в пошаговом режиме для числа 65387:

n

m

k

65387

65387

0

65387

6538

1

65387

653

2

65387

65

3

65387

6

4

65387

0

5

В результате работы программы на экране появится  предложение: I
В  числе   65387  — 5  цифр

Пример

Дана непустая последовательность натуральных чисел, за которой следует 0. Найти порядковый номер наименьшего элемента последовательности.

Решение

Обозначим через х и i очередной элемент последовательности и его номер; min и k — минимальный элемент последовательности и его номер. Считывание элементов последовательности производится до тех пор, пока не будет введен 0, то есть пока х<>0. Начальный элемент  последовательности будет равен min. Очередное вводимое число (очередной элемент последовательности) требуется сравнивать с текущим значением минимума, и если текущее значение min окажется больше очередного элемента последовательности, то min нужно изменить, а номер очередного элемента последовательности — запомнить. Учитывая вышесказанное, составим программу:

Program Exaraple_9;

Var    x,   i,   min,   k   :     Integer;

Begin

Writeln('Введите первый элемент

последовательности');

Read(x);

 k:=l; min:=x;   i:=2;

While x<>0  Do

Begin

If x<min Then

Begin

min:=x;   k:=i-l;

End;

Writeln('Введите   ',I,'   элемент последовательности'   ); Read(x);

 Inc(i) ;

 End;

Writeln('Номер минимального элемента — ',  k); End.

Цикл с постусловием

  1.  Запишите конструкцию цикла с предусловием.
    В каких случаях применяется цикл с предусловием?
  2.  Далее представлен фрагмент программы вычисления количества цифр в заданном натуральном числе.
    Найдите в нем ошибки и исправьте их.

a:=n; ck:=0; While a>=0; Do

Begin

ck:=ck+l;

a:=a div 10

End;

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

Оператор  цикла с  постусловием

Repeat   {повторять}

<оператор  1>;

<оператор  2>;

. . . .

<оператор  n>;

Until   {до  тех  пор пока  не}   <условие>;

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

Обратите внимание на то, что данный оператор цикла предполагает наличие нескольких операторов в теле цикла, поэтому служебные слова Begin и End не нужны.

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

Пример

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

 Решение

Обозначим через х и k цену и количество товара, через р — заданную предельную сумму, через s — стоимость покупки. Начальное значение общей стоимости покупки s равно нулю. Значение предельной суммы считывается с клавиатуры. Необходимо повторять запрос цены и количества выбранного товара, вычислять его стоимость, суммировать ее с общей стоимостью и выводить результат на экран до тех пор, пока стоимость не превысит предельную сумму р.

Program Example_10;

Var x, k, p, s: Integer;

Begin

Writeln( 'Предельная сумма — ');

Readln(p);

s:=0;

Repeat

Writeln(' Введите цену товара и его

количество' ) ;

Readln (x, k) ;

s :=s+x*k;

Writeln ( 'Стоимость покупки равна ',s);

 Until s>p;

Writeln { 'Суммарная стоимость покупки превысила предельную сумму');

 End.

Пример.
Алгоритм Евклида — это алгоритм нахождения наибольшего общего делителя (НОД) двух целых неотрицательных чисел. Пусть х и у одновременно не равные нулю целые  неотрицательные числа и пусть х>у. Если у=0,то НОДА(х,у)=х, а если y<>Q, то для чисел х, у и r,
где r — остаток от деления х на у, выполняется равенство НОД(x,y)=НОД(y,г). "

Например, пусть х=48,y=18.

НОД(48,18)=НОД(18,12)=НОД(12,6)==НОД(6,0)=6.

Написать программу нахождения наибольшего общего делителя двух неотрицательных чисел.

Решение

Для решения данной задачи воспользуемся циклом с постусловием:

Program Example;

Var х, у: Integer;

Begin

Writeln('Введите два числа');

Readln(х,у);

Repeat {выполнять}

If x>y Then х:=х mod у

Else у:=у mod X;
Until (х=0) or (y=0);
 

{до тех пор, пока одно из чисел не станет равно нулю}

Writeln('НОД=', х+у));    {вывод НОД. Одно из чисел обязательно равно нулю}.

Readln;

End.

Пример

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

Решение

Вопросы для обсуждения:

  1.  Сколько переменных потребуется для решения задачи, какого типа будут эти переменные?
  2.  Всегда ли необходимо вычислять сумму цифр числа (а если введенное число является однозначным) ?
  3.  Вычислим сумму цифр числа: для этого будем выделять цифры числа и увеличивать текущую сумму. Какую конструкцию необходимо использовать для этого?
  4.  В результате выполнения цикла мы получили число. Является ли оно однозначным?

Program Example_18; Var n,k,s:Longint; Begin

Writeln{'Введите число1);

Readln(n);

s:=n;

While s>9 Do

Begin

k:=s;   s:=0; Repeat

s:=s+k mod 10; k:=k  div  10; Until  k=0; End;

Writeln('Цифровой корень числа ',n,' равен !,s); End.

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

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

  1.  любые две цифры числа различны;

число равно среднему арифметическому всех трехзначных чисел (включая данное), состоящих из тех же цифр.

  1.  Стороны прямоугольника заданы натуральными числами М и N.   Составить программу, которая находит, на сколько квадратов, стороны которых выражены натуральными числами, можно разрезать данный
    прямоугольник, если от него каждый раз отрезается квадрат максимальной площади.
  2.  Дано натуральное число п>2. Составить программу разложения этого числа на простые множители.Реализовать два варианта.
  3.  каждый простой множитель р должен быть выведен k раз, где k — натуральное число, такое, что n делится на р*  и не делится на pt*1; j
  4.  каждый простой множитель должен быть выведен ровно один раз.
  5.  Даны натуральные числа N и р. Получить все натуральные числа, меньшие N и взаимно простые с р.
  6.  Даны целые числа р и q. Получить все делители числа qt взаимно простые с р.
  7.  Найти наименьшее натуральное число N, представимое двумя различными способами в виде суммы кубов двух  натуральных чисел.
  8.  Найти все простые несократимые дроби, заключенные; между 0 и 1, знаменатели которых не превышают 7,(дробь задается двумя натуральными числами — числителем и знаменателем).

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

а:=1;   Ь:=1;

While a+b <8 Do

Begin a:=a+l; Ь:=b-2; End;

s:=a+b;

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

9 Какими будут значения переменных а и b после выполнения последовательности операторов:

а:=1;   Ь:=1;

While  a<=3  Do  a:=a+l;   b:=b+l;

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

a) s:=0;   i:=0;

Wnile i<5 Do Inc(i); s:=s+100 div i;

b) s:=0; i:=l;

While i>l Do

Begin s:=s+100 div i; dec(i) End;

11. В последовательности операторов для вычисления факториала f  числа n    содержится пять ошибок.
Найдите эти ошибки.

k:=l;   f:=0; While   k<n  Do   f=f*k

k:=k+l.

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

записанное цифрами числа n
в обратном порядке.

р:=n;

While p>=0 Do

Begin .

a:=a+p mod 10; 

p:=p div 10;
End;
 

13. Найти сумму цифр числа.

14. Найти старшую цифру числа.

15. Приписать по 1 в начало и в конец записи числа
           
п. Например, из числа п=3456 надо получить 134561.

16. Поменять местами первую и последнюю цифры
           числа.

     17.Найти количество четных цифр натурального
числа.

18.Найти самую большую цифру целого числа.

19Найти сумму цифр целого числа, больших 5.

    20.Сколько раз данная цифра встречается в целом числе?       

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

       22.Составить программу, проверяющую, является
              ли заданное натуральное число палиндромом, то есть
           таким, десятичная запись которого читается одинаково слева

            направо и                   справа налево.

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

s:=0; i:=l;

Repeat s:=s+5 div i; i :=!-!;

Until i<=l;

  1.  Произведение первых N нечетных чисел равно Р .
    Сколько сомножителей взято?
  2.  Числа Фибоначчи fn определяются по формулам:
    f0=f1=1; fn=fn-1+fn-2
     при п=2, 3,...

Составить программу для

a) вычисления f4Q;

b) поиска первого числа Фибоначчи, большего т

с) вычисления суммы всех чисел Фибоначчи, не превосходящих 1000.

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

25.Показать, что любой оператор цикла с предусловием можно записать с помощью условного оператора
и оператора цикла с постусловием.

26Показать, что любой оператор цикла с постусловием можно записать с помощью условного оператора
и оператора цикла с предусловием.

27.Дана непустая последовательность натуральных
чисел, за которой следует 0. Вычислить сумму положи
тельных элементов последовательности, порядковые
номера которых нечетны

         

Закрепление нового материала.

Вопросы для закрепления:

1.Что такое лексема?

 2.Что такое WHILE,REPEAT ….UNTIL ?

3.Как выглядит цикл с предусловием, как он работает?

4. Как выглядит цикл с постусловием?

  1.  Практическая часть занятия.
  2.  Правила ТБ при выполнении практического задания:

Заботясь об охране здоровья  детей, необходимо помнить, что к каждому рабочему месту подведено опасное для жизни напряжение! Бережно обращайтесь с техникой, спокойно, не торопясь, не толкаясь, не задевая столы, занимайте отведенное вам место. Если вы обнаружили  неисправность, немедленно мне об этом сообщите. Работа на  ПК требует большого внимания, четких действий и самоконтроля. Во время работы строго выполняйте все правила поТБ, следите за исправностью аппаратуры, плавно нажимайте на клавиши, не допуская резких ударов, работайте на клавиатуре чистыми руками, не вставайте со своих мест, когда в кабинет входят посетители.

  1.  Выполнение практического задания: использую раздаточный материал – каждому кружковцу дается индивидуальное задание: написать  программу на языке Turbo Pascal 7.0 и ответить на один или два теоретических вопроса.

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

  1.  Подведение итогов занятия:

Что нового узнали: уч-ся узнали  новые возможности языка Turbo Pascal 7.0.

Типичные ошибки: 

Был ли урок интересен: 

Что больше всего понравилось:  

  1.  Домашнее задание: 1. Повторите новый материал.

2. Напишите программу по заданному алгоритму.

  1.  Используемая литература:

1. Ю.Шафрин «Курс компьютерной технологии» АБФ, Москва 1998

2.Фаронов В.В. Turbo Pascal 7.0 начальный курс «Нолидж» 2000 г.

3.Грызлов А.Г. Turbo Pascal 7.0 1994 г

4.Глушаков С.В. Turbo Pascal 7.0 Харьков 2002г.

5.Милов А.В. «Основы программирования» Харьков 2002г.

.

 




1. Доклад- Московское государство
2. Аренда предприятия
3. Тема- Культура Субкультура План Поняття культури
4. Экономика землепользования в сельском и лесном хозяйстве
5. реферат дисертації на здобуття наукового ступеня кандидата історичних наук Львів ~ Ди
6. Тема 63- Категорирование наружных технологических установок по пожарной опасности Вопрос 1
7. Муниципальный этап
8. Обучение как фактор развития личности
9. Лабораторная работа КСЕ02 Изучение ДИНАМИЧЕСКИХ ЗАКОНОМЕРНОСТЕЙ на механической модели ~ МАШИНЕ АТВУ
10. Планирование на предприятии городского хозяйства понятие характеристика1
11. тема відносин що виникають з приводу узгодження попиту та пропозиції світових трудових ресурсів умов форму
12. Социально значение физической культуры в России
13. ТЕМА- СТВОРЕННЯ ЕЛЕКТРОННИХ ТАБЛИЦЬ МЕТА РОБОТИ- на прикладі ТАБУЛЮВАННЯ ФУНКЦІЇ ОЗНАЙОМИТИСЬ З ОСНОВНИМИ
14. Культура метод выражения любви
15. V Сокольские Игры Урала Настоящее положение определяет цели и задачи планируемого мероприятия я также
16. тематичний план Дисципліна- Загальний догляд за хворими та медична маніпуляційна техніка Спеціальніст
17. История политических учений
18. Тема- Перцептивная сторона общения Законы соответствия- а между вербальной и невербальной информацией; б м
19. темах. Внутриклеточные межклеточные системы передачи информации.html
20. БМ 6 Т Б 7 Т ТС З 12 А МА 1992ж 7м~ 1 с Б 8 ТАКЦИЗ