hobot(25.12.2020)
напомню, что для паскалей на основе OMSI Pascal - специально для УК-НЦ есть модуль+библиотека GRAY, требует предварительной загрузки GRAY.SAV, автор А.Фоменко (ASPcorp.)
Код:program tsgray;(* (c) Фoмeнкo C.A. 7-Mapтa-1990 гoдa. *) var i : integer; c : char; procedure init; external; (* инициaлизaция paбoты c пaкeтoм *) procedure finit; external; (* oкoнчaниe paбoты c пaкeтoм *) procedure window(xl,yb,xr,yt:integer); external; (* Уcтaнoвкa oкнa вывoдa гpaфики *) procedure ramka; external; (* Уcтaнoвлeниe paмки в oкнe тeкyщим цвeтoм и типoм линии *) procedure newpicture(i:integer); external; (* Oтчиcткa тeкyщeгo oкнa i-cпocoб oтчиcтки *) (* 0-инвepcиeй,1-нaлoжeниeм,2-oтчиcткoй пo мacкe 3-ycтaнoвкoй цвeтa *) procedure drawmode(i:integer); external; (* Зaдaниe cпocoбa pиcoвaния 0,1,2,3 *) procedure color(i:integer); external; (* Зaдaниe цвeтa гpaфики 0..7 *) procedure linestyle(i:integer); external; (* Зaдaниe типa линии 0..7 *) procedure userstyle(i:integer); external; (* Зaдaниe пoльзoвaтeльcкoгo типa линии *) procedure line(x,y,x1,y1:integer); external; (* Пpopиcoвкa линии *) procedure dot(x,y:integer); external; (* Пpopиcoвкa тoчки *) procedure grdot(x,y:integer); external; (* Пpopиcoвкa тoчки гpaфикa в cooтвeтcтвии c тeкyщим типoм линии *) procedure circle(x,y,r:integer); external; (* Пpopиcoвкa oкpyжнocти *) procedure arc(x,y,r,xs,ys,xt,yt,cw:integer); external; (* Пpopиcoвкa дyги *) procedure fill(x,y:integer); external; (* Зaливкa пpoизвoльнoй oблacти *) procedure square(x,y,x1,y1:integer); external; (* Пpopиcoвкa квaдpaтa *) procedure setcol(c,i:integer); external; (* Уcтaнoвкa cooтвeтcтвия цвeтa *) procedure screen(i:integer); external; (* Уcтaнoвкa paзмepoв экpaнa 1,2,3,4 *) procedure chcolor(i:integer); external; (* Уcтaнoвкa цвeтa a/ц. cимвoлoв *) procedure chkurs(i:integer); external; (* Уcтaнoвкa цвeтa a/ц. кypcopa *) procedure sccolor(i:integer); external; (* Уcтaнoвкa цвeтa экpaнa. cимвoлoв *) procedure stcolor(i:integer); external; (* Уcтaнoвкa цвeтa cтpoки *) (* Пpи зaдaнии цвeтa мeньшe 0 пpoиcxoдит вoccтaнoвлeниe пpeдыдyщeгo цвeтa *) procedure invers(onof:integer); external; (* Уcтaнoвкa/cнятиe инвepcии a/ц. cимвoлoв 1-Уcтaнoвкa 0-cнятиe *) procedure podch(onof:integer); external; (* Уcтaнoвкa/cнятиe пoдчepкивaния a/ц. cимвoлoв 1-Уcтaнoвкa 0-cнятиe *) procedure anpos(x,y:integer); external; (* Пoзициoниpoвaниe a/ц кypcopa *) procedure vanpos(x,y:integer); external; (* Пoзициoниpoвaниe a/ц кypcopa близкo к гpaфикe *) procedure anclear(x,y:integer); external; (* oтчиcтк a/ц диcплeя дo кoнцa экpaнa *) procedure setchsize(dx,dy:integer); external; procedure setchup(up:integer); external; procedure character(x,y:integer;c:char); external; procedure string(x,y,dx,dy:integer); external; begin(* main *) init; chkurs(1); sccolor(1); stcolor(1); anclear(1,1); window(20,23,620,243); color(2); ramka; window(21,24,619,242); color(0); newpicture(3); color(6); for i:=0 to 7 do begin linestyle(i); line(5,25+i*10,400,25+i*10); end; color(4); linestyle(5); circle(600,122,200); linestyle(0); circle(500,122,20); fill(500,122); linestyle(7); color(3); line(0,180,400,180); linestyle(0); color(2); line(400,185,410,180); line(400,180,410,180); line(400,175,410,180); circle(10,180,3); fill(10,180); linestyle(2); color(5); for i:=10 to 400 do grdot(i,trunc(sin((i-10)/57)*50)+180); setchsize(1,1); setchup(12); string(10,165,9,0); write('Гpaфик y=Sin(x)',chr(12)); anpos(10,23); chcolor(2); write('Кpacный'); write(' '); chcolor(-1); chcolor(1); stcolor(0); write('cиний'); stcolor(-1); chcolor(-1); write(' '); chcolor(4); write('зeлeный '); write(' '); invers(1); write('инвepcный'); invers(0); write(' '); podch(1); write('пoдчepкнyтый'); podch(0); readln(c); chcolor(-1); stcolor(-1); sccolor(0); chkurs(6); finit; end.(* main *)
Oleg N. Cher(27.12.2020)
ха! у вас получилось написать, у меня только вычисление элементарной формулы по двум точкам,
не понимаю как символами строить, скопипастить могу, а сам выдумать пока не могу. А син и кос,
я уже пол пальца предложим @MM, но ему лень в Зелек переть забирать )))
@Alex_K отмечал, что все эти граф. построения в УК-НЦ прошиты где-то в ёё мозгах,
вот видимо оттуда все эти граф. навеси для ПАСКАЛЯ растут, напомнил про пакет -
если кому графики (хотя ИМХО:Бейсик-Вильнюс проще использовать наверное) порисовать
на Паскале захочется и построения всякие (хобби у всех разные бывают).
- - - Добавлено - - -
а я видел ) не пропадёт ваш листинг - тема богатеет примерами. Так держать!
В командах дисплея 15-ИЭ-хх есть ESC последовательность позиционирования курсора, добавляем в координаты результат функции Син и Кос ( для Х и У координат ), и пишем туда буковку "А", или др. ASCII код.
Табличка ESC команд , подходящих для дисплея, есть в паспорте КЦГД :
http://www.emuverse.ru/wiki/%D0%94%D0%92%D0%9A
Подстраивать плоскость круга можно , изменяя множители к результату функций Син и Кос.
Все ли посещали уроки информатики в школе ?
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU
hobot(25.12.2020)
у меня информатики в школе не было к сожалению, а вот позиционирование курсора и другие послед. в моём и других листингах есть )
- - - Добавлено - - -
тут надо уже геометрию и тригонометрией вспоминать, а вы говорите информатика. )))
за ненадобностью всё потёрлось , сложение векторов, построение окружностей, а число пи я всегда ненавидел )))
@nzeemin,
Код:PROCEDURE TTYOUT(N:INTEGER); CONST R=200B; VAR A ORIGIN 177564B, D ORIGIN 177566B:INTEGER; BEGIN WHILE (A AND R)=0 DO; D:=N; END; /* THIS PROCEDURE WAS COPIED FROM HPIC.PAS */ PROCEDURE GOTOXY(XX,YY: INTEGER); BEGIN WRITE(CHR(27),'Y',CHR(32+YY),CHR(32+XX)); END;Код:American Standart Code for Information Interchange /ASCII/ -------------------+--------------------+------------------ Symbol Code | Symbol Code | Symbol Code -------------------+--------------------+------------------ Null 0 0. | @ 100 64. | Ю 140 96. Control-A 1 1. | A 101 65. | А 141 97. Control-B 2 2. | B 102 66. | Б 142 98. Control-C 3 3. | C 103 67. | Ц 143 99. Control-D 4 4. | D ( 104 68. | Д 144 100. Control-E 5 5. | E 105 69. | Е 145 101. Control-F 6 6. | F 106 70. | Ф 146 102. Bell 7 7. | G 107 71. | Г 147 103. Backspace 10 8. | H 110 72. | Х 150 104. Tab 11 9. | I 111 73. | И 151 105. Line Feed 12 10. | J 112 74. | Й 152 106. Vert Tab 13 11. | K 113 75. | К 153 107. Form Feed 14 12. | L 114 76. | l 154 108. Carr Ret 15 13. | M 115 77. | М 155 109. Control-N 16 14. | N 116 78. | Н 156 110. Control-O 17 15. | O 117 79. | О 157 111. Control-P 20 16. | P 120 80. | П 160 112. Control-Q 21 17. | Q 121 81. | Я ` 161 `113. Control-R 22 18. | R 122 82. | Р 162 114. Control-S 23 19. | S 123 x3. | С 163 115. Control-T 24 20. | T 124 84. | Т )164 116. Control-U 25 21. | U 125 85. | У 165 117. Control-V 26 22. | V 126 86. | Ж 166 118. Control-W 27 23. | W 127 87. | Б 167 119. Control-X 30 24. | X 130 88. | Ь 170 120. Control-Y 31 25. | Y 131 89. | Ы 171 121. Control-Z 32 26. | Z 132 90. | З 172 122. Escape 33 27. | [ 133 91. | Ш 173 123. Control-\ 34 28. | \ 134 92. | Э 174 12<. Control-] 35 29. | ] 135 93. | Щ 175 125. JControl-^ 36 30. | ^ 136 94. | Ч 176 126. Control-_ 37 31. | _ 137 95. | Забой 177 127. Space 40 32. | ` 140 96. | ю 100 64. ! 41 33. | a 141 97. | а 111 65. " 42 s4. | b 142 98. | б ` 102 66. # 43 35. | c 143 99. | ц 103 67. $ 44 36. | d 144 100. | д 104 68. % 45 37. | e 145 )101. | е 105 69. & 46 38. | f 146 102. | NF 106 70. ' 47 39. | g 147 103. | г 107 71. ( 50 40. | h 150 104. | х 110 72. ) 51 41. | i 151 105. | и 111 73. * 52 42. | j 152 106. | й 112 74. + 53 `43. |` k 153 107. | к` 113 75. , 54 44. | l 154 108. | л 114 76. - 5u 45. | m 155 109. | м 115 77. . 56 46. | n 156) 110. | н 116 78. / 57 47. | o 157 111. | о 117 79. 0 60 48. | p 160 112. | п 120 80. 1 61 49. | q 161 113. | я 121 81. 2 62 50. | r 162 114. | р 122 82. 3 63 51. | s 163 115. | с 123 83. 4 64 52. | t 164 116. | т 124 84. 5 65 53. | u 165 117. | у 125 85. 6 66 54. | v 166 118. | ж 126 86. 7 67 55. | w 16? 119. | б 127 87. 8 70 56. | x 170 120. | ь 130 88. 9 71 57. | y 171 121. | ы 131 89. : 72 58. | z 172 122. | з 132 90. ; 73 59. | { 173 123. | ш 133 91. < 74 60. | | 174 124. | э 134 92. = 7u 61. | } 175 125. | щ 135 93. > 76 62. | ~ 176 126. | ч 136 94. ? `77 63. | Rubout 177 127. | ъ 137 95. -------------------+--------------------+------------------ А л ф а в и т н о - ц и ф р о в а я к л а в и а т у р а Д В К +----+----+----+ +----+----+----+ +----+----+----+ |СБР |СТР |СТС | |АР1 | С1 |АР2 | |ПРД |ПРМ |ПРС | | 14 | 37 | 13 | | 20 | 1 | 33 | | 36 | 21 | 6 | +----+----+----+ +----+----+----+ +----+----+----+ +----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | ; | 1 | 2) | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |ТАБ | ГТ | | + | ! | " | # | $ | % | & | ' | ( | ) | | = | | | | 73 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 70 | 71 | 60 | 55 | 30 | 11 | | 53 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 50 | 51 | 60 | 75 | | | +----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | Й | Ц | У | К | Е | Н | Г | Ш | Щ | З | Х | : | ПС | ВК | | J | C | U | K | E | N } G | [ | ] | Z | H | * | | | |112 |103 |125 |113 |10u |116`|107 |133 |135 |132 |110 | 72 | 12 | 15 | |152 |143 |165 |163 |145 |156 |147 |173 |175 |172 |150 | 52 | | | +----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | СУ | Ф | Ы | В | А | П !| Р | О | Ло Э Д | Ж | Э | . |`ЗБ | | | F | Y | W | A | P | R | O | L | D | V | \ | > | `|M | |106 |131 |127 |101 |120 |122 |117 |114 |104 |126 |134 | 56 | 10 | |-180|146 |171 |167 |141 |160 |162 |157 |154 |144 |166 |174 | 76 | | +----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | ВР | Я | Ч | С | М | И | Т | Ь | Б | Ю | , | / | | НР | | | Q | ^ | S | M | I | T | X | B | @ | < | ? | _ | | | |121 |136 |123 |115 |111 |124 |130 |102 |100 | 54 | 57 |177 | | | |161 |176 |163 |155 |151 |164 |170 |142 |140 | 74 | 77 |137 |+40 | +----+----+----+----+----+----+----+----+----+-,--+----+----+----+----+ | РУС | ПРОБЕЛ ` | ЛАТ | | 16 | 40 | 17 |M +---------+-------------------------------------------------+---------+ Дополнительная цифровая и служебная кмавиатуры Д В К й `Без ДК С ДК Ю 1-я и 2-я с.к. С ДК +----+----+----+ +----+----+----+ k-m--+----+----+ +----+----+---m+ | 7 | 8 | 9 | | 7 | 8 | 9 | | 25 } 34 | 15 | |125^|101E|115D| | 67 | 70 | 71 | |127D|130D|131D| |125^|101E| 15 | |$^U |$A |$?M | +----+----+----+ +----+----+----+ +----+----+----+ +----+----+----+ | 4 | 5 | 6 | | 4 | 5 | 6 | | 32 | 10 | 31 | |104E|110^|103E| | 64 | 65 | 66 | |124D|125D|126D| |104E|110^|103E| `|$D |$^H |$C | +----+----+--m-+ +----+----+----+ +----+----+----+ +----+----+----+ | 1 | 2 | 3 | | q | 2 | 3 | | 24 | 35 | 23 | |124^|102E|123^| | 61 | 62 | 63 | |921D|122D|123D| |124^|102E|123^| |$^T |$D |$^S | +----+----+----+ +----+----+----+ +----+----+----+ +----+----+----+ | 0 |, 54| | 0 | , | | 26 | 2 | 22 | |120E|121E|122E| | 60 |. 56| | 120D |116D| |120E|121E|122E| |$P |$Q |$R | +---------+----+ +---------+----+ +----+----+----+ +----+----+----+ E - ESC-Коды - 33 ... - $ ... ^ - ESC-Коды - 33 136 ... - $^... D - Коды дополнительной клавиаттры - 33 77 ... - $?... ESC-Коды для вывода на экран: 033 075 '=' - Установка дополнительной клавиатуры 033 076 '>' - Сброс дополнительной клавиатуры 033 105 'E' - Переход к системе команд 1 033 110 'H' - Возврат маркера в координаты 0,0 033 111 'I' - Маркер вверх со сдвигом первой строчки 033 112 'J' - Стирание от маркера до конца экрана 033 113 'K' - Стирание строки от маркера 033 131 'Y' - Прямая адресация маркера /033 131 040+Y 040+X/ 033 132 'Z' - Выдача командной послемовательности 033 132
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)