26

Re: Книги с упоминанием Агата

Voldemar0 пишет:

В ИК или УФ диапазоне сканировать :) ?

Да, была такая фича у каких-то сканеров - в ИК все царапины отсканировать, потом в видимом свете их все убрать. Но с непрозрачным оригиналом не прокатит :)

Долго мучил картинку в Фотошопе, получилось как-то так. Контрастность вроде немножко повысилась, а вот как победить шумы - непонятно.

Post's attachments

1a.jpg, 170.1 kb, 652 x 473
1a.jpg 170.1 kb, 12 downloads since 2019-08-18 

27 Отредактировано garnizon (19-08-2019 08:38)

Re: Книги с упоминанием Агата

Причем она в реале выглядит еще хуже, к ней шел  диск (это комплект) : http://agatcomp.ru/Apps/Infoxarkov.shtml
Думал что на диске есть копия в формате "агат-автор" - хрен.

И тут заслуга AlexBel, это он смог хоть что-то вытянуть при сканировании.

Кстати, книга перед этим много лет пролежала на ХТЗ ( http://xtz.ua/ru/ ), в кабине недвижимого заводского экспоната ХТЗ-80. Как она туда попала  фиг его знает, но трактор стоял на улице на пьедестале. В смысле может она отсырела? Хотя диск вложенный в неё совсем не пострадал.

Voldemar0 пишет:

В ИК или УФ диапазоне сканировать :) ?

Это какой-то специальный сканер?

28 Отредактировано Voldemar0 (19-08-2019 06:56)

Re: Книги с упоминанием Агата

Если работать с каждой странцией индивидуально, возможно даже делить страницы на регионы и под каждый конкретно подгонять
параметры коррекции, можно получить несколько лучший результат, чем у меня, но даже с этой обработкой я провозился несколько часов, а тут получиться вообще ... До бесконечности можно улучшать. В конце концов: вычитать каждый кусок и перенабрать. В finereader можно, наверное, за месяц всё сделать, если по вечерам сидеть.

29

Re: Книги с упоминанием Агата

garnizon пишет:

И тут заслуга AlexBel, это он смог хоть что-то вытянуть при сканировании.

Чесслово, ничего не вытягивал. Сделал пробные сканирования на двух разрешениях (300 и 600) и настройках по умолчанию, разницы в качестве не увидел и отсканировал на 300, так как это быстрее и размер файлов меньше :)

30

Re: Книги с упоминанием Агата

Ну моим сканером еще хуже получалось: http://agatcomp.ru/Reading/img/noscan6.jpg

31

Re: Книги с упоминанием Агата

Еще в нескольких агатовских книжках, есть ссылка на такую книгу:

Каймин В. А. Основы компьютерной технологии. Москва Финансы и статистика 1992г. 208 с., ил. Мягкий переплет, Обычный формат.

Но найти скан в сети не удалось, полно его работ более поздних, а вот этой 1992 года нету.

32

Re: Книги с упоминанием Агата

https://hdd.tomsk.ru/desk/jfdsbisn
Факультативные занятия на ПЭВМ Агат

Гляньте, плиз, на предмет сильно корявых страниц. Вроде не должно было оставаться,
но если вдруг я пропустил. Если будете указывать страницу - напишите также первые два слова, которые у неё сверху - для контроля, что мы одинакого понимаем нумерацию.

33

Re: Книги с упоминанием Агата

Толковая книжка, рецензия будет?

34

Re: Книги с упоминанием Агата

всё может быть
когда нибудь
я её не читал ещё

35

Re: Книги с упоминанием Агата

Качество вроде везде приличное. В качестве рецензии могу предложить свою:

Любопытная книжка. Здесь показаны не примитивные школьные программки, а программы посложнее и поинтереснее: рисование в графическом режиме с клавиатуры, крестики-нолики, перевод чисел в разные системы счисления, клавиатурный тренажер, редактор спрайтов для оператора DRAW. Есть примеры по работе с файлами.

Бейсиком книжка не ограничивается - есть примеры использования встроенного ассемблера. Есть даже программа для совмещения текстового режима с графическим, использующая прерывания.

В отличие от многих других похожих книг 90-х, которые часто были написаны формально и с массой ошибок, эта выглядит достаточно выверенной. Авторы прямо пишут, что информации им не хватало и многие вещи они выясняли экспериментально. В тексте много упоминаний про особенности Бейсика и ДОС - адреса рабочих ячеек, распределение памяти. Я лично даже не знал, что в Бейсик-60 команда TEXT=0 включает 15-ю текстовую страницу.

