Переменные могут существовать на всем протяжении работы программы — тогда они называются статическими, а могут создаваться и уничтожаться на разных этапах ее функционирования — такие переменные называются динамическими. Все
584 Глава 20, Основы программирования
остальные данные в программе, значение которых не меняется на протяжении ее работы, называются константами или постоянными. Константы, как и переменные, обычно имеют тип. Данные можно указывать явно:
или для удобства обозначать их идентификаторами. Например, число п, равное 3,1416, можно обозначить как pi и везде вместо числа применять идентификатор. Только изменять значение pi нельзя, так как это не переменная, а константа.1.28
3.333321
Очень большие или очень маленькие числа записываются специальным образом.
Для них дополнительно указывается мантисса — число со знаком, являющееся степенью числа 10. Мантисса записывается справа от числа через букву е (или Е). Пробелы в такой записи не допускаются.
Например, число 100 (единица, умноженная на 10 во второй степени) запишется так:
1е+2 число 0,003 (тройка, умноженная на 10 в минус третьей степени) так:
Зе-3 число со 120 нулями — так: 1Е+120
Допускается дробная запись числа с мантиссой:
31.4е-1
Тип числа | Бейсик | Паскаль | Си++ |
целое | INTEGER | integer | int |
дробное | DOUBLE | real | float |
Для записи арифметических действий используются арифметические операторы. В некоторых языках программирования они считаются не операторами, а опера-
20.3. Алгоритмическое (модульное) программирование 5 8 5
циями, предназначенными для вычисления значения выражения, но не влияющими на другие значения и не сказывающимися на ходе выполнения программы.
К основным арифметическим операциям относятся:
+ (сложение)
(вычитание)
* (умножение)
/ (деление)
Такая форма записи отвечает общепринятым соглашениям и принята в большинстве языков программирования.
Каждая арифметическая операция имеет свой приоритет. Операции с более высоким приоритетом (умножение и деление) будут выполняться раньше, чем операции с более низким приоритетом (сложение и вычитание). Изменить порядок вычисления выражения можно с помощью круглых скобок. Ь*2 + с/3 Ь* (2 + с) - 3Скобки допускается вкладывать друг в друга произвольное число раз. При этом использование квадратных или фигурных скобок, как правило, не допускается. ((у+2)*3 + 1) / 2
С помощью арифметических операций формируются арифметические выражения, которые состоят из операций и операндов (переменных и констант).
Выражение i l + 2состоит из одной операции «+» и двух операндов — переменной И и числовой константы 2.
Каждое выражение имеет значение, которое определяется в момент выполнения оператора, содержащего это выражение. Если на момент вычисления выражения И +2 в переменной И хранится число 3, то значение этого выражения будет равно 5 (3+2).При создании программ не обойтись без логических выражений. Они отличаются тем, что результат их вычислений может принимать только одно из двух допустимых значений — true (истина, да, включено) и false (ложь, нет, выключено). Чаще всего значение false ассоциируется с нулем, а значение true — с числом 1 или просто ненулевым значением.
При записи логических выражений используются операции сравнения и логические операции. Операции сравнения сличают значения правого и левого операндов. Результатом сравнения является true, если оно удачно, и false в противном случае. Глава 20, Основы программированияВ таблице даны примеры записи операций сравнения для разных языков.
Операция | Варианты написания | |
Бейсик, Паскаль | Си++ | |
Равно | = | == |
Не равно | о | != |
Меньше | < | < |
Меньше или равно | <= | <= |
Больше | > | > |
Больше или равно | >= | >= |
1 операнд | 2 операнд | И | ИЛИ | исключающее ИЛИ | HE (только первый операнд) |
true | true | true | true | false | false |
true | false | false | true | true | false |
false | true | false | true | true | true |
false | false | false | false | false | true |
В следующей таблице приведен синтаксис записи логических операций.
Приоритеты всех логических операций ниже, чем приоритеты операций сравнения, поэтому сравнения всегда выполняются первыми. А логические операции вычисляются в следующем порядке: сначала НЕ, потом И, потом ИЛИ. При необходимости этот порядок может быть изменен с помощью скобок.
Примеры логических выражений:
xl >= 1 && xl <= 1020.3. Алгоритмическое (модульное) программирование 5 8 7
Логический тип
Бейсик | Паскаль | Си++ |
Базового типа нет. Используется числовой тип INTEGER | boolean | bool |
Строчные выражения
Строки в языках программирования всегда заключаются в кавычки. В Си++ и Бейсике для этого используются двойные кавычки, в Паскале — одинарные.
"это строка Бейсика или Си++"
'это строка Паскаля'Строка может быть пустой — не содержать ни одного символа. Например:
Как правило, строки можно сравнивать друг с другом на эквивалентность (равно и не равно). В некоторых языках программирования допускаются также сравнения типа «больше» или «меньше» — при этом происходит последовательное сравнение значений символов (каждый символ представляется в компьютере конкретным числом).