Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методичка по информатике, часть 2

.pdf
Скачиваний:
24
Добавлен:
30.03.2015
Размер:
525.19 Кб
Скачать

Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования

«Омский государственный технический университет»

АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

Turbo Pascal 7.0

Методические указания к лабораторным работам

Омск 2005

Составитель Ольга Павловна Шафеева, канд.техн.наук, доцент

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

Предназначены для выполнения студентами лабораторных работ по курсам "Основы алгоритмизации и программирования", "Программирование на языке высокого уровня".

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

Редактор Т.А. Жирнова Свод. темплан 2005 г.

И Д №06039 от 12.10.01

Подписано в печать 10.02.05. Бумага офсетная. Формат 64 ×84 1/16. Отпечатано на дупликаторе. Усл. печ. л. 3,75. Уч. - изд.л. 3,75.

Тираж . Заказ . Издательство ОмГТУ. 644050, Омск, пр. Мира 11

Типография ОмГТУ

2

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

Основы программирования в среде Турбо Паскаля. Оператор присваивания, процедуры ввода вывода

Оператор присваивания имеет вид <идентификатор>:= <выражение>; В арифметических выражениях могут использоваться следующие

математические функции и соотношения:

 

 

 

 

SIN(X)

sin X;

COS(X)

cos X;

EXP(X)

ех;

LN(X)

Ln X;

SQR(X) х2;

SQRT(X)

 

 

;

х

 

ABS(X) абсолютная величина X (|Х|);

ARCTAN(X)

arctan X;

 

ах программируется как EXP(x*LN(a));

lgX как LN(X)/LN(10).

 

TRUNC(X) выделение целой части числа;

 

 

 

 

 

 

Pi=3.1415926535897932385;

 

 

 

 

 

 

 

 

ROUND(X) округление Х до ближайшего целого.

 

 

 

 

 

 

 

 

Приоритет операций в выражении

 

 

 

 

 

 

 

 

 

 

 

 

Арифметические

Логические

 

Отношения

 

Другие

 

 

п/п

 

 

 

 

 

 

 

 

 

 

 

1

 

 

NOT

 

 

 

 

@ адресное

 

 

2

*, /, div, mod

аnd,shl,shr,

 

 

 

 

преобразование

 

 

3

+,–

 

оr, xor

 

 

 

 

 

 

 

 

4

 

 

 

 

<=,>=,<>,<,>,=

 

in

 

 

 

Для реализации лабораторных работ необходима среда Borland Pascal

версии 7.0. Ее запуск производится через файл bp.exe

(BP7\BIN\bp.exe).

 

Пример 1. Вычислить площадь прямоугольника по размерам его сторон А и В.

Обозначим площадь переменной S, тогда необходимо найти S=A*B.

 

 

 

Программа набирается в окне редактора и компилируется [F9]:

 

 

Program RECT;

{заголовок программы с именем RECT}

 

 

const

 

{блок описания констант}

 

 

 

 

 

 

A=2; B=3;

 

 

 

 

{определение констант А и В}

var

 

{блок описания переменных}

 

 

 

 

 

 

S:integer;

 

 

{определение переменной S целым типом}

begin

 

{начало основного блока программы}

 

 

 

S:=A*B;

 

 

 

 

 

{оператор присваивания}

 

write('Площадь прямоугольника = ',S);

 

 

{процедура вывода}

end.

 

{конец основного блока}

 

 

 

 

 

В результате выполнения программы (Ctrl+F9) на экран выводится сообщение:

Площадь прямоугольника = 6.

Пример 2. Найти площадь равностороннего треугольника. Если стороны треугольника имеют размер А, то его площадь S = A2 sin(π/3)/2. Схема алгоритма (СА) реализации этой задачи (рис.1) выполнена по ГОСТ 19.701-90 (прил.1).

3

Текст программы

Program TREUG; var

A, S: real;

begin

writeln('Введите A'); {процедура вывода текста}

read(A);

