• Дана точка А (х,у). Определить, принадлежит ли она прямоугольнику с вершинами в точках (х1,у1), (х2,у2), (х3,у3), (х4,у4) 

    На Паскале

Ответы 10

  • что такое abs, sp, st и sq?
    • Автор:

      yair
    • 6 лет назад
    • 0
  • Суперский вопрос! Я имею в виду, про Abs.
    • Автор:

      bozley
    • 6 лет назад
    • 0
  • abs - это функция, вычисляющая модуль (абсолютное значение) числа, abs(- 5) = 5, sp - это имя функции, вычисляющей площадь треугольника по координатам трех вершин треугольника, переменная st - для хранения суммы площадей 4 треугольников, если точка (x,y) внутри прямоугольника, переменная sp - для хранения площади прямоугольника. Если точка внутри прямоугольника, то сумма площадей 4 треугольников равна площади прямоугольника.
  • Есть решение компактнее
  • natiсris10: Вместо отладочного ничего не писать. В следующем за той фразой сообщении - полное решение. В том, что Вы "ничего не поняли" - лишь Ваша вина. Вы не сочли нужным указать версию Паскаля, которую изучаете. В школах слава богу, уже несколько лет как изучают РАЗНЫЙ паскаль, а не только тот, древний, который по-видимому изучаете вы. Прогресс не стоит на месте - на месте стоит только мышление ваших школьных учителей информатики.
    • Автор:

      chaz
    • 6 лет назад
    • 0
  • srzontmp: "Это разговор ниочем" - Вы же сами и позаботились, чтобы его таким сделать. То Вы под коротким кодом паскалевской программы решили (вопреки здравому смыслу) понимать исполняемый код процессора, то теперь сетуете, что там "что-то нацеплялось". Я понимаю, что на деле Вам хочется отстоять свое мнение, что Ваше решение лучше, но поверьте, не все средства для этого хороши. Сейчас Вы делаете из себя посмешище своими заявлениями: квалификации Вашей пока не хватает для серьезных обсуждений.
    • Автор:

      grey
    • 6 лет назад
    • 0
  • Вы оттранслировали программу под платформу .NET, получили якобы загрузочный модуль с расширением .exe и вы считаете, что это действительно загрузочный модуль? Это не модуль с командами для процессора, это модуль с кодами псевдоязыка, т.к. это под NET платформу. Если действительно хотите сравнить длину исполняемого кода, то сравните занимаемые области оперативной памяти после загрузки программ.
    • Автор:

      calebhehp
    • 6 лет назад
    • 0
  • Мне просто смешно! Как легко можно "завести" человека.
  • function sq(var x1,y1,x2,y2,x3,y3: real):real;begin// вычисляем площадь треугольника с помощью // векторного произведения   sq:=abs((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))/2;end;// основная программаvar x,y,x1,y1,x2,y2,x3,y3,x4,y4,st,sp:real;begin  write('координаты 4 вершин x1 y1 x2 y2 x3 y3 x4 y4 через пробел:  ');  readln(x1,y1,x2,y2,x3,y3,x4,y4);  sp:=2*sq(x1,y1,x2,y2,x3,y3);  write('координаты точки x y через пробел:  '); readln(x,y);  st:=sq(x1,y1,x2,y2,x,y) + sq(x2,y2,x3,y3,x,y) +        sq(x3,y3,x4,y4,x,y) + sq(x4,y4,x1,y1,x,y);  if abs(sp-st)<1.0e-9 then     writeln('точка принадлежит прямоугольнику')  else writeln('точка не принадлежит прямоугольнику');   end.координаты 4 вершин x1 y1 x2 y2 x3 y3 x4 y4 через пробел:  1 4 6 9 9 6 4 1координаты точки x y через пробел:  4 7точка принадлежит прямоугольникукоординаты 4 вершин x1 y1 x2 y2 x3 y3 x4 y4 через пробел:  1 4 6 9 9 6 4 1координаты точки x y через пробел:  1.5 1.6точка не принадлежит прямоугольнику
    • Автор:

      kelsey
    • 6 лет назад
    • 0
  • // PascalABC.NET 3.3, сборка 1627 от 27.01.2018// Внимание! Если программа не работает, обновите версию!begin  var n:=4;  var xp:=new real[n];  var yp:=new real[n];  Writeln('Введите парами координаты четырех вершин');  for var i:=0 to n-1 do Read(xp[i],yp[i]);  var (x,y):=ReadReal2('Введите координаты точки:');  var (i,j,c):=(0,n-1,False);  while i<n do begin    if ((yp[i]<=y) and (y<yp[j]) or (yp[j]<=y) and (y<yp [i]))      and (x<(xp[j]-xp[i])*(y-yp[i])/(yp[j]-yp[i])+xp[i]) then c:=not c;    j:=i;    i+=1;    end;  if c then Writeln('Внутри')  else Writeln('Не внутри')end.ПримерыВведите парами координаты четырех вершин 1 4 6 9 9 6 4 1Введите координаты точки: 1.5 1.6Не внутриВведите парами координаты четырех вершин1 4 6 9 9 6 4 1Введите координаты точки: 4 7Внутри
    • Автор:

      buck63
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years