Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Робочий зошит з праграмув на 1 сем.doc
Скачиваний:
5
Добавлен:
10.11.2019
Размер:
5.14 Mб
Скачать

Команда вибору (switch).

Команда вибору має вигляд:

switch (<вираз>);

{

case <ознака 1> : <команда 1>; break;

case <ознака N> : <команда N>; break;

default : <команда N+1>;

}

Вираз та ознаки мають бути цілочисельні. Оскільки транслятор мови С++ може розглядати значення змінних типу char і enum як цілі дані, то на місці виразу та ознак можуть бути сталі цілого, символьного або перерахованого типів. На місці команд 1 – N може бути одна команда, декілька або не бути жодної команди. Команда break не є обов’язковою і записується у разі потреби. Вона слугує для виходу з команди switch.

Складова частина default : <команда N+1> також може бути відсутня – тоді матимемо коротку форму команди вибору switch.

Дія команди. Якщо значення виразу збігається зі значенням ознаки п, то виконується команда з номером п і розглядається наступний за нею рядок case і т. д. Для того, щоб припинити дію команди switch, наприклад, після виконання команди п (тобто щоб вийти з цієї команди), записують команду break;. Якщо значення виразу не збігається із жодною з ознак, то виконується команда N+1 або, у випадку короткої форми, наступна команда після команди switch.

Задача 4 (про квитки). Нехай населені пункти позначені номерами від 1 до 8. Вартість одного квитка до конкретного пункту k визначається так:

Скільки коштуватимуть т квитків до населеного пункту, номер k якого вводять з клавіатури?

#include <iostream.h>

#include <conio.h>

void main()

{

int k, m;________________________________________________________

float cina;_________________________________________________________

cout << “Уведіть номер k населеного пункту і кількість квитків m ”;

cin >> k >> m;

switch (k)___________________________________________________________

{

case 1: cina = 22; break;______________________________________________

case 2:____________________________________________________________

case 3:

case 4: cina = 25; break;_____________________________________________

case 5:

case 6: cina = 30; break;_________________________________________________

case 7:

case 8: cina = 35; break;

default :______________________________________________________________

cout << “Дані введено неправильно \n”;

cina = 0;_____________________________________________________________

}

cout << m << “квитків до пункту” << k << “ коштують”;_____________________

cout << cina *m << “ грн”;______________________________________________

getch();

}

Якщо під час виконання програми дані ввести так: 3 5, то на екрані матимемо: 5 квитків до пункту 3 коштують 125 грн.

Команда безумовного переходу goto.

Ця команда змінює послідовність виконання інших команд шляхом переходу до виконання команди, що має позначку (мітку). Команда переходу має вигляд

goto <позначка>;

Позначка може розміщуватись перед довільною командою у програмі. Вона відокремлюється від команди двокрапкою (:), а саме:

<позначка> : <команда>;

Позначка може бути лише ідентифікатор, тобто набір допустимих символів, який починається з букви або символу підкреслення ( _ ).

Задача 5 (про квадратне рівняння). Ввести декілька наборів коефіцієнтів квадратного рівняння і вивести повідомлення: матиме рівняння дійсні корені чи ні?

// Програма Квадратне рівняння

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main

{

clrscr();

float a, b, c, d;

vvid : cout << “\n Уведіть коефіцієнти рівняння \n”;

cin >> a >> b >> c;_____________________________________________________

if (a == 0) goto finish; __________________________________________________

d = pow(b, 2) – 4 * a * c; ________________________________________________

if (d >= 0) cout << “Це рівняння має корені”;_______________________________

else __________________________________________________________________

{

cout << “Дані введено неправильно \n”; __________________________________

cout << “Рівняння дійсних розв’язків не має”;______________________________

goto vvid; ____________________________________________________________

}

finish : getch();_________________________________________________________

}

Зауваження 4. Використовувати команду goto варто лише у виняткових випадках, оскільки вона змінює природну послідовність виконання команд і робить програму важкозрозумілою.