Учебно-методическое пособие для студентов специальности 1-08 01 01 «Профессиональное обучение


Download 0.99 Mb.
Pdf ko'rish
bet32/103
Sana05.05.2023
Hajmi0.99 Mb.
#1432201
TuriУчебно-методическое пособие
1   ...   28   29   30   31   32   33   34   35   ...   103
Bog'liq
Osnovy algoritmizacii i programmirovaniya

For i:=1 to 20 do A:=A+1, 
то для i = 1, 2, 3, ..., 20 будет выполняться оператор А := А + 1. 
Если же N

и N

символьного типа и имеют значения, например, 
'A' и 'Z' соответственно, то переменная принимает последователь-
ные значения в порядке букв латинского алфавита: 'А', 'В', 'С', ..., 'Z'
Блок-схема (рис. 4.3 и 4.4) оператора 
For i:=N
1
to N
2
do ST; мо-
жет изображаться двумя способами 
Рис. 4.3 Рис. 4.4 
Отметим, что есть возможность организовать цикл по убываю-
щим значениям параметра i. Для этого используется зарезервиро-
ванное слово downto. 
Синтаксис оператора For по убывающим значениям параметра i
For i:= N
2
downto N
1
do ST; 
где i – переменная ( параметр ) цикла; 
N
2
– начальное значение параметра цикла


56 
N
1
– конечное;
ST – оператор (возможно составной). 
В этом случае параметр i принимает последовательные убываю-
щие значения данного типа от N
2
до N

Например, если 
For i:=20 downto 1 do A:=A+1, 
то для i = 20, 19, 18, ..., 1 будет выполняться оператор А := А + 1. 
Блок-схема (рис.4.5 и 4.6) оператора 
For i:= N
2
downto N
1
do ST; 
может изображаться двумя способами. 
Рис. 4.5 Рис. 4.6 
Примеры выполнения заданий 
Пример 1. Составьте блок-схему и напишите программу реше-
ния следующей задачи: вычислите сумму 
1 1 1
1
1
...
.
2 3 4
50
S
     
а) с использованием цикла For (рис. 4.7 и 4.8): 
PROGRAM Primer_1a; 
var n: Integer; 
s: Real;
BEGIN
S:=0; 
For n:=1 to 50 do S:=S+1/n; 
WriteLn ('Сумма равна: ',S) 
END. 


57 
Рис. 4.7 Рис. 4.8 
б) С использованием цикла While (рис. 4.9): 
PROGRAM Pri-
mer_1b; 
var S: Real; 
N: Integer;
BEGIN 
S:=0; N:=1; 
While N<=50 do 
begin
S:=S+1/N; 
N:=N+1
end; 
WriteLn ('Сумма 
равна: ',S) 
END. 
Рис. 4.9.
в) С использованием оператора цикла Repeat (рис. 4.10): 
начало
S:=0 
N:=1
конец
N<=50 
S:=S+1/N 
S
Д
а 
Нет
N:=N+1 
начало
S:=0 
N:=1 
конец
N<=50 
S:=S+1/N 

Д
а 
Нет
N:=N+1 
Или в другом виде 
блок-схема


58 
PROGRAM Primer_1c; 
var N: Integer; 
S: Real; { Резуль-
тат суммирования } 
BEGIN 
S:=0; N:=1; 
Repeat { Повто-
рить... } 
S:=S+1/N; 
N:=N+1 
until N>50; { пока 
значение N не превзойдет 
50 } 
WriteLn ('Резуль-
тат суммирования... ',S) 
END. 
Рис. 4.10
 
Пример 2. Напишите программу, моделирующую микрокальку-
лятор. После нажатия знака «=» на экране отображается значение 
выражения. 
PROGRAM Primer_2; 
var Operacij, Operator: Char; { Символ арифметической опе-
рации } 
n,m : Real; 
Answer : Real; { Результат вычисления } 
BEGIN 
Answer:=0; { Вначале обнулим результат... } 
WriteLn ('Введите арифметическое выражение'); 
WriteLn ('(каждую часть выражения – с новой строки, 
например:)...'); 
Writeln('(первое слагаемое – одна часть)'); 
Writeln('(знак "+" – вторая часть)'); 
Writeln('(второе слагаемое – третья часть)'); 
Writeln('(знак "=" – четвертая часть)'); 
Нет
S:=S+1/N
N:=N+1
N>50 
Да
конец

начало
S:=0 
N:=1


59 
Repeat 
ReadLn (n); {Вводимый первый операнд слагаемое} 
ReadLn (Operacij); {Знак вводимой операции} 
ReadLn (m); {Вводимый второй операнд} 
Case Operacij of 
'+': Answer:=n+m; 
'-': Answer:=n-m; 
'*': Answer:=n*m; 
'/': Answer:=n/m 
end; 
Readln(Operator); 
until Operator='='; 
WriteLn (Answer:10:4) 
END. 

Download 0.99 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   ...   103




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling