Разветвляющийся вычислительный процесс.

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

Первое выражение
Второе выражение
иначе
затем
условие
если
6 5IHpaM+snegQ1nEUtniEVbIEEQJ/hyNCksQg80xeLsh/AAAA//8DAFBLAQItABQABgAIAAAAIQC2 gziS/gAAAOEBAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAG AAgAAAAhADj9If/WAAAAlAEAAAsAAAAAAAAAAAAAAAAALwEAAF9yZWxzLy5yZWxzUEsBAi0AFAAG AAgAAAAhAK8WPSPiAQAA2gMAAA4AAAAAAAAAAAAAAAAALgIAAGRycy9lMm9Eb2MueG1sUEsBAi0A FAAGAAgAAAAhAKHFL77eAAAACQEAAA8AAAAAAAAAAAAAAAAAPAQAAGRycy9kb3ducmV2LnhtbFBL BQYAAAAABAAEAPMAAABHBQAAAAA= "/>IF (x<2) then y:=a*b*sqr(x) else y:=sqrt (x)/a*b;

 

начало
Пример 1.Составить задачу.

 

program A1; var a,b,x: integer; y: real; begin writeln (‘введитеx=’); readln (x); writeln (‘введите b=’); readln (b); writeln(‘введите a=’); readln (a); if (x>=5) then y:=a*exp(3*ln(x))+b else y:=sqrt(x+b/a); writeln (‘y=’, y:7:2); readln; end.  
a, b, x

конец
x 5
y
4 kv4AAADhAQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBLAQItABQABgAI AAAAIQA4/SH/1gAAAJQBAAALAAAAAAAAAAAAAAAAAC8BAABfcmVscy8ucmVsc1BLAQItABQABgAI AAAAIQD+nl9G4AEAANoDAAAOAAAAAAAAAAAAAAAAAC4CAABkcnMvZTJvRG9jLnhtbFBLAQItABQA BgAIAAAAIQAszevV3gAAAAkBAAAPAAAAAAAAAAAAAAAAADoEAABkcnMvZG93bnJldi54bWxQSwUG AAAAAAQABADzAAAARQUAAAAA "/>
да
нет

 


начало
Пример 2.Составить задачу.

x

program A1; var x: integer; T: real; begin writeln (‘введите x=’); readln (x); if (T<2) then writeln (‘y=1’) else writeln (‘y=привет’); readln; end.    
конец
T< 2
да
нет
2 gziS/gAAAOEBAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAG AAgAAAAhADj9If/WAAAAlAEAAAsAAAAAAAAAAAAAAAAALwEAAF9yZWxzLy5yZWxzUEsBAi0AFAAG AAgAAAAhAKPQfjbiAQAA3AMAAA4AAAAAAAAAAAAAAAAALgIAAGRycy9lMm9Eb2MueG1sUEsBAi0A FAAGAAgAAAAhAALc1QDeAAAACQEAAA8AAAAAAAAAAAAAAAAAPAQAAGRycy9kb3ducmV2LnhtbFBL BQYAAAAABAAEAPMAAABHBQAAAAA= "/>
y

 

 


Разветвляющийся вычислительный процесс (3 условия)

1)

/x
да
a, b, x
начало

Program Vito; var a,b: integer; z,x: real; writeln (‘a=’); readln (a); writeln (‘b=’); readln (b); writeln (‘x=’); readln (x); if (x<5) then z:=a*x+b/x; if (x>10) then z:=exp(3*ln(x)) else z:=a*sqr(x)+b; writeln (‘z=’, z:8:2); readln; end.  
x<5
x>10
нет
нет
да

 

 


Z

 

конец

 


2)

9. Циклический вычислительный процесс.

Операторы цикла используются, когда действие нужно повторить некоторое количество раз. Операторов цикла в Паскале – 3:

· Цикл «for» - с известным числом повторений;

· Цикл «while» с предусловием;

· Цикл «repeat» c постусловием.

Цикл forимеет счетчик цикла, а также начальное и конечное значения счетчика цикла:

FOR X: 1 to 10 do begin y:= x*y; write(‘y=’); end;

FOR идентификатор := выражение to выражение do оператор

 

Синтаксическая диаграмма оператора repeat –выполняется до тех пор, пока условие, находящееся в конце цикла после зарезервированного слова untilне станет выполнено.

Repeat оператор until условие

 

 


В случае наличия в теле цикла нескольких операторов цикла repeat не нуждается в операторных скобках beginи end.

Readln(n); repeat y:=1.5*n; writeln (‘y=’, y:7:2); n:=n+0.1; until n<=4.5; end.    
Repeatназывается «с постусловием» - так как логическое условие, проверяемое в нем, находится в конце цикла.

 

Синтаксическая диаграмма оператора цикла While

While условие do оператор.

writeln (‘введите n=’); readln (n); while n<=4 do begin z:=2*n; writeln (‘z=’, z:8:3); n:=n+0.5; end; end.
Тело цикла выполняется до тех пор, пока логическое условие в начале цикла будет выполнено. В связи с этим в теле цикла должен стоять оператор, который может привести к изменению этого условия, иначе произойдет зацикливание. Цикл While называется – «циклом с предусловием», так как логическое условие цикла проверяется перед входом в цикл.