Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
Misha16
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 14
#1

Определить и вывести на экран номер четверти в которой расположена точка - Delphi

01.10.2012, 19:05. Просмотров 2408. Ответов 9
Метки нет (Все метки)

Определить и вывести на экран номер четверти в которой расположена точка M(x;y)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2012, 19:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить и вывести на экран номер четверти в которой расположена точка (Delphi):

Вывести номер координатной четверти, в которой находится данная точка - Delphi
Задача: Даны вещесбенные координаты точки, не лежащей на координатных осях ОХ и ОУ. Вывести номер координатной четверти, в которой...

Вычислить номер четверти, в которой располагается данная точка. - Delphi
В прямоугольной системе координат задана некая точка N (x, y). Вычислить номер четверти, в которой располагается данная точка. Чего не...

Вычислить номер четверти, в которой располагается данная точка - Delphi
В прямоугольной системе координат задана некая точка N (x, y). Вычислить номер четверти, в которой располагается данная точка. добавил...

Вычислить номер четверти, в которой располагается заданная пользователем точка. - Delphi
У прямокутній системі координат задана деяка точка N (x, y. Обчислити номер чверті, до якої належить задана точка. В прямоугольной...

С клавиатуры вводятся координаты точки. На экран выводится номер четверти декартовой плоскости, которой она принадлежит - Delphi
Товарищи, помогите, пожалуйста, скоро экзамен по Делфи, а мы его совсем не изучали, задачи не сложные, если сможете помогите, ок?могу...

Вывести на экран порядковый номер слова максимальной длины и номер позиции строки с которой она начинается. - Delphi
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Вывести на экран порядковый...

9
Одиночка
3933 / 1858 / 89
Регистрация: 16.03.2012
Сообщений: 3,869
02.10.2012, 23:13 #2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils, Windows;
 
Var
  x,y : Integer;
  c : Char;
begin
  //Переключение окна консоли на кодовую страницу CP1251 (Win-1251).
  //Если после переключения русские буквы показываются неверно,
  //следует открыть системное меню консольного окна - щелчком мыши в левом
  //верхнем углу окна консоли и выбрать:
  //Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  Repeat
 
    Write('Введите координату X : ');
    ReadLn(x);
    Write('Введите координату Y : ');
    ReadLn(y);
    WriteLn;
    //Проверим, в какой четверти лежит точка...
    If ((x=0) And (y=0)) Then
    WriteLn('Точка лежит в начале координат') Else 
    If x=0 Then
    WriteLn('Точка лежит на оси OX') Else
    If y=0 Then
    WriteLn('Точка лежит на оси OY') Else
    If x>0 Then
    If y>0 Then
    WriteLn('Точка лежит в четверти I') Else
    WriteLn('Точка лежит в четверти IV') Else
    //x<0
    If y>0 Then
    WriteLn('Точка лежит в четверти II') Else
    WriteLn('Точка лежит в четверти III');
 
    WriteLn;
 
    Write('Продолжим [y] :');
    ReadLn(c);
    WriteLn;
  Until Not (c In ['y','Y']);
end.
0
cargerdree
10 / 10 / 1
Регистрация: 20.04.2012
Сообщений: 268
03.10.2012, 06:58 #3
Одиночка, паскаль?)
0
Одиночка
3933 / 1858 / 89
Регистрация: 16.03.2012
Сообщений: 3,869
03.10.2012, 07:01 #4
Это консольное приложение Delphi. Но за исключением строк:
Delphi
1
2
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
остальное, фактически чистый Pascal.
0
cargerdree
10 / 10 / 1
Регистрация: 20.04.2012
Сообщений: 268
03.10.2012, 07:03 #5
Одиночка, хах, забавно, и как это юзать в делфи? не форму же создавать.
0
murderer
3572 / 1461 / 82
Регистрация: 06.10.2010
Сообщений: 3,213
03.10.2012, 08:43 #6
Немного короче
Delphi
1
2
3
4
5
6
7
8
9
{$APPTYPE CONSOLE}
var
  x,y: integer;
begin
  write('Enter x y: ');
  readln(x,y);
  writeln('Point in ',(x shr 30) xor (y shr 31)+1,' quarter');
  readln;
end.
1
Одиночка
3933 / 1858 / 89
Регистрация: 16.03.2012
Сообщений: 3,869
03.10.2012, 19:22 #7
murderer: Круто. Я не сразу и понял. Только немного не проходит. Например, при больших X. Правильно будет так:
Delphi
1
  writeln('Point in ',(((x shr 30) and 2) or (y shr 31))+1,' quarter');
Добавлено через 12 минут
Нет ошибка. Сейчас переиграю.

Добавлено через 1 час 2 минуты
Таки вот так работает правильно. Но может можно и оптимизировать. Там ещё небыло учтено, что четверти считаются против часовой стрелки. Так написано в Википедии.
Delphi
1
  writeln('Point in ',((((y shr 30) And 2) or (y shr 31)) xor (x shr 31))+1,' quarter');
0
Mawrat
12820 / 5728 / 676
Регистрация: 19.09.2009
Сообщений: 8,807
03.10.2012, 20:39 #8
Цитата Сообщение от cargerdree Посмотреть сообщение
и как это юзать в делфи? не форму же создавать.
File - New - Other... - закладка "New" - приложение "Console Application".
0
murderer
3572 / 1461 / 82
Регистрация: 06.10.2010
Сообщений: 3,213
04.10.2012, 08:33 #9
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Там ещё небыло учтено, что четверти считаются против часовой стрелки.
Достаточно помянять x и y местами
Код
(y shr 30)xor(x shr 31)+1
Чтобы работало на всём диапазоне значений можно записать так
Код
((y shr 31)*3)xor(x shr 31)+1
3
Одиночка
04.10.2012, 18:10     Определить и вывести на экран номер четверти в которой расположена точка
  #10

Не по теме:

murderer: Гениально просто. А у меня мозгов не хватило.

0
04.10.2012, 18:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2012, 18:10
Привет! Вот еще темы с ответами:

Вывести на экран порядковый номер слова максимальной длины и номер позиции строки с которой оно начинается - Delphi
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами.. Вывести на экран порядковый номер...

Определить, по какую сторону от прямой расположена точка - Delphi
Существует точка i и прямая, координаты которой задаются пользователем. Определить, по какой стороне относительно прямой расположена эта...

Определить как точка расположена по отношению к окружности - Delphi
дана окружность радиуса R с центром в начале координат и точка А(ха, уа). Определить как точка расположена по отношению к окружности (лежит...

Как определить номер строки, на которой находится выделенный текст? - Delphi
Текст выделяется программно так: Memo1.SetFocus(); Memo1.SelStart:=Pos(FIND,Memo1.Lines.Text)-1; Memo1.SelLength:=Length(FIND); ...


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

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

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