Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Математические функции


Автор: Sunvas 26.11.2006, 21:27
Вот задания. Я не знаю что добавить:
user posted image


Автор: Kuvaldis 26.11.2006, 21:39
Sunvas,

M
Kuvaldis

Пожалуйста, один топик - один вопрос. Создайте еще одну тему для второго вопроса. Иначе топик будет закрыт

   

Автор: volvo877 26.11.2006, 23:00
Sunvas,  smile Вот что я делал 20 минут ... Пока не понял, что требуется вообще smile

Код
function F(x, y: real): real;
begin
  F := sqrt(x) + sqr(x)/y;
end;

function P(level: integer; z: real): real;
begin
  if level = 1 then P := sin(2)
  else P := P(pred(level), z)/(5 * z) + sqrt(p(pred(level), z));
end;
function H(level: integer; z: real): real;
begin
  if level = 1 then H := cos(2)
  else H := H(pred(level), z) + z * H(pred(level), z);
end;


procedure print_array(title: char;
          var arr: array of real; const size: integer);
var ix: integer;
begin
  write(title + ': ');
  for ix := 0 to pred(size) do
    write(arr[ix]:6:2);
  writeln;
end;


procedure fill_array(var arr: array of real;
          const size: integer);
var ix: integer;
begin
  for ix := 0 to pred(size) do
    arr[ix] := random(100);
end;
procedure convert_array(title: char;
          var arr: array of real; const size: integer; X: real);
var ix: integer;
begin
  for ix := 0 to pred(size) do
    if trunc(arr[ix]) mod 5 = 0 then arr[ix] := arr[ix] / X;
  print_array(title, arr, size);
end;


const
  i = 11;
  j = 10;
  k =  9;

var
  N: array[1 .. i] of real;
  M: array[1 .. j] of real;
  L: array[1 .. k] of real;

  s, t, z: real;
  a, b, c: real;
  ix: integer;
begin
  write('s = '); readln(s);
  write('t = '); readln(t);

  a := f(sqrt(abs(t)), s);
  b := sqr(s) + f(t, t);

  write('z = '); readln(z);
  c := sqr(h(3, z)) + exp(3 * ln(p(7, z)));

  randomize;
  fill_array(N, i);
  fill_array(M, j);
  fill_array(L, k);


  writeln('a = ', a:7:4);
  writeln('b = ', b:7:4);
  writeln('c = ', c:7:4);
  writeln('arrays before:');
  print_array('N', N, i);
  print_array('M', M, j);
  print_array('L', L, k);

  writeln('arrays after:');
  convert_array('N', N, i, a);
  convert_array('M', M, j, b);
  convert_array('L', L, k, c);
end.


Тестировал на значениях
s = 2
t = 4
z = 5
Вроде работает...

Автор: Sunvas 26.11.2006, 23:45
volvo877, спасибо тебе большое! Хотя я всего лишь посредник между автором и форумом, но все-равно тебе спасибо.

ЗЫ. Проверь ПМ.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)