Конечно не обошлось без опечаток. Например, в той же программе для совмещения текстового режима с графическим,  объявлена метка RODG, а вызывается процедура PODG. Но самое странное - константа для счета маскируемых прерываний. $B1 Учитывая, что IRQ генерируется, по-моему, в начале каждой текстовой строки, этот счетчик никогда не успевает досчитать до 0 и режим остается графическим (по крайней мере, в эмуляторе). У меня заработало с константой $1B.

Более подробно я тексты программ не проверял, но в целом оценка книжке положительная. Даже жалко, что в 90-е мне такая не попалась.

36 Отредактировано Voldemar0 (20-09-2019 06:38)

Re: Книги с упоминанием Агата

Коротко говоря: это, пожалуй, первая книга, посвященная глубокому изучению различных сторон агатовского бейсика и не являющаяся перепечаткой инструкций.

37 Отредактировано garnizon (20-09-2019 17:35)

Re: Книги с упоминанием Агата

avivanov76 пишет:

В качестве рецензии могу предложить свою:

С удовольствие воспользуюсь для сайта, мое мнение о книге такое же.

Уже с первых страниц понимаешь что авторы копнули глубоко, раз понимают различия семерки и девятки, в отличии от обычного в таких случаях абстрактного "Агат".

Вообще надо сказать что книги от соавторов Степанов\Самолысов считаются лучшими из Агатовской литературы.

Кроме сейчас обсуждаемой, у нас на сайте есть еще одна:

Учебные задания по работе на ПЭВМ "АГАТ" (для учащихся девятых классов). Самолысов В.А. Степанов М.Е. Москва 1986. Министерство просвещения РСФСР. НИИ школ.

Которая оставила более чем приятные впечатления.

И еще существуют,  но пока нет на сайте :

•М.Е.Степанов. Программирование на языке Бейсик-Агат: Методические рекомендации учителю. НИИ школ МП РСФСР. Москва 1986
•Самолысов В.А. Учебные задания по работе на ПЭВМ 'Агат' (для учащихся 10-х классов).- М.: Изд. НИИ школ МП РСФСР.- 1987.- 84 с.
•Самолысов В.А. Методические рекомендации по использованию программ-тренажеров при обучении математике в 5-10 классах (Бейсик-Агат).- М.: Изд. НИИ школ МП РСФСР.- 1989.

Надо будет заказать сканирование в национальной библиотеке, но я пока потратился и так на сайт изрядно, чуть позже.

38 Отредактировано Voldemar0 (22-09-2019 07:26)

Re: Книги с упоминанием Агата

Пролистал книжку, исправил несколько страниц (21, 39, 79):

https://hdd.tomsk.ru/desk/trjoyosv

-=-

Интересно, что авторы говорят о трансляторе Бейсика размером 60 блоков, но с цветным курсором. Цветной (вместо мигающего подчерка) курсор был в моде бейсика от ALV. Но размер там был > 60 блоков. Вероятно, авторы книжки располагали какой-то ранней версией этого мода.

-=-

На 99 странице столкнулся с внутренним удивлением: тут авторы явно оказались несообразительными (несмотря на успешное решение других, гораздо более сложных задач):

"Задание: ...переделайте программу-тренажёр таким образом, чтобы секундомер не останавливался при нажатии на пробел...

Решение: ...поскольку оператор печати является медленным, по сравнению с другими операторами, практически любое нажатие на пробел останавливает программу..."

На самомо деле, кажется, даже документация на агат не скрывает, что пробел - это задержка вывода на экран. Просто, чтобы можно было успеть прочитать то, что компьютер быстро выводит, проматывая экран вверх.

Это было принято в всех ОС Агата: процедура перевода курсора на следующую логическую строку ("\n" - либо скроллинг либо переход на следующую физическую строку экрана) проверяет порт клавиатуры и если там висит код пробела - удаляет его, ждёт его повторного появления, после чего удаляет его вновь и продолжает работу.

Соответственно, избавиться от задержки программы при нажатии пробела можно гораздо проще, чем предлагают авторы (они там написали целую процедуру для прямого вывода в видеопамять): достаточно было в конце оператора PRINT добавить символ ";". Это "международный" ход, известный, пожалуй, всем версиям бейсика, который требует, чтобы PRINT не переводил строку в конце вывода (и да, в доках на агатовский бейсик это тоже упоминается и в конце этой книжки тоже).

( Ну а перевести курсор, при необходимости, можно операторами VTAB/HTAB. Разве что скроллинга экрана от них не получить. Но проблема, которую подняли авторы книжки, характерна для программ, использующих полноэкранный пользовательский интерфейс, а в нём скролинг, обычно, не используется. )

-=-

