- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
uses crt;
procedure dl(a,b,c,d:real; var e:real);
begin
e:=sqrt(sqr(a-c)+sqr(b-d));
end;
procedure abc(a,b,c,d:real; var x,y,z:real);
begin
x:=d-b;
y:=a-c;
z:=b*c-a*d;
end;
var x1,y1,x2,y2,x3,y3,x4,y4,d1,d2,d3,d4,a1,b1,c1,a2,b2,c2,a3,b3,c3,a4,b4,c4:real;
Begin
ClrScr;
Writeln('‚ўҐ¤ЁвҐ Є®®а¤Ё вл ЇҐаў®© в®зЄЁ');
Read(x1,y1);
Writeln('‚ўҐ¤ЁвҐ Є®®а¤Ё вл ўв®а®© в®зЄЁ');
Read(x2,y2);
Writeln('‚ўҐ¤ЁвҐ Є®®а¤Ё вл ваҐв쥩 в®зЄЁ');
Read(x3,y3);
Writeln('‚ўҐ¤ЁвҐ Є®®а¤Ё вл зҐвўҐав®© в®зЄЁ');
Read(x4,y4);
dl(x1,y1,x2,y2,d1);
dl(x2,y2,x3,y3,d2);
dl(x3,y3,x4,y4,d3);
dl(x4,y4,x1,y1,d4);
abc(x1,y1,x2,y2,a1,b1,c1);
abc(x2,y2,x3,y3,a2,b2,c2);
abc(x3,y3,x4,y4,a3,b3,c3);
abc(x4,y4,x1,y1,a4,b4,c4);
write(d1:3:1,d2:3:1,d3:3:1,d4:3:1);
ReadKey()
End.
Шкварюсь на ОАП. Условия задачи - даны четыре точки, которые образует четырехугольник. Нужно определить его вид и найти площадь.
Напомнили старые добрые пейратские переводы
Намерения были благими: вместоненужной в гуе псевдографики понапихать белорусских ў и украинских Ґ.
А в итоге миллионы хомячков плакали и злились от того, что в "волков коммандере у меня русский текст, а в блокноте -- нет".
Я вот сейчас задумался. Это же прошло уже наверное лет 20, как я заимел первую "электронную книгу": 386 системник (горизонтальный, IBM PS/2 если что, уж не знаю, как он ко мне попал), монохромный VGA монитор, MS-DOS, откуда-то добытая коллекция всяких непонятных книг, запакованных ARJ, и HIEW для просмотра, и вся эта хуйня стоит так, чтобы можно было лёжа дотягиваться до клавиатуры и тыцать page down.
Родные смотрели как на дебила: ну конечно, какой идиот будет читать книги не на бумаге.
В волковском F3 я прочитал книгу про Turbo Vision примерно в 1998-м году.
Вывести значок ® которого в 866 нету было нельзя не загрузив кастомный шрифт.
Ну а это умели делать keyrus, cyrillic итд, но шрифты наврядли были 1251=й кодировки.
В Дос Навигаторе выбор кодировок был уже покруче, но Уникода всё равно не было. И в нём можно было переключать кодировку редактируемого текста (была ли такая возможность в NC и в VC, не помню, надо проверить).
Тогда почему его собственная песевдографика не шла писдой?
>>
PS:
>> но Уникода всё равно не был
Слушайте, ну на одно знакоместо (помните это слово?) в VGA text mode 80x25 было два (!) байта: один на букву, один на свистелки и пирделки типа цвета и фона.
Ну вот отказавшись от пирделок можно получить 2^16 символов и монохромный экран.
А без них у тебя их 2^8, а значит даже UTF-8 нормально не сделать.
Уникод в "сосноличке" научились делать на писи только линуксоиды, которые нахуячили свой фреймбуфер (точнее портанули его с мака), тупо перевели карту в APA (граф режим) и стали рисовать там буквы пикселями.
Нет. Я же говорю, он перекодировал текст на лету. Представьте себе условную функцию printf, которая не напрямую выводит поток символов в сосноль, а предварительно у каждого символа меняет кодировку.
Да вот только если у тебя в тексте будет слово "Єбати" или "УКРАЇНА" или "умоўны" то тебе не повезло
Пользователи продуктов Microsoft последний раз видели текстовый режим IBM PC примерно в 1999-м году, потому что даже 16-ти разрядные приложения запускали в окошке внутри Win98.
Уже даже софт настройки BIOSа не юзает text mode.
И мы до сих пор имеем какие-то говнопроблемы виндовой консоли, какой-то code page, и прочее говно.
Бля, уже писал, что это проблемы не виндовой консоли а всякого мудачья, которое не может в виндовую консоль.
выводилось нормально и не заставляло меня думать
На сишарпе думаю все будет работать.
Работать будет только через ConsoleWrite напрямую:
>>скажешь
Сёма, ты видимо не понимаешь что такое "стардартная библиотека", с тобой трудно говорить
>c
/0
>с тобой трудно говорить
С тобой тоже. Просто перестань считать винду юниксом, и жизнь станет проще.
Намекаем, что окна это сплашные баги
Примерно как искать иголку в стогу навоза при минус тридцати с завязанными за спиной руками
В си есть стандартная библиотека и это ровно то, ради чего си был придуман.
Стаднатной библиотеки нет в Objective C
А в Plain C она есть
Важно что в си ЕСТЬ стандартная либа, хотя конечно в ней много говнеца, но она есть, и говорить что ее нет это глупо
Смена растет, так сказать.
Как же вы его запускаете на long mode? В досбоксе?
-----
Верните мой 1997-й. Хочу Turbo Pascal 7.0, Novel Netware, Dos 6.22, и 14-ти дюймовый аналоговый CRT моник.
Ну ёбанаый же стыд.
В PC изначально есть два-три таймера, один из них можно запрограммировать и повесить на его прерывание обработчик (так писиспикер же программировали). И через этот обработчик считать время.
Это позволяет делать delay независящий от частоты.
Вот почему чуваки которые портировали Prince Of Persia на PC это поняли, и принц бегает одинаково и на 40Mhz 486 и на 650 Mhz P III?
Ну я понимаю почему Montezzuma Revenge в 1984-м это не понимал, но Borland делал свой crt когда уже было понятно что CPU разные бывают.
Ох, ёбаный плевок в вечность.
В начале он засекал время, затем делал FOO, затем снова брал время. Сравнивал сколько времени прошло, и делал вывод о том, что один такт на процессоре занимает M миллисекунд.
После этого когда я делал delay(42) он делал NOOP (который занимает одну инструкцию) столько раз, чтобы получить ожидание 42 милисеки.
В какой-то момент оказалось что инструкция FOO занимает меньше времени, чем точность часов. Борланд посчитал что она занимает 0 секунд, и при расчете DELAY получал /0.
Так было дело?
Всем ясно, откуда берётся переполнение при умножении. Но откуда ему взяться при делении?
Дело в том, что на x86 есть инструкция деления 16-битного числа на 8-битное с 8-битным результатом; 32-битного на 16-битное с 16-битным результатом; наконец, в 32-битном режиме (включая 16-битный режим с префиксом для 32-битных данных) есть деление 64-битного числа на 32-битное с 32-битным результатом. Если частное не поместилось в прокрустово ложе (а оно может не поместиться, ибо под него отведено в два раза меньше места, чем под делимое), генерируется исключение.
Борланд опрометчиво решил, что 16 бит хватит всем, т. е. что за 55 миллисекунд выполнить FOO более 65535 раз невозможно ни на каком процессоре.
Вся история и вариант патча легко гуглится по запросу "crt div 55":
http://dssp.petrsu.ru/~yura/pyldin/yura/u_crt.htm
Вру. Не так: за 55 миллисекунд выполнить FOO более 55*65535 раз невозможно. Т. е. что результат деления к-ва итераций на 55 не превысит 65535.
Пусть FOO исполняется за N тактов. Тогда предел непатченного модуля Crt равен N*65535 тактов в миллисекунду или 65535000*N тактов в секунду.
Чтобы не напрягать таймер делеем, а сделать такой вот дешовый делей?
Нормальный таймер (см. по ссылке самый последний пример с вызовом прерывания 15h) появился только на двушках. Борланд же решил, что совместимость важнее пирфоманса.
борландсишечка имела ключик под какой проц конпелироваться
>97
Отличный у меня 166 с MMX был в 1998
98 > 97
ты не понял Инкауса
Он говорил о том, что ДО СИХ ПОР люди юзают паскаль под дос (как топикстартер)