М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Prikolno2018
Prikolno2018
31.01.2021 07:44 •  Информатика

Составим программу для вывода библиографических ссылок. В этом списке могут быть ссылки на книги и на журнальные статьи. Например,
1. Ахо А.,Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы – М.: Вильямс, 2000.-382с.
1. Bayer R.S., Moore J.S. A fast string searching algorithm.- Communication ACM, 20, N10, (1977), 762 – 772
const m_rev=2;
type select = ( book, magazine); { тип, задающий две альтернативы}
entry = record { фиксированная часть}
author, title : string[100];
year : 1..2200;

case tag: select of {вариантная часть}
book : ( publisher, city : sstring[50];
page :1..10000);
magazine : ( mag_name: string[100];
valume, issue:byte;
page_low, page_up:1..10000)
end;
ref_list = array[1..m_ref] of entry;
var x : ref_list;
procedure ReadRef(var rf:ref_list); {процедура ввода данных}
begin
with rf[1] do begin
tag := book;
author :=’Ахо А.,Хопкрофт Дж., Ульман Дж.’;
title:=’Структуры данных и алгоритмы’;
year:=2000;
page:=382;
pablisher :=’Вильямс’;
city := ‘M.:’;
end;
with rf[2] do begin
tag := magazine;
author :=’Bayer R.S., Moore J.S.’;
title:=’A fast string searching algorithm’;
year:=1977;
mag_name:=’Communication ACM;
valume := 20;
issue := 10;
page_low :=762; page_up :=772;
end;
end;
procedure WriteRef(rf:ref_list); { процедура вывода}
var I: integer;
begin
for I:= 1 to m_ref do
with rf[I] do begin
writeln(I:2, auther, ‘ ‘,title,’.’);
if rf[I].tag = book then writeln(‘_’, city, publisher,’.’,year,’.’,page,’c.’)
else writeln(‘_’,mag_name,’,’,volume,’,N’,issue,’,(‘,year,’),’,
page_low,’_’,page_up)
end
end;
Begin { основная программа}
ReadRef(x); WriteRef(x);
End.
Найти ошибку в программе

👇
Открыть все ответы
Ответ:
В основе лежит формула определения расстояния между двумя точками в прямоугольной системе координат, при этом одна из точек совпадает с началом системы координат. В этом случае искомое расстояние определяется по формуле:
L= \sqrt{a_x^2+a_y^2}
Поскольку в задаче не ставится вопрос определения самого расстояния, достаточно для каждой точки вычислить значение L² и сравнить их.
Окончательно задача сводится к нахождению минимального из значений
a_x^2+a_y^2 по заданным координатам х и у.

var
  ax, ay, bx, by, rx, ry: real;

begin
  writeln('Введите координаты первой точки');
  readln(ax, ay);
  writeln('Введите координаты второй точки');
  readln(bx, by);
  rx := sqr(ax) + sqr(ay);
  ry := sqr(bx) + sqr(by);
  if rx < ry then writeln('Первая точка ближе')
  else
  if rx > ry then writeln('Вторая точка ближе')
  else writeln('Обе точки равноудалены')
end. 
4,4(79 оценок)
Ответ:
litoshikmari
litoshikmari
31.01.2021

#include <iostream>

#include <math.h>

using namespace std;


int main(){

int x1,y2,x2,y2, r1, r2;

cin >> x1 >> y1 >> endl; //вводим координаты первой точки

cin >> x2 >> y2 >> endl; //вводим координаты второй точки

r1 = sqrt(x1*x1 + y1*y1); //находим расстояние от первой

r2 = sqrt(x2*x2+y2*y2) //от второй

if (r1>r2){

cout << "Точка 1 ближе к началу координат";

}

else{

cout << "Точка 2 ближе к началу координат";

}

else if (r1=r2){

cout << "Эти точки равны"

}

return 0;

}

4,5(6 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