- 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.
Шкварюсь на ОАП. Условия задачи - даны четыре точки, которые образует четырехугольник. Нужно определить его вид и найти площадь.
guest 06.12.2016 12:25 # 0
AnalniyTerzatel 06.12.2016 16:16 # +1
guest 06.12.2016 14:40 # 0
Напомнили старые добрые пейратские переводы
bayan 06.12.2016 22:06 # +4
Намерения были благими: вместоненужной в гуе псевдографики понапихать белорусских ў и украинских Ґ.
А в итоге миллионы хомячков плакали и злились от того, что в "волков коммандере у меня русский текст, а в блокноте -- нет".
bakagaijin 07.12.2016 00:07 # +4
Я вот сейчас задумался. Это же прошло уже наверное лет 20, как я заимел первую "электронную книгу": 386 системник (горизонтальный, IBM PS/2 если что, уж не знаю, как он ко мне попал), монохромный VGA монитор, MS-DOS, откуда-то добытая коллекция всяких непонятных книг, запакованных ARJ, и HIEW для просмотра, и вся эта хуйня стоит так, чтобы можно было лёжа дотягиваться до клавиатуры и тыцать page down.
Родные смотрели как на дебила: ну конечно, какой идиот будет читать книги не на бумаге.
bayan 07.12.2016 00:12 # 0
В волковском F3 я прочитал книгу про Turbo Vision примерно в 1998-м году.
bakagaijin 07.12.2016 00:16 # 0
bayan 07.12.2016 00:20 # 0
Вывести значок ® которого в 866 нету было нельзя не загрузив кастомный шрифт.
Ну а это умели делать keyrus, cyrillic итд, но шрифты наврядли были 1251=й кодировки.
bakagaijin 07.12.2016 00:22 # 0
inkanus-gray 07.12.2016 00:23 # 0
В Дос Навигаторе выбор кодировок был уже покруче, но Уникода всё равно не было. И в нём можно было переключать кодировку редактируемого текста (была ли такая возможность в NC и в VC, не помню, надо проверить).
bayan 07.12.2016 01:16 # 0
Тогда почему его собственная песевдографика не шла писдой?
>>
PS:
>> но Уникода всё равно не был
Слушайте, ну на одно знакоместо (помните это слово?) в VGA text mode 80x25 было два (!) байта: один на букву, один на свистелки и пирделки типа цвета и фона.
Ну вот отказавшись от пирделок можно получить 2^16 символов и монохромный экран.
А без них у тебя их 2^8, а значит даже UTF-8 нормально не сделать.
Уникод в "сосноличке" научились делать на писи только линуксоиды, которые нахуячили свой фреймбуфер (точнее портанули его с мака), тупо перевели карту в APA (граф режим) и стали рисовать там буквы пикселями.
inkanus-gray 07.12.2016 02:54 # 0
Нет. Я же говорю, он перекодировал текст на лету. Представьте себе условную функцию printf, которая не напрямую выводит поток символов в сосноль, а предварительно у каждого символа меняет кодировку.
barop 07.12.2016 03:57 # +1
Да вот только если у тебя в тексте будет слово "Єбати" или "УКРАЇНА" или "умоўны" то тебе не повезло
inkanus-gray 07.12.2016 09:48 # 0
bayan 09.12.2016 00:09 # +1
Пользователи продуктов Microsoft последний раз видели текстовый режим IBM PC примерно в 1999-м году, потому что даже 16-ти разрядные приложения запускали в окошке внутри Win98.
Уже даже софт настройки BIOSа не юзает text mode.
И мы до сих пор имеем какие-то говнопроблемы виндовой консоли, какой-то code page, и прочее говно.
3_14dar 09.12.2016 00:18 # 0
Бля, уже писал, что это проблемы не виндовой консоли а всякого мудачья, которое не может в виндовую консоль.
bayan 09.12.2016 00:20 # 0
3_14dar 09.12.2016 01:40 # 0
bayan 09.12.2016 01:46 # 0
3_14dar 09.12.2016 02:03 # 0
bayan 09.12.2016 02:07 # +3
выводилось нормально и не заставляло меня думать
3_14dar 09.12.2016 02:25 # 0
На сишарпе думаю все будет работать.
barop 09.12.2016 03:27 # +1
Работать будет только через ConsoleWrite напрямую:
3_14dar 09.12.2016 03:33 # −1
barop 09.12.2016 05:40 # +1
>>скажешь
Сёма, ты видимо не понимаешь что такое "стардартная библиотека", с тобой трудно говорить
3_14dar 09.12.2016 06:29 # −1
>c
/0
>с тобой трудно говорить
С тобой тоже. Просто перестань считать винду юниксом, и жизнь станет проще.
dxd 09.12.2016 08:01 # +2
O____O 09.12.2016 09:56 # +2
Намекаем, что окна это сплашные баги
bayan 09.12.2016 16:54 # +1
Примерно как искать иголку в стогу навоза при минус тридцати с завязанными за спиной руками
bayan 09.12.2016 16:39 # +3
В си есть стандартная библиотека и это ровно то, ради чего си был придуман.
Стаднатной библиотеки нет в Objective C
А в Plain C она есть
dxd 09.12.2016 16:41 # +3
bayan 09.12.2016 16:47 # +1
Важно что в си ЕСТЬ стандартная либа, хотя конечно в ней много говнеца, но она есть, и говорить что ее нет это глупо
Dr_Stertor 06.12.2016 19:31 # 0
bayan 07.12.2016 01:27 # 0
Смена растет, так сказать.
Dr_Stertor 08.12.2016 23:35 # 0
bayan 08.12.2016 23:38 # 0
Dr_Stertor 08.12.2016 23:42 # 0
guest 06.12.2016 19:41 # 0
bayan 06.12.2016 21:02 # +3
Как же вы его запускаете на long mode? В досбоксе?
-----
Верните мой 1997-й. Хочу Turbo Pascal 7.0, Novel Netware, Dos 6.22, и 14-ти дюймовый аналоговый CRT моник.
inkanus-gray 06.12.2016 21:53 # +4
bayan 06.12.2016 22:03 # +2
Ну ёбанаый же стыд.
В PC изначально есть два-три таймера, один из них можно запрограммировать и повесить на его прерывание обработчик (так писиспикер же программировали). И через этот обработчик считать время.
Это позволяет делать delay независящий от частоты.
Вот почему чуваки которые портировали Prince Of Persia на PC это поняли, и принц бегает одинаково и на 40Mhz 486 и на 650 Mhz P III?
Ну я понимаю почему Montezzuma Revenge в 1984-м это не понимал, но Borland делал свой crt когда уже было понятно что CPU разные бывают.
Ох, ёбаный плевок в вечность.
dxd 06.12.2016 22:07 # +2
bayan 06.12.2016 22:08 # 0
inkanus-gray 07.12.2016 00:31 # +1
bayan 07.12.2016 01:15 # +1
В начале он засекал время, затем делал FOO, затем снова брал время. Сравнивал сколько времени прошло, и делал вывод о том, что один такт на процессоре занимает M миллисекунд.
После этого когда я делал delay(42) он делал NOOP (который занимает одну инструкцию) столько раз, чтобы получить ожидание 42 милисеки.
В какой-то момент оказалось что инструкция FOO занимает меньше времени, чем точность часов. Борланд посчитал что она занимает 0 секунд, и при расчете DELAY получал /0.
Так было дело?
inkanus-gray 07.12.2016 02:50 # +2
Всем ясно, откуда берётся переполнение при умножении. Но откуда ему взяться при делении?
Дело в том, что на 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
inkanus-gray 07.12.2016 03:01 # 0
Вру. Не так: за 55 миллисекунд выполнить FOO более 55*65535 раз невозможно. Т. е. что результат деления к-ва итераций на 55 не превысит 65535.
Пусть FOO исполняется за N тактов. Тогда предел непатченного модуля Crt равен N*65535 тактов в миллисекунду или 65535000*N тактов в секунду.
barop 07.12.2016 03:55 # 0
Чтобы не напрягать таймер делеем, а сделать такой вот дешовый делей?
inkanus-gray 07.12.2016 09:41 # 0
Нормальный таймер (см. по ссылке самый последний пример с вызовом прерывания 15h) появился только на двушках. Борланд же решил, что совместимость важнее пирфоманса.
inkanus-gray 07.12.2016 09:52 # +1
O____O 07.12.2016 13:35 # −1
bayan 07.12.2016 20:38 # 0
борландсишечка имела ключик под какой проц конпелироваться
AnalniyTerzatel 08.12.2016 14:10 # 0
O____O 08.12.2016 14:53 # 0
3_14dar 07.12.2016 04:33 # 0
>97
barop 07.12.2016 04:36 # 0
Отличный у меня 166 с MMX был в 1998
3_14dar 07.12.2016 04:38 # 0
98 > 97
barop 07.12.2016 04:40 # 0
ты не понял Инкауса
Он говорил о том, что ДО СИХ ПОР люди юзают паскаль под дос (как топикстартер)
3_14dar 07.12.2016 04:40 # 0
AnalniyTerzatel 07.12.2016 05:11 # 0