Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_пособие.doc
Скачиваний:
24
Добавлен:
15.06.2014
Размер:
300.03 Кб
Скачать

Программирование циклических алгоритмов с постусловием

Стpуктуpа оператора цикла с постусловием

REPEAT <оператор 1>;

(повторять)

<оператор 2>;

...

<оператор N>

UNTIL <условие окончания цикла>;

(до тех поp, пока)

Пример. Вычислить 15 значений функций

y1(x) = tg(x) ; и y2(x) = ctg(x) при a ≤ x ≤ b,

a=0.6*Pi, b=0.7*Pi.

Для вычислений разработана следующая программа:

Program Lab5;

Const n = 14;

a = 0.6*Pi;

b = 0.7*Pi;

Var x, y1, y2, dx: real;

Begin

dx:=abs((a-b)/n);

x:=a;

Repeat

y1:=sin(x)/cos(x);

y2:=1/y1;

writeln('x=', x:6:4,' y1= ', y1:7:4,' y2=', y2:7:4);

x:=x+dx

Until x>b;

End.

Пример 2. Вычислить сумму элементов s = 1+1/4+1/9+1/16+... c точностью до

E = 0.00001

PROGRAM sum;

CONST

E=0.00001; {точность}

VAR

s,r: REAL; {s - сумма, r – слагаемое}

i:INTEGER; {i - счетчик слагаемых}

BEGIN

s:=0;

i:=1;

REPEAT

r:=1/sqr(i); {вычисление слагаемого}

s:=s+r;

i:=i+1 {счет слагаемых}

UNTIL r<E; {сравнение слагаемого с Е}

WRITELN ('Сумма=',s:9:5); {вывод суммы}

END.

Задание 1 (программа 5_1)

Модифицировать программу 3_2 для вычис­ления функций f1(X) и f2 (X) с применением опе­ратора цикла с постусловием. Выполнить ее и сравнить результа-ты с полученными ранее.

Лабораторная работа 6

Программирование алгоритмов обработки одномерных массивов

Цель работы: научиться разрабатывать и отлаживать программы с использованием регулярных типов (векторов).

Массив - упорядоченная структура однотипных данных, хранящихся последовательно.

Массив обязательно имеет размеры, определяющие, сколько в нем хранится элементов. Описывается в разделе TYPE (или VAR). Структура описания одномерного массива:

<имя>=ARRAY[диапазон_индексов] OF <базовый_тип>;

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

Пример. Найти значение и номер наименьшего элемента в одномерном массиве. При задании элементов исходного массива типизированной константой используется следующая программа:

Program lr6_1;

const a: array[1..10] of integer=(5,2,7,1,8,3,4,5,6,6);

var i, min, n: integer;

begin

min:=a[1];

n:=1;

for i:=2 to 10 do

if a[i]<min then

begin

min:=a[i];

n:=i;

end;

writeln('минимальный элемент равен ',min, ' n=',n);

end.

Если элементы массива вводятся с клавиатуры, то текст программы изменится:

program lr6_2;

var a: array[1..10] of integer;

i, min, n: integer;

begin

read(a[1]);

min:=a[1];

n:=1;

for i:=2 to 10 do

begin

read(a[i]);

if a[i]<min then

begin

min:=a[i];

n:=i;

end;

end;

writeln('минимальный элемент равен ', min, ' n=',n);

end.

Соседние файлы в предмете Информатика