Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

16.05.2010, 17:19
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме: 1313455
Репутация:
249
|
|
Сообщение от mr_walker
написать на паскале
тема процедуры и функции
определить значение функции y = f (x) на промежутке [a; b] с шагом h используя для вычисления значения функции - подпрограммы функции
дано:
a.) 0.1 * tg (x)-sin (4x) a =- 2 * pi b = 2 * pi h = 0.5
b.) | 3x-cos (x) | / (x-9) a =- 7 b = 7 h = 0.75
Код:
Код:
program Tabulirovanie_funczii;
function fA(x: real):real;
begin
fA := 0.1 * (sin(x) / cos(x)) - sin(4*x);
end;
function fB(x: real):real;
begin
fB := ABS(3*x - cos(x)) / (x - 9);
end;
procedure WriteHeader;
begin
writeln;
writeln(' x y');
readln;
end;
var
a, b, h, x: real;
begin
writeln('0.1 * tg (x)-sin (4x) a =- 2 * pi b = 2 * pi h = 0.5');
WriteHeader;
a := -2 * Pi;
b := 2 * Pi;
h := 0.5;
x := a;
while x <= b do
begin
writeln(x:6:4, ' ', fA(x):6:4);
x := x + h;
end;
readln;
writeln('| 3x-cos (x) | / (x-9) a =- 7 b = 7 h = 0.75');
WriteHeader;
a := -7;
b := 7;
h := 0.75;
x := a;
while x <= b do
begin
writeln(x:6:4, ' ', fB(x):6:4);
x := x + h;
end;
readln;
end.
Результат работы:
Код:
0.1 * tg (x)-sin (4x) a =- 2 * pi b = 2 * pi h = 0.5
x y
...
-5.2832 0.9125
-4.7832 1.6896
-4.2832 -1.2079
-3.7832 0.4693
-3.2832 0.5223
-2.7832 -0.9531
-2.2832 0.4037
-1.7832 1.2147
-1.2832 -1.2510
-0.7832 -0.0907
-0.2832 0.8765
0.2168 -0.7405
0.7168 -0.1838
1.2168 1.2586
1.7168 -1.2314
2.2168 -0.6617
2.7168 0.9465
3.2168 -0.2888
3.7168 -0.6803
4.2168 1.1015
4.7168 -22.6128
5.2168 -1.0829
5.7168 0.7047
6.2168 0.2557
| 3x-cos (x) | / (x-9) a =- 7 b = 7 h = 0.75
x y
-7.0000 -1.3596
-6.2500 -1.2950
-5.5000 -1.1868
-4.7500 -1.0391
-4.0000 -0.8728
-3.2500 -0.7148
-2.5000 -0.5825
-1.7500 -0.4718
-1.0000 -0.3540
-0.2500 -0.1858
0.5000 -0.0732
1.2500 -0.4432
2.0000 -0.9166
2.7500 -1.4679
3.5000 -2.0794
4.2500 -2.7781
5.0000 -3.6791
5.7500 -5.0427
6.5000 -7.4094
Сообщение от mr_walker
написать на паскале
составить алгоритм вычисления значения функции z = V * a * | b |, где a-среднее арифметическое положительных элементов b-среднее арифметическое отрицательных элементов данной линейной таблице x, содержащей k действительных чисел. для вычисления среднего арифметического воспользоваться вспомогательным алгоритмом, что в перечне своих аргументов содержит величину, которая указывает на то, среднее арифметическое которых нужно определить.
с меня +++++
Код:
Код:
program Funcziia;
const
k = 10;
V = 1;
var
LinArrayX: array[1..k] of real;
intA: Integer;
a, b: real;
function fZ(aa, bb: real):real;
begin
fZ := V * aa * ABS(bb);
end;
function GetMiddleArithmetic(IsThisA: boolean):real;
begin
if IsThisA then
begin
for intA := 1 to K do
if LinArrayX[intA] >= 0 then
a := a + LinArrayX[intA];
GetMiddleArithmetic := a;
end
else
begin
for intA := 1 to K do
if LinArrayX[intA] < 0 then
b := b + LinArrayX[intA];
GetMiddleArithmetic := b;
end;
end;
begin
writeln('Tabliza znachenii X:');
writeln;
randomize;
for intA := 1 to k do
begin
LinArrayX[intA] := Random(k) - k/2;
writeln('X[', intA, '] = ', LinArrayX[intA]:6:4);
end;
readln;
a := 0;
b := 0;
a := GetMiddleArithmetic(True);
b := GetMiddleArithmetic(False);
writeln('a = ', a:6:4);
writeln('b = ', b:6:4);
writeln('funcziia Z = ', fZ(a, b):6:4);
readln;
end.
Результат работы:
Код:
Tabliza znachenii X:
X[1] = 0.0000
X[2] = -5.0000
X[3] = -2.0000
X[4] = 1.0000
X[5] = -5.0000
X[6] = 0.0000
X[7] = 2.0000
X[8] = 2.0000
X[9] = 4.0000
X[10] = 0.0000
a = 9.0000
b = -12.0000
funcziia Z = 108.0000
Tabliza znachenii X:
X[1] = 3.0000
X[2] = -2.0000
X[3] = 4.0000
X[4] = -4.0000
X[5] = -4.0000
X[6] = -3.0000
X[7] = 3.0000
X[8] = 2.0000
X[9] = -4.0000
X[10] = -3.0000
a = 12.0000
b = -20.0000
funcziia Z = 240.0000
Последний раз редактировалось Dosia; 16.05.2010 в 17:58..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|