Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть1. Структурное программирование.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

2. Таблица распределения идентификаторов

Входные

промежуточные

выходные

переменные

х

a

K

N

у

имя

х

a

K

N

у

тип

real

real

integer

integer

real

3. Блок-схема программы с использованием цикла с постусловием представлена на рис. 13.

4. Программа. Программа составляется по блок-схеме с учетом таблицы распределения идентификаторов.

Рис. 13. Блок-схема программы

Program Primer;

uses Crt;

var

x, y, a : real;

n, k: integer;

begin

writeln('Vvedite x, a, k = ');

readln(x,a,k);

y:=0;

n:=1;

repeat

y:=y+((sqr(x)+a)*n)/(n+1);

n:= n+1

until n > k;

writeln ('y = ', y:6:2);

writeln;

end.

5. Протокол работы программы

Vvedite x, a, k =

2.0 4.0 5

y = 28.40

6. Содержание отчета (см. задача 1).

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

Встречаются вычислительные процессы, которые сводятся к многократному повторению одних и тех же действий до тех пор, пока некоторая переменная остается внутри заранее заданного интервала. Выход значения этой переменной из интервала прерывает циклический вычислительный процесс. Простейшим примером такого процесса является табуляция функции, т. е. многократное вычисление значений функции при изменении аргумента от некоторого начального до некоторого конечного значений с некоторым шагом.

Задача 6

1. Формулировка задачи: вычислить значение функции y = 2x2 - 4x + 6 при изменении аргумента в интервале [-2; 2] с шагом 0,5.

2. Таблица распределения идентификаторов

Входные

промежуточные

выходные

Переменные

хнач

хкон

Δх

x

k

n

у

х

Имя

хn

xk

h

x

k

n

у

х

Тип

real

real

real

real

integer

integer

real

real

3. Блок-схема программы

На рисунках 14, 15, 16 представлены блок-схемы, которые должны быть реализованы в программах операторами с предусловием (while), цикла с параметром (for) и с постусловием (repeat). В первом варианте требуется определить необходимое количество повторений цикла и выразить значение аргумента через параметр цикла k. Для этого используется функция trunc, которая вычисляет целое число.

4. Программа. Программа составляется по блок-схеме с учетом таблицы распределения идентификаторов.

1-й вариант

Program Primer;

uses Crt;

var

x, xn, xk, h, y: real;

begin

write('Vvedite xn, xk, h = ');

readln(xn, xk, h);

x:=xn;

while x <= xk do

begin

y:= 2 * sqr(x) – 4 * x + 6;

writeln ('x = ', x:6:2,' y = ', y:6:2);

x:= x + h;

end;

writeln;

end.

5. Протокол работы программы

Vvedite xn, xk, h =

-1.5 1.0 0.5

x = -1.50 y = 16.50

x = -1.00 y = 12.00

x = -0.50 y = 8.50

x = 0.00 y = 6.00

x = 0.50 y = 4.50

x = 1.00 y = 4.00

Рис. 14. Блок-схема программы (while)

2-й вариант

Program Primer;

uses Crt;

var

x, xn, xk, h, y: real;

k, n: integer;

begin

write('Vvedite xn, xk, h = ');

readln(xn, xk, h);

x:=xn;

k:= trunc((xk – xn)/h) + 1;

for n: =1 to k do

begin

x:=xn + (n – 1) * h;

y:= 2 * sqr(x) – 4 * x + 6;

writeln ('х = ', x:6:2,'у = ', y:6:2);

end;

writeln;

end.

Рис. 15. Блок-схема программы (for)

3-й вариант

Program Primer;

uses Crt;

var

x, xn, xk, h, y: real;

begin

write('Vvedite xn, xk, h = ');

readln(xn, xk, h);

x:=xn;

repeat

y:= 2 * sqr(x) – 4 * x + 6;

writeln ('х = ', x:6:2,'у = ', y:6:2);

х:= x + h

until x > xk;

end.

6. Содержание отчета (см. задача 1).

Рис. 16. Блок-схема программы (repeat)