Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы по программированию / Osnovy_programir_zadania.doc
Скачиваний:
38
Добавлен:
03.03.2016
Размер:
2.78 Mб
Скачать
      1. Складений оператор

Якщо в одній з гілок оператора if або відразу в обох по логіці програми потрібно виконати декілька операторів, то використовують складений оператор, який поєднує послідовність операторів у єдине ціле, інтерпретуючи їх як один оператор.

Його формат для Pascal:

begin

оператор_1;

...

оператор_n;

end;

Виконання складеного оператора зводиться до послідовного - у порядку їхнього написання - виконання його операторів. Наприклад,

if x>5 then

if y<>0 then

begin

f:=x/y;

WriteLn(‘f =’,f);

end;

else WriteLn (‘Ділення на нуль’) ;

Формат складеного оператора для С++:

{ оператор_1;

...

оператор_n;

};

      1. Оператор поліваріантного вибору

Якщо доводиться здійснювати вибір одного із декількох альтернативних шляхів виконання програми, то зручніше скористатися спеціальним оператором поліваріантного вибору, який передбачає вибір напрямку подальших дій визначається в залежності від значення певної змінної (селектора вибору).

В разі мови Pascal  - це оператор case. Його формат:

case селектор of

список_значень_варіанту_1 : оператор_1;

...

список_значень_варіанту_n : оператор_n

[ else оператори ]

end;

де селектор - вираз будь-якого порядкового типу; список_значень_ варіанту - конкретні можливі значення селектора.

Механізм реалізації оператора case: в залежності від поточного значення селектора, керування передається на відповідний варіант дій; якщо це значення не співпало з жодним із значень у варіантах, то виконується дія, задана в гілці else (за її наявності).

Списки значень для різних варіантів роботи оператора case можуть складатися з довільного числа окремих значень і/або діапазонів значень, розділених комами. Вони повинні належати до того ж типу даних, що і селектор. Усі значення при цьому повинні бути унікальними, діапазони не повинні перетинатися і містити вже зазначених констант.

Наприклад,

WriteLn(‘Введіть номер місяця :’); ReadLn(m);

case m of

12,1,2: WriteLn (‘Зима’);

3..5 : WriteLn (‘Весна’);

6..8 : WriteLn (‘Літо’);

9..11 : WriteLn (‘Осінь’);

end;

У мові С++ оператором багатоваріантного вибору є оператор switch. Його формат:

switch (вираз)

{ case мітка_1 : оператор_1;

...

case мітка_n : оператор_n;

[ default : оператори; ]

};

Особливості реалізації оператора switch:

  • значення виразу в switch повинно бути цілим; цілими або символьними константами повинні бути і мітки (не можуть містити змінні або виклики функцій);

  • усі мітки повинні бути унікальними;

  • якщо в гілках case відсутній оператор break, то виконується вибір не однієї із дій, а послідовне виконання кожної гілки, починаючи з гілки, що відповідає мітці вибору.

Наприклад,

switch (ch) //вибір елемента меню

{ case 'A':{Add(); break;}

case 'D':{Delete(); break;}

case 'Q':{q= true; break;}

default:{cout <<"error"<< endl;}

}

    1. Приклади програм

Приклад 1. Обчислити значення функції z=х2/y, де y=x*Cos(x)

program Lab_2;

var x:real; { задане число }

y:real; { проміжкове значення }

z:real; { обчислене значення }

begin

WriteLn('Result of laboratory work 2');

WriteLn('variant 31');

WriteLn('Еxecuted student of group ІС-хх Petrov');

Write('Input x:'); ReadLn (x); { введення х }

y:=x*Cos(x);

if y<>0 then

begin

z:=Sqr(x)/y;

WriteLn('z =',z:6:2);

end

else WriteLn ('Dividing by a zero');

ReadLn;

end.

Відеокопія результату:

Приклад 2. Для заданих х і a обчислити значення виразу .

#include "stdafx.h"

#include <stdio.h>

#include <math.h>

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{ double a,x; // вхідні дані

double y; // результат

cout << "a = ?\b";

cin >> a;

cout << "x = ?\b";

cin >> x;

if (a<0) cout << "negative radicand" << endl;

else if (a==0) cout << "division by zero" << endl;

else { y=pow(x,3)+1/sqrt(a);

cout << "y = " << y <<endl;

}

system("pause");

}

Відеокопія результату:

Соседние файлы в папке Лабы по программированию