Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Листинг 5. Использование цикла while и инструкции break.

Читайте также:
  1. I ФУНДАМЕТНЫ. ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  2. I ФУНДАМЕТНЫ. ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  3. I.2 Операторы цикла с присваиванием.
  4. I.3. Оператор цикла с предусловием.
  5. I.ФУНДАМЕНТЫ, ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  6. REPEAT и WHILE
  7. Text 9: While the Auto Waits
/*break*/main() { int temp; float celsius; printf("Введите значение температуры в пределах от 0 до 100. Ввод значения 555 прекращает работу программы: "); scanf("%d", &temp); while (temp!= 555) { while ((temp < 0 || temp > 100) && temp!= 555) { printf("Ошибка, повторите ввод: "); scanf("%d", &temp); } if (temp == 555) break; celsius=(5.0/9.0)*(temp-32); printf("%d градусов по Фаренгейту соответствует %6.2f по Цельсию\n", temp, celsius); printf("Значение введено, для прекращения работы наберите 555: "); scanf("%d", &temp); } }

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

Считается, что при правильном вводе данных значения чисел лежат в промежутке от 0 до 100 или равны 555, причем ввод последнего немедленно прекращает работу программы, так как в ней записаны инструкции:

if (temp == 555) break;

Инструкция break завершает цикл, в который она помещена, так же, как если бы условие while или условие цикла for перестало выполняться.

Все программы перевода значений температур из одной шкалы в другую, приведенные в этой работе, являются «правильными» программами. Во всех этих примерах мы применяли различный подход и использовали разные алгоритмы для выполнения одной и той же задачи. Если в программе присутствует запрос о необходимости прекращения работы, пользователю не надо помнить, какое именно специальное значение он должен ввести для прекращения работы, но зато при каждом повторе цикла он должен отвечать на дополнительный вопрос помимо ввода собственно значения температуры. Использование специальных значений, вроде числа 555 в нашем примере, избавляет от необходимости лишний раз нажимать на клавиши. Однако неудобство этого способа состоит в том, что нельзя использовать некоторые значения, которые могут оказаться корректными данными. Например, если прекращение работы программы происходит при вводе отрицательного значения, как тогда быть, если мы хотим преобразовать значения температуры ниже нуля?

Критерии «правильности» программы определяются тем, выполняется ли она без ошибок и работает ли она столько времени, сколько требуется.

  Вопросы
  1. Какими критериями вы будете руководствоваться при выборе цикла for, do или while?
  2. Какие функции выполняют параметры for?
  3. В каком случае прекращается выполнение цикла for?
  4. Что такое вложенный цикл?
  5. Как можно использовать флаг?
  6. Каково назначение инструкции break?
   

 

 

  Упражнения
1. Напишите программу, которая рассчитывает сумму 6-процентного налога на продажи для товаров, имеющих стоимость в пределах от 1 до 50 долларов, и выводит информацию на экран монитора в виде таблицы Цена Налог Итого 1.06 1.06 2.12 2.12
  1. Напишите программу, которая вводит десять чисел в пределах от 0 до 25.
3. Напишите программу, которая выводит на дисплей следующий график: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4. Объясните, почему следующая программа написана неправильно: main() { float row, column; puts("\t\tТаблица Пифагора\n\n"); for (row = 1; row <= 10; row++) { for (column = 1; column <= 10; column+) printf("%d", row * column); } putchar('\n'); }

 


Дата добавления: 2015-07-08; просмотров: 161 | Нарушение авторских прав


Читайте в этой же книге: Использование цикла for | Вложенные циклы | Листинг 1. Программа создания таблицы умножения. | Использование цикла do...while |
<== предыдущая страница | следующая страница ==>
Проектирование программы| Лабораторная работа

mybiblioteka.su - 2015-2024 год. (0.006 сек.)