Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником»





НазваниеРуководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником»
страница11/11
Дата публикации20.08.2013
Размер0.97 Mb.
ТипРуководство пользователя
100-bal.ru > Математика > Руководство пользователя
1   2   3   4   5   6   7   8   9   10   11

Функция определения пересечения 2-х отрезков







Не параллельные отрезки:

=>



Если , то отрезки параллельны.





Теперь сама функция:
function intersection( x1,y1,x2,y2,x3,y3,x4,y4 : extended ):boolean;
var delta,c,d : extended;
begin
delta := -(x2-x1)*(y4-y3)+(y2-y1)*(x4-x3);
// В случае, когда отрезки параллельны, в этой программе мы можем считать,

// что они не пересекаются.
if abs(delta) < eps then begin result:=false; exit; end;

// Если отрезки непараллельные, то ищем коэффициенты при векторах

c := (-(x3-x1)*(y4-y3)+(y3-y1)*(x4-x3))/delta;
d := ((x2-x1)*(y3-y1)-(y2-y1)*(x3-x1))/delta;
result := (eps < c) and (c < 1-eps) and
(eps < d) and (d < 1-eps);
end;


Окна помощи



Для всех задач используется один компонент «Окно помощи» TFHelp. Помощь к конкретной игре помещается в поле Rules. При выводе (метод Show) форма изменяет размеры подстраиваясь под содержимое поля Rules. Поле DontShowOnStart «Не показывать это окно при запуске» обрабатывается в других формах (т.е. внутри этой формы не значение поля не используется).

Задача «Шахматы со спящим противником»



Стоит задача – съесть как можно больше черных фигур белым конём. При данном на конкурс расположении можно съесть все фигуры.

Участник можете передвигать только одну фигуру – белого коня. Передвижение осуществляется при помощи «мыши» с помощью стандартной операции «Drag and drop», то есть: нужно навести курсор мыши на коня, нажать левую кнопку мыши, потом (не отпуская левой кнопки мыши) подвести курсор мыши туда, куда нужно поставить коня и отпустить левую кнопку мыши (перетащить коня).

В начале белый конь стоит в левой нижней клетке поля. Клетки, куда он может ходить, подсвечиваются красными квадратиками. Клетки, которые «бьют» чёрные фигуры, подсвечены зеленым цветом.

Кнопка «Помощь» служит для открытия окна с описанием задания.



Кнопка «Выход» служит для закрытия окна задачи. Если при нажатии на кнопку «Выход» состояние игрового поля не сохранено, выводится предупреждающее окно.



Кнопка «Откат» служит для отмены последнего хода.

В поле «Список ходов» записываются ходы участника. Если при очередном ходе участник «съел» чёрную фигуру, то название фигуры указывается после хода.

В поле «Рекорд» записывается текущее минимальное число ходов, за которые участник смог съесть все фигуры.

Поле «Осталось чёрных фигур» содержит количество оставшихся чёрных фигур.

Группа «Загрузка / сохранение»:

«Начать заново» - отменить все сделанные ходы и начать игру заново;

«Загрузить поле» - загрузить ранее сохранённое состояние игры из файла. При нажатии на кнопку появляется стандартное диалоговое окно, в котором можно выбрать имя файла.

«Сохранить поле» - записать состояние игры в файл. При нажатии на кнопку появляется стандартное диалоговое окно, в котором можно выбрать имя для файла. Расширение для файлов в этой задаче «.map».



Данные рекорда автоматически сохраняются в каталог Olymp. Эти данные используются при сборе данных для отправки на сайт в форме FUpload.

Задача «Меандры»



Задача «Автомат для голосования»


  1. Не допустить пересечение элементов

Список элементов хранится в списке ElementsList. При создании/перетаскивании элемента проверяем, не пересекается ли его прямоугольник с прямоугольниками другх элементов, окружающие элементы (прямоугольники выбираются «с запасом» по краям). Если пересекаются, то не допускаем такое перемещение.

Определить, пересекаются ли прямоугольники можно следующим образом:

Проверить для каждой из 4-х вершин каждого прямоугольника, лежит ли она внутри другого прямоугольника.

Условие, что точка лежит внутри прямоугольника:

,

