Работа с ZX-Spectrum 1993 г.

Глава 7 - арифметические операции.


ГЛАВА 7

АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ

Краткое содержание: операции +, *, /.

Выражения, усл.обозначения, имена
переменных

Вы уже видели несколько примеров, в которых ZX SPECTRUM может
оперирова1ъ числами. Можно выполнять четыре арифметических операции:

*. / (помнитё, что * используется для умножения, а "/ " используется
для деления). И при этом определяется значение переменной, задаваемой
именем. Пример:

LET tax-sum*15/100

Отсюда видно, что вычисления могут быть комбинированными.
Комбинации такого типа, как
sum* 15/100

называются выражениями. Выражение - это самый короткий путь для
указания компьютеру на то, что вычисления надо делать одно за другим. В
нашем примере выражение
sum*15/100

указывает: возьми значение переменной с именем "sum", умножь его
на 1э и затем подели на 100. Если ыы не можете ещё этого сделать, реко-
мендуем просмотреть вводную часть этой книги, чтобы ознакомиться с тем.
как ZX SPECTRUM работает с числами и каков порядок, в котором выполня-
ются математические выражения.

Краткое повторение: Умножение и деление выполняются первыми.

Они имеют более высокий приоритет, чем
сложение и вычитание.

Относительно друг друга умножение и деление
имеют равные приоритеты.

Существует правило, по которому умножение и
деление выполняются последовательно слева
направо. Когда все они выполняются, то затем
будут выполняться сложение и вычитание по
порядку также слева направо.
Для задания приоритета в компьютере ZX SPECTRUM используются
числа в интервале от 1 до 16. Например, операции п*м и V имеют
приоритет 8, а, "+" и - 6. Этот порядок вычислений является жестким, но
его можно изменить при помощи скобок. Выражение в скобках вычисляется
первым, а затем подставляется в общее выражение как одно число.

Вы можете использовать операции сложение (и+м) для сцепления строк
(конкатенции) в выражениях.

Имя строковой переменной состоит из буквы с последующим знаком
"$", имя управляющей переменной в FOR - NEXT цикле должно состоять из
одной буквы. А имена обычных числовых переменных могут выбираться
произвольно. Они могут содержать несколько букв и цифр, но первой всегда
должна быть буква.

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

Т42

This name is so long that I shall never be able
to type it out again without
making a mistake

now we are six  эти два имени указывают на

одну

nOWWeaReSIX / и ту же переменную

Примеры недопустимых имен переменных:

2001 (начинается с цифры)

3 bears (начинается с цифры)

M*A*S*H (знак - не буква и не цифра)

Fotherington-Thomes (содержит знак

Числа в выражениях могут задаваться в экспоненциальной форме. Поп-
робуйте выполнить:

PRINT 2.34Е0
PRINT 2.34Е1
PRINT 2.34Е2 и т.д. до
PRINT 2.34Е15

Помните, что оператор PRINT даёт лишь 8 значащих цифр числа. Поп-
робуйте выполнить ещё:

PRINT 4294967295
PRINT 4294967295-429Е7
и Вы увидите, что компьютер может воспринять только цифры
4294967295.

Компьютер ZX SPECTRUM использует арифметику с плавающей точкой
(запятой), при этом различные части числа (мантисса и порядок) хранятся в
отдельных байтах, что приводит к не всегда точным результатам даже для
целых чисел. Выполните:

PRINT 1Е10+1-1Е10,1Е10-1Е10М
1 ЕЮ и 1Е10 + 1 не различаются компьютером как разные числа (1Е10
усекается справа).

Ещё один, более наглядный пример:
PRINT 5Е9+1-5Е9

Погрешность в 5Е9 составляет около 1, а с прибавлением единицы
фактически округлится до 2.

Числа 5Е9 + 1 и 5Е9 + 2 для компьютера равны. Наибольшее целое, ко-
торое может воспринять компьютер, равно 2 ** 32 - 1 или (4 294 967 295).

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

PRINT "Have you finished"Finnegans Wake"yet?"
Когда Вы нажмёте клавишу ENTER, Вы получите мерцающий знак воп-
роса, указывающий ошибочное место в строке. Когда при интерпретации
этой строки, компьютер найдет двойную кавычку, открывающую ' Finnegans
wake", то сочтёт её закрывающей кавычкой для строки "Have you finished" и
затем не сможет вывести "Finnegans wake". Здесь надо помнить специаль-
ное правило: если Вы хотите вывести кавычки внутри строки, они должны уд-
ваиваться. Например:

PRINT "Have you finished""Finnegans Wake""yet?"
В данном случае будет выведена фраза

Have you finished"Finnegans Wake"yet?




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Мысли - Crank заплатит любому 1000р за переделку STS под Scorpion.
AD&D - Небольшая информация по группе "волшебники".
Coding - Принцип упаковки анимаций в демо JAM.
Real fun - анекдоты армейские с бородой и косичками №2.
Софт - описание новой версии GFX UTILITY v0.5.

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