Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Float x, y, s_left, s_right, alfa, sin_alfa, segment;




printf(“\nx= ”);

scanf(“%f”, &x);

if (x<=1.0) // первый участок

{

y=sqrt(1.0 - (x - 1.0) * (x - 1.0));

if (x<=0.0)

y=0.0;

}

Else

{ // второй участок

y=sqrt(1.0 - (x - floor(x)) * (x - floor(x)));

if (x>=2.0)

y=0.0;

}

if (x==1.0) // двойной знак равенства!

{

s_left=0.7854;

s_right=0.7854;

}

if (x<1.0) // первый участок

{

sin_alfa=y;

if (sin_alfa!=1.0)

alfa=atan(sin_alfa/sqrt(1.0 - sin_alfa*sin_alfa));

else alfa=Pi/2.0;

segment=0.5*(alfa - sin_alfa);

s_left=segment + 0.5*x*y;

s_right=Pi/2.0 - s_left;

} //x<1.0

if (x>1.0) // второй участок

{

x=2.0-x;

sin_alfa=y;

if (sin_alfa!=1.0)

alfa=atan(sin_alfa/sqrt(1.0 - sin_alfa*sin_alfa));

else alfa=Pi/2.0;

segment=0.5*(alfa - sin_alfa);

s_left=segment + 0.5*x*y;

s_right=Pi/2.0 - s_left;

} //x>1.0

printf(“\ny=%6.3f”, y);

printf(“\n s_left=%6.3f”, s_left);

printf(“\n s_right=%6.3f”, s_right);

Return 0;

}

Переключатель

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

 

В языке Си переключатель реализуется оператором:

Switch (селектор)

{

case метка-1: оператор-1;

Break;

case метка-2: оператор-2;

Break;

case метка-3: оператор-3;

Break;

.................

default: оператор-n;

}

где switch – служебное слово переключатель,

case – служебное слово вариант,

селектор – переменная или выражение целого типа (обязательно ставится в скобках);

метка-1, метка-2,…метки вариантов – значения селектора – целые числа, символы или имена констант,

break – служебное слово прервать,

default – служебное слово по умолчанию (не обязательно).

Действия оператора:

1) вычисляется значение селектора;

2) это значение отыскивается среди меток вариантов;

3) выполняется оператор, стоящий за найденной меткой;

4) если далее стоит оператор break, то осуществляется выход из переключателя, иначе выполняется следующий оператор в нем;

5) если метка не найдена, то выполняется оператор, стоящий за словом default.

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

Switch (селектор)

{

case метка-1: case метка-2: case метка-3: оператор-1;

Break;

case метка-4: case метка-5: оператор-2;

Break;

case метка-6: оператор-3;

Break;

.................

default: оператор-n;

}

Эту структуру можно представить в следующем виде:

Switch (селектор)

{

case метка-1:

case метка-2:

case метка-3: оператор-1;

Break;

case метка-4:

case метка-5: оператор-2;

Break;

case метка-6: оператор-3;

Break;

.................

default: оператор-n;

}

Внимание! Метки вариантов не должны повторяться!

Если в переключателе убрать операторы break, то после выполнения оператора, стоящего за найденной меткой вариантов, выполняются все оставшиеся операторы, в том числе и оператор после слова default:

Int i;

printf(“\nВведите цифру:”);

scanf(“%d”, &i);

Switch (i)

{

case 0: printf(“\nЭто цифра ноль”);

case 1: case 2: printf(“\nЭто цифра один или два”);

default: printf(“\nЭто неизвестная цифра”);

}

При вводе цифры 0 на экран будут выведены сообщения:

Это цифра ноль






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных