УСЛОВНАЯ ОПЕРАЦИЯ Условная операция записывается следующим образом: <выражение1>?<выражение2>:<выражениеЗ> Значение условной операции определяется следующим образом: • сначала вычисляется <выражение1 >; • если <выражение1> истинно (не равно 0), то вычисляется <выражение2 >, значение которого становится результатом условной операции; • если <выражение1> ложно (равно 0), то в качестве результата берется значение <выражениеЗ >. Примеp. Дано х. Вычислить у ={ 1. Схема алгоритма Программа #include <stdio.h> int main() { double x, у; printf("Введите x "); scanf("%lf",&x); y= x<=0.6 ? x+0.5 : printf("y=%lf ",у); getchar(); return 0; } x/2+1; ОПЕРАТОР ВЫБОРА Оператор выбора (оператор переключатель) служит для выбора действий из нескольких возможных альтернативных вариантов. Оператор выбора имеет вид: switch (<переключатель>) { case <константа1>: <операторы1>; case <константа2>: <операторы2>; ....................... case <константаN>: <операторыN>; default: <операторы>; } Здесь switch — ключевое слово (название) оператора выбора; <переключатель> (селектор) — выражение (переменная) любого целого типа — char, short int, int, unsigned int, long int. case — ключевое слово; <константа> — константа выбора; default — ключевое слово, которое используется в случае, если ни одна из альтернатив не выбрана. Оператор выбора выполняется следующим образом: • сначала вычисляется значение выражения — <переключатель>; • затем это значение по очереди сравнивается с константами выбора; • если значение <переключатель> совпадает с какой-то константой выбора, то выполняются операторы, соответствующие этой константе выбора; • если выполненные операторы не предусматривают какого-либо перехода, то далее выполняются операторы всех следующих вариантов, пока не появится оператор перехода или не закончится оператор выбора; • если значение <переключатель> не совпало ни с одной из констант выбора, то выполняются <операторы>, соответствующие ключевому слову default. Пример. Ввести номер дня недели и вывести его название. Программа #include int main() { int n; printf("Введите номер дня недели "); scanf("%d",&n); switch (n) { case 1: printf("понедельник\n"); break; case 2: printf("вторник\n"); break; case 3: printf("среда\n"); break; case 4: printf("четверг\n"); break; case 5: printf("пятница\n"); break; case 6: printf("суббота\n"); break; case 7: printf("воскресенье\n"); break; default: printf("неверный номер дня недели\n"); } getchar(); return 0; } Оператор break — прерывания действия (оператор выхода из оператора выбора (или из оператора цикла). Программа будет выполняться следующим образом: если будет введено значение n меньшее 7 (0 или какое-нибудь отрицательное число) или большее 7 (8 и далее), то это значение не совпадет ни с одной константой выбора, тогда выполняется оператор, соответствующий ключевому слову default, и на экране появится текст: неверный номер дня недели Если же будет введено значение п, равное 3, то начнут выполняться операторы, соответствующие константе выбора 3: сначала оператор вывода printf ("среда\n");, затем выполнится оператор break, и выполнение оператора выбора будет закончено. На экране появится текст: среда Задание: Напишите программу для задачи, учитывая свойство алгоритма массовость. На проверку отправьте отчет: 1) Задача; 2) Моделирование (математическое или графическое); 3) Алгоритм в виде блок схемы; 4) Текст программы; 5) Скриншот выполненной программы. Задача: Написать программу, которая позволяет вычислить стоимость печати фотографий. Исходные данные: размер фотографий (9х12, 10х15 или 18х24) и их количество. Если заказанных фотографий больше 10, заказчику должна предоставляться скидка 10%.