Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
файл 2 примеры решения задач.doc
Скачиваний:
19
Добавлен:
31.05.2015
Размер:
404.99 Кб
Скачать

Программа

Program Prog1_3;

Var

h, S : Real;

a : Byte;

Begin {начало раздела операторов программы}

for a := 1 to 3 do

Begin {начало цикла 1}

h := 1; {начальное значение высоты h}

While h <= 5 do {выполнять цикл пока h <= 5}

Begin {начало цикла 2}

S := a*h/2; {вычисление площади S}

{вывод на экран}

Writeln('При а = ', a, ' , h = ', h:7:2, ' S = ', S:7:2);

h := h + 0.8; {приращение высоты h}

end; {конец цикла 2}

end; {конец цикла 1}

End. {конец программы}

Результат работы программы

При a = 1 h = 1.00 S = 0.50

При a = 1 h = 1.80 S = 0.90

При a = 1 h = 2.60 S = 1.30

При a = 1 h = 3.40 S = 1.70

При a = 1 h = 4.20 S = 2.10

При a = 2 h = 1.00 S = 1.00

При a = 2 h = 1.80 S = 1.80

При a = 2 h = 2.60 S = 2.60

При a = 2 h = 3.40 S = 3.40

При a = 2 h = 4.20 S = 4.20

При a = 3 h = 1.00 S = 1.50

При a = 3 h = 1.80 S = 2.70

При a = 3 h = 2.60 S = 3.90

При a = 3 h = 3.40 S = 5.10

При a = 3 h = 4.20 S = 6.30

1.3. Вычислительные процессы с использованием процедур

Задача 1.4.Разработать алгоритм и программу для вычисления и вывода на экран значений функцииz= sin[cos4(x·y)]. Значения переменныхxиyвводятся с клавиатуры. Для решения задачи необходимо использовать подпрограмму (function).

Решение задачи

Общий алгоритм решения задачи и схема вычисления функции в подпрограмме (расшифровка символа «Предопределенный процесс») представлены на рис. 1.4, аибсоответственно.

а)

б)

Рис. 1.4

Обозначения схемы алгоритма:

x1, y1 – фактические параметры, обозначающие значения переменных x и y соответственно, используемые для передачи значений в функцию Z;

Z(z1, y1) – вызов функции Z для вычисления значения z = sin[cos4(x·y)];

z1 – значение функции z, равное возвращаемому значению функции Z.

Программа

Program Prog1_4;

Var

z1, x1, y1 : Real;

Function Z(x, y : Real) : Real;

Begin {начало функции z}

z := sin(cos(x*y) * cos(x*y) * cos(x*y) * cos(x*y));

End; {конец функции z}

Begin {начало основной программы}

Write('Введите значения x, y ');

Readln(x1, y1); {чтение значений переменных x1, y1}

z1 := Z(x1, y1); {вычисление z1 с использованием функции z}

Writeln('z =' , z1:7:2);{вывод на экран}

end. {конец основной программы}

Результат работы программы

Введите значения x, y 1 –2

z = 0.03

1.4. Алгоритмы и программы табуляции функции

Задача 1.5.Разработать алгоритм и программу для табуляции функции , где переменныеzi,ti(i = 1;n) являются массивами. Число элементов массивовnвводить с клавиатуры. Значенияyвыводить на экран.

Решение задачи

Алгоритм процесса табуляции состоит в последовательном вычислении функции с заданным шагом по переменному аргументу. Требуется организация цикла от 1 до nдля перебора значения массивовziиti. Схема алгоритма решения задачи представлена на рис. 1.5.

Программа

Program Prog1_5;

Var

N, I : Byte;

Z, T : array[1..20] of Real;

Y, a : Real;

Begin {начало раздела операторов программы}

Write('Введите число элементов массивов (до 20) ');

Readln(N); {чтение значения числа элементов массивов}

Write('Введите значение коэффициента а ');

Readln(a); {чтение значение коэффициента а}

for I := 1 to N do

Begin {начало цикла}

Write('Введите ', I, '-е элементы массивов Z и T ');

Readln(Z[I], T[I]); {чтение значений элементов массивов Z, T}

Y := sin(Z[I]) * Exp(a*T[I]); {вычисление Y}

Writeln('Y = ', Y:7:2); {вывод на экран значения Y}

end; {конец цикла}

End. {конец программы}