Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите пожалуйста решить задачу по Паскалю!

78K
11 января 2012 года
Dark Beowulf
2 / / 11.01.2012
На плоскости задано кольцо с центром в точке (х0, у0) внутренним радиусом Р1 и внешним радиусом Р2. Составить фуннкцию, которая для заданного массива точек ХУ вычисляет количество точек, принадлежащих кольцу. Точки, расположенные на границе кольца считать принадлежащими кольцу.
Заранее премного благодарен...
277
11 января 2012 года
arrjj
1.7K / / 26.01.2011
Rточки=sqrt(X*X+Y*Y);
если R1<=Rточки<=R2 - точка входит. что тут сложного?
78K
11 января 2012 года
Dark Beowulf
2 / / 11.01.2012
Сложность именно в коде, я именно в паскале слаб... Он нужен срочно... Но всё равно, за ответ спасибо.
77K
12 января 2012 года
Sniffer
7 / / 25.12.2011
Код:
program Project1;
{$APPTYPE CONSOLE}

{На плоскости задано кольцо с центром в точке (х0, у0) внутренним радиусом
Р1 и внешним радиусом Р2. Составить фуннкцию, которая для заданного массива
точек ХУ вычисляет количество точек, принадлежащих кольцу. Точки,
расположенные на границе кольца считать принадлежащими кольцу.}

uses
  SysUtils;

var x0, y0, R1, R2: real;

function CalcCount(const x0, y0, R1, R2: real): integer;
  var a: array[1..15, 1..2] of real;
      n, i, j, k: integer;
      R, x, y: real;
  begin
    write('Input the number of points: ');
    readln(n);
    writeln('Input the coordinates of points: ');
    for i:= 1 to n do
      begin
        writeln(i,' point:');
        j:= 1;
        write('X= ');
        readln(a[i, j]);
        write('Y= ');
        readln(a[i, j+1]);
        writeln('----------------------------------');
      end;
    k:=0;
    for i:= 1 to n do
      begin
        j:= 1;
        x:= a[i, j];
        y:= a[i, j+1];
        R:= (sqrt(sqr(x0- x) + sqr(y0- y)));
        if (R1<= R) and (R<= R2) then k:= k+1;
      end;
    CalcCount:= k;
  end;

begin
  write('Input x0: ');
  readln(x0);
  write('Input y0: ');
  readln(y0);
  write('Input R1: ');
  readln(R1);
  write('Input R2: ');
  readln(R2);
  writeln('----------------------------------');
  writeln('The number of "good" points: ', CalcCount(x0, y0, R1, R2));
  readln;
end.


Без доработок + нужно тестировать
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог