Меню

Обратная связь

Сейчас на сайте

•Сейчас• •48 гостей• •онлайн•

Авторизация



Назад...

 

Расстояние между точками на плоскости определяется по теореме Пифагора.

Для наших задач расстояние d вычислим извлекая корень квадратный из суммы квадратов разностей соответствующих координат по осям.

d:=sqrt(sqr(x2-x1)+sqr(y2-y1));

где координаты первой точки (x1,y1), а второй (x2,y2).

 

Рассмотрим задачи и их решения.

 

Задача 1. Турист должен пройти по маршруту от первой точки (старт) до десятой точки (финиш). Известны координаты всех десяти точек в порядке посещения. Определите длину пути, пройденную туристом.

 

Решение задачи можно выполнить без использования массива, т.к. нет необходимости запоминать все координаты. Первоначально путь (d) равен нулю. Вводим координаты первой точки (x,y) и организуем цикл повтора от 1 до 9 (для остальных девяти точек). В цикле повторяем суммировыние пути и переприсваивание координат.

 

Возможен алгоритм решения:

1. Первоначально пройденный путь равен 0.

2. Вводим координаты первой (начальной) точки, которая будет текущей.

3. Организовываем цикл от 1 до 9. (точек 10, а расстояний 9). На каждом шаге выполняем:

- вводим координаты следующей точки;

- прибавляем к пройденному пути расстояние от текущей до введенной;

- делаем координаты введенной точки текущими.

4. Выводим расстояние с точностью три знака после запятой.

Var

x,y,d,x1,y1 : real;

i : integer;

Begin

d:=0;

read(x,y);

for i:=1 to 9 do

begin

read(x1,y1);

d:=d+sqrt(sqr(x1-x)+sqr(y1-y));

x:=x1;

y:=y1;

end;

writeln(d:10:3);

End.

 

Тест:


Ввод

2 3

4 3

3 3

4 6

7 8

6 7

5 6

7 7

5 5

6 6

 

Вывод

19.075

 

 

Задача 2. На плоскости даны не более ста точек. Найдите номера самых близких друг к другу точек и расстояние между ними.


Решение задачи нужно выполнить с использования массива. Выполняем перебор циклом в цикле. Сначала анализируем расстояния от первой до последующих, затем от второй, ..., от третей ... и т.д. 

 

Возможен алгоритм решения:

1. Вводим количество точек.

2. Вводим координаты точек.

3. Пускай минимальное расстояние между первой и второй точками. Запоминаем их номера: 1 и 2.

4. Организовываем цикл по i от первой до предпоследней. На каждом шаге этого цикла i-тую точку считаем текущей.

5. Организовываем цикл по j от точки после текущей до последней. На каждом шаге по j выполняем:

- определяем расстояние от текущей (по i) до точки по j;

- проверяем: если расстояние меньше определенного минимального, то делаем его минимальным и запоминаем номера точек.

6. Выводим номера точек и минимальное раccтояние с точностью три знака после запятой.

 

Var

x,y: array[1..100] of real;

d, min : real;

i,j,n1,n2,n : integer;

Begin

read(n);

for i:=1 to n do

read(x[i],y[i]);

min:=sqrt(sqr(x[2]-x[1])+sqr(y[2]-y[1]));

n1:=1;

n2:=2;

for i:=1 to n-1 do

for j:=i+1 to n do

begin

d:=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]));

if min>d then

begin

min:=d;

n1:=i;

n2:=j;

end;

end;

writeln(n1,' ',n2);

writeln(min:8:3);

End.

 

Тест:

 

Ввод
5
3 5
7 6
8 9
2 4
5 8

Вывод
1 4
1.414

 

•Информация о профиле•

Application afterLoad: 0.001 seconds, 0.30 MB
Application afterInitialise: 0.036 seconds, 0.97 MB
Application afterRoute: 0.043 seconds, 1.22 MB
Application afterDispatch: 0.089 seconds, 1.89 MB
Application afterRender: 0.127 seconds, 2.24 MB

•Использование памяти•

2391312

•Зарегистрировано запросов: 22•

  1. SELECT *
      FROM jos_session
      WHERE session_id = 'dasfpv9r6ukcd16k0gh06ar4s2'
  2. DELETE
      FROM jos_session
      WHERE ( time < '1732179102' )
  3. SELECT *
      FROM jos_session
      WHERE session_id = 'dasfpv9r6ukcd16k0gh06ar4s2'
  4. INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` )
      VALUES ( 'dasfpv9r6ukcd16k0gh06ar4s2','1732182702','','0','1','0' )
  5. SELECT *
      FROM jos_components
      WHERE parent = 0
  6. SELECT folder AS type, element AS name, params
      FROM jos_plugins
      WHERE published >= 1
      AND access <= 0
      ORDER BY ordering
  7. SELECT *
      FROM jos_migration_backlinks
      WHERE url LIKE '2015-01-05-23-14-32/2015-01-05-23-57-10/88.html%' OR sefurl LIKE '2015-01-05-23-14-32/2015-01-05-23-57-10/88.html%'
  8. SELECT template
      FROM jos_templates_menu
      WHERE client_id = 0
      AND (menuid = 0 OR menuid = 130)
      ORDER BY menuid DESC
      LIMIT 0, 1
  9. SELECT a.*, u.name AS author, u.usertype, cc.title AS category, s.title AS section, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END AS slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END AS catslug, g.name AS groups, s.published AS sec_pub, cc.published AS cat_pub, s.access AS sec_access, cc.access AS cat_access 
      FROM jos_content AS a
      LEFT JOIN jos_categories AS cc
      ON cc.id = a.catid
      LEFT JOIN jos_sections AS s
      ON s.id = cc.section
      AND s.scope = "content"
      LEFT JOIN jos_users AS u
      ON u.id = a.created_by
      LEFT JOIN jos_groups AS g
      ON a.access = g.id
      WHERE a.id = 88
      AND (  ( a.created_by = 0 )    OR  ( a.state = 1
      AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2024-11-21 09:51:42' )
      AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2024-11-21 09:51:42' )   )    OR  ( a.state = -1 )  )
  10. UPDATE jos_content
      SET hits = ( hits + 1 )
      WHERE id='88'
  11. SELECT id, title, module, position, content, showtitle, control, params
      FROM jos_modules AS m
      LEFT JOIN jos_modules_menu AS mm
      ON mm.moduleid = m.id
      WHERE m.published = 1
      AND m.access <= 0
      AND m.client_id = 0
      AND ( mm.menuid = 130 OR mm.menuid = 0 )
      ORDER BY position, ordering
  12. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='mod_maximenu_CK'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  13. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  14. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='uth_proc'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  15. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  16. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='Olimp'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  17. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  18. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='obr_sv'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  19. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  20. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='raznoe'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  21. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  22. SELECT guest, usertype, client_id
      FROM jos_session
      WHERE client_id = 0

•Языковые файлы загружены•

  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.plg_system_debug.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.com_content.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.plg_content_pagebreak.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.tpl_MY_sh.ini
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/en-GB/en-GB.tpl_MY_sh.ini
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.mod_maximenu_CK.ini
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/en-GB/en-GB.mod_maximenu_CK.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.mod_whosonline.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.mod_login.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.mod_breadcrumbs.ini 1

•Диагностика непереведённых строк•

•Нет•

•Дизайнер непереведённых строк•

•Нет•