Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
контрольная работа по ИТ 1курс ЭЭФ.doc
Скачиваний:
7
Добавлен:
15.11.2018
Размер:
385.54 Кб
Скачать

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

Цикл выполняется до тех пор, пока заданное условие не станет верным.

На Паскале:

repeat

<действия>

until <условие>

На Фортране цикл с постусловием реализуется с помощью условного оператора. Проверка условия осуществляется после тела цикла.

Пример 4. Вычислить значение функции y=x+sinx при изменении аргумента x от 0,1 до 0,9 с шагом 0,1 (рис.4).

Паскаль-программа:

var

x, y:real;

begin

{задаем начальные значения параметра цикла}

x:=0.1;

repeat

y:=x+sin(x);

writeln(‘x=’, x, ‘y=’, y);

{вычисление текущего значения параметра цикла}

x:=x+0.1

{проверка условия окончания цикла}

until x>0.9

end.

Рис. 4. Блок-схема решения примера 4

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

Цикл выполняется, пока условие истинно.

На Паскале:

while <условие> do <действия>

На Фортране:

do while(<условие>)

<действия>

enddo

Пример 5. Даны действительные числа x и . Определить k, при котором выражение становится меньше , где k=1, 2, 3,… (рис.5).

Рис. 5. Блок-схема решения примера 5

Паскаль-программа:

var

x, eps, d:real;

k:integer;

begin

{ввод исходных данных}

readln(x,eps);

{задание начального значения параметра цикла}

k:=1;

d:=(sqrt(abs(x));

while d>=eps do

begin

{изменение параметра цикла}

k:=k+1;

d:=sqrt(abs(x)/(k*k*k))

end;

writeln(‘d=’, d, ‘k=’, k);

end.

1.3.4. Вложенные циклы

Цикл называется вложенным, если он содержит внутри себя один или несколько других циклов.

Пример 6. Вычислить (рис.6).

Рис. 6. Блок-схема решения примера 6

Паскаль-программа:

var

i, j:integer;

summa:real;

begin

{задаем начальнoe значение суммы}

summa:=0;

{внешний цикл}

for i:=1 to 100 do

{внутренний цикл}

for j:=1 to i do

summa:=summa+1/(2*j+i);

writeln(‘Сумма=’, summa)

end.

1.4. Использование подпрограмм

Подпрограмма позволяет использовать одну и ту же группу операторов при различных исходных данных. Различают подпрограмму-функцию и подпрограмму-процедуру.

1.4.1 Подпрограмма-функция

Отличительные особенности подпрограммы-функции:

  • она имеет только один результат выполнения;

  • результат обозначается именем функции и передается в основную программу.

На Паскале:

function <имя функции>(<список формальных параметров с указанием их типа>): <тип функции>

На Фортране:

[<тип функции>] function <имя функции>(<список формальных параметров>)

Подпрограмму-функцию можно использовать в выражениях наравне со стандартными встроенными функциями.

Пример 7. Даны действительные числа a, b. Получить u=min(a,b), v=min(ab, a+b) (рис.7).

Рис. 7. Блок-схема решения примера 7

Паскаль-программа:

var

a, b, u, v:real;

function min(x,y:real):real;

{xy – формальные параметры функции min}

begin

if x<y

then

min:=x

else

min:=y

end;

begin

writeln(‘Введите действительные числа a и b ‘);

write(‘a=’);

readln(a);

write(‘b=’);

readln(b);

u:=min(a,b); {ab – фактические параметры функции min}

v:=min(a*b,a+b); {a*ba+b – фактические параметры функции min}

writeln(‘u=’, u);

writeln(‘v=’, v);

end.