Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/92: Рейтинг темы: голосов - 92, средняя оценка - 4.73
2 / 2 / 0
Регистрация: 23.10.2013
Сообщений: 58
1

Определите, какая из двух точек находится ближе к началу координат

11.12.2013, 12:04. Просмотров 19302. Ответов 9
Метки нет (Все метки)

Составьте программу, решающую следующую задачу: Даны две точки с координатами x1, y1, x2,y2. Определите, какая из двух точек находится ближе к началу координат.
Исходные данные: х1, у1, х2, у2 - координаты двух точек.
Вспомогательные переменные: d1, d2 - расстояния от каждой точки до начала координат.
d1=√x1^2 + y1^2
Результат: выведенная на экран строка:
первая точка ближе(если d1<d2)
вторая точка ближе(если d2<d1)
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2013, 12:04
Ответы с готовыми решениями:

Определить, какая из точек находится ближе к началу координат
Хакеры и программисты данного ресурса. Взываю к Вашему милосердию. Помогите с работами для...

Какая из точек ближе к началу координат
Даны четыре вещественных числа Xa, Ya, Xb, Yb, являющиеся коррдинатами точек А и В на плоскости....

Даны две точки А(х1, у1) и В(х2, у2). Определить, которая из точек находится ближе к началу координат
Даны две точки А(х1, у1) и В(х2, у2). Определить, которая из точек находится ближе к началу...

Определить, какая из двух точек расположена ближе к началу координат
Задача 4.Определить какая из двух точек M1(x1,y1) или M2 (X2,y2) расположена ближе к началу...

9
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
11.12.2013, 12:09 2
Pascal
1
2
If sqrt(x1*x1+y1*y1)<sqrt(x2*x2+y2*y2) then
  Writeln('первая точка ближе') else Writeln('вторая точка ближе');
0
2 / 2 / 0
Регистрация: 23.10.2013
Сообщений: 58
11.12.2013, 12:21  [ТС] 3
Pascal
1
2
3
4
5
6
7
8
9
10
Uses crt;
var x1,y1,x2,y2 : real;
  d1, d2: real;
begin
  If d1=sqrt(x1*x1+y1*y1)<d2=sqrt(x2*x2+y2*y2) then
  Writeln('первая точка ближе, если d1<d2');
  else
  Writeln('вторая точка ближе, если d2<d1');
  readkey;
  end.
так не выходит
0
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
11.12.2013, 12:26 4
Цитата Сообщение от oksi-xd Посмотреть сообщение
Uses crt;
var x1,y1,x2,y2 : real;
d1, d2: real;
begin
If d1=sqrt(x1*x1+y1*y1)<d2=sqrt(x2*x2+y2*y2) then
Writeln('первая точка ближе, если d1<d2');
else
Writeln('вторая точка ближе, если d2<d1');
readkey;
end.
так не выходит
И не выйдет!
If d1=sqrt(x1*x1+y1*y1)<d2=sqrt(x2*x2+y2*y2) then
тут, в общем то и кроется причина
0
2 / 2 / 0
Регистрация: 23.10.2013
Сообщений: 58
11.12.2013, 12:30  [ТС] 5
И что же за причина, не подскажите?)
Этого то я и не пойму
0
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
11.12.2013, 12:39 6
Цитата Сообщение от oksi-xd Посмотреть сообщение
И что же за причина, не подскажите?)
Этого то я и не пойму
Нельзя в операторе сравнения использовать присваивание значений переменным.

P.S.: Да и не нужны там никакие вспомогательные переменные.

Добавлено через 1 минуту
Вернее даже не совсем так...
d1=sqrt(x1*x1+y1*y1)<d2=sqrt(x2*x2+y2*y2)

= -без двоеточия - это условие, а не присваивание

< - еще одно сравнение

т.е. это вообще бессмыслица получается

Добавлено через 1 минуту
Если уж Вам так необходимы переменные d1 и d2, то сначала их надо вычислить, а уж потом сравнивать, а не пытаться все в одной строке сделать... либо использовать мой вариант без вспомогательных переменных
0
2 / 2 / 0
Регистрация: 23.10.2013
Сообщений: 58
11.12.2013, 12:47  [ТС] 7
Warning: Variable "x1" does not seem to be initialized
Warning: Variable "y1" does not seem to be initialized
Warning: Variable "x2" does not seem to be initialized
Warning: Variable "y2" does not seem to be initialized
Fatal: Syntax error, ";" expected but "ELSE" found
вот, что выдаёт

Добавлено через 7 минут
Uses crt;
var x1,y1,x2,y2 : boolean;
begin
If sqrt(x1*x1+y1*y1)<sqrt(x2*x2+y2*y2) then
Writeln('первая точка ближе');
else
Writeln('вторая точка ближе');
readkey;
end.
если писать `boolean` тоже выдаёт ошибку в строке If sqrt(x1*x1+y1*y1)<sqrt(x2*x2+y2*y2) then
0
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
11.12.2013, 13:10 8
Warning: Variable "x1" does not seem to be initialized
Понятное дело - это надо описать переменную. Это не моя ошибка - это намеренное упущение с моей стороны, чтобы Вы могли своими силами догадаться...

Fatal: Syntax error, ";" expected but "ELSE" found
это не моя ошибка - надо лишнюю точку с запятой убрать (перед ELSE), о чем и написано в сообщении об ошибке
в моем посте все было правильно
0
2 / 2 / 0
Регистрация: 23.10.2013
Сообщений: 58
11.12.2013, 13:17  [ТС] 9
var x1,y1,x2,y2 : real;
это не описание разве? какой вообще здесь тип переменных?
0
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
11.12.2013, 14:14 10
Вы понимаете разницу между Boolean и Real ?

Pascal
1
2
3
4
5
6
7
8
var x1,y1,x2,y2 : real;
begin
x1:=1;y1:=3;
x2:=2;y2:=4;
If sqrt(x1*x1+y1*y1)<sqrt(x2*x2+y2*y2) then Writeln('первая точка ближе')
  else Writeln('вторая точка ближе');
Readln;
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2013, 14:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Определить, какая из точек находится ближе к началу координат
Написать программу, которая по заданным координатам двух точек на плоскости определяет, какая из...

Определить которая из точек находится ближе к началу координат
. Даны две точки А(x1, y1) и B(x2, y2). Определить которая из точек находится ближе к началу...

Определить, которая из точек находится ближе к началу координат
Даны две точки А(х1, у1) и В(х2, у2). Составить алгоритм, определяющий, которая из точек находится...

Определить, какая из трех точек ближе к началу координат
Определить, какая из трех точек А(х1,у1), В(х2,у2), С(х3,у3) ближе к началу координат. Исходные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.