Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет.docx
Скачиваний:
98
Добавлен:
13.03.2016
Размер:
852.36 Кб
Скачать

Задача 1.1.

Условие

Записать по правилам программирования заданную формулу. Составить программу вычисления значения по ней для Х, принадлежащего отрезку [0,1:0,6] по формуле

Листинг

program project1;

uses

SysUtils, things, math;

var

Calculated: boolean;

Value, y: extended;

a: extended = 0.1;

b: extended = 0.6;

s: string;

begin

while not Calculated do

begin

Value := RequestNumber('Введите число, принадлежащее отрезку [0.1; 0.6]:');

writeln();

if (Value >= 0.1) and (Value <= 0.6) then

begin

y := 1.8 + ln( abs( 30/7 - tan( sin ( Value * 5/3 ) ) ) );

s := Format('Результат: %.3f', [y]);

writeln(s);

Calculated := true;

end

else

writeln('Введённое число не принадлежит заданному отрезку.');

end;

readln();

end.

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

Блок-схема

Переменные

Класс

Имя

Тип

Структура

Назначение

Исходные данные

Value

Число с плавающей запятой

Переменная

Значение аргумента

Исходные данные

b

Число с плавающей запятой

Переменная

Конец отрезка

Исходные данные

a

Число с плавающей запятой

Переменная

Начало отрезка

Итоговые данные

y

Число с плавающей запятой

Переменная

Значение функции

Задача 1.2.

Условие

Составить алгоритм и программу вычисления значений функции f(x) из задачи 1.1 для N значений аргумента Х, равномерно распределенных на отрезке [A,B]. Для проверки программы задать N=10;A=0,55;B=1.

Листинг

program project1;

uses

SysUtils, things, math;

var

N, i: integer;

A, B, x, y, Step: extended;

s: string;

begin

A := RequestNumber('Введите точку A:');

B := RequestNumber('Введите точку B:');

N := abs(round(RequestNumber('Введите число шагов N:')));

x := A;

Step := (B - A)/N;

for i:=1 to N do

begin

y := 1.8 + ln( abs( 30/7 - tan( sin ( x * 5/3 ) ) ) );

s := Format('Точка %d: (x: %.3f, y: %.3f)', [i, x, y]);

writeln(s);

x += Step;

end;

readln();

end.

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

Блок-схема

Переменные

Класс

Имя

Тип

Структура

Назначение

Исходные данные

N

Целый

Константа

Число шагов

Промежуточные данные

x

Число с плавающей запятой

Значение аргумента

Промежуточные данные

Step

Число с плавающей запятой

Величина шага

Исходные данные

А

Число с плавающей запятой

Начало отрезка

Исходные данные

В

Число с плавающей запятой

Конец отрезка

Промежуточные данные

i

Целый

Счетчик

Итоговые данные

у

Число с плавающей запятой

Значение функции

Задача 1.3.2.

Условие

Составить циклический алгоритм и программу для вычисления результатов по формуле .

Для проверки программы задать x=0.5, n=20.

Листинг

program project1;

uses

SysUtils, things, math;

var

X, x1, x2, a: extended;

N, i: integer;

s: string;

begin

X := RequestNumber('Введите X:');

N := abs(round(RequestNumber('Введите N:')));

x1 := X*Pi()/N;

x2 := 1;

for i:=1 to N do

begin

x2 *= (ln(sqrt(exp(i*0.1) + X)))/(1/3 + abs(tan(sin(i*X/3))));

end;

a := x1 + x2 + 0.5;

s := Format('Результат: %.3f', [a]);

writeln(s);

readln();

end.

Блок-схема

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

Переменные

Класс

Имя

Тип

Структура

Назначение