Главная страница

 

ДОМ
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Информатика и программирование
Информационные технологии
Компьютерные сети
Информационная безопасность
Как заработать в сети Интернет
Информатика и программирование
Операційна система Windows
Текстовий редактор Word
Редактор електронних таблиць Excel
Мова програмування Pascal
Язык программирования Pascal

Теоретичний матеріал за темами:

1.              Загальні вказівки

2.              Програмування лінійних структур, обчислення арифметичних виразів

3.              Програмування розгалужених обчислюваньних процесів

4.              Програмування циклічних обчислювальних процесів

5.              Обробка текстових даних

6.              Використання типу Record

7. Використання підпрограм

8. Організація модулів

9. Робота з файлами

10. Використання динамічних змінних

  return_links(); ?>

Copyright © Евгений Литвиненко, 2007
Использование без разрешения автора запрещено

Програмування розгалужених
обчислювальних процесів

Розгалужений процес вміщує декілька шляхів. Вибір того чи іншого шляху залежить від виконання деяких умов. У багатьох випадках виникає потреба в зміні послідовного порядку операторів, що стає  можливим завдяки операторам управління. До них в першу чергу відносяться IF та CASE.
Оператор IF реалізує операцію умовного переходу (операцію розгалуження на два напрямки).
Загальний вигляд:

If  умовний вираз  then…else…;

         В умовному виразі задається умова розгалуження. Під час виконання оператора IF цей вираз обчислюється з отриманням логічного результату. Якщо результат True, то виконується простий або складний оператор після слова Then. Якщо результат False, то виконується оператор після Else.
Наприклад:

If A<7.2 then Y:=5*A else Y:=5/A;

         Частину оператора Else … можна не вживати:

If X>0 then K:=K+1;

            Це означає, що у випадку, коли число Х більше нуля, буде виконаний оператор K:=K+1. Якщо така умова для конкретного числа хибна, то змінення К не відбувається, а управління передається на оператор, який в програмі записано після оператора If.
Складений оператор Begin…End суттєво розширює можливості If:

         If A<0 then begin
                      K:=K+1;
                       R:=a;
                      End
         Else begin
                   L:=L+1;
                    Q:=A;
                     End;

         У складному операторі записують будь-яку кількість операторів. Вони виконуються “як одне ціле”. Тут можуть бути “свої” If, цикли тощо.
Зверніть увагу на те, що після оператора, який стоїть перед Else, не ставиться крапка з комою.
Оператор Case забезпечує розгалуження на декілька напрямків.
Загальний вигляд:

Case індекс вибору of список вибору;
Else…; End;

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

Приклад:

         Case Kit of
                  1: Y:=sin(x);
                  2: Y:=cos(x);
                  3: Y:=sin(x)+cos(x);
                   Else Y:=0;
                  End; {case}

         Змінна Kit (цілого типу) повинна бути визначеною до виконання оператора Case. Якщо Kit дорівнює 1, обчислюється функція Y:=sin(x), якщо вона дорівнює 2, то : Y:=cos(x). У тому випадку, коли Kit відрізняється від 1, 2 або 3, буде виконано оператор Y:=0.
У списку вибору можна вживати складний оператор Вegin… End.

Приклад: скласти схему алгоритму та програму обчислення функції

,

де Y = 3.1, Z = 2.14 та якщо Х приймає два значення  X = 0.56 та   X=4.42.
Схема алгоритму наведена на рис. 2
Програма:

Var X, Y, Z, F : Real;
Begin
    Write(‘Введіть Y, Z :’);
    ReadLn(Y,Z);
    Write(‘Введіть X :’);
    ReadLn(X);
    IF (X>=Y) THEN  F:=SQR(X)+EXP(Z)/COS(Y)
                     ELSE   F:=SIN(X)+COS(Z);
    WriteLn(‘Значення F=’,F);
End.

 

 


Рис. 2 - Блок-схема алгоритму

Copyright © Eugene, 2007
e-mail: webmaster@ITDom.info
Rambler's Top100 Рейтинг@Mail.ru