ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 16.05.2010, 17:19
Аватар для Dosia
Dosia
Участник форума
Регистрация: 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..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