Алгоритмический язык PASCAL. Алфавит языка. Идентификаторы. Операции над данными, страница 9

PROGRAM   SUM;  

USES   CRT, PRINTER;

VAR   I, X, Y: INTEGER;  

BEGIN  

CLRSCR;

X:=2;

FOR    I:=1    TO    6    DO     BEGIN      

Y:=X*X;

WRITELN( ’ X=’, X:2, ’    Y=’, Y:3 ) ;

X:=X+2

END;

END.

Результат:  X=  2     Y=  4

X=  4     Y= 16

X=  6     Y= 36

X=  8     Y= 64

X=10     Y=100

X=12     Y=144

Пример:  Составить  программу  вычисления  суммы    

.

PROGRAM   SUMMA;

USES   CRT, PRINTER;

LABEL  10;

VAR  I, J : INTEGER;

SUM, Y :  REAL;            

BEGIN                

CLRSCR;

SUM := 0;

FOR  I := 1  TO  100  DO  BEGIN      

FOR  J := 1  TO  100  DO  BEGIN

IF  I=J  THEN  GOTO  10;

Y := (I+J) / ((I-J)*(I-J));   SUM := SUM + Y

10:  END;    END;  

WRITELN(’    SUM =’,SUM );    END.

SUM = 30.21

9.7.2.  Цикл   с   предусловием.

При  организации   этого  цикла  не   известно число  повто-рений,  то  есть  цикл  повторяется  до  тех  пор,  пока      выпол-няется   поставленное  в  начале   цикла  условие. 

WHILE    BDO    S;

где:  В - логическое  выражение,  определяющее  необхо-димое  условие;

S - тело  цикла.  Это  оператор   простой   или  состав-ной  в  операторных  скобках.

При  организации  этого   цикла  необходимо задать  началь-ное  значение  параметра  цикла,  а  одним  из  последних  опера- торов  тела  цикла  должен  быть  оператор  изменения  этого    

параметра  на  шаг. Перед  каждым   очередным   выполнением       операторов  тела  цикла  производится   проверка  условия.   Истинность  этого  условия  служит  критерием   повторения.    Если  условие  ложно,  то  выполнение  операторов  тела  цикла     заканчивается.

Пример:   Составить     программу     вычисления   суммы      натуральных     чисел     от     1     до     100.

PROGRAM    SUM;

USES    CRT, PRINTER;

VAR    I, S: INTEGER;

BEGIN      

CLRSCR;

S:=0;  I:=1;

WHILE I<=100  DO

BEGIN

S:=S+I;

I:=I+1

END;      

WRITELN (’ S:=’,S );

END.

Результат:  S=5050

Пример   (для     самостоятельной     работы): 

Вычислить  функцию  Y=X2   при  Х , равном  2, 4, 6, 8, 10, 12.

PROGRAM   FUNC;

USES   CRT, PRINTER;

VAR   X, Y: INTEGER;

BEGIN

CLRSCR;

X:=2;

WHILE   X<=12    DO

BEGIN                                

Y:=X*X;

WRITELN('  X=', X,'  Y=', Y);

X:=X+2;

END;  

END.

Результат:  X=  2     Y=  4

X=  4     Y= 16

X=  6     Y= 36

X=  8     Y= 64

X=10     Y=100

X=12     Y=144

Пример:  Составить  программу  вычисления  суммы    

.

PROGRAM   SUMMA;

USES   CRT, PRINTER;

LABEL  10;

VAR  I, J : INTEGER;

SUM, Y :  REAL;            

BEGIN                

CLRSCR;

SUM := 0;  I:=1;

WHILE  I <= 5  DO  BEGIN 

J:=1;    

WHILE  J <= 3  DO  BEGIN

IF  I=J  THEN  GOTO  10;

Y := (I+J) / ((I-J)*(I-J));   SUM := SUM + Y;

10:  J:=J+1;   END;  

I:=I+1;   END;  

WRITELN(’    SUM =’,SUM );    END.

SUM = 30.21

9.7.3. Цикл  с  постусловием.

При  организации  этого   цикла   также  не  известно  число    повторений,  то  есть  цикл  повторяется  до  тех  пор,  пока  не    выполнится   поставленное  в  конце   цикла   условие,  то  есть     ставится  условие  выхода  из   цикла.   

REPEAT  S  UNTIL  B;

где:S  –  тело  цикла.  Это  оператор  простой  или    сос-тавной  в   операторных  скобках;

В  –  логическое  выражение, определяющее необ-ходимое  условие;

При  организации  этого  цикла  необходимо  задать  началь-ное   значение  параметра  цикла,  а одним  из  последних  опера-торов  тела  цикла  должен  быть оператор  изменения  этого   па-раметра  на  шаг. Логическое  условие ( условие  выхода  из  цик-ла ) ставится в конце  цикла, то есть проверка  условия  осущест-вляется  после   выполнения  операторов   тела  цикла. 

Пример:   Составить  программу вычисления суммы   нату-ральных  чисел  от  1  до  100.

PROGRAM SUM;

USES CRT, PRINTER;

VAR  I,S: INTEGER;

BEGIN       

CLRSCR;

S:=0;  I:=1;

REPEAT

S:=S+I;

I:=I+1

UNTIL I>100;

WRITELN (’ S:=’,S );

END. 

Результат:   S=5050

Пример:  Составить     программу     вычисления    суммы    

.

PROGRAM   SUMMA;

USES   CRT, PRINTER;

LABEL  10;

VAR  I, J : INTEGER;

SUM, Y :  REAL;