Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Программирование алгоритмов разветвляющихся и циклических структур

Поиск

ЦЕЛЬ РАБОТЫ: Целью работы является ознакомление студентов с организацией программ разветвляющихся и циклических типов, а также закрепление практических навыков работы в программировании.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

В большинстве встречающихся задач требуется использование определенного набора типовых приемов алгоритмизации, к которым можно отнести алгоритмы разветвляющейся и циклической структур.

В алгоритмах разветвляющейся структуры предусмотрено разветвление последовательности действия на несколько направлений в зависимости от итога проверки заданного условия.

В алгоритме циклической структуры предусмотрено неоднократное выполнение одной и той же последовательности действий.

Программирование алгоритмов разветвляющейся структуры

В языке ПАСКАЛЬ для программирования разветвляющейся структуры используются операторы безусловного перехода, условного перехода и оператор выбора.

Оператор безусловного перехода имеет вид GOTO m; где m - метка, представляющая собой целое число без знака. Метка должна быть описана в разделе описания. Этот оператор передает управления к оператору, описанному меткой m. Причем m может быть помечен пустой оператор, который не предписывает никаких действий и используется для выхода.

Условный оператор имеет следующие виды записи:

А) IF B THEN A;

Б) IF B THEN A ELSE C; где В - выражение логического типа; А, С- простые или сложные операторы.

При использовании условного оператора вида а) будет организовано вычисление оператора А, если логическое выражение В принимает значение TRUE(истина). Если же оно принимает значение FALSE (ложь), то будет выполняться оператор, который следует за этим условным оператором.

Пример 1. Пусть даны два число Х и У. Если первое больше второго по абсолютной величине, то необходимо уменьшить первое в 5 раз. Иначе оставить числа без изменения.

 

 

начало
Схема алгоритма и программа имеют вид:

                                                   PROGRAM A;

Х, У
                                                   VAR X, Y: REAL;

│Х│˃│У│
                                                   BEGIN

КОНЕЦ
                       Нет                           WRITELN (‘ ВВЕСТИ X,Y’);

                                                             READ (X,Y);

X=Y/5
              да                                      IF ABS(X)> ABS(Y) THEN X:= X/5;

X,Y  
                                                             WRITELN (‘ X=’,X,’ ‘, ‘Y=’Y);

                                                   END.

 

   

Рис.1

При использовании условного условного оператора вида б) будет организовано вычисление оператора А,если логическое выражение В принимает значение TRUE. Если логическое выражение принимает значение FALSE, то выполняется оператор С, стоящий после ELSE.

Пример 2. Вычислить У по значениям Х, если

     0, если Х ≤ 0;

У= 

         Х3, если Х˃0;

Схема алгоритма и программа имеют вид:


 

Схема алгоритма и программа имеют вид:

Начало
                                                             PROGRAM B;                                

У= Х3
Х
Конец
У
Х≤0
                                                             VAR X,Y:REAL;                                                                                                      BEGIN                                                                                                    WRITELN (‘ВВЕСТИХ’);

                       НЕТ                                  READLN(X);               

IF X:=0 THEN Y:=0 ELSE

У=0
ДА                                              Y:=X*X*X;

WRITELN(‘Y=’,Y);

END.

                                                                 

 

    Рис 2.

В случае, если необходимо выполнение операторов при тех или иных условиях, то это осуществляется объединением операторов в блок, формируемый операторами BEGIN и END

Например, IF B THEN BEGIN AI;A2;A3 END

                  ELSE BEGIN A4;A5; END;

В этом примере имена с A1 по A5символически обозначают операторы. Если логическое выражение В принимает значение TRUE, то выполняются операторы А1,А2,А3, в противном случае выполняются операторы А4 и А5. Операторы, заключенные между BEGINи END, образуют так называемый составной оператор, а сами операторы BEGINи ENDчасто именуют операторными скобками.

Пример 3.

Требуется установить значения переменных С и D в зависимости от состояния переменных А и В1, причем, если значение переменной А равно В1, то переменной С присваивается значение, равное сумме значений переменных А и В1,а переменной D- значение переменной В1. В случае, если значение переменной А не равно значению переменной B1, то переменной С присваивается значение, равное разности значений переменных А и В1,а переменной D - значение переменной В1,возведенное в квадрат.            

Cхема алгоритма и программа имеют следующий вид:                       

C=A-BI D=BI*BI  
C=A+BI D=BI
C,D
конец
A=BI
A,BI B B
Начало
                                                   PROGRAMC(INPUT, OUTPUT);

                                                             LABEL IØ;

                                                        VAR A,BI,C,D:REAL;

                                                   BEGIN

                                                             WRITELN(‘ВВЕСТИ A,BI’);

                                                             READ(A, BI);

                                                             IF A=BI THEN BEGIN

                                                             C=A+BI;

                                                             D=BI;

                                                             GOTO IØ;

                                                   ELSE BEGIN

        

        Рис.3                                                C=A-BI;

                                                             D=BI*BI;

                                                             END;

                                                   IØ: WRITE(‘C=’,C,’ ‘,’D=’,D);

                                                   END.                                                        

Оператор выбора варианта имеет вид:

CASE C OF NI: AI;N2:A2;….NN:ANEND;

Где С-выражение скалярного типа (но не вещественного); NI,N2,…,NN –метка операторов; AI,A2,…,AN – операторы.

Выполнение оператора начинается с вычисления значения выражения С. Затем выполняется тот оператор, метка которого совпала с полученным значением. Если же вычисленное значение выражение С не совпало ни с одной из меток, то предусмотрено появление сообщения об ошибке.

Пример 4. Пусть требуется напечатать значение введенной с клавиатуры цифры, принимающей значение от единицы до пяти, с контролем введенного значения.

 

Программа имеет вид:

PROGRAM VES;                                                                                                                       

VAR I: INTEGER;

BEGIN

WRITELN(‘ВВЕСТИ I’);

READ(I);

WRITELN(‘I=’,I);

CASE I OF

1: WRITELN(‘ ВЫ ВВЕЛИ => 1’);

2: WRITELN(‘ ВЫ ВВЕЛИ =>2’);

3: WRITELN(‘ ВЫВВЕЛИ =>3’);

4,5: WRITELN(‘ВЫ ВВЕЛИ=>4 ИЛИ 5’);

END;

 END.



Поделиться:


Последнее изменение этой страницы: 2021-07-18; просмотров: 174; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.132.80 (0.005 с.)