Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TP_L4.DOC
Скачиваний:
3
Добавлен:
22.11.2018
Размер:
195.58 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА 4

ПРОГРАММИРОВАНИЕ ЦИКЛОВ

С УСЛОВИЕМ

ЦЕЛЬ РАБОТЫ:

Овладеть навыками программирования на

языке Паскаль алгоритмов циклической

структуры с использованием операторов

цикла с предусловием и постусловием.

КРАТКИЕ СВЕДЕНИЯ ИЗ ТЕОРИИ

Для программирования циклов ПОКА в Паскале существуют оператор цикла с предусловием WHILE и оператор цикла с постусловием REPEAT.

ПРИМЕР 1: Алгоритм Евклида для подсчета НОД (наибольшего

общего делителя) двух натуральных чисел.

А Л Г О Р И Т М

алг Евклид

арг a,b: цел

рез z: цел

раб х,у: цел

нач

ввод a,b

x:=a; y:=b

нц пока х ¹ у

если х > y

то х:=х-у

иначе у:=у-х

все

кц

z:=x

вывод z

кон

П Р О Г Р А М М А

program Evklid;

var a,b,x,y,z: integer;

begin

writeln ('Введите числа');

readln (a,b);

x:=a; y:=b;

while (x< >y) do

if x > y

then x:=x-y

else y:=y-x;

z:=x;

writeln ('НОД=',z)

end.

ПРИМЕР 2: Вычислить сумму членов ряда

с точностью до члена ряда, меньшего Е.

А Л Г О Р И Т М

алг Сумма ряда

арг Е: вещ

рез S: вещ

раб Z: вещ, n: цел

нач

ввод Е

n:=1; Z:=1/6; S:=0;

нц пока I Z I >= E

S:=S+Z;

n:=n+1;

кц

вывод S

кон

П Р О Г Р А М М А

program Summa;

var n:integer;

S,Z,E: real;

begin

writeln ('ввести точность');

readln (E);

n:=1; Z:=1/6; S:=0;

While abs(z) >=E do

begin

S:=S+Z;

n:=n+1;

Z:=n/((n+1)*(n+2))

end;

writeln ('S=', S:10:2)

end.

Порядок работы

1. Разработать алгоритм и программу примера 1 (табл.7).

Выполнить программу, проанализировать результаты.

2. Разработать алгоритм и программу для вычисления суммы с

заданной точностью (табл.8). Получить результат.

Содержание отчета

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

ТАБЛИЦА 7

НОМЕР

ВАРИАНТА

УСЛОВИЕ

1

Для выражения определить наименьшее k, при котором значение выражения становится больше заданного числа P.

2

Найти наибольшую степень двойки, не привы-шающую заданного числа n.

3

Вычислить кубический корень из числа m методом Ньтона по формуле:

Вычисления продолжать пока не станет меньше заданной точности e.

xn, e, m

4

Два параллельных зеркала А и В обращены друг к другу. При падении луча на зеркало А он ослабляется на Т[%], а при его падении на зеркало В – на Р[%]. Определить, после скольких отражений луч, попеременно отражаясь то от зеркала А,то от зеркала В, ослабеет более чем в 50 раз. Первоначально он попадает на зеркало А.

S – сила света

5

В водохранилище каждые сутки поступает Т3] воды, а расходуется R3] на орошение полей и испарение, к тому же ежесуточно теряется А (1-EXP(-V))3] воды на просачивание в почву, где А – коэффициент , V – объем воды в водохранилище. Определить, за сколько дней объем воды в водохранилище уменьшится на Р [%] заданного первоначального объема V0.

6

На железнодорожном пути находится N разрозненных вагонов. К ним движется вагон с кинетической энергией W, он сцепляется с ближайшим вагоном, затем вместе с ним движется дальше, сцепляясь с очередным вагоном, и т.д. При каждой сцепке расходуется 20% имеющейся кинетической энергии, еще Р[ Дж ] затрачивается на то, чтобы стронуть с места неподвижный вагон и, если энергия не истрачена полностью, движение продолжается. Определить, сколько вагонов окажутся сцепленными.

7

Найти наибольшую степень 3, не привышающую заданного числа m.

8

Вычислить значения функции

для k = 1,2 ... . Вычисления производить до тех пор, пока у >= z. Вводятся x,y,z.

9

Найти число в последовательности Фибоначчи большее (равное) заданному числу М и его порядковый номер. Члены ряда Фибоначчи вычисляются по формуле: F(1) = F(2) = 1

F(k) = F(k-1) + F(k-2), k > 2

10

Найти наименьшее общее кратное двух чисел. Числа вводятся.

11

Извлечь корень степени m из числа х, воспользовавшись итерационной формулой:

Вычисления продолжать пока не станет меньше заданной точности Е. Вводятся m, x, E.

12

Для выражения определить наименьшее k, при котором значение выражения становится больше заданного числа m.

Вычислить сумму членов ряда S с точностью E:

ТАБЛИЦА 8

НОМЕР

ВАРИАНТА

УСЛОВИЕ

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]