Студопедия  
Главная страница | Контакты | Случайная страница

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

Оператор вибору в мові С

Читайте также:
  1. Begin IF умова 2 THEN оператор 1 end
  2. Begin оператори; end.
  3. Do While операторы.
  4. Else 2-оператор;
  5. While цикл операторы
  6. Анализ безопасности оператора работающего на горизонтально-сверлильно-фрезерном станке с ЧПУ Milturn M65
  7. Анализ деятельности оператора
  8. Арифметические операторы
  9. Арифметические операторы и операторы присваивания
  10. В результате выполнения оператора IF B THEN S1 ELSE S2 при условии, что B – истинно: S1

 

Завдання: Вивчити теоретичний матеріал, законспектувати у зошит. Виконати практичне завдання

 

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

Рассмотрим ситуацию, когда решение задачи включает много операций ветвления. Выполнение: Исполнитель(ЭВМ) проверяет условие1 (логическое выражение). Если условие1 истинно, то выполняется команда1 и на этом выполнение всей команды выбора завершается. Если же условие1 окажется ошибочной, то проверяется условие2 и если она истинная, то выполняется команда2 и на этом выбор завершится и так далее. Если все условия будут ошибочные, то выполняется последняя, предусмотренная для этого случая, команда. Итак, выполняется лишь одна из серий команд, а именно та, которой отвечает первое истинное условие.

       
   
 

 


 

 

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

if (условие1)

оператор1;

else if (условие2)

оператор2;

else if (условие3)

oператор3;

else операторN;

Конечно, операторы 1-N могут быть и составными, т.е. состоять из многих операторов, заключених в операторные скобки{…}.

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

Выполняется он так: Если значение выражения (селектора) совпадает со значением из некоторого списка, то выполняется соответствующий оператор и выполнения завершается (другие списки не проверяются и операторы не выполняются). Список значений может состоять из одного или нескольких элементов или может обозначаться определенным інтервалом.. Если значение селектора не войдет в ни один список, тогда будет выполнен оператор, записанный после default (этой части может и не быть, тогда никакое действие не выполнится). Выражение после слова switch и значение в списках должны принадлежать к одному из порядковых типов: целого, символьного или типа пользователя, это требование и ограничивает использование оператора выбора.

 

Общий вид оператора выбора

switch (выражение)

{

case константа1: оператор1;

case константа2: оператор2;

………………………

default: операторN;

}

!!! При совпадении значений константы и выражения выполняется оператор, помеченный данной константой. Если выполненные операторы не предусматривают какого-либо перехода, то далее выполняются операторы всех последующих вариантов, пока не появиться оператор перехода или не закончиться оператор switch. Для окончания выполнения switch после выполненных операторов нужной ветки используется оператор break, прерывающий работу switch.

Вместо операторов 1-N можно записывать по несколько операторов, разделяя их символом;.

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

Пример: Ввести номер дня и вывести его название.

Решение с помощью вложенныхif Решение с помощьюswitch
#include <stdio.h> #include <conio.h> void main() { int d; printf(“\n Введите номер дня”); scanf(“%d”, &d); if (d==1) printf(“Понедельник”); else if (d==2) printf(“Вторник”); else if (d==3) printf(“Среда”); else if (d==4) printf(“Четверг”); else if (d==5) printf(“Пятница”); else if (d==6) printf(“Суббота”); else if (d==7) printf(“Воскресенье”); else printf(“Такого дня нет!”); getch(); } #include <stdio.h> #include <conio.h> void main() { int d; printf(“\n Введите номер дня”); scanf(“%d”, &d); switch (d) { case 1: printf(“Понедельник”); break; case 2: printf(“Вторник”); break; case 3: printf(“Среда”); break; case 4: printf(“Четверг”); break; case 5: printf(“Пятница”); break; case 6: printf(“Суббота”); break; case 7: printf(“Воскресенье”); break; default: printf(“Такого дня нет!”); } getch(); }

 

Задание для выполнения

 

Написать программу для решения задачи двумя способами, нарисовать блок-схему.

На складе есть компьютеры 5 моделей. Каждая модель имеет название и стоимость. Задать номер модели и получить ее ее название и стоимость.

Література:

1. Глинський Я.М., Анохін В.Є., Ряжська В.А. С++ і С++ Builder. – Львів: Деол, СПДГлинський, 2003.

2. Подбельский В.В.. Фомин С.С. Программирование на языке Си. – Москва «Финансы и статистика». 1999 г.

 

 




Дата добавления: 2014-12-23; просмотров: 19 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав