русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Оператор безумовного переходу.


Дата додавання: 2013-12-23; переглядів: 2592.


ОПЕРАТОР ВАРІАНТА (вибору).

Оператор варіанту використовується в тих випадках, коли в залежності від значення якого-небудь виразу необхідно використовувати один із декількох послідовних операторів. Оператор вибору відноситься до складних і має таку форму запису:

Case__вираз__of

Конст 1: оператор1;

Конст 2: оператор2;

:

Конст п: оператор п;

End;

 

Case - в випадку, of- із, End - кінець. Оператор вибору працює так: якщо значення виразу = одній із констант, то виконується відповідний їй оператор. Потім управління передається за межі оператора вибору. Якщо значення виразу не співпадає ні з одною із констант, то управління передається за межі групи. Вираз може бути любим стандартним типом крім дійсного. Виходячи з цього, константа теж не може бути дійсного типу. Тип константи повинен співпадати з типом виразу.

Приклад: Ввести номер дня тижня та вивести відповідний йому день тижня на українській та англійській мові.

Program PR6;

Var n: Integer;

Begin

Writeln(‘Bведіть номер дня тижня');

Read(n);

Case n of

1: Writeln(‘Понеділок - Monday');

2: Writeln('Biвторок - Tuesday');

3: ...

:

7: ... End;

End.

 

Загальний вид оператору:

 

GOTO мітка,

 

де Goto - іти, мітка - ціле число без знаку, визначене в розділі

Label. Оператор Goto проводить передачу управління до оператора, що помічений міткою. Використання оператора безумовного переходу в мові Pascal є необов'язковим та небажаним, так як його присутність порушує цілісність програми та її наглядність. Його треба використовувати тільки у виключних ситуаціях, наприклад, для виходу із складного оператору, при виникненні особливої ситуації в програмі. Нехай програма містить такі оператори:

x:=5; r:=b;

Goto 5;

15: r:=0;

5: у:=х;

writeln(x);

В даному випадку спочатку виконуються дані оператори, а потім

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

Наприклад: 21:Read(x);

При цьому, мітка не впливає на виконання оператора.

Приклад: Написати програму, яка з’ясовує чи є серед чисел

cos()sin(ni) (і=1..п) числа<0,0001. Якщо є, то вивести "є такі числа", а якщо ні то "немає таких чисел ".

Program Pr;

Label 1,2;

Var i,n: Integer;

Begin

Writeln(’Введіть значення п');

Read (n);

For i: =1 to n do

If Cos (Sqr (i)*i)*Sin (n*i) < 0. 0001

Then Goto 1;

Write('Немaє таких чисел') ;

Goto 2;

1: Write ('€ такі числа');

2: End.

 

Крім операцій, які ми вже вивчили, в Pascal є ще 2-і, які позначаються div та mod. Ці операції мають по два цілих аргументи. Якщо значення а та b невід'ємні і b0, то a div b і a mod b є частка і остача, що виникають при діленні а на b з остачею.

Наприклад:

19 div 3 =6

19 mod 3=1

Дані операції є операції однакового старшинства з операціями множення та ділення. Операцію mod можна використовувати, щоб дізнатися, чи кратне ціле а цілому Ь (а кратне b тоді і тільки тоді, коли а mod b=0).

Приклад: Дано 10 цілих чисел. Визначити, чи є серед них хоч би одне додатне число кратне 5. Якщо так, то вивести перше із цих чисел, а якщо ні, то надрукувати — " не знайдено ".

 

ProgramPRJ;

Label 21,12;

Var i,n:Integer;

Begin

Writeln(’Введіть числа’);

For і: =1 to 10 do

Begin

Read(n);

If n<=0 Then GOTO 12;

If n mod 5 =0 then

Begin

Write(n);

Goto 11;

End;

12: End;

Writeln('He знайдено');

11: End.


<== попередня лекція | наступна лекція ==>
Оператор циклу з передумовою | Дані логічного типу.


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн