Меню сайта

Категории раздела
Готовимся к олимпиаде по программированию (задачи взяты с сайта http://olimpiada.com.ru) [36]
Решение олимпиадных задач по программированию
Готовимся к олимпиаде по математике [3]
Решение олимпиадных задач по математике

Мини-чат

Наш опрос
Оцените мой сайт
Всего ответов: 2664

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сайт в каталогах


Сайт    Банк Интернет-портфолио учителейКаталог сайтов Каталог сайтов 'Российское образование в сети' Справочник сайтов учителей и для учителя Учительский портал Сеть творческих учителей Личный сайт Фоновой Натальи Леонидовны учителя математики и информатики

Погода в Вязниках


Главная

Регистрация

Вход
Вы вошли как Гость | Группа "Гости" | RSS


Личный сайт учителя математики и информатики

Фоновой Натальи Леонидовны



Воскресенье, 16.06.2019, 13:50
Главная » Файлы » Внеурочная деятельность » Готовимся к олимпиаде по программированию (задачи взяты с сайта http://olimpiada.com.ru)

Пересечение отрезков
14.02.2012, 08:44

Условие:
Даны координаты начала и конца двух отрезков в декартовой системе координат. Надо вычислить пересекаются эти отрезки или нет.

Технические условия:
Входные данные - текстовый файл otrezki.dat, имеет такую структуру: четыре строки, в каждой из которых координаты (x,y) начала или конца отрезка.
1 строка - координаты начала первого отрезка;
2 строка - координаты конца первого отрезка;
3 строка - координаты начала второго отрезка;
4 строка - координаты конца второго отрезка;
Выходные данные - текстовый файл otrezki.sol, в котором написан "+", если отрезки пересекаются, и "-", если не пересекаются.

Примеры входных и выходных файлов:
Отсутствуют.

Решение:
var
f,f1:text;
x1,x2,x3,x4,y1,y2,y3,y4,z1,z2:integer;
intercept:boolean;
begin
assign(f,'otrezki.dat');
assign(f1,'otrezki.sol');
reset(f);
read(f,x1);
readln(f,y1);
read(f,x2);
readln(f,y2);
read(f,x3);
readln(f,y3);
read(f,x4);
readln(f,y4);
z1:=(x3-x1)*(y2-y1)-(y3-y1)*(x2-x1);
z2:=(x4-x1)*(y2-y1)-(y4-y1)*(x2-x1);
if z1*z2>0 then intercept:=false else intercept:=true;
rewrite(f1);
if intercept=true then writeln(f1,'+');
if intercept=false then writeln(f1,'-');
close(f);
close(f1);
end.
Категория: Готовимся к олимпиаде по программированию (задачи взяты с сайта http://olimpiada.com.ru) | Добавил: admin
Просмотров: 980 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Кнопка сайта

Одна кнопка

время жизни сайта

Сайт участвует
конкурс сайтов 

Новости образовани

Фраза дня

Web-мастеру

OperaFirefoxGoogle ChromeDownload Master
QIPSkypeµTorrentTeamViewer
Dr.Web CureITAvira AntiVirTotal CommanderCDBurnerXP
PicasaIrfanViewCheMaxDAEMON Tools
AIMPKMPlayerBSplayerK-Lite Codec Pack

Установить себе такой Блок
Скрипты и HTML для uCOz

Раскрутка сайта
Graffiti Decorations(R) Studio (TM) Site Promoter

Copyright MyCorp © 2019
/td>