Помощь - Поиск - Пользователи - Календарь
Полная версия: Создание модулей.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Nash
Разработать модуль, содержащий указанные процедуры и функции. Написать тестирующую программу.
1. Составить подпрограмму-процедуру NEIBR проверки принадлежности точки плоскости с координатами (x, y) данной кривой y=f(x).
В основной программе использовать процедуру NEIBR для проверки принадлежности десяти различных точек кривым y=cos(x) и у=sin(x2).
2. Составить подпрограмму, определяющую сумму элементов под побочной диагональю матрицы N*N и использовать ее для матрицы, состоящей из случайных чисел.
Указание. Использовать нетипизированные параметры.
volvo
Nash
Это что, приказ? Вы даете указание нам это сделать?
Nash
Нет, просто я дважды писал и дважды пост не публиковался. Извините. Это я над этой задачей сидел и никак не смог решить....а мне еще к зачету штук 5 нужно. Вот и решил опубликовать. Помогите, кто сможет. Еще раз извиняюсь.
volvo
Nash
Цитата
дважды писал и дважды пост не публиковался

Значит не был оформлен по правилам...

Функция для второй задачи может быть вот такой:

Код

function sum(Var a; n: Integer): Integer;
 var
   arr: array[1 .. 1] of integer absolute a;
   i, j, s: integer;
 begin
   {$R-}
   s:=0;
   for i:=2 to n do
   for j:=n-i+2 to n do
     s:=s+arr[Pred(i)*n + j];
   sum := s
   {$R+}
 end;

const
 n = 3;
var
matrix: array[1 .. n, 1 .. n] of integer;
i, j: integer;
begin
 for i := 1 to n do
   for j := 1 to n do
     matrix[i, j] := random(50);

 writeln('sum = ', sum(matrix, n))
end.
Гость_Nash
а по первой задаче помочь можете?Боюсь, что не успею(
volvo
Nash
Ну что-то типа этого ...
Код

Type
 myFunc = Function(x: Real): Real;

Function Belongs(f: myFunc; x, y: Real): Boolean;
 Const Eps = 0.0001;
 Begin
   Belongs := (Abs(y - f(x)) <= Eps)
 End;

Function fCos(x: Real): Real; Far;
 Begin
   fCos := Cos(x)
 End;

Function fSin(x: Real): Real; Far;
 Begin
   fSin := Sin(x)
 End;

Var
 i, j: Integer;
 x, y: Real;
Const
 Fs: Array[1 .. 2] Of myFunc = (fSin, fCos);
 Fn: Array[1 .. 2] Of String = ('Sin', 'Cos');
Begin
 For i := 1 to 10 Do
   Begin
     Write('X = '); ReadLn(x);
     Write('Y = '); ReadLn(y);
     For j := 1 To 2 Do
       Begin
         If not Belongs(Fs[j], x, y) Then Write('not ');
         WriteLn( 'belongs to ', Fn[j] )
       End
   End
End.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.