{процедура ввода}

S: = SQR (A)*sin(PI/3)/2;

 

writeln ('Результат: S=', S: 6: 2,'

для A=', A);

readln;

{Задержка до нажатия клавиши <ENTER>}

end.

После выполнения программы на экран выводится сообщение:

Результат: S = 10.83 для А = 5. Предварительно рассчитанный на калькуляторе

результат для А = 5 при подготовке к лабораторной работе составил S = 10.8253, что подтверждает верность программы.

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

Начало

Ввод

А

 

 

 

 

 

 

S =

А 2

sin

π

 

2

 

 

 

 

 

3

 

 

 

 

 

 

 

Вывод

S

Конец

Рис.1

x1

x2

a

b

c

 

 

 

 

Вычислить

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

5

6

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w = ae

 

 

 

 

cos( bx ) + c 5

1

1

2

1.5

2

–0.7

 

 

x

2

1

2

0.7

2.1

y =

 

 

 

 

sin x

 

 

 

c ln ax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1+

а2 sin 2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

0

1.5

2

1.2

1

z =

 

 

a + b e sin x

+ c

4

1

2

4.1

–2.3

w =

 

 

x 3 + a 2

cos

2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x +

a + b sin

 

 

3 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y = bx2eax 2

+ a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

–1

1

0.5

2

1.5

 

 

 

х + 1.5

 

 

 

 

 

 

 

 

= e

 

х + 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

2

4

0.5

1.3

z

 

 

 

 

х + a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х

 

 

 

 

х b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

0

2

0.5

1

w = e a2

 

 

 

 

 

 

+ e bx 3

 

 

 

 

 

 

 

 

 

 

x + 1

x + 1

8

–1

1

2.7

1.7

y = a2 /(x + 2)ebx2

+ ln(a + bx)

9

0

π/2

2

0.7

0.5

z = a3 cos(bxsin2 х) + 3

 

 

 

 

c

10

1

0

0.5

2.9

1.5

w =

 

 

ax + 2 x cos( bx )

 

 

bx

e x sin( bx ) + c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

5

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y = eax 3

 

 

 

 

 

 

 

 

 

 

 

 

n2x

 

 

 

11

1

2

1.5

–1.2

 

ax + bsi

 

 

 

12

1

2

0.5

1.7

2

z = e bx sin(сx + b) −

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bx + a

13

–1

1

0.5

1.2

w = 2x arctg(x + a) − 3bx cos(x + b)

 

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ e − 2 x ( x + b)

 

 

 

14

1

2

0.5

3.1

 

 

 

ax sin 2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

1

2

0.5

3.2

z = e2x ln(a + x) − b3x lg(b x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

16

0

1

1

2

4

w

=

 

 

 

 

 

 

 

x

 

 

 

 

a

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a +

 

 

 

 

 

 

 

 

x 2

 

 

 

+

 

 

 

 

 

x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17

0

1

1

3

y

=

 

 

 

 

 

 

b

+

 

e

 

x

 

− 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

+

 

x 2

 

x

tg x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18

–1

2

1

2

 

z =

 

 

a

+

 

 

 

 

cos

( x

b )

 

 

 

 

 

 

 

x

4

/

 

2

+

sin

2

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

19

1

2

2

3

1

w =

 

ln

 

(b −

 

x

 

)(x −

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

+ x2 / 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

–1

1

2

π/6

0,5

 

y =

a cos( x b )

 

+ 2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c + sin

2

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание 2 (программа 1_2)

1.Идет k секунда суток. Определить, сколько целых часов (h) и целых минут

(m)и секунд (s) прошло к этому моменту.

2.Определить площадь трапеции с основаниями а, b, высотой h и объем

усеченного конуса, если считать а, b площадями оснований.

3.Определить координаты центра тяжести трех материальных точек с массами m1,m2,m3 и координатами (x1,y1), (x2,y2), (x3,y3).

4.Вычислить по заданному радиусу R объем шара и площадь круга, найти соотношение между ними.

5.Вычислить медианы треугольника по заданным сторонам a, b, c.

6.Вычислить площадь поверхности и объем конуса по заданным радиусам и высоте h.

7.По заданному радиусу R найти объем шара и площадь его поверхности.

8.Вычислить, какая идет секунда суток при положении стрелок в h часов, m минут и s секунд, а также угол (в градусах) между положением часовой стрелки в начале суток и ее положением в указанный момент.

9.Ввести двузначное целое число х<15. Написать программу перевода его в восьмеричную систему счисления.

10.Ввести координаты двух точек (х1, y1), (x2,y2). Найти расстояние между

ними.

5

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

Программирование разветвленных алгоритмов. Операторы передачи управления

Структура условного оператора передачи управления:

IF <условие> THEN <оператор 1> ELSE <оператор 2>;

(Если) (то) (иначе) ключевые слова, где <условие> это произвольное выражение логического типа, которое может принимать два значения: истина (TRUE) и ложь (FALSE);

<оператор> любой оператор языка Паскаль. Сокращенная форма условного оператора:

IF <условие> THEN <оператор>;

Оператор безусловной передачи управления GOTO <метка> позволяет перейти к строке с идентификатором <метка>. В языке Турбо Паскаль допускается использовать в качестве меток также целые числа без знака [0 .. 9999].

Метка от оператора отделяется в программе двоеточием (':').

Все использованные в программе метки должны быть описаны в разделе описаний программы с указанием ключевого слова 'LABEL'.

Оператор выбора CASE позволяет в зависимости от значения какой-либо переменной или выражения <ключа_выбора> выполнить те или иные операторы, помеченные соответствующими константами.

Структура оператора:

CASE <ключ_выбора> OF

<конст.выбора1>:<оператор1>; <конст.выбора2>:<оператор2>;

. . .

<конст.выбораN>:<операторN>

ELSE <оператор>

END;

где <ключ выбора> выражение (переменная) любого порядкового типа; <конст.выбора> константа того же типа, что и <ключ.выбора>; <оператор> – произвольный оператор ТП.

Пример. Составить программу для начисления зарплаты согласно следующему правилу: если стаж работы сотрудника менее пяти лет, то зарплата равна 50$, при стаже работы от пяти до 15 лет 100$, свыше 15 лет зарплата повышается с каждым годом на 10$, причем при стаже превышающем 30 лет она составляет 300$. Для программирования решения этой задачи определим математическую формулировку задачи:

 

50,

если ST < 5;

ZP=

100,

если 5 ≤ST ≤ 15;

 

100+ (ST –15)*10,

если 15 < ST≤ 30;

 

300,

если ST > 30;

где ZP

зарплата, ST стаж работы. Далее построим СА (рис.2,а), ей соот-

ветствует следующая программа:

6

Program zarplata;

 

 

var ST: byte;

{ST –

стаж (байтовый (целый) тип)}

ZP: real;

{ZP –

зарплата (вещественный тип)}

begin

 

 

writeln ('введите стаж');

 

 

read(ST);

{ввод стажа}

if ST<5 then ZP:=50

{условный оператор}

else if ST<15 then ZP:=100 {вложенный условный оператор} else if ST>=30 then ZP:=300

else ZP:=100+(ST–15)*10;

writeln ('зарплата=',ZP:10:2,' $');

end.

Начало

 

 

Ввод

 

 

стажа

 

 

ST<5

Да

ZP=50

 

 

Нет

 

 

ST<=15

Да

ZP=100

Нет

 

 

ST>=30

Да

ZP=300

Нет

ZP=100+(ST-15)*10

Вывод

ZP

Конец

а)

Рис.2

Начало

Ввод стажа ST

ST

1..4 ZP=50

5..15 ZP=100

16..29

ZP=100+(ST15)*10

ZP=300

Вывод

ZP

Конец

б)

Второй вариант реализации задачи с применением оператора выбора представлен СА (рис.2,б) и следующей программой:

Program zarplata2;

 

var

ST: byte;

{стаж (байтовый) тип)}

 

