- •А.В. Карташов, ю.А. Скоб, в.А. Халтурин, и.А. Трофимова, л.И. Черноштан, ю.К. Чернышев, о.В. Яровая информатика
- •Стандартные типы данных среды Турбо Паскаль и описание величин
- •Описание величин
- •Процедуры ввода данных
- •Процедура вывода данных
- •Порядок выполнения работы
- •Варианты заданий
- •Пример программы
- •Лабораторная работа № 2 выражения
- •Порядок выполнения работы
- •Задача 2
- •Задача 3
- •Лабораторная работа № 4 операторы цикла
- •Теоретические сведения
- •Вывод коэффициента рекуррентности q
- •Проверка правильности вычисления q
- •Варианты заданий
- •Лабораторная работа № 5 массивы
- •Теоретические сведения
- •Варианты заданий Задача 1
- •Задача 2
- •Лабораторная работа № 6 текстовые файлы
- •Теоретические сведения
- •Файл исходных данных Input8_1.Pas:
- •Лабораторная работа № 7
- •Теоретические сведения
- •Теоретические сведения
- •Лабораторная работа № 9
- •Теоретические сведения
- •Варианты заданий
- •Лабораторная работа № 10 модули
- •Теоретические сведения
- •Создание модуля
- •Файл исходных данных Input8_2.Pas:
- •Варианты заданий взять из лабораторной работы № 7 или № 9 по указанию преподавателя.
Вывод коэффициента рекуррентности q
до цикла |
цикл |
.
Проверка правильности вычисления q
До цикла: предыдущее слагаемое ;
Значение переменной .
Цикл начинается при значении переменной и заканчивается при .
|
|
|
|
|
1 |
1 |
– |
|
|
2 |
|
– |
|
|
3 |
|
– |
|
|
: : |
: : |
: : |
: : |
: : |
n |
|
– |
|
|
Программа для задачи 1:
PROGRAM lab7_1;
uses crt;
CONST n=9; { количество элементов суммы }
x=0.6; { для этого Х вычислить сумму }
VAR s :real; { искомая сумма }
q :real; { коэффициент рекуррентности }
a1,a2 :real; { предыдущий и следующий элементы суммы }
i :integer; { счетчик элементов суммы }
BEGIN
clrscr; { очистка экрана }
s:=1; { значение суммы до начала цикла }
a1:=1; { слагаемое непосредственно перед началом цикла}
FOR i:=1 TO n DO
begin
q:=-x/i; { i-й коэффициент рекуррентности }
a2:=a1*q; { следующий элемент суммы }
s:=s+a2; { суммирование }
a1:=a2 { "переброс" – подготовка к следующему такту цикла}
end;
writeln;
writeln (' x=',x:5:1,' s=',s:9:6);
readln;
END.
Экран выполнения программы для задачи 1:
|
Программа для задачи 2:
PROGRAM lab_7_2;
USES crt;
CONST xn=0.1 ; { начальное значение Х }
xk=1.0; { конечное значение Х }
hx=0.1; { шаг по Х }
eps=1e-6; { точность вычисления суммы }
VAR S :real; { сумма }
q :real; { коэффициент рекуррентности }
a1,a2 :real; { предыдущий и следующий элементы суммы }
x :real; { текущее значение Х }
i :integer; { счетчик элементов суммы }
k :integer; { счетчик количества точек Х }
BEGIN
clrscr; { очистка экрана }
x:=xn; { начальная точка Х }
k:=1; { номер точки X }
WHILE x<=xk+eps DO { начало цикла по Х }
BEGIN
s:=1; { значение суммы до цикла в К-й точке Х }
a1:=1; { слагаемое непосредственно перед началом цикла}
i:=1; { начальное значение счетчика i }
REPEAT {цикл REPEAT для вычисления суммы в К-й точке Х}
q:=-x/i;
a2:=a1*q;
s:=s+a2;
i:=i+1;
a1:=a2
UNTIL abs(a2)<eps; { закончился оператор REPEAT }
writeln;
writeln ( k:2,'. ',' x=',x:3:1,' s=',s:9:6 );
k:=k+1;
x:=x+hx; { переход на следующий Х }
END; { закончился оператор WHILE }
repeat until keypressed; { задержка экрана }
END.
Экран выполнения программы для задачи 2:
|