Стр 304: а вот тут у нас рождение мифа:
"Известная ненадёжность клавиатуры...может приводить к тому, что символы, находящиеся на экране и символы, попадающие в буфер клавиатуры, иногда не совпадают."
Увы, как бы клавиатура не ломалась, но её влияние на буфер ввода не больше, чем на содержимое экрана.

-=-

Стр 337: Wow! Ещё при моей жизни: человеческое и без ошибок описание оператора Wait!

-=-

А вообще, читая очередную книжку по основам компьютерной графики (а недавно ещё и почитав какой-то форум в инете, где преподаватели школ, ныне сидящие под линухом, интересуются: как бы так перетащить графические программы из книжек начала 90-х на Turbo Pascal'е в среду линуха (/в глубоких скобках замечу: да, это возможно, но прямой перенос - это плохая практика, по сути, опускающая графику линуха до уровня VGA/DOS/)), мне тут подумалось: а ведь не только в нынешних, но и в гораздо более старых, реально используемых прогах, вся эта графика почти никогда не используется.
Почему ?

Впервые я понял, что все эти построения точек, прямоугольников и линий имеют мало практического смысла, когда разбирался в возможностях редактирования уровней и - вообще - рессурсов игры Doom ][. Это было ещё в конце 90-х. Я был удивлён, когда среди спрайтов игры увидел не только фигурки монстров, игрока, оружия, боеприпасов также и все выводимые картинки с мордой игрока в нижней части экрана, а также и весь алфавит (знакогенератор), которым выводился как статус игрока так и экранные меню игры. Там же были и начальные/промежуточные/финальные экраны игры.

Действительно, а зачем этой игрушке рисовать отдельные линии, прямоугольники, круги? Допустим, прямоугольник, выраженный одним оператором bar(x1, y1, x2, y2) - это гораздо компактнее, чем растровая картинка. Но зачем он такой вообще нужен на экране? На экране, даже если вы рисуете какой нибудь игровой элемент, да ещё и в цветном режиме, гораздо проще вывести растр этого элемента - т.е. готовую картинку, чем старательно, комбинируя всякие COLOR= PLOT, рисовать что-то подобное ей. И дело даже не в скорости вывода, а просто в том, что растровую картинку вы можете отредактировать в любом графредакторе, визуально, т.е. сделать это может даже не программист, а именно художник или дизайнер.

Вашей программе не нужны спрайты, а просто нужно красиво вывести таблицу, например, чисел ?
И вы обдумаете, как операторами LINE сделать разграфку ?
Да давно уже написаны процедуры/библиотеки/объекты, которые сразу могут изобразить это всё. И вы даже знать не будете, как там рисуются тени и прочие красивости.

А если даже полезете внутрь, то обнаружите там столько слоёв рисования, что голова кругом пойдёт.
Потому что, наверняка, вывод будет не в пикселях, а в каких-нибудь процентах от размера окна или в каких-то ещё условных величинах. Под вашей прогой будет работать библиотека Cairo, она будет передавать вывод в куда нибудь в DirectX, тот будет передавать это всё драйверу видюхи, она аппаратно тоже что-то может пересчитать от себя....  В той же javascript банальный метод (или функция? или как там его принято называть ?) lineTo рисует не по пикселям экрана, а по условным виртуальным точкам, которые только при масштабе документа 100% соответствует по размеру физической точке (но, в силу работы алгоритмов сглаживания, эта точка может быть размылена на нескольких соседей).

Векторные шрифты рисовать через line() ? Всё уже есть и очень давно успешно работает.

Ну ладно, допустим, это всё - нынешняя реальность, в 80-е всё было по другому и вечность была поосновательнее. Но ведь вот что характерно: а в B- игрушках Агата разве точно также не использовались уже именно спрайты, а не отдельные линии ? Ну я допускаю, что сетка поверхности планеты в HORIZON реально расчитывалась как линии, но ведь остальное -то во всей этой игре - спрайты. В SHAMUS - наверняка - всё спрайты. Во FLY линия одна - остаток топлива (или времени до конца игры). Musiceditor - нотный спрайт, наверное, линии. Остальное - спрайты.

И вот я думаю: так может не так уж плохо, что в агатовком бейсике не было оператора рисования окружности ? Да и прямоугольника тоже ? Может быть нужно было как-то вообще по другому строить обучение графике ? И даже не столько на Агате, в школе, сколько на PC, в ВУЗах ? Почему все так уцепились в эти линии, прямоугольники ? (/В ещё одних скобках замечу: механника спрайтов, например, в том же Turbo Pascal существовала. Тормознутая, но всё таки она была: PutImage/GetImage. Но её не рассматривали как основу работы, а больше как прикольный, непонятно-зачем-нужный инструмент/)

-=-

На 233-й странице есть прекрасная фраза: "Далее мы увидим, что некоторые файлы одновременно являются и программами, и данными по отношению к другим программам. Из этого следует, что деление файлов на программы и данные несколько условно".

В общем-то, любой системный и просто опытный программист это знает.
Но в учебных книжках (во всяком случае книжках 80-90х годов) очень часто очень упорно пытались вводить как деление файлов на данные и программы, так и другие, не очень полезные, деления. Например, делить софт на на пользовательские программы и утилиты. Когда читаешь это, сперва реально начинаешь думать что пользовательские программы - это всё понятно, а утилиты - это что-то из другого измерения. И только со временем понимаешь, что деление это - чисто условное и никакого технического смысла не имеющее.

-=-

Ну а всё прочее в этой книжке интересно, забавно и - я бы даже сказал - увлекательно :)
Так что присоединяюсь к предыдущему оратору: жаль, что у меня не было такой же книжки где нибудь в конце 80-х.
Я тоже в те годы увлекался агатовской графикой.

