Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОАиП 2 Семестр / 2_3_разветвл_циклыОАиП.doc
Скачиваний:
31
Добавлен:
21.03.2016
Размер:
1.99 Mб
Скачать

Тесты к задаче 1.2

Тест №

Значение x

Значение y

Формула для вычисления y

Тест 1

-7.2

-14.4

y=2x

Тест 2

0

0

y=sinx

Тест 3

1.5707968

»1

y=sinx

Тест 4

5

-0.9589

y=sinx

Тест 5

6

36

y=x2

Тест 6

10

20

y=2x

Тест 7

11

121

y=x2

3.2.4 Выбор из большого числа вариантов

Выбор из многих вариантов можно сделать с помощью вложенных операторов if - else. Более удобный способ – использование операторов switch и break. Общий вид оператора выбора:

switch (i)

{

case k1 : op1;

[ break;]

case k2 : op2;

[ break;]

case kn : opn; Рис.3.6 Структура команды выбора,

[ break;] соответствующая оператору switch с

[ default : opn+1;] оператором break после каждого case

}

Здесь i – любое выражение, дающее целое значение ( в том числе – символьное);

k1, k2, …, kn – константы или константные выражения - возможные значения i (например, 2*g, 'a'-'b', '1") – записываются после слова case;

op1, op2, …, opn, opn+1 – простые или составные операторы языка.

Рассмотрим примеры решения задач с использованием оператора выбора.

Задача 3. Задан номер текущего дня недели. Вывести названия дней, оставшихся до конца недели, включая текущий день.

/* Программа задачи 3 */

#include <stdio.h>

#include <math.h>

main()

{

int k; // Номер дня недели

puts("Введите номер дня недели");

scanf("%d",&k);

printf("До конца недели:\n");

switch (k)

{

case 1: puts("Понедельник ");

case 2: puts ("Вторник ");

case 3: puts ("Среда ");

case 4: puts ("Четверг ");

case 5: puts ("Пятница ");

case 6: puts ("Суббота ");

case 7: puts ("Воскресенье \n");

break;

default: puts ("Неправильно введен номер дня недели");

}

fflush(stdin); getchar();

return(0);

}

Следующий пример показывает, что после case ki : может не быть оператора.

Задача 4. Ввести символ и определить, является ли он цифрой.

Решение. Пусть k – вводимый символ. В программе использованы операторы ввода-вывода в стиле Си.

В задаче 5 используется оператор выбора с оператором break после каждого case ki :

Задача 5. Дано целое число в диапазоне 1 – 5. Вывести строку — словесное описание соответствующей оценки (1 — "плохо", 2 — "неудовлетворительно", 3 — "удовлетворительно", 4 — "хорошо", 5 — "отлично").

Решение. В программе N- число, которое вводится, а затем анализируется. Если ввести, например, 4, то программа выведет слово "Хорошо", а если ввести 7, то программа выведет строку "Нет оценки" и т.д. В программе использованы операторы ввода-вывода в стиле С++.

Программа задачи 4 Программа задачи 5

#include <stdio.h>

main()

{

char k;

puts("Введите символ");

k=getchar();

switch (k)

{

case '1':

case '2':

case '3':

case '4':

case '5':

case '6':

case '7':

case '8':

case '9':

case '0':printf("Это число %c\n",k);

break;

default: printf("%c-не число\n",k);

}

fflush(stdin);

getchar();

return(0);

}

#include <stdio.h>

#include <iostream.h>

main()

{

int N;

cout << "\nВведите число ";

cin >> N;

switch (N)

{

case 1: cout << "\nПлохо";

break;

case 2: cout << "\nНеуд.";

break;

case 3: cout << "\nУдовл.";

break;

case 4: cout << "\nХорошо";

break;

case 5: cout << "\nОтлично";

break;

default: cout << "\nНет оценки ";

}

fflush(stdin);

getchar();

return(0);

}

Соседние файлы в папке ОАиП 2 Семестр