где - координаты точки,

- координаты верхнего левого угла прямоугольника,

- координаты левого нижнего угла прямоугольника.

Координаты отсчитываются от верхнего левого угла. Ось направлена вправо, ось направлена вниз.

Условие пересечения прямоугольников.

Пусть - параметры первого прямоугольника,

- параметры второго прямоугольника,

Тогда условие пересечения запишется в виде восьми копий условия, что точка лежит внутри прямоугольника:
// Точка внутри прямоугольника
function Point_In_Rect( X,Y:Integer; R:TRect ):boolean;
begin
Result := (R.Left <= X) and (X <= R.Right) and
(R.Top <= Y) and (Y <= R.Right);
end;

// Пересечение двух прямоугольников
function Rect_Intersect( R1,R2 : TRect ):boolean;
begin
Result := Point_In_Rect( R1.Left, R1.Top, R2 ) or
Point_In_Rect( R1.Right, R1.Top, R2 ) or
Point_In_Rect( R1.Left, R1.Bottom, R2 ) or
Point_In_Rect( R1.Right, R1.Bottom, R2 ) or
Point_In_Rect( R2.Left, R2.Top, R1 ) or
Point_In_Rect( R2.Right, R2.Top, R1 ) or
Point_In_Rect( R2.Left, R2.Bottom, R1 ) or
Point_In_Rect( R2.Right, R2.Bottom, R1 );
end;

Загрузка решений на сайт

Отправление из PHP письма с вложением


Как послать письмо в HTML виде? Присоедините к письму аттач с названием message.html и письмо превратиться в HTML-письмо!


// Функции. Можно вынести в дpугой файл.

class html_mime_mail {

var $headers;

var $multipart;

var $mime;

var $html;

var $parts = array();

function html_mime_mail($headers="") {

$this->headers=$headers;

}

function add_html($html="") {

$this->html.=$html;

}

function build_html($orig_boundary,$kod) {

$this->multipart.="--$orig_boundary\n";

if ($kod=='w' || $kod=='win' || $kod=='windows-1251') $kod='windows-1251';

else $kod='koi8-r';

$this->multipart.="Content-Type: text/html; charset=$kod\n";

$this->multipart.="BCC: del@ipo.spb.ru\n";

$this->multipart.="Content-Transfer-Encoding: Quot-Printed\n\n";

$this->multipart.="$this->html\n\n";

}

function add_attachment($path="", $name = "", $c_type="application/octet-stream") {

if (!file_exists($path.$name)) {

print "File $path.$name dosn't exist.";

return;

}

$fp=fopen($path.$name,"r");

if (!$fp) {

print "File $path.$name coudn't be read.";

return;

}

$file=fread($fp, filesize($path.$name));

fclose($fp);

$this->parts[]=array("body"=>$file, "name"=>$name,"c_type"=>$c_type);

}

function build_part($i) {

$message_part="";

$message_part.="Content-Type: ".$this->parts[$i]["c_type"];

if ($this->parts[$i]["name"]!="")

$message_part.="; name = \"".$this->parts[$i]["name"]."\"\n";

else

$message_part.="\n";

$message_part.="Content-Transfer-Encoding: base64\n";

$message_part.="Content-Disposition: attachment; filename = \"".

$this->parts[$i]["name"]."\"\n\n";

$message_part.=chunk_split(base64_encode($this->parts[$i]["body"]))."\n";

return $message_part;

}

function build_message($kod) {

$boundary="=_".md5(uniqid(time()));

$this->headers.="MIME-Version: 1.0\n";

$this->headers.="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";

$this->multipart="";

$this->multipart.="This is a MIME encoded message.\n\n";

$this->build_html($boundary,$kod);

for ($i=(count($this->parts)-1); $i>=0; $i--)

$this->multipart.="--$boundary\n".$this->build_part($i);

$this->mime = "$this->multipart--$boundary--\n";

}

function send($server, $to, $from, $subject="", $headers="") {

$headers="To: $to\nFrom: $from\nSubject: $subject\nX-Mailer: The Mouse!\n$headers";

$fp = fsockopen($server, 25, &$errno, &$errstr, 30);

if (!$fp)

die("Server $server. Connection failed: $errno, $errstr");

fputs($fp,"HELO $server\n");

fputs($fp,"MAIL FROM: $from\n");

fputs($fp,"RCPT TO: $to\n");

fputs($fp,"DATA\n");

fputs($fp,$this->headers);

if (strlen($headers))

fputs($fp,"$headers\n");

fputs($fp,$this->mime);

fputs($fp,"\n.\nQUIT\n");

while(!feof($fp))

$resp.=fgets($fp,1024);

fclose($fp);

}

}

