Методичка Паскаль РВП, ЦВП



8.Разветвляющийся вычислительный процесс.
При решении задач могут возникать ситуации, когда действие осуществляется в зависимости от некоторого условия и выбора действия в зависимости от этого условия. Для этого используются условные операторы.
IF (x<2) then y:=a*b*sqr(x) else y:=sqrt (x)/a*b;



Пример 1. Составить задачу.
13 QUOTE 1415











Пример 2. Составить задачу.
13 QUOTE 1415
13 QUOTE 1415







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











13 QUOTE 1415
Циклический вычислительный процесс.
Операторы цикла используются, когда действие нужно повторить некоторое количество раз. Операторов цикла в Паскале – 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.
Repeat называется «с постусловием» - так как логическое условие, проверяемое в нем, находится в конце цикла.





Синтаксическая диаграмма оператора цикла While
While условие do оператор.
Тело цикла выполняется до тех пор, пока логическое условие в начале цикла будет выполнено. В связи с этим в теле цикла должен стоять оператор, который может привести к изменению этого условия, иначе произойдет зацикливание. Цикл While называется – «циклом с предусловием», так как логическое условие цикла проверяется перед входом в цикл.



Пример 1.
Составить блок-схему алгоритма и программу с помощью оператора «FOR»:
13 QUOTE 1415










Пример 2.
Составить блок-схему алгоритма и программу перевода объемных единиц молока (л) в весовые (кг) по формуле: 13 QUOTE 1415
13 QUOTE 1415- количество молока, л. 13 QUOTE 1415 - количество молока, кг
Количество молока меняется в пределах от 3,6 до 4,5 л. с шагом 0,1 л.
Решение.
Вариант 1 «С предусловием While»
Вариант 2. «С послеусловием Repeat Until»



Вариант 1 «С предусловием While»









Пример 3.
Составить блок-схему и набрать программу
13 QUOTE 1415















10.Алгоритм накапливания суммы или произведения.

Для накапливания суммы или произведения выбирается рабочая ячейка (К). Сумма (или произведение) накапливаются в цикле. Для этого ячейку (К) для накапливания суммы нужно обнулить (К:=0), а для накапливания произведения присвоить ей единицу (К:=1).
В 1-м цикле вычисленное значение Y прибавляется к ячейке K и полученный результат записывается в ячейку К. В последующих циклах в ячейку К добавляется каждый раз вновь вычисленное значение Y. И таким образом в ячейке К накапливается сумма или произведение.

Пример 1. Составить блок-схему алгоритма: 13 QUOTE 1415
N – количество х;
m – переменная;
x – неизвестная;
K0 – ячейка 13 QUOTE 1415;
K1 – ячейка 13 QUOTE 1415
i – текущее значение х.























































Первое выражение

Второе выражение

иначе

затем

условие

если

начало

a, b, x

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.


да

x13 QUOTE 14155



нет



y

конец

начало

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



нет



y

конец

13 QUOTE 1415/x

да

a, b, x

начало





да



нет

x<5

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>10



Z

конец





Readln(n);
repeat
y:=1.5*n;
writeln (y=’, y:7:2);
n:=n+0.1;
until n<=4.5; end.



writeln (введите n=’);
readln (n);
while n<=4 do begin z:=2*n;
writeln (z=’, z:8:3);
n:=n+0.5; end; end.

x 13 QUOTE 1415[0;10]

Program Tiko;
var
y, a, R, l, b: real;
x: integer;
begin
writeln (a=’); readln (a);
writeln (R=’); readln (R);
writeln (l=’); readln (l);
writeln (b=’); readln (b);
For x:=0 to 10 do begin
Y:=a*exp(-b*x)*sin(R*x+ l);
writeln (y=’, y:9:2);
end;
readln;
end.

начало

конец

y



X=0, 10

R, a, l, b

начало

конец





KV

да

нет

KO<=4,5

KO

Program MOLOKO;
var
KO, KV: real;
begin
writeln (введите объем молока KO=’);
readln (KO);
while KO<=4.5 do begin KV:=1.03*KO;
writeln (вес молока’,KV:9:2);
KO:=KO+0.1;end; readln;
end.

начало

Program MOLOKO;
var
KO, KV: real;
begin
writeln (введите объем молока KO=’);
readln (KO);
repeat
KV:=1.03*KO;
writeln (вес молока’,KV:9:2);
KO:=KO+0.1;
until KO<=4.5;
end.


KO



да

конец

нет

KO<=4,5



KV

Program MOLOKO;
var
KO, KV: real;
begin
writeln (введите объем молока KO=’);
readln (KO);
while KO<=4.5 do begin KV:=1.03*KO;
writeln (вес молока’, KV:9:2);
KO:=KO+0.1;end; readln;
end.

x13 QUOTE 1415 [3,6;4,9] 13 QUOTE 1415x=0,1

начало

Program Tortilla;
var
M, x: real;
begin
x:=3.6;
while x<=4.9 do begin
M:=4*x+exp(x);
writeln (M=’, M:9:2);
x:=x+0.1; end;
readln;
end.

x=3.6

нет

x<=4.9

конец

да



M

x=x+0.1

начало

N, m

конец

Q

13 QUOTE 1415


K1=K1+13 QUOTE 1415
K0=K0+x


x

i=1; N

К1=0; К0=0












15

Приложенные файлы

  • doc 63522
    Размер файла: 739 kB Загрузок: 0

Добавить комментарий