Структура оператора цикла с предусловием (с предварительной проверкой условия):
WYILE <условие-выполнения> DO <оператор>;,
пока делать
где <условие> - это любое логическое выражение, <оператор> - это произвольный оператор Турбо Паскаля, в том числе и составной.
Пример. Для трех значений a = 0.1, 0.2,
0.3 протабулировать функцию y=a. tg (x/4) при
изменении аргумента x на интервале [0.5, 0.9]
|
Для ССА (рис. 1) решения данной задачи
программа может быть следующей:
Program a4_1;
var a,x,y: real;
begin
writeln (, a x y , );
writeln (, ------------------------------ ,);
a:=0.1;
while a<=0.31 do
begin
writeln (a:5:2);
x:=0.5;
while x<=0.91 do
begin
y:=a * sin (x / 4) / cos (x / 4);
writeln (x:12:2, , ,, y:10:2);
x: = x + a;
end;
writeln (, ------------------------------ ,);
a: = a + 0.1
end;
end. Рисунок И1. Схема программы
Пример. Даны три массива А(5), В(5), С(5). Найти среднее арифметическое значение наименьших элементов массивов.
До написания программы разрабатывается ССА главной программы (рис. И2а) и ССА для подпрограммы нахождения наименьшего элемента в любом массиве (рис.И2б).
а) б)
Рисунок И2. Главная программа а) и подпрограмма б)
Отлаженная программа решения задачи имеет следующий вид
Program 1r8;
type mass = array [1..5] of integer;
const a:mass = (5,2,7,1,8);
b:mass=(3,4,5,6,6);
c:mass=(3,8,5,2,6);
var
n:integer;
sr:real;
FUNCTION minim (d:mass):integer; {заголовок функции}
var
i,min:integer;
begin {начало блока операторов функции}
min:=d[1]
for i:=2 to 5 do
if d[i]<min then
min:=d[i];
else if ST>30 then SP:=300
else SP: =100+(ST-15)*10;
writeln (,зарплата=,ZP:10:2,, $) {рис. И3а}
end.
a) б)
Рисунок И3. Второй вариант
Второй вариант реализации задачи с применением оператора выбора представлен ССА (рис. И 3б) и следующей программой:
Program zarplata2;
var ST: byte; {стаж (байтовый) тип)}
ZP: real; {зарплата (вещественный тип)}
begin
writeln (,введите стаж,);
read(ST); {ввод стажа}
case ST of {выбор из}
1..4: ZP:=50;
5..15: ZP:=100;
16..29: ZP:=100+(ST-15)*10;
end.
Примечание. Приложения И составлено О. П. Шафеевой
Приложение К