Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
30.05.2020
Размер:
80.9 Кб
Скачать

Void main()

{int а, b, з, d, е, f;

int max;

clrscr();

cout « “введи 6 цілих чисел ”;

сin >> а >> b >> с; // Введення з клавіатури.

сin >> d >> е >> f;

max = а;

if (max < b)max = b; // Якщо max < b істинно, то в max засилається b.

if (max < c)max = c; // Якщо max < с істинно, то в max з засилається с.

if (max < d)max = d; // Якщо max < d істинно, то в max засилається d.

if (max < e)max = e; // Якщо max < e істинно, то в max засилається e.

if (max < f)max = f; // Якщо max < f істинно, то в max засилається f.

cout << “max= “ << max << “\n”;

getch(); }

Код програми складається з послідовності майже однакових директив. Тому без усиль можна скласти програму обчислення максимуму для будь-якої кількості змінних.

Програма 6. Знайти корені рівняння а*х2+b*х + с = 0.

Залежно від параметрів це рівняння може бути:

квадратним, якщо а 0; тотожністю, якщо а = b= с = 0;

лінійним, якщо а = 0, b 0; не мати сенсу, якщо а = b = 0, а с ≠ 0.

Алгоритм вирішення задачі можна сформулювати таким чином:

Крок 1. Встановлюємо значення змінних а,b та с.

Крок 2. Якщо а ≠ 0, вирішуємо квадратне рівняння.

Крок 3. Якщо а = 0, b ≠ 0, вирішуємо лінійне рівняння.

Крок 4. Якщо а = b = с = 0, вирішуємо як тотожність.

Крок 5. Якщо а = b = 0, а с ≠ 0, то констатуємо, що рішень немає.

Void main()

{ float а, b, с, d; // а, b, с – змінні для коефіцієнтів рівняння.

float x1, x2; // x1, x2 – змінні для коренів рівняння.

clrscr();

cout << “Введи коефіцієнти рівняння ”;

cin >> а >> b >> с;

if (а != 0) // Якщо вираз а != 0, то рівняння квадратне.

{ d = b * b - (4 * а * с); // Обчислюємо дискримінант.

if (d >= 0) // Якщо вираз d >= 0 істинний, то

{ d = sqrt(d); // рівняння має два корені.

x1= (-b + d)/(2 .* а);

x2 = (-b - d)/(2. * а);

cout <<“Корні :\n x1= “ << x1 << “\nx2= “ << x2 << “\n”; }

else // Якщо d < 0 помилково, то дійсних коренів немає.

cout << “Рівняння не має дійсних коренів. \n”;

} // Випадок а != 0 розглянутий.

else // Випадок а = 0. Рівняння лінійне і має вид bx + с = 0

{ if (b != 0) // Випадок b не рівний нулю.

cout << “Рівняння має один корінь x1= “ << с/b << “\n”;

else { // Випадок b = 0.

if ( с == 0) // Випадок а = 0, b = 0, с = 0.

cout << “Будь-яке число є коренем рівняння\n”;

else // Випадок а = 0, b = 0, с != 0.

cout << “Рівняння не має решений\n”; }

} getch(); }

Оператор вибору switch призначений для вибору варіанту обробки інформації (тобто дана інструкція, як і умовний оператор, управляє порядком виконання кодів). Оператор switch має наступну загальну форму запису:

switch (<вираз>)

{

case C1:

S1

break;

case C2:

S2

break;

case CK:

SK

break;

default:

SD

break;

}

SS;

Тут switch, case, break, default ключові слова мови С; <вираз> – це код, в якому використовуються змінні цілого або символьного типу; C1, C2 ., CK константи, тип яких співпадає з типом <вираз>; S1, S2 ., SK послідовність директив; SS перший код, який слідує після оператора вибору.

Порядок виконання оператора вибору:

  • обчислюється <вираз>;

  • якщо одна з констант C1, C2 ., CK співпадає із значенням виразу, то програма передає управління на відповідну мітку case і виконується відповідна послідовність операторів до директиви break. Потім виконується код SS.

Оператори SD, які слідують за інструкцією default, виконуються в тому випадку, якщо значення виразу не співпало ні з однією з констант C1, C2 ., CK. Оператор default може бути відсутній.

Програма 7. Шаблон меню.

void main(void){ int k;

clrscr();

cout << "\n\nКоманды меню:\n\n";

cout << "1 Команда\n";

cout << "2 Команда\n";

cout << "3 Команда\n";

cout << "4 Команда\n";

cout << "\nВведи команди меню: ";

scanf("%d",&k);

switch (k)

{

case 1 cout << "Ви вибрали 1-у команду ";

getch();

break;

case 2 cout << "Ви вибрали 2-у команду ";

getch();

break;

case 3 : cout << "Ви вибрали 3-у команду ";

getch();

break;

case 4 : cout << "Ви вибрали 4-у команду ";

getch();

break;

default : cout << "Команда меню з номером" << k << "відсутня\n"; } }

Оператор безумовного переходу, який має вигляд:

goto L ;

Тут L – ім'я мітки оператора програми. Оператор безумовного переходу передає управління на виконання директиви, яка слідує за влучною L: Іншими словами, програма починає працювати з того місця, яке помічене символом L: Мітку L: можна ставити тільки перед початком директиви.

6

Соседние файлы в папке Лекції