melchenko11
28.11.2021 07:55

2. Відкрийте проект, указаний учителем, наприклад Розділ 4\Пункт4.2\ практична 4.1. Відредагуйте проект, щоб виконавець намалював квадрат зі сторонами різних кольорів
завдовжки 70 кроків і повідомив про це після закінчення
малования. Збережіть проект у вашій папці у файлі з іме-
нем практична 4.1.​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
MaksandSany
17.05.2022 14:36
Заметим, что точка лежит внутри прямоугольника, если min(x2, x3) < x1 < max(x2, x3) и min(y2, y3) < y1 < max(y2, y3) (см. рисунок).
Поэтому поступим так: сначала переставим x2 и x3, чтобы x2 стало меньше x3, потом повторим с y2 и y3, чтобы было y2 < y3. Затем можно проверять, что x2 < x1 < x3 и y2 < y1 < y3.
Точка попадёт на границу, если x1 = x2 или x3, а y1 = y2 или y3. Если оба условия не выполнены, то точка лежит вне прямоугольника.
Код (Паскаль):
var
  x1, y1, x2, y2, x3, y3, temp: real;

begin
  write('Координаты точки: '); readln(x1, y1);
  write('Координаты первой вершины: '); readln(x2, y2);
  write('Координаты второй вершины: '); readln(x3, y3);
  if x2 > x3 then begin
    temp := x2; x2 := x3; x3 := temp;
  end;
  if y2 > y3 then begin
    temp := y2; y2 := y3; y3 := temp;
  end;

  if (x2 < x1) and (x1 < x3) and (y2 < y1) and (y1 < y3) then
    writeln('Точка внутри прямоугольника')
  else if ((x1 = x2) or (x1 = x3)) and ((y1 = y2) or (y1 = y3)) then
    writeln('Точка на границе прямоугольника')
  else
    writeln('Точка вне прямоугольника');
end.

Можно заменить проверки на такие: если min(x2, x3) < x1 < max(x2, x3), то среди разностей x1 - x2 и x1 - x3 одна положительная, а другая отрицательная. Тогда (x1 - x2)(x1 - x3) < 0. Следовательно, можно проверить только, что  (x1 - x2)(x1 - x3) < 0 и (y1 - y2)(y1 - y3) < 0. В случае, когда точка лежит на границе, оба произведения равны нулю.
В моей программе произведения записаны в переменные x1 и y1.
Код (Паскаль):
var
  x1, y1, x2, y2, x3, y3: real;

begin
  write('Координаты точки: '); readln(x1, y1);
  write('Координаты первой вершины: '); readln(x2, y2);
  write('Координаты второй вершины: '); readln(x3, y3);
  x1 := (x1 - x2) * (x1 - x3);
  y1 := (y1 - y2) * (y1 - y3);

  if (x1 < 0) and (y1 < 0) then
    writeln('Точка внутри прямоугольника')
  else if (x1 = 0) and (y1 = 0) then
    writeln('Точка на границе прямоугольника')
  else
    writeln('Точка вне прямоугольника');
end.
Даны числа x1,y,x2,y2,x3,y3.определите лежит ли точка (x1,y1) внутри или вне прямоугольника, стороны
0,0(0 оценок)
Ответ:
KasiaW
11.11.2022 08:33
//Pascal ABC.NET v3.0 сборка 1111

Const
 s=5;

Var
 ar:array[1..s] of integer;
 n,m,i:integer;
begin
 writeln('N');
 readln(n);
 writeln('M');
 readln(m);
 writeln('Array:');
 for i:=1 to s do
   readln(ar[i]);
 writeln('First array:');
 for i:=1 to s do
  begin
   write(ar[i]:4);
   if ar[i] div n<>0 then ar[i]:=ar[i]+m;
  end;
 writeln;
 writeln('Final array:');
  for i:=1 to s do
   write(ar[i]:4);
end. 

Пример ввода:
3
3
1
2
3
4
5
Пример вывода:
First array:
   1   2   3   4   5
Final array:
   1   2   6   7   8

//Блок-схема во вложении
Ввести двумерный массив a. все элементы, которые при целочисленном делении на n ненулевое значение,
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота