Int main()

{

const float Pi=3.1415926536;

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.

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








Дата добавления: 2015-10-19; просмотров: 575;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.