Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015

Автоматическая выдача свидетельства о публикации в официальном СМИ сразу после добавления материала на сайт - Бесплатно

Добавить свой материал

За каждый опубликованный материал Вы получите бесплатное свидетельство о публикации от проекта «Инфоурок»

(Свидетельство о регистрации СМИ: Эл №ФС77-60625 от 20.01.2015)

Инфоурок / Информатика / Конспекты / Оператор цикла с постусловием в языке Си++
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 26 апреля.

Подать заявку на курс
  • Информатика

Оператор цикла с постусловием в языке Си++

библиотека
материалов

Оператор цикла с постусловием в языке Си++

Цели и задачи урока:


Образовательные:

  • ознакомление учащихся с новым для них видом цикла — цикла с постусловием; усвоение правильности описания этого вида цикла и программе на языке С++;

  • ознакомление учащихся по использованию нового вида цикла и сравнение с известным видом цикла ― циклом с постусловием

  • ознакомление с изменением программы, отладкой и просмотром полученных результатов (связь с прошлыми уроками);

  • контроль усвоения полученных знаний учащимися при выполнении самостоятельного задания;

Развивающие: 

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

Воспитательные:

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

выработка навыков:

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



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

В чем особенности применения циклов с постусловием в языке Си++?

Задача: Написать игру «Угадай число»: компьютер «загадывает» случайное число из диапазона от 0 до 9, а пользователь – должен угадать его. Программа должна подсчитывать количество попыток игрока.

Предварительные рассуждения:

Программа должна запрашивать у игрока ввод числа до тех пор, пока игрок не угадает число.

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

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

  1. Какие переменные необходимы для решения задачи?

Для решения задачи необходимы 3 переменные:

  • пусть x – число, загаданное компьютером;

  • i – число игрока;

  • p – количество попыток.

  1. Как будут задаваться значения для этих переменных?

  • Значение переменной x должно задаваться с помощью генератора случайных чисел: x=random(10); Значение этой переменной изменяться в ходе решения задачи не будет, поэтому данную команду нельзя включать в тело цикла.

  • Значение переменной i пользователь должен будет вводить с клавиатуры.

  • Начальным значением переменной p должно быть число 0, это значение будет увеличиваться при каждой новой попытке пользователя угадать число.


  1. Что будет являться телом цикла?

Несколько раз должны повторяться следующие действия:

  • на экран компьютера должно выводиться приглашение на ввод пользователем числа;

  • введенное число должно запоминаться в переменной i;

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

Т.е., программный код тела цикла будет выглядеть так:

{cout<<"угадай число ";

cin>>i;

p++;

}

  1. Каким будет условие в данной циклической конструкции?

Пока число игрока неравно числу компьютера, пользователь должен вводить числа. Таким образом, условие будет следующим: (i!=x)

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

do

{ cout<<"ugadai chislo ";

cin>>i;

p++;

}

while (i!=x);

Прочитать данную запись можно так: «Выполняй действия из тела цикла пока число игрока неравно числу компьютера».

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

void main()

{

randomize();

clrscr();

int x, i, p=0;

x=random(10);

do

{cout<<"угадай число ";

cin>>i;

p++;

}

while (i!=x);

cout<<"Молодец!!!" <<'\n'<<"количество попыток="<<p;

getch();

}

  1. Как можно представить конструкцию цикла с постусловием в общем виде?

Цикл do-while сначала выполняет тело цикла, а затем выполняет проверку условия. Повторение тела цикла происходит в том случае, пока условие принимает истинное значение.

do

{тело цикла;}

while (условие);

  1. Может ли произойти такая ситуация, что тело цикла в конструкции цикла с постусловием не выполнится ни разу.

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

I. Работа в парах или индивидуально (по выбору студентов):

  1. Сколько раз будет выполнена проверка условия? Определить значения переменных a, b, s (составить итерационную таблицу).

void main()

