ZX-Ревю 1993 №7-8 1992 г.

Наша презентация - сегодня мы представляем Вам нашу новую книгу "30 часов БЕЙСИКа для начинающих".


НАША ПРЕЗЕНТАЦИЯ

Сегодня мы представляем Вам нашу новую книгу "30 часов БЕЙСИКа для начинающих". Надо сказать, что это наш первый опыт в том смысле, что до сих пор мы издавали только книги, написанные собственными руками. Сейчас, увы, дело обстоит так, что Вы, уважаемые друзья, читаете быстрее, чем мы пишем и потому нам пришлось обратиться к классике. Поводом для этого стали многочисленные обращения дать что-то для начинающих или хотя бы повторить наше самое первое издание, с которым мы дебютировали в 1989 г. - "Большие возможности Вашего "Спектрума".

Мы сразу отказались от идеи повтора нашей первой книги, ведь за эти годы она была перепечатана многими организациями, где слово в слово, где с добавлениями и, вполне возможно, она Вам встречалась под другим наименованием. Вместо этого мы сделали перевод с книги Клайва Пригмора (Clive Prigmore) и Пола Шрива (Paul Shreeve), которая является методическим пособием по "Спектруму" для Британского Национального колледжа заочного повышения квалификации (National Extension College).

Книга готова и ее оригинал-макет на дискете предлагается всем желающим самостоятельно заняться печатью по нашей лицензии и распространением. Мы же ждем ее выход из типографии не раньше ноября текущего года.

В этой книге нам больше всего понравился ход мысли автора. Все основные операторы БЕЙСИКа даются читателю на основе конкретных практических задач. Сегодня в качестве презентации новой книги мы даем одну маленькую главу, которая, как нам кажется, хорошо иллюстрирует методический подход автора. Глава посвящена членению стрингов оператором (...TO...).

5.6 Расчленение стрингов.

Мы никогда не задумывались о том, что такое дата? Например, как компьютер представляет себе 23 июня 1973 года?

Мы знаем, что компьютер умеет хранить данные. И делает это двумя способами - в виде чисел или в виде символьных строк (стрингов). В виде чисел он уделяет по 5 байтов памяти на каждое число, а для стрингов - по одному байту на каждый символ. Так что же такое дата? Число или стринг?

23 июня 1973 года - вроде бы стринг, а если мы запишем то же самое как 230673 - то вроде бы это число. Давайте разбираться.

Если 230573 это число, то почему 110593 (11 мая 1993 года) меньше, ведь 93-ий год был позже 73-го? А если это стринг, то спрашивается, как компьютер сможет рассчитать, сколько лет будет в 93-м году молодому человеку, родившемуся в 73-м, да и вообще как тогда оперировать с календарем?

Ответ очень прост. Даты - это особый вид информации и работать с ними надо особо. Их надо вводить, как стринги, а хранить в памяти и обрабатывать надо как числа. И вводят их именно как стринги еще и потому, что не все элементы даты нам одинаково важны.

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

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

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

ДДММГГ или

ДД.ММ.ГГ или

ММ.ДД.ГГ или как угодно, нам нужно иметь возможность "вырезать" из нее отдельно дни, месяцы и годы и работать с ними порознь, но теперь уже как с числами.

Для этого нужен специальный оператор, и он есть. На "Спектруме" это делает оператор (...TO...).

Его полная форма, например, такая: x$ (a TO b)

Здесь из стринга x$ вырезается его часть, начинающаяся с символа, номер которого равен a и до символа с номером b.

Если x$ = "СПЕКТРУМ", то

x$ (5 TO 7) = "ТРУ"

Вы можете посмотреть, как это происходит, на примере следующей программы:

12 INPUT "Введите исходное слово";т$ 16 PRINT m$

20 INPUT "Начало вырезки"; a 40 PRINT a

50 INPUT "Конец вырезки"; b 60 PRINT b

80 LET n$=m$(a TO b)

90 PRINT m$;"(";a;" TO ";b;")=";n$

100 STOP

В некоторых других языках программирования, а также в некоторых других версиях БЕЙСИКа Вы найдете еще несколько операторов для вычленения субстринга из стринга. Нам бы не стоило на них и останавливаться, но Вы должны знать, как Вам реализовывать те же возможности, раз этих операторов у Вас нет.

LEFT$ (x$,k) - дает Вам k левых символов стринга. На "Спектруме" его аналогом будет:

x$(1 TO k).

RIGHT$ (х$,к) - дает k правых символов стринга. На "Спектруме" аналог подобрать труднее, приходится пользоваться функцией LEN, которую мы рассмотрели ранее:

x$(LEN (x$)-k+1 TO LEN (x$))

MID$(x$,k,m) - дает Вам m символов, начиная с k-го символа. С этим оператором дело обстоит проще:

x$(k TO k+m)

Книга написана в стиле дружеского диалога, имеет большое количество вопросов для самоконтроля и упражнений с решениями. Она доставит удовольствие не только тем, кто сам осваивает БЕЙСИК, но и тем, кто передает свой опыт другим.

Общий объем книги довольно велик, но мы "уложили" его в 208 стр. стандартного формата.

Спешите приобрести лицензию, а мы в это время планируем издание собственной книги "БЕЙСИК для подготовленного пользователя".

Ваш "ИНФОРКОМ".




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Новый журнал - Выходные данные. Авторы.
Вступление - От авторов.
Встречающему Новый Год - Есть такая примета: как встретишь Новый год, таким весь следующий год и будет.
Проходилка - Описание-проходилка игры: Вошебник Страны ОЗ demo version.
ZXNet - Действующие BBS сети SKY NET.

В этот день...   21 ноября