ZP: real;

{зарплата (вещественный тип)}

begin

 

 

writeln('введите стаж');

 

7

read(ST);

{ввод стажа}

case ST of

{выбор из }

1..4:

ZP:=50;

5..15: ZP:=100;

16..29: ZP:=100+(ST–15)*10;

else ZP:=300

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

writeln('зарплата=',ZP:10:2,' $');

 

 

 

{вывод результата}

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

Вычислить значение функции в зависимости от интервала, в который попадает

вводимый с клавиатуры аргумент:

 

 

 

 

 

 

 

 

 

 

1.

Для t [0,3],

 

 

 

at2lnt

при 1 t ≤ 2 ,

где a=-0.5,b=2

z=

1

 

 

 

 

 

 

 

 

 

 

 

при t<1,

 

 

 

 

 

 

eatcosbt

при t>2,

2.

Для x

[0,4],

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

при x>2,

 

x + a

 

 

 

 

 

 

 

 

где а=2.3

 

f=

х

 

 

 

 

 

 

 

 

при 0.3< x £ 2,

 

 

 

 

cos(x-a)

при x £ 0.3 ,

3.

Для x

[0,7],

 

(a+b)/(ex+cosx)

при 0 £ x<2.3,

где a=-2.7,b=-0.27

z=

(a+b)/(x+1)