{clrscr();

int a,b,s;

a=1; b=1;

do

{

a++;

b+=2;

}

while (a+b<3)

s=a+b;

cout<<"a="< getch();

}

  1. Определите значения переменных a и b после выполнения операторов:

void main()

{clrscr();

int a=1,b=1;

do

a++;

while (a<=3);

b++;

cout<<"a="< getch();

}

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

void main()

{clrscr();

int s=0,i=0;

do

i++;

while (i<5);

s=s+100/i;

cout<<"s="<

getch();

}

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

void main()

{clrscr();

int s=0,i=1;

do

{

s=s+100/i;

i--;

}

while (i>1);

cout<<"s="<

getch();

}


II. Задачи для индивидуального выполнения:

1 балл:

  1. Написать программу, которая производит суммирование некоторого количества произвольно введенных целых чисел. Признак окончания ввода – число 0.

  2. С помощью цикла WHILE напишите программу определения идеального веса для взрослых людей по формуле: Ид. Вес = рост – 100. выход из цикла: значение роста = 210 см.

2 балла:

  1. Найдите первые 20 натуральных чисел, делящихся нацело на 13 и 17 и больших 500.

  2. Найти минимальное число, большее 300, которое нацело делится на 19.


3 балла:

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

Числа Фибоначчи (fn) определяются формулами: f0=f1=1; fn=fn-1+fn-2, при n=2, 3, …, т.е. это бесконечная последовательность чисел вида: 1, 1, 2, 3, 5, 8, 13 … Составить программу определения номера последнего числа Фибоначчи, которое входит в диапазон типа int.


3


Краткое описание документа:

Оператор цикла с постусловием в языке Си++ Цели и задачи урока: Образовательные: ·         ознакомление учащихся с новым для них видом цикла — цикла с постусловием; усвоение правильности описания этого вида цикла и программе на языке С++; ·         ознакомление учащихся по использованию нового вида цикла и сравнение с известным видом цикла ― циклом с постусловием ·         ознакомление с изменением программы, отладкой и просмотром полученных результатов (связь с прошлыми уроками); ·         контроль усвоения полученных знаний учащимися при выполнении самостоятельного задания; Развивающие:  развитие познавательных интересов, интеллектуальных и творческих способностей средствами ИКТ. Воспитательные: воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости. выработка навыков: развитие алгоритмического мышления, познавательных интересов, навыков работы на компьютер.
Автор
Дата добавления 09.06.2014
Раздел Информатика
Подраздел Конспекты
Просмотров640
Номер материала 124078060934
Получить свидетельство о публикации

"Инфоурок" приглашает всех педагогов и детей к участию в самой массовой интернет-олимпиаде «Весна 2017» с рекордно низкой оплатой за одного ученика - всего 45 рублей

В олимпиадах "Инфоурок" лучшие условия для учителей и учеников:

1. невероятно низкий размер орг.взноса — всего 58 рублей, из которых 13 рублей остаётся учителю на компенсацию расходов;
2. подходящие по сложности для большинства учеников задания;
3. призовой фонд 1.000.000 рублей для самых активных учителей;
4. официальные наградные документы для учителей бесплатно(от организатора - ООО "Инфоурок" - имеющего образовательную лицензию и свидетельство СМИ) - при участии от 10 учеников
5. бесплатный доступ ко всем видеоурокам проекта "Инфоурок";
6. легко подать заявку, не нужно отправлять ответы в бумажном виде;
7. родителям всех учеников - благодарственные письма от «Инфоурок».
и многое другое...

Подайте заявку сейчас - https://infourok.ru/konkurs


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ


Идёт приём заявок на международный конкурс по математике "Весенний марафон" для учеников 1-11 классов и дошкольников

Уникальность конкурса в преимуществах для учителей и учеников:

1. Задания подходят для учеников с любым уровнем знаний;
2. Бесплатные наградные документы для учителей;
3. Невероятно низкий орг.взнос - всего 38 рублей;
4. Публикация рейтинга классов по итогам конкурса;
и многое другое...

Подайте заявку сейчас - https://urokimatematiki.ru

Похожие материалы

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