/
Теги: научно-популярный журнал ежемесячный журнал журнал наука и жизнь
Год: 1989
Текст
• ЧЕЛОВЕК И КОМПЬЮТЕР Раздел ведет кандидат физико-
математических наук Ю. ПУХНАЧЕВ.
Первый выпуск раздела «Человек и компьютер» за текущий год (Ne 2, 1989 г.)
был составлен из писем киевлян. Во вступлении к нему выражалась надежда, что
какой-либо из следующих выпусков удастся составить из писем ленинградцев, горь-
ковчан...
Первый отклик на зто предположение был неожиданным. «На мой взгляд,— пи-
шет И. Суровикин из Омска,— было бы разумнее делить читателей раздела не по тер-
риториальному, а по профессиональному признаку. Сам я по специальности химик-
технолог и призываю своих коллег активнее писать в «Науку и жизнь», чтобы один
из ближайших выпусков раздела «Человек и компьютер» можно было укомплектовать
исключительно из выступлений химиков, освоивших в своей работе компьютер или,
на худой конец, программируемый микрокалькулятор».
Что ответим на зто, товарищи химики! Ждем от вас писем с алгоритмами и про-
граммами на химические темы!
ТАЙНА ГСЧ
РАСКРЫТА?
Редакция получила почти одновременно
два письма, где речь идет о генераторе слу-
чайных чисел в микрокалькуляторах МК-61
и МК-52. Автор одного из писем — Л. Ти-
тов из Красноярска — сообщает, что, по
его мнению, для генерации псевдослучайных
чисел в этих калькуляторах используется со-
отношение:
Рп-н = {10(рп + Y + Х7) / 3 + 0,404067 },
где 0,404067 — начальное (стартовое) число
генератора, рп и pn+i—два соседних слу-
чайных числа из последовательности, вы-
даваемой генератором, Y — число, находя-
щееся в регистре Y в момент нажатия кла-
виш К СЧ, а Х7 — цифра, стоящая в этот
момент в седьмом разряде числа, находя-
щегося в регистре X. Мантиссы чисел, нахо-
дящихся в регистрах X и Y, нормализуют-
ся — десятичная точка стоит после первой
значащей цифры, знак числа и цифры по-
рядка отбрасываются. В ОЗУ существуют
специальные ячейки памяти для записи те-
кущего значения чисел рп, которые не-
доступны для пользователя. Однако после
выполнения операций, вводимых клавишей
К (то есть К [х], К {х} и т. д.), результат
замещает в ячейках ОЗУ случайное число
рп, что и является, по мнению Л. Титова,
источником многих бед.
Второе письмо на ту же тему в редакцию
прислали создатели микрокалькуляторов
МК-61 и МК-52 — сотрудники киевского
ПО «Кристалл». Отвечая на многочисленные
письма читателей, они пишут: «Генератор
псевдослучайных последовательностей обес-
печивает получение ряда чисел, содержа-
щего периодическую и непериодическую ча-
сти. Длина этих частей, их состав и харак-
тер распределения чисел в интервале от 0
до 1 зависят от содержания регистра Y и
ячеек памяти. Естественно, что при одина-
ковых исходных состояниях будут выда-
ваться и одинаковые последовательности.
Так, при исходном нулевом содержании ре-
гистров, то есть сразу после включения мик-
рокалькулятора, генератор выдаст последо-
вательность, содержащую 89 чисел в непе-
риодической и 145 чисел в периодической
частях. Ради обеспечения нормальной рабо-
ты этого генератора предприятие рекомен-
дует для генерации случайных чисел ис-
пользовать программу: ПХО Bf КСЧ ХПО
С/П — последняя команда ставится, если
нужна индикация псевдослучайного числа.
Очередное псевдослучайное число будет ге-
нерироваться при возврате к началу прог-
раммы. Рекомендация об использовании
этой программы внесена в «Руководство по
эксплуатации». Вводя в регистр 0 восьми-
значное стартовое число, получим опреде-
ляемую им псевдослучайную последователь-
ность. Для получения новой последователь-
ности достаточно изменить стартовое число
и записать его в регистр 0».
Публикуя эти письма, редакция надеется,
что они помогут нашим читателям использо-
вать встроенный в микрокалькуляторы МК-
61 и МК-52 генератор псевдослучайных чи-
сел. Разговор, однако, нельзя считать за-
конченным, так как в обоих объяснениях
есть неясности, которые еще нужно уточ-
нить. Так что любители могут продолжить
поиски.
• МАЛЕНЬКИЕ ХИТРОСТИ
Для экономии батарей калькуляторов БЗ-
34, МК-52 и сохранения программы в ПМК
можно использовать своеобразный «режим
памяти», в котором на индикаторе све-
тится только десятичная точка и потребле-
ние энергии минимально. Для перехода в та-
кой режим можно выполнить последователь-
ность команд Сх ftt: ВП К. Для возврата
в режим вычислений набрать F10x F10x Сх.
Г. ТАРАСОВ (г. Чита).
От редакции. При экспериментальной
проверке этого совета было обнаружено,
что для МК-52 экономия составляет около
5 процентов (калькулятор потреблял 89 мА
в режиме ожидания, когда на индикаторе
горел нуль, и 84 мА в «режиме памяти»).
Однако самым неожиданном оказалось
то, что в режиме счета по программе пот-
ребление снизилось на 17 процентов отно-
сительно режима ожидания (до 73 мА). По-
лучается, что самый экономичный способ
сохранения программы — ее работа?
В ДВУХ РЕЖИМАХ
Владельцам микрокалькуляторов МК-61
немало хлопот доставляет адаптация прог-
рамм, написанных для МК-54 и содержащих
команды со стрелкой — типа КП{. Между
тем эти программы можно использовать для
МК-61 без всяких доработок, если внести
в электрическую схему калькулятора не-
большие изменения. На фрагменте прин-
ципиальной схемы новые цепи обозначены
пунктиром.
Во избежание выхода из строя микро-
схем от воздействия статического электри-
чества при переделке (рекомендуется поль-
зоваться паяльником с заземленным жалом,
включенным в сеть через разделительный
трансформатор, на заземленной металли-
ческой поверхности. Руки также должны
быть заземлены с помощью металлического
браслета через резистор с сопротивлением
несколько мегом.
После переделки при включенном режи-
ме «МК-54» вы будете иметь в своем рас-
поряжении полную имитацию калькулятора
этой марки: все команды со стрелкой,
98 шагов программы, 14 регистров и т. д.
В заключение хочу поблагодарить
А. Ф. Пшеничко — сотрудника киевского ПО
«Кристалл», куда я обратился по этому
вопросу,— за любезно оказанную консуль-
тацию.
В. КУДРЯВЦЕВ (г. Калининград).
КАЛЬКУЛЯТОРЫ СОВЕРШЕНСТВУЮТСЯ
Редакция получила ответ от изготовителя программируе-
мых микрокалькуляторов МК-61 и МК-52 — киевского ПО
«Кристалл» — на публикацию «Изобретем микрокалькуля-
тор» в № 12 за 1988 г., подписанный главным конструкто-
ром А. Г. Шеревеней, руководителем госприемки В. В. Ко-
стиковым и заместителем главного инженера А. П. Перуц-
ким. Публикуем его с небольшими сокращениями.
Частота тактового генера-
тора микрокалькуляторов
МК-61 и МК-52 выбрана
исходя из номинальной ча-
стоты используемых микро-
схем. При более высокой ча-
стоте изготовитель не гаран-
тирует безошибочной рабо-
ты, хотя многие экземпляры,
безусловно, останутся рабо-
тоспособными, но потеряют
гарантию из-за наруше-
ния условий эксплуатации,
установленных изготови-
телем.
Авторы некоторых публи-
каций — В. П. Дьяконов,
Я. К. Трохименко и другие—
без всякого согласования с
объединением «Кристалл»
сообщили читателям о «пе-
риферийных устройствах»
для МК-52. Объединение от-
нюдь не планировало выпу-
скать какие-либо иные уст-
ройства, кроме блоков рас-
ширения памяти БРП, пред-
ставляющих собою постоян-
ную библиотеку программ
пользователя. Кроме специа-
лизированного блока БРП-2
с набором программ для ре-
шения навигационных за-
дач, информация о котором
опубликована в «Морском
сборнике» № 12, 1988 г.,
объединением выпускаются
блоки БРП-3, содержащие
60 программ для решения
математических задач. Этот
блок выпускается серийно и
поступает в продажу по це-
не 16 рублей. В 1988 году
выпущено 15 200 этих бло-
ков, а в 1989 году плани-
руется выпустить 80 тысяч.
В 1989 году объединение
приступает к выпуску блока
БРП-4, содержащего про-
граммы игрового, спортив-
но-профессионального и бы-
тового характера.
Дополнительный разъем
установлен с технологиче-
ской целью и служит для
диагностики изделия в про-
цессе его изготовления.
Разработка блоков, в ко-
торые информацию мог бы
записывать сам пользова-
тель, в нашем объединении
не планируется.
Создатели и разработчики
микрокалькуляторов могут
гарантировать решение за-
дач без ошибок только в том
случае, если пользователь не
нарушает правил эксплуата-
ции. «Побочные эффекты»
возникают при несанкциони-
рованном использовании
операций или комбинаций
команд, не оговоренных в
«Руководстве по эксплуата-
ции». Наиболее типичный
пример — использование
операции ВП для изменения
порядка результата, хотя она
предназначена только для
изменения порядка опе-
ранда.
Невозможно оговорить в
«Руководстве» все комбина-
ции нажатий двух или трех
клавиш из имеющихся три-
дцати, приводящие к невер-
ному результату. Проще
было бы не использовать
комбинации, которые не ука-
заны в «Руководстве».
С января 1989 года прини-
маются меры по улучшению
работы клавиатуры. В каль-
куляторах, выпускаемых в
этом году, устраняется
«дребезг» контактов и двой-
ное срабатывание. Но не все
здесь зависит от изготови-
теля. Ведь и пользователи
вносят в порчу контактов
свою лепту: ударяют или
резко нажимают на клави-
ши, нажимают на две кла-
виши одновременно, нажи-
мают на следующую клави-
шу до того, как сработала
предыдущая, и т. д. Наде-
емся, что мероприятия, про-
веденные объединением, и
бережное обращение вла-
дельцев с клавиатурой обес-
печат ее хорошую работу.
РАСЧЕТ
ЗАДЕЛА
В СТРОИТЕЛЬСТВЕ
Когда разрабатываются проекты органи-
зации строительства, много времени уходит
на монотонные расчеты с однотипными дей-
ствиями. Пример — расчет задела в стро-
ительстве, входящий в состав расчета сро-
ков. Предлагаемая программа должна об-
легчить работу и сохранить время работни-
кам проектных организаций и банков.
Предназначена она для МК-61.
Расчетные формулы:
6= (Т/То) п, где Т—нормативная про-
должительность строительства (по табли-
цам СНиП 1.04^03—85), То — общая ра-
счетная продолжительность строительства,
п — порядковый номер месяца (квартала).
К,п= Кп+ (Кп + 1— Kn)d, где d —дроб-
ная часть б, Кп — нормативный показатель
задела, соответствующий n-му месяцу
(кварталу), К'п— расчетный показатель
вышеупомянутой величины. Расчет на мик-
рокалькуляторе возможен, если норматив-
ная продолжительность варьируется от
1 до 10 месяцев (кварталов).
При вводе программы в ПМК необходи-
мо по адресу 00 ввести команду ХПМ,
где N = (n + 1). По адресам 01 и 02 вво-
дится двузначное число, равное п. По ад-
ресам 15—18 вводится определенное по
таблицам СНиП отношение Т/То. 00.XHN
01... 02....... ОЗ.ХПО 04.С/П 05.ПХО
06.ХПЕ 07.^ 08.КХПЕ 09. FL0 10.04. 11.0
12.ХПО 13.КПХ4 14.ПХА 15. ... 16. ... 17. ..
18... 19.Х 20.ХПС 21. С/П 22.К{х} 23.ХПД
24. ПХС 25.К[х] 26.ХПЕ 27.1 28.+ 29.ХПС
ЗО.БП 31.42 32.Сх ЗЗ.КПХЕ 34.ПХД
35.КПХС 36.КПХЕ 37.— 38-Х 39.+ 40.С/П
41.БП 42.13 43.ПХЕ 44.3 45 — 46.Fx = 0 47.50
48.5 49.ХПС 50.ПХЕ 51.4 52.— 53Fx > 0
54.32 55.ПХЕ 56.1 57.+ 58.ХПЕ 59.1 60.+
61.ХПС 62.БП 63.32.
Инструкция. 1. Определить отношение
Т/То и ввести в программную память по
адресам 15—18. 2. Перевести калькулятор в
режим автоматической работы. 3. Ввести ис-
ходные данные: показатели задела по нор-
мам СНиП в порядке Кю С/П Кэ С/П ... Ki
С/П. 1—10—порядковые номера месяцев
(кварталов). 4. 1-й останов «бр> С/П. 2-й
останов «К1> (показатель задела для 1-го
месяца в процентах от сметной стоимости
в зависимости от общей продолжительности
строительства). Далее попарно выводятся
остальные бп и К'п-
Контрольный пример. Нормативная про-
должительность — 8 месяцев. Расчетная —
10 месяцев. Т/То= 0,80. В программу вве-
сти команды: 00.ХП9 01.0 02.8 ... 15.0 16.,
17.8 18.0 ... Ввести исходные данные: 100
С/П 95 С/П 82 С/П 63 С/П 45 С/П 0 С/П
27 С/П 16 С/П 8 С/П.
Результаты: 1-й останов 6i= 0.8, К/=
6.4. 2-й останов в2= 1.6, Кг' =12.8. 3-й ос-
танов б3= 2.4, Кз'= 20.4. 4-й останов
б4 = 3.2. К/ = 30.6 5-й останов бб = 4.0,
Кб'= 45. 6-й останов бб= 4.8, Кб'= 59.4.
7-й останов 67= 5.6, К7,== 74.4. 8-й останов
б8= 6.4, Кв'= 87.2. 9-й останов б9= 7.2,
Кэ'= 76. 10-й останов 6ю= 8, Кю' = 100.
Результаты заносятся в таблицы согласно
приложению 4 СНиП 1.04. 03—85.
О. ТРОНОВ (г. Сочи).
МУЛЬТФИЛЬМ НА ИНДИКАТОРЕ
Логические операции мож-
но использовать для созда-
ния мультфильма. Конечно,
сюжет такого фильма необ-
ходимо рассказать заранее.
Плохо лишь, что экран мал,
да и смотреть приходится в
полной темноте, но ведь и в
настоящем кино так же.
Вот один из моих мульт-
фильмов. Космический ко-
рабль «—» летит с Луны
«L» на Землю «3». Сначала
он делает прощальный круг
вокруг Луны, затем совер-
шает посадку на орбиталь-
ной станции «С» и, наконец,
прибывает на Землю. Вот
программа этого мультфиль-
ма:
00.ПХ1 01.BJ 02.В^ ОЗ.В]
04.ПХ2 05.В^ 06.В- 07.В
08.ПХЗ 09.В 10.В 11.В
12.ПХ1 13.В 14.В' > 15.BJ
16.ПХ2 17.BJ > 18.В ' 19.В
20.ПХ4 21 В 22.В 23.В
24.ПХ5 25.В1 ' 26. В' 27.Bf
28.ПХ6 29.В ' ЗО.В' 31.В
32.ПХ7 ЗЗ.В- ' 34.Bl 35.В
36.ПХ8 37.В ‘ 38.В 39.В
40.ПХ9 41.В' 42. Bf 43.3
44.С/П 45.БП 46.00. Теперь
необходимо занести в ре-
гистры памяти «кадрики»
нашего мультфильма. Дела-
ется это так: 10888888 Bf
13747737 KV К{х} ХП1 FO
• УЗЕЛКИ НА ПАМЯТЬ
Я заменил в своем микрокалькуляторе «Электроника МК-
61» элементы 316 аккумуляторами НКГЦ-0,45, которые
полностью совпадают по размерам с элементами 316, но
имеют в три раза большую емкость. Аккумуляторы рассчи-
таны на 500 циклов «заряд—разряд» и, учитывая их более
высокую емкость, заменяют 4500 элементов, каждый из ко-
торых стоит 15 копеек, а весь комплект питания — 675 руб-
лей. Три аккумулятора, обеспечивающих такую же продол-
жительность работы, стоят 9 рублей, а зарядное устройство
для их зарядки — 3 рубля 25 копеек. Цифры говорят сами
за себя.
А. КОРНЕВ (г. Москва).
13747237 КД К{х} ХП2 FO
13737732 KV К{х} ХПЗ FO
13774772 KV К{х} ХП4 FO
13774727 KV К{х} ХП5 FO
13774277 KV К{х} ХП6 FO
13724777 KV К{х} ХП7 FO
13724777 KV К{х} ХП8 3/—/
ХП9. Теперь остается поту-
шить свет и пустить фильм
командами В/О С/П. Для
повторного просмотра на-
жать С/П.
К. КОТИН (г. Ленинград).
• МАЛЕНЬКИЕ ХИТРОСТИ
Предлагаю в начале ППЗУ отводить ме-
сто для записи адресов программ, храня-
щихся в ППЗУ. Запись производится в ре-
жиме записи данных, начиная с адреса
0000. Это позволяет быстро находить адрес.
Последние знакоместа, которые на адрес не
влияют, можно использовать для определе-
ния названия программы. Я, например, ис-
пользую их для указания номеров программ,
которые храню в порядке возрастания но-
меров.
В. БАТКОВСКИЙ,
ученик 8-го класса (г. Киев).
Если необходимо на БЗ-34 воспользовать-
ся программой для МК-61, содержащей
команду, отсутствующую у БЗ-34, то про-
ще всего вместо этой команды в программе
поставить С/П, а потом при останове вы-
полнить эту команду «вручную» и, получив
соответствующий результат в виде числа,
проделать следующие операции: нажать
клавиши FO, набрать полученное в ре-
зультате число, нажать клавиши
Последнее необходимо, если за командой,
замененной на С/П, в программе следует
команда в виде цифры. После этого запу-
стить программу клавишей С/П.
А. МЕРЖЕЕВСКИЙ (г. Житомир).
ПРЯМОУГОЛЬНИКИ И ТРАПЕЦИИ
Продолжаем публика-
цию программ, присылае-
мых в редакцию, под деви-
зом «Единство формы и со-
держания» (см. №№ 6 и 10
за 1988 г.).
Программы, написанные
В. Чибисовым (г. Смоленск),
предназначены для инте-
грирования функции на от-
резке методом прямоуголь-
ников и методом трапеций
(см. обзор методов инте-
грирования в № 6 за 1987 г.,
стр. 136—139).
Ждем от читателей новых
программ.
СКАЗ ПРО ТО,
АВТОМОБИЛИ
В некотором царстве, в не-
котором государстве жили-
были старик со старухой, и
было у них три сына. Как
сыновья подросли, отправил
их старик по белу свету в
разные стороны счастья ис-
кать. Старшему сыну дал в
дорогу овцу, среднему — ко-
та, а младшему, Трифону,
ничего не досталось. Думал,
думал старик да и говорит:
— А возьми-ка ты, Три-
фон, в дорогу две дискетки,
кои в сундуке хранятся: од-
на со стандартным про-
граммным обеспечением, а
другая — чистая, для души.
Взял Трифон дискетки да
и отправился в путь-дорогу.
Близко ли, далеко, видит —
перед ним стоит отель на
курьих ножках, а перед оте-
лем человек сидит, горьки-
ми слезами заливается.
Спрашивает Трифон:
— О чем печалишься, мил
человек?
— Да как мне не печа-
литься, коли задал мне царь
задачу непосильную? Вй-
1 ? ’ИНТЕГРИРОВАНИЕ МЕТОДОМ ПРЯМОУГОЛЬНИКОВ'
2 DEF F N Y (X ) =S IN (X )+С О S ( X ) -2 5 6*L ОG ( X )+А ВS ( X / 5 )
3 INPUT 'А'В/ЧИСЛО РАЗБИЕНИЙ ИНТЕРВАЛА?’;А,В,N
4 D=(B-A)/N : SUMMA=O
5 FOR X=A+D TO В STEP D
60 SUMMA=SUMMA+FNУ(X)*D
7 0 NEXT XI---~~Z
8 0 ?’S=’ S s'"
1 PRINT’ИНТЕГРИРОВАНИЕ МЕТОДОМ ТРАПЕЦИЙ*
2 DEF F N Y (X ) «С OS ( X )-2 666*L 0 G ( X ) +A BS ( X I 5 1 ) /
3 INPUT ’А, В, ЧИСЛО РАЗБИЕНИЙ ?';A,B,N/
4 D«(В-A)/N:REM И НИМ ИАЛИ ЗАМ ИЯ ЦИКЛА:5 = 0/
5 S=0:Y1»FNY(А):FOR Х=А+О ТО В STEP D У
6 Y2=FNY(X): S = S + D*(Y1+Y2)/2: Y1»Y2
7 NEXT X:REM СЛЕДУЮЩЕЕ ЗНАЧЕНИЕ
8 PRINT ’ИНТЕГРАЛ ОТ А ДО B’ = S
КАК ТРИФОН
РАССТАВЛЯЛ
дишь перед отелем стоянку
для автомобилей? Да ви-
дишь ли, как стоят автомо-
били? Каждый вечер после
заседания в царских палатах
царевы гости будут подъез-
жать на автомобилях к оте-
лю. Остановятся на ночлег,
утром позавтракают да и
опять отъедут в царские па-
латы. Царь дал приказ:
каждый автомобиль может
занимать любое свободное
место на стоянке. А стоянка-
то не размечена. Занимать
ее можно только в один
ряд, а которым гостям не
хватит места — тем проез-
жать далее, к другим оте-
лям: автомобилей-то много
Для лучшего понимания тонкостей работы стека я пред-
лагаю программу решения квадратного уравнения: АХ24
+ ВХ + С = 0. При решении этого уравнения не использу-
ется ни одного регистра памяти, а программа получается
короче, чем в справочных пособиях А. Н. Цветкова и
В. П. Дьяконова. 00. : 01.— 02.FBx 03.: 04.Bf 05./—/ 06.2
07.: 08.Fx2 O9.Bf 10.FO ll.FBx 12.— ГЗУ 14.-f- 15.—
16.FBx 17.С/П. Теперь по этой программе надо составить
таблицу движения информации в стеке, которая наглядно
покажет, как он работает.
А. РАССКАЗОВ (п/о Троицкое, Приморский край).
больше, чем мест на нашей
стоянке. Длина стоянки —
8 саженей, ширина каждого
автомобиля — одна сажень.
В каждом автомобиле ров-
ным счетом по три гостя.
Дал мне царь 4550 руб. на
год, стало быть, на 365 дней,
чтобы каждый гость полу-
чил утром завтрак ценою
70 копеек. Стал я думу ду-
мать: каждый день на сто-
янке останавливается раз-
ное число автомобилей, но
самое меньшее — 4, а самое
большее — 8. Стало быть, в
среднем—6 автомобилей.
За год получится 6X365 =
2190. Ежели завтрак стоит
0,7 руб., да в каждом авто-
мобиле по три гостя, то от
царя я должен бы получить
4599 руб. А он мне дал
4550. И откуда же я возьму
• УЗЕЛКИ НА ПАМЯТЬ
1024
совета
Судя по откликам, чита-
телям пришлась по душе
рубрика <1024 совета». Не-
ко(торые даже подсчитали,
что с учетом периодичности
выхода первых «байтов» по-
следний, 1024-й совет будет
опубликован не раньше
2048 года. Но, дорогие чи-
татели, во-первых, рубрика
питается вашими письмами,
так что частота публикации
«байтов» зависит от вас; во-
вторых, в числе 1024 нет ни-
чего магического — никому
• БЮРО СПРАВОК
В Московском энергетическом институте создана про-
грамма, облегчающая проведение подписки в институтах,
учреждениях и организациях, вынужденных ежегодно выпи-
сывать большое количество советских и зарубежных перио-
дических изданий.
Возможности данной программы позволяют найти любое
издание в электронном каталоге по его индексу, при необ-
ходимости исправить в каталоге цену или название газеты
или журнала, дополнить каталог новыми изданиями, внести
список адресов и адресатов, отпечатать подписные кар-
точки, полностью заполненные, соответствующие стандар-
ту «Союзпечати» и подлежащие приему во всех отделениях
связи. При необходимости печатается сводная ведомость по
подписным изданиям.
Для использования программы пригодны персональные
компьютеры ЕС—1840, Правец—16, IBM PC.
105835, Москва, Е-250, ГСП, Красноказарменная, 14,
НТБ МЭИ, тел. 273-21-54.
ведь не приходит в голову
пересчитывать товары в ма-
газине <1000 мелочей».
Теперь остановимся на за-
мечаниях читателей по от-
дельным советам из первых
трех «байтов» (см. <Наука
и жизнь» № 8, 1987 г., №№
2, 6, 1988).
Совет 2, где говорилось
про оператор REM. Он дей-
ствует по-разному в ранних
и последних версиях Бейси-
ка. Первоначально этот опе-
ратор мог быть только един-
ственным или последним
оператором на строке, так
как все символы, стоящие
за словом REM (включая и
разделители операторов),
принимались за коммента-
рии. В последних версиях
Бейсика оператор REM та-
кой особенности не имеет;
здесь для временного исклю-
чения строки или даже це-
лого блока программы мож-
но рекомендовать оператор
безусловного перехода (С.
Петрухин, г. Курск).
Совет 4, рекомендовавший
способы задерживать счет
по программе: либо задавая
строго отмеренную паузу
пустым циклом, либо опи-
раясь на показания таймера,
либо запрашивая разреше-
ния человека на продолже-
ние работы после нажатия
им определенной клавиши.
Как справедливо отметил
И. Финк из Ставрополья,
первый способ задержки не
позволяет распараллелить
работу человека и компью-
тера. Последним же спосо-
бом это удается: человек, к
примеру, просматривает ин-
формацию на дисплее, а ма-
шина в это время ищет но-
вую в архивной памяти; най-
дя ее, перегружает в опера-
тивную, а после сигнала че-
ловека — на дисплей.
Советы 6 и 7 с их настой-
чивой пропагандой струк-
турного программирования
вызвали эмоциональные от-
клики читателей, помнящих
времена, когда структурное
программирование на «нест-
руктурных» языках внедря-
лось, как картошка на Ру-
си. Обращаем внимание чи-
тателей на характерную
особенность рубрики <1024
совета»: в ней нигде нет
слова <нужно», но везде сто-
ит слово «можно». Мы не на-
вязываем наши советы, ес-
ли они не годятся для ка-
ких-то вычислительных си-
49 рублей? Не могу выпол-
нить царские условия, отто-
го и печалюсь. А коли не
выполню — не сносить мне
головушки кудрявой.
Тут Трифон и говорит:
— Не кручинься раньше
времени, мил человек, ло-
жись-ка спать. Утро вечера
мудренее.
А когда солнце встало из-
за леса, спрашивает Трифон:
— Мил человек, есть ли в
твоем отеле персональный
компьютер и транслятор с
языка Паскаль?
— Да нешто мы не лю-
ди? — обиделся мил чело-
век.— Где ж это видано,
чтобы в отелях компьютеры
не водились?
Обрадовался Трифон:
— Дай-ка я смоделирую
процесс размещения автомо-
А
ь
билей. Коли первый автомо-
биль случайно занял место
на стоянке, то он разделил
всю стоянку (А, В) на две
части (A, Y) и (Y+ 1, В).
Эти части не зависят друг
от друга. Стало быть, каж-
дую такую часть можно
снова считать стоянкой, но
меньшей длины. В каждой
части можно снова по-
пытаться разместить авто-
мобиль. Белы светушки,—
хлопнул себя по лбу Три-
фон,— да это же типичная
рекурсия!
— И то правда,— поддак-
нул мил человек.— Да вот
незатея: коим же образом
можно получать случайные
значения Y?
- А о том сказано в пи-
сании «Наука и жизнь»
№ 10, 1986 г. И про рекур-
сию там же поведано, но в
другом номере — № 2,
1988 г., в байке о ханойской
Башне... Есть такой ге-
нератор RAND, который ге-
нерирует случайные числа с
равномерным распределени-
ем в интервале (0,1). С его
помощью получим значение
Y в интервале (А, В), смот-
ри: Y — А + (В — А — 1) X
XRAND, где 1 — ширина ав-
томобиля. Если тебе, мил
человек, в моих рассужде-
ниях все понятно, то опусти
очи свои на программу, ко-
торая составлена на языке
Паскаль.
— Верно ли я уразумел,—
говорит мил человек, обоз-
ревши программу,— что
функция AUTO моделирует
случайное размещение авто-
мобилей в течение одного
вечера? Так что для подсче-
та всех автомобилей за год
нужно повторить моделиро-
вание 365 раз?
— Верно, мил человек,
верно.
— Батюшки мои! — уди-
вился мил человек.— Это
что же мы видим на экране
дисплея после выполнения
программы?! Автомобилей-
то за год меньше, чем я счи-
тал в среднем. Стало быть,
царь дал мне лишку денег.
Вот радость какая! Однако,
братец, меня и сомнения бе-
стем, если кто-либо решает
затронутые проблемы более
эффективными или более
привычными средствами.
Совет 8, где говорилось
про то, как расположение
подпрограмм влияет на ско-
рость их вызова. Влияние
это различно на разных ма-
шинах (К. Сумнин, г. Ким-
ры). Не вникая в тонкости
работы транслятора, про-
граммист может сам опыт-
ным путем определить, из
какого места программы
подпрограмма быстрее вы-
зывается. Замер скоростных
характеристик программ на
машинах с разделением
времени работы процессора
нужно проводить с осторож-
ностью: время прогонки про-
граммы на такой машине за-
висит от загрузки парал-
лельных дисплеев.
Совет 10, где прозвучала
фраза: плагиат в програм-
мировании пока не пресле-
дуется. Но тем не менее,
замечает ростовчанин Ю.
Синицын, ссылка на авто-
ра идеи или разработки ни-
когда не будет лишней. Вот
свежий пример, продолжа-
ет он. В 1988 г. издатель-
ство «Наука» выпустило
книгу В. М. Брябрина «Про-
граммное обеспечение персо-
нальных ЭВМ». Книга очень
интересная и полезная. В
ней рассказано об операци-
онных системах. Но у не-
искушенного читателя по
прочтении книги создается
ложное мнение, будто такие
популярные операционные
системы, как СР/М, МС —
DOS и UNIX были созданы
в Вычислительном центре
АН СССР, так что остается
Тем, кого заинтересовала проблема структурирования ал-
горитмов и программ (см. заметки в журнале «Наука и
жизнь»: М. Вахтеров, «Два простых правила», № 2, 1987 г.
и В. Очков, «Структурные диаграммы», № 4, 1988 г.), ре-
комендуем литературу:
Ван Тассел. Стиль, разработка, эффективность, отладка
и испытание программ. Пер. с англ., 2-е изд., М. Мир,
1985.
Вирт Н. Алгоритмы + структуры данных = программы:
Пер. с англ., М. Мир, 1985.
Дал У., Дейкстра Э., Хоор К. Структурное программиро-
вание. Пер. с англ., М. Мир, 1975.
Йордан Э. Структурное проектирование и конструирова-
ние программ. Пер. с англ., М. Мир, 1979.
Птицын В. Отличия чисто внешние. — «Техника—молоде-
жи» № 3, 1988, стр. 62.
Очков В. Ф., Пухначев Ю. В. 24 этюда на Бейсике.— М.
Финансы и статистика, 1988.
Добавляя к сказанному в заметках М. Вахтерова и В. Оч-
ков а, можно отметить, что альтернатива — это вспомога-
тельная структурная управляющая конструкция. Ведь пол-
ная альтернатива эквивалентна двум условным операторам
(двум неполным альтернативам), которые, в свою очередь,
несложно заменить на циклы «пока», у которых тело вы-
полняется либо раз, либо совсем ни разу. Следовательно,
алгоритм любой сложности можно реализовать, используя
только две конструкции: следование и повторение.
только удивляться: поче-
му в основу служебных слов
легли английские термины?
Мы просим читателей,
присылающих советы, отме-
чать их авторство. Многие
советы начинающим про-
граммистам подобны анек-
дотам в том смысле, что их
знают все, но автор тем не
менее неизвестен. В таком
случае выручит пометка
«Народное средство, подме-
ченное имярек».
Совет 12, где упомина-
лось печатающее устройст-
во. Если оно имеет буфер-
ную память, то «размазыва-
ние» операторов печати по
тексту программы может
существенно ускорить ее
прогонку за счет параллель-
ной работы центрального
процессора и процессора
(*...............................-.............
! МОДЕЛИРОВАНИЕ МЕСТОПОЛОЖЕНИЯ АВТОМОБИЛЕЙ !
---------------------------------------------*)
PROGRAM MODELCINPUT,OUTPUТ);
CONST №365 ; (★ ЧИСЛО ДНЕЙ В ГОДУ ★ )
RUBL»0.7; (★ СТОИМОСТЬ ЗАВТРАКА ★ )
G0ST=3; (★ ЧИСЛО ГОСТЕЙ В АВТОМ-ЛЕ*)
VAR X:REAL; (* ПЕРЕМЕННАЯ ДЛЯ "RAND" *)
A,B:REAL; (★ РАЗМЕРЫ СТОЯНКИ *)
SUM.-REAL; (★ КО-ВО АВТОМ-ЛЕй ЗА ГОД ★)
DENGA:REAL; (★ СУММА ДАНЕГ *)
I,KOL:INTEGER; (★ РАБОЧИЕ ПЕРЕМЕННЫЕ *)
FUNCTION RANDCVAR X : R Е A L ) : R Е A L ; ЕХ ТЕ R N A L;
(* ФУНКЦИЯ "AUTO"
-------------------------------*)
FUNCTION AU ТО (А,В: REAL) : INTEGER;
VAR Y:REAL;
BEGIN
IF (B-AX1 THEN KOL: = O
ELSE BEGIN
Y:=A+CB-A-1)*RAND(X);
KOL:=AU TO ( A z Y ) + AU TO ( Y + 1,B)+1.
END;
AU TO := KO'L
END;
(★ ОСНОВНАЯ ПРОГРАММА
...............................*)
BEGIN
X;s1; SUM: = O;
WRITELNC'ВВЕДИТЕ ЗНАЧЕНИЯ AZB :');
READLN(A,B);
FOR I:=1 TO N DO
SUM:=SUM + AU TO(A,B);
WRITELN('ЧИСЛО АВТОМОБИЛЕЙ s ' z SUM : 10 : 2 ) ;
DENGA:= SUM*RUBL*GOST;
WRITE('КОЛИЧЕСТВО ДЕНЕГ =', DENG A:10:2)
END.
рут. Что, ежели повторить
моделирование заново, ну,
скажем, с другим генерато-
ром случайных чисел, но то-
же с равномерным распреде-
лением в интервале (0,1)?
Получу ли я тогда лишек
денег?
— Непременно получишь,
но, может, немного меньше,
а может, и больше.
И пригласил на радостях
мил человек Трифона к
завтраку царскому, а у са-
мого глаза разгорелися и
мысли побежали в разные
стороны.
— А что, братец,— заго-
ворил мил человек,— что
ежели в каждом автомобиле
будут сидеть не три челове-
ка, а случайно от 1 до 5,
будет ли у меня еще лишек
денег? Да будет ли он, еже-
ли ширина автомобиля бу-
дет тоже случайна от 0,5 до
1,5 сажени?
Задумался Трифон...
А что скажет дорогой чи-
татель?
Л. БЕРЕЗКИНА
(г. Зеленоград).
принтера (В. Пернатых, г.
Мелитополь). При этом ЭВМ
«выстреливает» в АЦПУ оче-
редную порцию информации
и считает дальше, не дожи-
даясь, пока неповоротливый
принтер ее распечатает. Бы-
вает целесообразно ставить
оператор, выводящий на
дисплей ту или иную пере-
менную сразу за оператора-
ми. ее вычисляющими.
Совет 18, касавшийся «за-
секречивания» файлов. А.
Подземский из Москвы для
этой цели использует про-
белы в конце имени файла.
Они не видны, но тем не ме-
нее меняют идентификатор.
При прямом запрете на ис-
пользование кириллицы рус-
ские буквы в имя файла
можно вставить, набрав их
на маленьком регистре ла-
тинским шрифтом (машины
ДВК, ДЗ-28 и др). Следует
однако помнить, что некото-
рые дисплеи и принтеры
по-разному печатают латин-
ские и русские буквы А, С,
Кит. п. Следует также
заметить, что опытный про-
граммист может «вскрыть»
секретный файл «отмыч-
кой», распечатав коды сим-
волов имени (см. «Наука и
жизнь» № 12, 1986 г., стр.
95 — 96).
Совет 19, где предлага-
лось использовать звуковые
сигналы, обогащающие ди-
алог человека и ЭВМ. В.
Глухарев из Душанбе раз-
работал целую систему та-
ких сигналов. Короткие му-
зыкальные фразы, различа-
ющиеся мелодией, темпом,
высотой, обращают внима-
ние пользователя на допу-
щенные ошибки ввода, на
Вычисление целых степеней числа 2 с помощью микро-
калькуляторов связано с большими сложностями, причина
которых — низкая точность результата функции Fxy. Если
таким способом возводить двойку в целую степень, мы не
только не получим целого числа, как должно быть на са-
мом деле, но и из-за большой погрешности вычислений не
найдем точного ответа с помощью простой формулы
Т = [t + 0,5]. В этой и следующей формулах знаком [...]
обозначена целая часть числа, Т — истинный результат,
t — значение, вычисленное микрокалькулятором. Универ-
сальный способ округления (до целых чисел) степеней
двойки 2К, где 1<к<23, реализуется с помощью формулы
Г = [ ( д/t + С)2], где С = л 10~4 — поправочный коэффи-
циент. Программная реализация формулы: FxyF У FIXN +
Fx2 К[х]; в регистры перед этим необходимо занести: 2—РХ
К — PY, С — PN.
А. ЮМАШИН (г. Москва).
ЕЩЕ ОДНА ПРОГРАММА
В № 10 за 1987 г. была опубликована программа моск-
вича В. Жука для определения выдержки. Эту и без того
короткую программу, содержащую всего 15 шагов, мне уда-
лось сократить до 11 шагов: ОО.ХПО 01.1 02. + 03." 04.1
05.+ 06. : 07.Fx2 08.Х 09.С/П 10.БП 11.00.
Для определения выдержки вводим выдержку Т1, полу-
ченную при кратности увеличения К1, при которой был по-
лучен хороший отпечаток и кратность увеличения, при ко-
торой должен быть сделан новый отпечаток. После подачи
команды С/П (в самый первый раз В/О С/П) через 4 се-
кунды на индикаторе — новое значение выдержки.
И. ЧУПРОВ (г. Гродно).
необходимость включения
периферии, на проход раз-
личных участков програм-
мы и прочее.
Ждем от читателей новых
советов, а также замечаний
и дополнений по уже опуб-
ликованным.
НОВЫЕ КНИГИ
Чаянов А. В. Краткий курс коопера-
ции. Томское книжное издательство, 1988.
72 с. 50 к. 5000 экз.
«Само слово «кооперация» стало теперь
одним из самых ходовых слов в нашем
обиходе... В любом газетном листе вы
встретите его десятки раз, им пестрят
страницы книг, его произносят на соб-
раниях, конференциях и съездах...» Эти
слова были сказаны более полувека тому
назад известным экономистом 20-х годов
Александром Васильевичем Чаяновым.
Работа посвящена истории сельской коо-
перации и проблемам ее развития в СССР.
Среди книг, которые В. И. Ленин затре-
бовал во время работы над статьей «О ко-
операции», была и работа А. В. Чаянова.
Историки спорят. 13 бесед. Под общей
редакцией В. С. Лельчука. М., Политиз-
дат, 1988. 510 с. 1 р. 50 к. 100 000 экз.
Книга построена в форме полемических
бесед, которые ведут между собой круп-
ные специалисты по истории XX века.
В центре внимания новые подходы к
проблемам Великого Октября, граж-
данской войны, нэпа, Великой Отечест-
венной войны, культурного строительст-
ва, характеристика политической системы
20 —30-х годов и другие вопросы.
Малинова Р„ Малина Я. Прыжок
в прошлое. Эсперимент раскрывает тай-
ны древних эпох. Перевод с чешского.
Комментарий и послесловие Е. Н. Чер-
ныха. М. Мысль, 1988. 271 с., ил. 5 р. 50 к
50 000 экз.
Археологические находки донесли до
нас отзвуки далекого прошлого. По ор-
наменту на сосуде или форме украшений
ученые могут вычислить время, ког-
да жил человек, цзготовивший данный
предмет. А ведь еще в XVII веке немец-
кому ученому Андреасу Альберту Роде
пришлось самому сделать и испытать
каменный топор, чтобы доказать, что
кремневые орудия были созданы челове-
ком, а не принесены на Землю грозовыми
тучами, как полагали некоторые.
Только эксперимент помог реконструи-
ровать историю. В некоторых странах
воссозданы поселения бронзового, камен-
ного, железного веков. Они стали музея-
ми под открытым небом. Книга об экспе-
риментальной археологии иллюстрирова-
на картами и схемами.
Транковский С. Д. Книга о лазерах.
М. Детская литература, 1988. 112 с., ил.
1 р. 50 к. 100 000 экз.
На заре развития лазерной техники
французский физик Луи де Бройль ска-
зал: «Лазеру уготовано большое будущее.
Трудно предугадать, где и как он будет
применяться, но я думаю, что лазер —
это целая техническая эпоха». Время по-
казало, что ученый был прав. Лазер мо-
жет сделать сложную хирургическую
операцию и поразить вражеский самолет,
мгновенно просверлить отверстие в ал-
мазе и раскроить тончайшую шелковую
ткань.
Книга знакомит с принципами дейст-
вия лазеров, с видами этих приборов, с
применением лазерной техники в самых
различных областях жизни.