при 2.3£ x<5,

 

 

 

 

ex+sinx

 

 

 

 

 

 

 

 

при

7 ³ x ³ 5 ,

4.

Для i [7,12],

 

ai4+bi

 

 

 

 

 

 

 

 

при I< 10,

где a=2.2,b=0.3.

y=

tg(i+0.5)

при I= 10,

 

 

 

 

e2i+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a 2

+ i 2

при I>10,

5.

Для x [0.9,5],

 

π x2-7/x2

при

x<1.3,

где a=1.5

 

y=

ax3+7

 

 

 

 

 

 

 

при 1.3 £ x<3,

 

x

 

 

 

 

lg(x+7

 

 

 

)

 

 

 

при x ³ 3 ,

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

6.

Для t [-1.4],

 

 

 

at 2 + b sin t + 1

при t<0.1,

где a=2.1,b=0.37.

z=

at+b

 

 

 

 

 

 

 

 

при 0.1£ t< 2,

 

 

 

 

 

 

 

 

 

 

при t ³ 2 ,

 

 

 

 

 

 

at 2 + b cos t + 1

7.

Для x

[0,6],

 

a esinx+2.5

при x<0.3,

где a=1.5.

y =

ecosx+a

 

 

 

 

 

 

 

 

при 0.3£ x<4,

 

 

 

 

(sin x)/(a+ex)

при x ³ 4,

8.

Для x

[1,2],

 

a/x+bx2-c

при x £ 1.2 ,

где a=1.8,b=-0.5, c=3.5

y=

(a+bx)/

 

 

 

при x>1.2,

 

x + 1

8

9. Для t [1,5], где a=2.5

10.Для x [0,4], где a=1,b=3.

11.Для t [0.5,3], где a=1.3,b=6.5

12.

Для x

[0,2],

где b=-2.9

.

 

 

13.

Для x

[0.5,2]

где a=-0.8

14.

Для x

[1,2],

где

b=1.3.

15.

Для x [-1,1],

где a=2.5,b=-0.9.

 

t 3

t a

 

 

 

при t>a,

z=

t sin at

при t=a,

 

e-at cos at

при t<a,

 

e-bx sin bx

при x<2.3,

y=

сos bx

при 2.3 x < 3 ,

 

e-ax cos bx

при x ³ 3,

 

at2-b

 

 

 

 

при t<a,

 

t + 1

z=

a-b

при a £ t £ b,

 

a t2/3- 3

 

 

при

t>b,

 

