Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
2017-12-11 | 218 |
5.00
из
|
Заказать работу |
|
|
(2 часа)
Цель работы: Научиться писать программы, используя операторы переключения switch в паре с оператором break, оператор перехода goto.
Теоретические сведения
Оператор варианта switch
Оператор выбора варианта switch заменяет несколько операторов if…else. Обычно оператор switch используется тогда, когда требуется выбор и выполнение только одной последовательности операторов из нескольких возможных, хотя возможности оператора switch не ограничиваются этим случаем.
Синтаксис оператора switch:
switch (<выражение>)
{
case <константное_выражение_1>:
<оператор 1>
[case <константное_выражение_2>:
<оператор 2>]
...
[case <константное_выражение_n>
<оператор n>]
[default:
<оператор>]
}
После вычисления <выражения> типа int в ( в заголовке оператора switch) результат сравнивается последовательно с <константными_выражениями>, стоящими после зарезервированных слов case, которые вместе с <константными_выражениями> являются внутренними метками оператора, После <константных_выражений> обязательно ставится признак метки ":". Сравнение значения <выражения> начинается с самого верхнего <константного_выражения> и далее, пока не будет установлено их соответствие. Тогда выполняются операторы после соответствующей метки case, на которую передается управление. Для того чтобы прекратить последовательное выполнение операторов и выйти из оператора switch, необходимо после группы операторов, принадлежащих выбранному case, поставить оператор break. Если break отсутствует, то последовательно выполняются все операторы, а метки не учитываются.
Последовательность операторов, стоящих после слова default (умолчание),выполняется тогда, когда значение <выражения> не совпадает ни с одним < константным_выражением>. Пример показывает возможности оператора switch. Функция error_message выводит одно из трех сообщений в зависимости от значения, когда ошибки (параметр error_code).
|
Пример
void error_message(int error_code)
{ switch(error_code)
{ case 1: printf("\n сообщение 1"); break;
case 2: printf("\n сообщение 2"); break;
case 3: printf("\n сообщение 3"); break;
default: printf("\n неверный код ошибки");
}
}
Пример
/* ЗАНЯТИЕ N 5
Выполнил студент группы......... Петров Ю.В.
Применение операторов if, switch, тернарной операции (?:)
на примере простого калькулятора. Более сложные условия
для оператора switch приведены в тексте программы */
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main(void)
{ float a,b,rez;
int s,p,h;
char oper, flag=' ';
clrscr();
printf("\n Введите через пробел два числа: ");
scanf(" %f %f ", &a, &b);
printf(" Введите знак операции (+ - * /): ");
oper1: oper=getche();
switch(oper)
{ case '+': rez=a+b; break;
case '-': rez=a-b; break;
case '*': rez=a*b; break;
case '/': rez=a/b; break;
default: printf("\n Повторите ввод знака: ");
goto oper1;
}
printf("\n Результат операции: %5.2f\n",rez);
oper2: printf("\n Введите цифру в интервале (-9...+9): ");
scanf("%d",&s); //Условия для оператора switch:
if(s<0) //если s=0, то - a++, p++, h++
{ s=abs(s); //если s=1, то - p++, h++
flag='-'; //если s=2, то - h++
} //если s=3, то - a--
else flag=' '; //если s=4, то - p--
if(s<=9) //если s=5, то - h--
//если s=6..7, то - a=1, p=1, h=1
switch(s) //если s=8, то - a=0, p=0, h=0
{case 0: a++;
case 1: p++;
case 2: printf("\tВы ввели %c%d",flag,s); h++; break;
case 3: printf("\tВы ввели %c%d",flag,s); a--; break;
case 4: printf("\tВы ввели %c%d",flag,s); p--; break;
case 5: printf("\tВы ввели %c%d",flag,s); h--; break;
case 6: case 7: printf("\tВы ввели %c%d",flag,s);
a=1; p=1; h=1; break;
case 8: printf("\tВы ввели %c%d",flag,s);
a=0; p=0; h=0; break;
default: printf("\tВы ввели %c%d \n\
на границе интервала",flag,s);
goto oper2;
}
else { printf("\tВы ввели число вне интервала (-9...+9)\n");
goto oper2;
}
printf("\n Результат switch: a=%5.2f p=%2d h=%2d\n",a,p,h);
getch();
if (p==0) {b=10; a=10;}
else {b+=b/p; a+=a/p;}
printf("\n Результаты вычислений: a=%5.2f b=%5.2f",a,b);
rez=(b<a)?b:a;
printf("\n Результат тернарной операции: res=%5.2f",rez);
getch();
return 0;
|
}
/*Введите через пробел два числа: 54 32
Введите знак операции (+ - * /): /
Результат операции: 1.69
Введите цифру в интервале (-9...+9): -9
Вы ввели -9 на границе интервала
Введите цифру в интервале (-9...+9): -6
Вы ввели -6
Результат switch: a= 1.00 p= 1 h= 1
Результаты вычислений: a= 2.00 b=64.00
Результат тернарной операции: res= 2.00 */
Ход работы
6 В соответствии с индивидуальным заданием разработать программу с применением операторов ветвления, выбора варианта, разрыва, перехода (при составлении программы использовать операторы if…else, switch, break, goto, операцию (?:) в двух-трех вариантах).
7 Набрать программу и устранить ошибки.
8 Изучить работу операторов, различные возможности их применения.
9 Получить результаты.
10 Оформить отчет и сделать выводы по работе, изучив контрольные вопросы по теме.
Задание к лабораторной работе
Используя оператор case, составьте программу для решения следующей задачи.
Вариант mn. Вычислите таблицу значений функции
для целочисленных значений аргумента x из интервала [Хн,Хк]. Множества Х1,Х2,Х3,Х4 и функции f1,f2,f3,f4 заданы в таблицах 5,6.
Таблица 5
m | Xн | Xк | X1 | X2 | X3 | X4 |
-10 | нечетные числа из интервала [6,12] | четные числа из интервала [6,12] | [-2,5] | остальные числа | ||
четные числа из интервала [10,20] | нечетные числа из интервала [10,20] | [1,8] | остальные числа | |||
числа, кратные 3 из интервала [10,20] | числа, некратные 3 из интервала [10,20] | [2,5] и [21,24] | остальные числа |
Таблица 6
n | f1(x) | f2(x) | f3(x) | f4(x) |
px2+sinx | 10x3-tg(x/5) | cospx | e-x/4 | |
ln2(x2+1,5) | e-2x | sinpx | arctg(3x) | |
e2x-5 | cos2(px) | ln(x2+2,5) | arcsin(x/30 | |
arccos(x/35) | e2x-10 | ln2(3x+1) | sin(2px) | |
e-x/10 | arctg(4x) | |8x3-20| | ||
tg2(x/5) | 2sin(x/p) | ex+2 | ||
e2x-15 | ln|x+1,5| | sin3(x2) | ||
5e-x | sin(px2/2) | arctg(x/3) | ||
psin(px/3) | ex/10+2 | cos2|x| | ||
ln(x3+1,8) | sin(3x+p) | x2+5x |
Лабораторная работа №9
Операции С, их приоритеты и использование.
Преобразование типов
(4 часа)
Цель работы: Изучить основные логические, арифметические и другие операции С, научиться правильно составлять выражения С, изучить приоритеты операций С, научиться использовать преобразование типов.
Теоретические сведения
Язык С имеет мощную арифметическую и логическую основу, которая позволяет быстро, компактно и эффективно писать код программы. В С разработано множество базовых арифметических и логических операций, а также функции библиотеки математической поддержки языка. Операндами операций могут быть выражения определённых видов, зависящих от операции. В простейшем случае операндами являются переменные. Переменные, прежде чем они будут использованы, должны быть объявлены с определённым спецификатором типа.
|
Таблица 6.1 - допустимые операции над переменными
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ | ||
Операция | Пояснение | Пример |
* | Умножение | A=b*c; |
/ | Деление (для целых – нацело) | a=b/c; |
% | Остаток от деления (для целых) | a=b%c; |
<операция x> = + =; - =; * =; / =; % = | составное присваивание Изменить и заменить | a+=3; или a=a+3; a%=c; или a=a%c; |
++ | Инкремент(увеличить на 1) | с++; или с=с+1; + + а |
-- | Декремент(уменьшить на 1) | с--; или с=с-1; - - а |
+ | Бинарный плюс (сложение) | A=b+c; |
- | Бинарный минус (вычитание) | A=b-c; |
ЛОГИЧЕСКИЕ ОПЕРАЦИИ | ||
Операция | Пояснение | Пример |
&& | "И" | a&&b |
|| | "ИЛИ" | a||b |
! | "НЕ" | !a |
== | "РАВНО" | a= =b |
!= | "НЕ РАВНО" | a!=b |
> | "БОЛЬШЕ" | a>b |
>= | "БОЛЬШЕ ИЛИ РАВНО" | a>=b |
< | "МЕНЬШЕ" | a<b |
<= | "МЕНЬШЕ ИЛИ РАВНО" | a<=b |
ПОБИТОВЫЕ ОПЕРАЦИИ (ПОРАЗРЯДНЫЕ) | ||
Операция | Пояснение | Пример |
& | “И” (and) | 1&1=1; 1&0=0;0&0=0; |
| | “ИЛИ” (or) | 1 | 1=1; 1 | 0 =1; 0 | 0=0; |
^ | “ИСКЛЮЧАЮЩЕЕ ИЛИ” | (xor) 1^1 = 0; 1 ^ 0=1; 0^0=0; |
~ | “ОТРИЦАНИЕ” (not) | ~1=0; ~0=; |
<< | “СДВИГ ВЛЕВО” (shl) | 0001b<<2=0100b; (буква b означает что число двоичное) |
>> | “СДВИГ ВПРАВО” (shr) | 0010b >> 1=0001b; |
<операция _х >= | составное присваивание. Изменить и заменить, где <операция _х > может быть: &,|,^,>>,<<. | а&=b или a = &b a^=bилиa = a^b a<<=bили a<<b |
|
|
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!