Поскольку алгоритма нет, имею право ввести свой:)
procedure swap(var a, b: real);
var t: real;
begin
t := a;
a := b;
b := t;
end;
var a, b, c: real;
begin
readln(a, b, c);
if (a > b) then swap(a, b);
if (b > c) then swap(b, c);
if (a > b) then swap(a, b);
writeln(a, ' ', b, ' ', c);
<span>end.
В ответе будет
а = 10
b = 18
с = 26 =)</span>
Нужно составить уравнения трех прямых, ограничивающих область (см. вложение). А затем можно писать программу. Считаем попаданием в область, если точка находится строго ВНУТРИ треугольника. Если надо учитывать и границы, неравенства будут нестрогими.
<u>// PascalABC.NET 3.3, сборка 1625 от 17.01.2018</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
var (x,y):=ReadReal2('Введите координаты х и у точки:');
if (y>-3) and (y<5*x/3+2) and (y<-5*x/3+2) then Writeln('попали')
else Writeln('не попали')
end.
Var
arr: array[1..100] of integer;
i, n, min, max: integer;
begin
min:=1;
max:=1;
readln(n);
for i:=1 to n do
begin
arr[i]:=random(100);
write(arr[i], ' ');
if arr[i]>arr[max] then max:=i;
if arr[i]<arr[min] then min:=i;
end;
writeln;
writeln('Минимальный(', arr[min], ');
Максимальный(', arr[max], ');');
end<span>.</span>
Коммуникатор был придуман в начале 2000х и представлял из себя устройство, замещающее компьютер, когда к нему нет доступа (в дороге к примеру), и имеющий функции слежения за положением(путешественники могут определить куда идти если заблудились). Он не имел четких требований, и разных корпорации делали как хотели - с разными элементами управления(сенсорный экран, кнопки и т.п.). Планшетный компьютер был придуман Стивом Джобсом и его Корпорацией Apple®©. В дальнейшем и другие компании переняли его идею. Планшетный компьютер предназначен для замены ПК, как в пути, так и дома. Но главное отличие - маркетинг. Плохие Корпорации® придумывают интересное название коммуникаторы(например тот же планшетный компьютер), меняют там одну составляющую(в случае с планшетным компьютером увеличивают экран) и продают как не имеющее аналогов устройство.
Курсор мыши
В отличие от текстового курсора курсор мыши можно
перемещать не только с помощью специальных функций, но и вручную (было
бы странно, если курсор мыши нельзя было бы перемещать вручную) .
Вы
также можете изменять форму курсора мыши. Можно определить форму
курсора (или, иными словами, определить курсор) при регистрации класса
окна или изменить ее в любое время в процессе работы приложения.
При регистрации класса окна мы задавали форму курсора следующим способом:
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
Второй
параметр функции LoadCursor в нашем случае выбирает одну из
предопределенных форм курсора, а именно стандартный курсор в виде
стрелки. Возможные значения для выбора предопределенных форм курсора
представлены ниже.
Символическое имяОписание
IDC_ARROWСтандартный курсор в виде стрелки
IDC_CROSSКурсор в виде перекрещивающихся линий
IDC_IBEAMТекстовый курсор в виде буквы "I"
IDC_ICONПустая пиктограмма
IDC_SIZEКурсор в виде четырех стрелок, указывающих в разных направлениях
IDC_SIZENESWДвойная стрелка, указывающая в северо-восточном и юго-западном направлении
IDC_SIZENSДвойная стрелка, указывающая в севером и южном направлении
IDC_SIZENWSEДвойная стрелка, указывающая в северо-западном и юго-восточном направлении
IDC_SIZEWEДвойная стрелка, указывающая в восточном и западном направлении
IDC_UPARROWВертикальная стрелка
IDC_WAITКурсор в виде песочных часов
Вы можете попробовать изменить курсор в любом из уже рассмотренных нами ранее приложений, создающих окна.
Забегая
вперед, скажем, что вы можете создать курсор произвольной формы с
помощью такого средства, как Borland Resource Workshop или Microsoft
SDK. В этом случае вы должны нарисовать курсор в виде небольшой
картинки, состоящей из отдельных точек. Эта картинка создается
специальным графическим редактором и сохраняется в файле с расширением
.cur. Затем файл подключается к ресурсам приложения, которые
записываются в исполняемый exe-файл. Каждый ресурс в файле имеет свой
идентификатор. Вы можете изменить форму курсора, если укажете
идентификатор ресурса, соответствующего новому изображению курсора.
Для
того чтобы можно было изменить форму курсора, прежде всего надо
загрузить новый курсор при помощи функции LoadCursor, которая входит в
программный интерфейс Windows:
HCURSOR WINAPI LoadCursor(HINSTANCE hinst,
LPCSTR lpszCursor);
Для
загрузки нового курсора из ресурсов приложения в качестве первого
параметра (hinst) необходимо указать идентификатор приложения,
полученный через параметры функции WinMain. Второй параметр (lpszCursor)
при этом должен указывать на идентификатор ресурса. Подробнее об
использовании ресурсов мы поговорим позже в отдельной главе.
Если
же в качестве первого параметра указать значение NULL, для загрузки
курсора можно использовать перечисленные выше символические имена с
префиксом IDC_. Именно так мы и поступаем при регистрации класса окна:
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
Функция LoadCursor возвращает идентификатор загруженного курсора или NULL при ошибке.
Для динамического изменения формы курсора (например, во время обработки сообщения) следует использовать функцию SetCursor:
HCURSOR WINAPI SetCursor(HCURSOR hcur);
Параметр
hcur функции SetCursor должен указывать идентификатор нового курсора,
подготовленный при помощи функции LoadCursor. Если указать параметр как
NULL, изображение курсора исчезнет с экрана.