t + 1

 

|e-2x sin bx|

при

x >1,

y =

cos bx

при

x = 1,

 

e-x cos bx

при

x < 1,

 

sin (cos ax)

при

x >1,

z =

tg ax

при

x = 1,

 

a2 x

при

x < 1,

 

ln bx - 1/(bx+1)

при x < 1.3,

y =

bx + 1

при 1.3 ³ x ³ 1.7,

 

ln bx +1/(bx+1)

при x > 1.7,

 

ax2+bx2/3

при x<0.1,

z=

a x2

при x=0.1,

 

b x2/3

при x>0.1.

16.Ввести координаты точки (x, y). Напечатать, в каком квадранте или на какой оси координат находится эта точка.

17.Ввести радиусы R1, R2 и высоту. Вычислить объем усеченного конуса:

h(S1 + S1S2 + S2 ) / 3 , где S – площадь оснований. Если R1 = R2 объем и площадь

цилиндра, если R1 = 0 или R2 = 0 объем (hπr2) и площадь πr( r 2 + h 2 ) поверхности конуса.

18.Ввести с клавиатуры цифру. Определить, какой системе счисления она может принадлежать.

19.Ввести число. Определить, делится ли оно нацело на два, три или на пять.

20.Ввести a, b, h. Если h=0, вычислить площадь прямоугольника; при a= b, найти площадь квадрата; в противном случае подсчитать площадь трапеции.

Задание 2 (программа 2_2)

1. Определить остаток от деления на восемь введенного числа х и написать восьмеричную цифру прописью.

9

2.По цифре (0..9), введенной с клавиатуры, напечатать название этой цифры.

3.С клавиатуры ввести число k (1..30). Определить, какому дню недели оно

соответствует, если первое число понедельник.

4.Ввести число и номер месяца. Напечатать дату с названием месяца прописью.

5.Идет k секунда суток. Вычислить, сколько прошло часов и полных минут к этому моменту, при этом согласовать со значением слова (час, часа, часов, минута, минуты, минут).

6.В зависимости от номера (N) типа фигуры, организовать ввод необходимых дан-

ных и вычислить при N = 1 площадь круга, N = 2 объем шара (4/3πR3), N=3 объем цилиндра, N = 4 площадь поверхности сферы 4πr2.

7.Ввести число N (0 ≤ N ≤ 15). Определить и напечатать шестнадцатеричную цифру, ему соответствующую.

8.Для целого числа R (1…99) напечатать фразу « Мне R лет », при некоторых значениях R слово «лет» заменить словом «год» или «года».

9.В зависимости от номера (N) типа фигуры, организовать ввод необходимых дан-

ных и вычислить при к = 1 площадь прямоугольника, при к = 2 площадь параллелограмма, при к = 3 площадь трапеции 1/2(a+b)h. В последнем случае напечатать: является ли трапеция параллелограммом или ромбом.

10. Перевести введенное число 0 ≤ х ≤ 31 в шестнадцатеричную систему счисления.

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

Программирование циклических алгоритмов с заданным числом повторений

Первая форма счетного оператора цикла позволяет наращивать параметр цикла на единицу (+1):

FOR <параметр цикла>:= <min значение> TO <max значение> DO <оператор>; (Для) (увеличивая к) (выполнять)

где <параметр цикла> это переменная целого либо любого порядкового типа; <min, max значения> это начальное и конечное значения параметра цикла (выражения того же типа, что и параметр цикла).

Вторая форма позволяет уменьшать значение параметра цикла на единицу (-1):

FOR <параметр цикла>:= <max знач.> DOWNTO <min знач.> DO <оператор>;

(Для)

(уменьшая к)

(делать)

Пример 1.

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

На основе анализа изменения параметра знаменателя определим алгоритм решения задачи (pис. 3) и напишем программу:

PROGRAM suma;

VAR s, r: REAL;

i, N: INTEGER;

BEGIN

s:=0; WRITELN('введите N');

10