// *************************************************************************

//

// В качестве аттача пpисоединяем html-письмо (открывается автоматически).

// Второй аттач - некоторый файл из каталога.

// Вот так вызывать все то, что написано выше:

//

// *************************************************************************

$mail=new html_mime_mail();

$mail->add_html("

Пpивет!

".

"
Посылаю двоичный файл [/bin/ls] ...".

"

1   2   3   4   5   6   7   8   9   10   11

Похожие:

Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconПрограмма по формированию навыков безопасного поведения на дорогах...
Настоящее положение конкурса «Открытый урок информатики – 2014» (далее Конкурс) определяет цели и сроки проведения Конкурса, условия...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» icon3. «Интернет-представительство»
Настоящее Положение определяет порядок организации и проведения I муниципального конкурса Образовательный сайт 2014» для педагогических...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconРуководство пользователя системы smsdirect. E-mail рассылки
Функция e-mail рассылок является опцией, подключаемой по запросу пользователя. Для подключения данной опции, свяжитесь с нашими специалистами,...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconТематические интернет-ресурсы в помощь образованию
Официальный сайт Министерство образования и науки РФ. Здесь: новости, анонсы мероприятий, публикации в сми. Структура и руководство...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconКонкурса рефератов «Мой город» по теме: «Владивосток в преддверии саммита атэс»
Общее руководство проведением конкурса осуществляет управление по работе с муниципальными учреждениями образования администрации...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconО проведении открытого городского конкурса
Конкурса, порядок их предоставления на Конкурс, сроки проведения Конкурса и действует до завершения конкурсных мероприятий (Приложение...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconО проведении открытого городского конкурса эссе
Конкурса, порядок их предоставления на Конкурс, сроки проведения Конкурса и действует до завершения конкурсных мероприятий (Приложение...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconПрограмма по формированию навыков безопасного поведения на дорогах...
Официальный сайт образовательной организации в информационно-телекоммуникационной сети "Интернет" (далее соответственно-официальный...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconУниверситетские исследования, 2011
Описанна программная реализация алгоритма определения структуры множества подмножеств множества с самопринадлежностью
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconСистемной Энциклопедии" Руководство пользователя "
Руководство пользователя "СЭ" по поиску статей в Энциклопедии, их просмотру, частичному выводу на печать и т д
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconМонахов М. Ю., Воронин А. А. Создаем школьный сайт в Интернете. Элективный курс. Учебное пособие
Программа элективного курса «Создаем школьный сайт в Интернете» является модифицированной программой, разработанной Монаховым М....
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconКонкурса являются: выявление передового педагогического опыта
Инновационный урок по истории России для 10 класса (далее Конкурс) определяет порядок организации и проведения Конкурса, его организационное,...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconО проведении историко-краеведческого конкурса рефератов
Настоящие Положение определяет порядок организации и проведения историко-краеведческого конкурса учащихся 5 – 11 классов общеобразовательных...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconСайт как средство обучения учащихся
Цель у всех учителей одна – дать знания детям и научить их применять на практике. Проведение урока географии невозможно без широкого...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» icon«Информатика и икт. Маленькая страна» образовательный сайт Полякова...
Этот сайт — не для праздношатающихся по интернету, не для скачивающих и складирующих разные материалы. Он для моих учеников, для...
Руководство пользователя 42 Сайт конкурса 42 Программная реализация 47 Сайт конкурса 47 Структура каталога задачника кио-2005 48 Функция определения пересечения 2-х отрезков 50 Окна помощи 51 Задача «Шахматы со спящим противником» iconКонкурс проводится в целях
Конкурса, порядок их предоставления на Конкурс, сроки проведения Конкурса и действует до завершения конкурсных мероприятий (Приложение...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск