Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт о практике 2010.doc
Скачиваний:
8
Добавлен:
13.05.2015
Размер:
519.68 Кб
Скачать

Задание 2. График функции в текстовом режиме

  1. Задание по практике

Построить график функции = на заданном интервале [0, 5] изменения аргументаx. Использовать стандартные функции текстового режима (модульCRT). Вычислениеоформить в виде функции.

  1. Соглашение о требованиях к программе

2.1Назначение программы:

Построение графика функции= в текстовом режиме.

2.2Перечень функций, выполняемых программой

  1. Построение координатной плоскости,

  2. Перевод действительных значений координат в относительные для вывода на экран,

  3. Построение графика.

2.3Формат входных данных:

На вход программы не поступает данных извне.

2.4Формат выходных данных:

На экран выводится координатная плоскость и график заданной функции.

  1. Реализация:

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

program p2;

uses Crt;

var i, j, Xs, Ys, Xg, Yg: LongInt;

x, y, dx: Real;

function f(x: Real): Real;

{Возвращает значение функции f(x) = -0.7x + 0.4 в точке x}

begin

f := -0.7 * x + 0.4;

end;

begin

ClrScr;

GoToXY(2, 1);

TextColor(15);

Write('y=-0,7x+0,4');

TextColor(10);

for i := 30 downto 2 do

begin

GoToXY(14, i);

Write('│');

end;

GoToXY(14, 1);

Write('^');

GoToXY(16, 1);

TextColor(13);

Write('y');

for i := 1 to 6 do

begin

GoToXY(14, 4 + (i - 1) * 5);

TextColor(10);

Write('┤');

GoToXY(9, 4 + (i - 1) * 5);

Yg := (2 - i);

TextColor(13);

Write(Yg : 4);

end;

  1. Приложения:

4.1Результаты тестовых прогонов при тестировании:

Задание 3. Процедурные типы

  1. Задание по практике

Использовать процедурные типы. Управляющий параметр ввести с клавиатуры

  1. Соглашение о требованиях к программе

2.1Назначение программы:

Нахождение суммы n членов одного из рядов:

;n = 25

; n = 35

;n= 40

2.2Перечень функций, выполняемых программой

Нахождение суммы nчленов выбранного ряда.

2.3Формат входных данных:

Числовой – управляющий параметр (1, 2, 3).

2.4Формат выходных данных:

На экран выводится значение найденной суммы.

  1. Реализация:

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

program p3;

uses Crt;

type S = function(i: Byte): Real;

function S1(i: Byte): Real; far;

{Возвращает значение i-того члена ряда S1}

begin

if i = 1 then S1 := 1 else S1 := 1 / ((i - 1) * i);

end;

function S2(i: Byte): Real; far;

{Возвращает значение i-того члена ряда S2}

begin

S2 := (2 * i) / Exp(Ln(3) * i);

end;

function S3(i: Byte): Real; far;

{Возвращает значение i-того члена ряда S3}

begin

if i = 1 then S3 := 1 else S3 := 1 / (2 * i - 1);

end;

var Sn: S; i, N, Flag: Byte; Sum: Real;

begin

ClrScr;

WriteLn('Найти сумму ряда:');

WriteLn;

WriteLn('1: S = 1 + 1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) + ... n = 25');

WriteLn;

WriteLn('2: S = 2/3 + 4/9 + 6/27 + 8/81 + ... n = 35');

WriteLn;

WriteLn('3: S = 1 + 1/3 + 1/5 + 1/7 + ... n = 40');

WriteLn;

Write('Введите управляющий параметр (1,2,3) -> ');

ReadLn(Flag);

WriteLn;

case Flag of

1 : begin Sn:=S1; N:=25; end;

2 : begin Sn:=S2; N:=35; end;

3 : begin Sn:=S3; N:=40; end;

else

  1. Приложения

4.1Результаты тестовых прогонов при тестировании: