Оператор множественного выбора (переключатель) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Оператор множественного выбора (переключатель)



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

Структура оператора выбора:

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

{

case <значение_выражения_1>: <оператор_1>; break;

case <значение_выражения_2>: <оператор_2>; break;

[default: <оператор_n>; break;]

}

<выражение> в операторе switch – значение любого простого типа;

<значения_выражений>, указанных в операторах case, совместимы по типу с <выражением> в операторе switch и обязательно должны отличаться друг от друга.

В случае равенства <выражения> <значению_выражения_1>, выполняется <оператор_1>; иначе, в случае равенства <выражения> <значению_выражения_2>, выполняется <оператор_2>; иначе, и так далее до последнего оператора case;

иначе, если <выражению> не соответствует ни одно значение в операторах case, то управление передается <оператору_n> после ключевого слова default, которое является необязательным.

Если отсутствует оператор default, то выполняется следующий оператор после оператора switch (после }).

Внутри оператора switch оператор break приводит к передаче управления следующему оператору, стоящему после оператора switch, т.е. используется для выхода из переключателя. Если break отсутствует, то после текущего раздела case будет выполняться следующий оператор в операторе switch (case или default).

II. Контрольные вопросы.

1. Что такое условная конструкция?

2. Структуры условного оператора.

3. Как работает условный оператор?

4. Что представляет собой структура оператора множественного выбора?

5. Как работает оператор множественного выбора?

 

III. Практическая часть.

1. Выполнение общего задания.

Задача 1.

1. Постановка задачи: разработать алгоритм вычисления и вывода на экран значения функции

 

 

x+2, если x<0;

y = x3+5, если x≥π/2;

sin x+0,5, если 0≤x<π/2;

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

2. Математическая модель и описательный алгоритм задачи:

• ввести значение переменной x;

• если x<0, то y=x+2;

• иначе, если x≥π/2, то y=x3+5;

• иначе, если 0≤x<π/2, т.е. во всех других случаях, y=sin x+0,5;

• вывести значение переменной y.

3. Блок-схема алгоритма задачи:

4. Текст программы:

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{

const float p=3.14;

float x,y;

printf(“\n input x:”);

scanf(“%f”,&x); // ввод числа в форме с плавающей точкой

if (x<0)

y=x+2;

else

if (x>=p/2)

y=pow(x,3)+5;

else

y=sin(x)+0.5;

printf(“\n output y=%f”,y);

getch();

return 0;

}

5. Тестирование:

Теоретически рассчитанное выходное значение Практически полученное выходное значение
Тест 1: входные данные: x=-1 (условие x<0)
y=? y=?
Тест 2: входные данные: x=π≈3,14 (условие x≥π/2)
y=? y=?
Тест 3: входные данные: x=0 (условие 0≤x<π/2)
y=? y=?
Тест 4: входные данные: x=π/3≈1,0466 (условие 0≤x<π/2)
y=? y=?

Задача 2.

1. Постановка задачи: разработать алгоритм вычисления и вывода на экран значения функции b по формуле . Значения x, y вводятся с клавиатуры. Написать программу, реализующую разработанный алгоритм.

2. Математическая модель и описательный алгоритм задачи:

• так как функция b(x,y) определена не на всех значениях x, y, то необходимо определить область допустимых значений (ОДЗ): x4-1≥0 и 1-cos(x)≠0, но из-за невозможности достижения нулевого результата в форме с плавающей запятой при вычислении выражения 1-cos(x), следует сравнивать его с некоторой бесконечно малой величиной ε (например, ε=0,0001);

• ввести значения в переменные x, y;

• объявить константу е=0,0001;

• проверить условия: если x4-1≥0 и 1-cos(x)>e, то вычислить значение переменной b по формуле и вывести полученное значение;

• иначе вывести информацию о том, что входные значения не удовлетворяют ОДЗ и выйти из алгоритма.

3. Блок-схема алгоритма задачи:

4. Текст программы:

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{

const float e=.0001;

float x,y,b;

printf(“\n input x, y:”);

scanf(“%f%f”,&x,&y);

if (pow(x,4)-1>=0 && 1-cos(x)>e)

{

b=(sqrt(pow(x,4)-1)-3*x*y)/(1-cos(x));

printf(“\n output b=%f“,b);

}

else

printf(“\nx не удовлетворяет ОДЗ”);

getch();

return 0;

}

5. Тестирование:

Теоретически рассчитанное выходное значение Практически полученное выходное значение
Тест 1: входные данные: x=1.5, y=3 (условие x4-1≥0 и 1-cos(x)>e)
b=? b=?
Тест 2: входные данные: x=0,3 (условие x4-1<0 или 1-cos(x)<=e)
х не удовлетворяет ОДЗ х не удовлетворяет ОДЗ

 



Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 352; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.251.68 (0.008 с.)