39

Re: Книги с упоминанием Агата

Voldemar0 пишет:

Впервые я понял, что все эти построения точек, прямоугольников и линий имеют мало практического смысла, когда разбирался в возможностях редактирования уровней и - вообще - рессурсов игры Doom ][. Это было ещё в конце 90-х. Я был удивлён, когда среди спрайтов игры увидел не только фигурки монстров, игрока, оружия, боеприпасов также и все выводимые картинки с мордой игрока в нижней части экрана, а также и весь алфавит (знакогенератор), которым выводился как статус игрока так и экранные меню игры. Там же были и начальные/промежуточные/финальные экраны игры.

Ну, в построении линий смысл все-таки есть. Та же карта уровня в Doom активно использует алгоритм Брезенхема. Просто есть графика растровая, а есть векторная. Или даже так - есть игровая, а есть инженерная :)

В любом CAD-е основной результат - это чертеж, который собирается из отдельных линий, дуг и окружностей. А вот если игра похожа на чертеж - то это обычно результат нехватки ресурсов, цель игры - получить изображение, напоминающее настоящий или вымышленный мир.

И вот многие книжки конца 80-х начала 90-х страдали такой "серьезностью", типа, компьютер не для игр, поэтому незачем глубоко разбираться в растровой графике. И основную мысль они несли примерно такую: вот смотрите, в школе вы научились чертить циркулем и по линейке, в курсе геометрии вы узнали про координаты и можете даже рассчитать их самостоятельно. А теперь возьмем компьютер - с ним вы можете сделать то же самое, но без бумаги, смотрите, как это делается. Ну, то есть, всех обучали как будущих инженеров. А разработчики игр - они по духу ближе к художникам и режиссерам, их действительно стоило обучать иначе. Но про их профессиональное обучение тогда вообще не думали.

40 Отредактировано Voldemar0 (22-09-2019 08:36)

Re: Книги с упоминанием Агата

> В любом CAD-е основной результат - это чертеж, который собирается из отдельных линий, дуг и окружностей.

Вот тут ты мне напомнил, так уж напомнил !!! :))

Я когда прогу для разводки ПП писал
http://deka.agatcomp.ru/er/plats/plats.gif
http://deka.agatcomp.ru/er/plats/plats-dos.png
столько с этими алгоритмами дружился - всю школьную геометрию на три раза вспомнил.

Там же началось всё с того, что линии могут выходить за экранные координаты и нужно было сочинить
такую логику работы, чтобы преобразовать точки из любых координат в точки, лежащие внутри окна, но принадлежащие той же прямой.

Алгоритмы построения круглых площадок.

Потом понадобился алгоритм очистки площадок от краёв тех дорожек, которые им не принадлежат (т.е. чтобы соблюдать зазоры между медью, даже ценой её уменьшения) с одновременным соединением тех дорожек, которые
подключены к площадке.

Потом (экономия хлорного железа) - заливка платы не контактирующим с дорожками полигоном.

Всё это с постоянным пересчётом пиксель<->мм.

Захват мышью элементов и привязка к сетке.

Да, там реально была чистая векторная графика...

41

Re: Книги с упоминанием Агата

УРОКИ основ программирования на языке "Рапира" для ПЭВМ "Агат" : Метод. рекомендации для учителей сред. шк. и СПТУ. Ч. 1. Областной институт усовершенствования учителей. Куйбышев 1988.

http://agatcomp.ru/Reading/docs/03449.pdf

Интересно что на примере РАПИРЫ 1.2.