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: можна ставити тільки перед початком директиви.