Какое значение имеет служебное слово const
Перейти к содержимому

Какое значение имеет служебное слово const

  • автор:

Структура программы в Pascal

Любая программа, написанная на языке Pascal состоит из заголовка программы и некоторого блока. Блок содержит раздел описаний, в котором определяются все локальные по отношению к данной программе объекты, и раздел операторов. Он задает действия, которые необходимо выполнять, над этими объектами.

program имя программы; uses Label . . . ; Const . ; . ; Type = ; Var :; Function . ; Procedure . ; begin . ; . ; end.

Заголовок программы

В заголовке программе дается некоторое имя. Обычно стараются выбирать имя, отражающее основную функцию, выполняемую программой. Заголовок всегда начинается со служебного слова program , после которого через пробел пишется имя программы. Оно может состоять из символов английского алфавита, цифр и знака подчеркивания. Имя программы всегда должно начинаться с буквы.

В имени программы нельзя использовать какие-либо предописанные имена (зарезервированные слова). Они используются в программе только в том значении, которое зафиксировано для них разработчиками языка Pascal. Ниже приведен список таких слов.

and end nil set
array file not then
begin for of to
case function or type
const goto packed until
div if procedure var
do in program while
downto label record with
else mod repeat

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

Пример правильного написания заголовка:

program Perimetr; program Phone37; program one_two_3;

Пример неправильного написания заголовка:

program 9zet; program Samara-63; program repeat;

Label — раздел описания меток

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

Имя метки может включать в себя буквы английского алфавита, цифры и знак подчеркивания. При этом, в отличии от имени программы метка может начинаться с цифры, да и вообще состоять только из цифр, но это число должно представлять собой целое число без знака, лежащее в диапазоне от 0 до 9999.

Пример правильного написания меток:

label 13, 00100, 99, qwerty, x_y;

Раз уж разговор зашел про метки, то нужно сказать, что использование меток и оператора перехода goto не желательно при написании программы на Pascal. Применять его стоит только в необычных, исключительных ситуациях, когда приходится нарушать естественную структуру алгоритма. Частое появление в программе на Pascal оператора перехода свидетельствует о том, что программист еще не научился думать на Pascal.
Этот раздел необязателен, если у вас в программе не используются метки.

Const — раздел определения констант

Константы — это величины, которые не меняют своих значений в процессе выполнения программы. Допустим, в вашей программе часто приходится оперировать с числом 3,14 (число Пи). Чтобы каждый раз не вводить это число, мы определяем константу с именем Pi и в вычисления уже подставляем ее.

Использование имен констант делает программу более «читаемой» и способствует улучшению ее документируемости. Кроме того, это позволяет программисту сгруппировать в начале программы величины, зависящие от машины или характерные для данного примера: здесь они более заметны и их легче изменить. Тем самым улучшается переносимость программ и их модульность.

Начинается данный раздел со служебного слова Const . Далее идут описания констант, каждое из которых начинается с имени константы, затем идет символ = (равенство), после чего пишется константа или выражение, составленное из констант. Завершается каждое описание точкой с запятой.

Const = ;

Константа может иметь только предопределенный (стандартный) тип данных. Тип присваивается константе по внешнему виду значения и в соответствии с этим типом отводится память для хранения значения константы.

В качестве расширения стандартного Паскаля разрешено использовать выражения, составленные из ранее определенных констант и некоторых стандартных функций: Abs, Chr, Hi, Length, Lo, Odd, Ord, Pred, Prt, Round, SizeOf, Succ, Swap, Trunc . Константные выражения вычисляются компилятором без выполнения программы на этапе ее создания. Пример:

const Avogadro = 6.023Е23; PageLength = 60; MyMove = True; stroka = 'abcdefg'; Min = 0; Max = 250; Centr = (Max-Min) div 2; Beta = Chr(225); NumChars = Ord('2') - Ord('A')+l;

Этот раздел также необязателен, если у вас в программе не используются константы.

Type — раздел описания типов

Помимо стандартных типов данных в Pascal (Real, Integer, Boolean, Char) пользователь может задать новые типы. Структура раздела описания типов имеет вид:

Type = ; = ; … = ;

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

Type Year = 1800.. 2015; Alfavit = (‘А’, ‘B, ‘C’, ‘T, ‘L’); Matrica = array[1..12, ‘А’.. ‘Z’] of real;

Var — раздел описания переменных

Этот раздел является обязательным. Переменные отличаются от констант тем, что им можно присваивать новые значения при исполнении программы. Любая переменная, которая будет использована в программе должна быть описана. Что включает в себя описание переменной? Это значит, что переменной должен быть присвоен какой-либо тип данных, который характеризует множество значений, которые может принимать объект; множество операций, которые могут применяться к объекту; размер памяти, занимаемый объектом.

Начинается этот раздел с предописанного слова var . Следом идут описания переменных, каждое из которых начинается со списка имен переменных, разделяемых запятыми, затем идет символ : (двоеточие), затем указывается тип этих переменных. Завершается каждое описание точкой с запятой.

Структура раздела имеет вид:

Тип переменных представляет собой имя (идентификатор), описанный в разделе TYPE при явном описании типа, или собственно описание типа в случае его неявного задания. Примеры описания переменных:

Var Year: 1800.. 2000; А, В, C: Real; Istina: Boolean; Stroka: Char; I, J, К: Integer;

Function, Procedure — раздел описаний процедур и функций

В разделе Function и Procedure описываются пользовательские процедуры и функции, если таковые имеются. Если их нет, то этот раздел не обязателен в программе.

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

Структура раздела имеет вид:

Procedure ();   Begin End; Function (): ; < заголовок >  Begin End;

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

© program4you.ru 2015 — 2022
Копирование материалов сайта разрешено только при наличии активной ссылки на данный сайт

Какое значение имеет служебное слово const

Любая программа выполняет над исходными данными некоторые расчеты. При этом, как и переменные или константы в математике, отдельные элементы данных обозначаются даваемыми программистом именами (идентификаторами). Любые идентификаторы в языке Паскаль строятся по следующим правилам:

· имена могут включать латинские буквы, цифры и знак подчеркивания (для простоты опустим некоторые другие символы, разрешенные в именах);

· имя состоит из одного слова; если требуется пробел в имени, он заменяется на подчеркивание: так, My _1 будет правильным идентификатором, а My 1 — нет;

· имя всегда начинается с буквы: возможен объект с именем A 1 , но не 1 A ; прописные и строчные буквы в именах не различаются Паскалем: x 1 и X 1 — это одна и та же величина;

· имена не могут совпадать с зарезервированными в языке служебными словами, обозначающими разрешенные в языке операции над данными: например, нельзя назвать Begin или BEGIN ни одну величину в программе, так как begin —зарезервированное служебное слово, а прописные и строчные буквы в служебных словах также не различаются. Познакомиться с большинством служебных слов мы сможем в процессе изучения языка.

2.1. Константы

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

Числовые константы служат для записи чисел. Различают следующие их виды:

Целочисленные (целые) константы: записываются со знаком + или — , или без знака, по обычным арифметическим правилам:

Вещественные числа могут записываться в одной из двух форм:

обычная запись: 2.5 -3.14 2. — обратите внимание, что целая часть отделяется от дробной символом точки;

экспоненциальная («научная») форма: в этой записи вещественное число представляется в виде m *10 p , где m — мантисса или основание числа, 0.1≤| m |≤1, p — порядок числа, заданный целочисленной константой. Действительно, любое вещественное число можно представить в экспоненциальной форме:

99.005 0.99005*10 2

Во всех IBM -совместимых компьютерах вещественные числа хранятся как совокупность мантиссы и порядка, что позволяет упростить операции над ними, используя специальную арифметику, отдельно обрабатывающую мантиссу и порядок. Для программной записи числа в экспоненциальной форме в качестве обозначения «умножить на 10 в степени» используется символ E или e (латинские):

-153.5 -0.1535*10 3 -0.1535 E 3 или -1.535 E 02

99.005 0.99005*10 2 0.99005 E +2 или 9.9005 e +01

Без принятия специальных мер, программа на Паскале будет выводить на экран и принтер вещественные числа именно в такой форме. Кроме того, такая форма удобна для записи очень маленьких и очень больших чисел:

Поскольку размер памяти, отводимой под мантиссу и порядок, ограничен, то вещественные числа всегда представляются в памяти компьютера с некоторой погрешностью. Например, простейшая вещественная дробь 2/3 дает в десятичном представлении 0,666666. и, независимо от размера памяти, выделяемой для хранения числа, невозможно хранить все его знаки в дробной части. Одной из типичных проблем программирования является учет возможных погрешностей при работе с вещественными числами.

Кроме числовых констант существуют и другие их виды:

логические константы служат для проверки истинности или ложности некоторых условий в программе и могут принимать только одно из двух значений: служебное слово true обозначает истину, а false — ложь;

символьные константы могут принимать значение любого печатаемого символа и записываются как символ, заключенный в апострофы (‘одинарные кавычки’):

В последнем случае значение символьной константы равно символу пробела. Если требуется записать сам символ апострофа как символьную константу, внутри внешних апострофов он удваивается: »» .

К символьным также относятся константы вида # X , где X — числовое значение от 0 до 255 включительно, представляющее собой десятичный ASCII -код символа. Таблицы ASCII -кодов, используемых операционными системами DOS и Windows , приведены в Приложении 1. Например, значение #65 будет соответствовать коду буквы ‘ A ‘ латинской. Обработка нажатий клавиш и расширенные коды клавиатуры описаны в гл. 24 и Приложении 5.

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

‘Введите значение X :’

Если в строковой константе необходимо записать сам символ апострофа, это делается так же, как для символьных констант.

Именованные константы перечисляются в разделе описаний программы оператором следующего вида:

Имя N =Значение N ;

Ключевое слово const показывает начало раздела описаний именованных констант. Ясно, что зачастую удобнее обращаться к константе по имени, чем каждый раз переписывать ее числовое или строковое значение. Приведем пример раздела:

const e =2.7182818285;

lang =’ Turbo Pascal 7.1′;

Здесь описана числовая константа e со значением основания натурального логарифма и строковая константа с именем lang , содержащая строку ‘ Turbo Pascal 7.1’ .

Каждое даваемое программистом имя должно быть уникальным в пределах одной программы. Если мы включим этот раздел в свою программу, мы уже не сможем создать в ней других объектов с именами e и lang .

2.2. Переменные и типы переменных

Переменными называют величины, значения которых могут изменяться в процессе выполнения программы. Каждая переменная задается своим уникальным именем, построенным по правилам, указанным в начале главы. Максимально возможная длина имени зависит от реализации Паскаля, теоретически можно давать переменным имена вплоть до 63 символов длиной, что едва ли актуально — обычно имена не длиннее 5-10 символов.

Поскольку любые данные в памяти компьютера хранятся в числовой форме и двоичной системе счисления, кроме имени, переменной обязательно следует присвоить и тип, определяющий диапазон значений, принимаемых переменной, и способ ее обработки машиной. Поясним сказанное на примере. Как видно из Приложения 1, большая латинская буква ‘ A ‘ имеет десятичный код 65, или 01000001 в двоичном представлении. Без дополнительной информации о типе данных, хранящихся в некоторой ячейке памяти, компьютеру было бы невозможно решить, что именно представляют из себя эти данные — число 65, код символа ‘ A ‘ или что-то еще. В любом языке программирования, в том числе и в Паскале, существует стандартный набор типов, к которым может быть отнесена та или иная совокупность ячеек памяти. Информацию о типах данных Паскаля удобно свести в таблицу. Строки этой таблицы будут упорядочены по старшинству типов, от самого «младшего», требующего наименьшее число байт для представления, и, соответственно, представляющего наименьший диапазон возможных значений, до самого «старшего», представляющего наибольший диапазон значений. В табл. 2.1 представлены не все возможные, а лишь основные типы данных Паскаля.

Табл. 2.1. Основные типы данных Паскаля

Ключевое слово Паскаля

Название и описание типа

Объем памяти, байт

Диапазон возможных значений

Ввод-вывод, оператор присваивания, арифметические операции

Оператор присваивания. Арифметические выражения. Типы данных

Оператор присваивания

Первый оператор, с которым мы познакомимся,- оператор присваивания.

Оператор присваивания — основной оператор любого языка программирования. Общая форма записи оператора:

имя величины := выражение

Например, V:=A; или V:=A+1;

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

Как только в программе встречается переменная, для неё в памяти отводится место. Оператор присваивания помещает значение выражения в место, отведённое переменной.

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

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

Арифметические выражения

Арифметические выражения должны быть записаны в так называемой линейной записи согласно следующим правилам:

    выражение должно быть записано в виде линейной цепочки символов;

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

    вычисляет значение всех алгоритмов-функций и стандартных функций;

В нашем случае(*) сначала переменной number1 присваивается значение равное 3 и переменной number2 присваивается значение равное 4, затем вычисляется значение выражения (number1 + number2) и оно присваивается переменной result.

Сумма чисел посчитана.

Теперь надо вывести ее значение на экран. Для этого используют оператор Write — записать (вывести) на экран значение переменной, записанной в скобках. В нашем случае значение переменной number1, затем символ + , далее значение переменной number2, символ = и, наконец, значение результата result.

И, наконец, в конце раздела операторов стоит служебное слово End, после которого стоит точка.

Задание. Наберите текст программы на компьютере и выполните ее (для запуска программы воспользуйтесь комбинацией клавиш Ctrl и F9).

Внимание! Не забывайте о порядке на дискете и в файле:

    имя программы должно соответствовать ее содержанию,

Задание. Измените программу так, чтобы она подсчитывала сумму четырех чисел.

Сохраните файл на дискете, для этого из меню F10-File выберите команду Save и в предложенной строке наберите путь a:\Vvod\Summa (каталог Vvod должен быть уже организован для файлов, содержащих программы данной темы).

Основные определения

Познакомимся с основными понятиями языка.

Алгоритм — четкая последовательность действий, необходимая для решения задачи.

Программа — алгоритм, записанный на языке программирования.

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

    52 буквы латинского алфавита (строчные и заглавные);

Идентификатор (имя) – имя какого-либо элемента программы, которое должно удовлетворять следующим требованиям:

    длина имени не должна превышать 63 символов;

Правильно выбранные идентификаторы значительно облегчают чтение и понимание программы, а также уменьшают вероятность появления ошибок при модификации программ. Например, значение даты удобнее обозначить идентификатором Date, чем просто буквой D или любым другим символом.

Зарезервированные (служебные) слова — это слова, использующиеся только по своему прямому назначению. Их нельзя использовать в качестве имен переменных, так как они выполняют определенную смысловую нагрузку.

Примеры зарезервированных слов: AND, GOTO, PROGRAM, ELSE, IF, RECORD, NOT, ARRAY, REPEAT, UNTIL, BEGIN, IN, SET, END, CASE, CONST, USES, INTERFACE, STRING, LABEL, THEN, OF, DIV, TO, VAR, DO, TYPE, WHILE, DOWNTO, FILE, FUNCTION, PROCEDURE и другие.

Переменные (Var) — вид данных, который может изменять свое значение в ходе программы, описывают переменные после зарезервированного слова Var.

Константы (Const) — вид данных, который является постоянным на всем протяжении выполнения программы, описывают константы после зарезервированного слова Const.

Комментарии — некоторая запись, служащая для пояснения программы, которая записывается в фигурных скобках.

Типы данных

Для временного хранения информации в операторах памяти машины в языке Паскаль используются константы и переменные. Они могут быть различных типов:

    целых чисел (см. ниже);

Название Длина в байтах Диапазон значений
Byte 1 0 . 255
ShortInt 1 -128 . 127
Word 2 0 . 65535
Integer 2 -32768 . 32767
LongInt 4 -2147483648 . 2147483647

Над целыми типами определены такие операции:

  1. «+» — сложение;
  2. » * » — умножение;
  3. » — » вычитание;
  4. div — целочисленное деление;
  5. mod — получение остатка от целочисленного деления.

Вещественные типы:

Вещественные типы представляются с некоторой точностью, которая зависит от компьютера. Вам необходимо знать, что вещественный тип разделяется на несколько типов, но использовать мы будем вещественные данные только типа Real, которые занимают 6 байт, имеют диапазон возможных значений модуля от 2.9Е-39 до 1.7Е+38 и точность представления данных — 11. 12 значащих цифр.

Примечание. Несмотря на то, что в Turbo Pascal имеется широкий выбор вещественных типов, доступ к некоторым из них (single, double, extended) возможен при особых режимах компиляции. Особое положение в Turbo Pascal занимает тип comp, трактующийся как вещественное число без экспоненциальной и дробной частей. Он сохраняет 19 — 20 значащих цифр и знак числа. В то же время comp полностью совместим с любыми другими вещественными типами.

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

Числа с фиксированной точкой изображаются десятичным числом с дробной частью, которая может быть и нулевой. Например, 27.9, 5.00

Такие большие числа, как 137.000.000, можно записать в формате с десятичным порядком: 1.37 · 10 8 . В Turbo Pascal для подобных чисел принята форма записи mEp, где m — мантисса; E — признак записи числа с десятичным порядком; p — показатель степени числа 10. Такое представление чисел и называется форматом с плавающей точкой. Число 1.37 · 10 8 в этом формате запишется так: 1.37Е+8. Рассмотрим еще несколько примеров:

Математическая запись Запись на Паскале
4·10 -4 4E -4
0,62·10 5 0.62E+5
-10,88·10 12 -10.88E12

По умолчанию, действительные числа выводятся в виде чисел с плавающей точкой. Такое представление чисел не очень нравится пользователям. Поэтому мы будем “заставлять” компьютер выдавать действительные числа в более привычном варианте следующим образом:

R:m:n, где R – действительное число, m – общее количество позиций, отводимых числа, n – количество позиций, отводимых для дробной части.

Например, если мы хотим вывести на экран число Chislo с фиксированной точкой, причем знаем, что для вывода этого числа достаточно 7 мест, а вывод дробной части ограничим сотыми, то мы запишем вывод так:

Write (Chislo:7:2)

Символьный тип (char):

Значением величины данного типа является символ из множество всех символов компьютера: русская или латинская большая или маленькая буква, цифра, знак препинания, специальный знак (например, «+», «-«, «*», «/», «», «=» и др.) или пробел » «. Каждый из символов имеет уникальный номер от 0 до 255, т. е. внутренний код, который возвращает функция ORD. Символьная константа – любой символ языка, заключённый в одинарные кавычки. Например,

Var
Simvol : char;

Строковый тип (string):

Значением строковой величины является строка переменной длины (быть может, пустая). Строковая константа представляет собой произвольную последовательность символов, заключенную в одинарные кавычки. Например,

Var
Stroka : string;

Логический тип (boolean):

Логический тип данных часто называют булевым по имени английского математика Д. Буля, создателя математической логики. В языке Паскаль имеются две логические константы TRUE и FALSE. Логическая переменная принимает одно из этих значений и имеет тип Boolean. Для сравнения данных предусмотрены следующие операции отношения: , >, >= Результат операции отношения имеет логический тип, т.е. результат операции может быть истинным или ложным, например, 3>5 – ложь.

Над величинами этого типа можно выполнять специфические логические операции OR — или; AND — и; NOT — не.

Более подробно этот тип данных мы рассмотрим при изучении условного оператора.

Сложные типы:

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

Задание. Откройте новый файл. Создадим программу, в которой опишем несколько переменных разного типа, введем в них значения и выведем на экран.

Program TipDann;
Uses
Crt
Var
Chislo1 : Integer;
Chislo2 : Real;
Simvol : Char;
Stroka : String;
Logika : Boolean;
Begin
ClrScr;
Chislo1:=12;
Chislo2:=Chislo1*2;
Chislo2:=Chislo2/5;
Simvol:=’d’;
Stroka:=’Строчка’;
Logika:= Chislo1> Chislo2;
WriteLn (‘Вывод значений:’);
WriteLn (‘Значение переменной Chislo1 : ‘,Chislo1);
WriteLn (‘Значение переменной Chislo2 : ‘,Chislo2:5:2);
WriteLn (‘Значение переменной Simvol : ‘,Simvol);
WriteLn (‘Значение переменной Stroka : ‘,Stroka);
WriteLn (‘Значение переменной Logika : ‘,Logika);
End.

Внимательно рассмотрите каждую строчку программы. Обратите особое внимание на описание переменных: Chislo1 — переменная целого типа, Chislo2 — действительного, Simvol — символьного, Stroka — строкового, Logika — логического. Далее в основной программе идет присвоение переменной Chislo1 целого числа 12, переменной Chislo2 — целого числа 24. Обратим внимание, что переменной действительного типа Chislo2 присвоено целое число; никакой ошибки нет, т. к. множество целых чисел является подмножеством множества действительных чисел. Следующая строчка еще более интересная: переменной Chislo2 присваивается значение той же переменной, только деленной на 5.

Такое присваивание используют в программах, если предыдущее значение этой переменной уже не понадобится и для более рационального использования описанных переменных. Для того чтобы переменной символьного типа присвоить какой-либо символ (например, d), надо этот символ записать в одинарных кавычках (знак «’»). Аналогично поступают с переменными строкового типа (смотри следующую строку программы). А про переменные логического типа мы знаем, что им можно присваивать только два значения: True и False. В этой программе мы присвоим значение результата сравнения двух переменных, здесь оно будет равно True. А теперь выведем присвоенные значения на экран.

Задание. Измените значения переменных и проанализируйте результаты выполнения программы. Сохраните программу на дискете под правильным именем в соответствующем каталоге. Распечатайте программу.

Служебное слово CONST в программе на языке Pascal фиксирует начало раздела программы, содержащего

Служебное слово CONST в программе на языке Pascal фиксирует начало раздела программы, содержащего:
А) перечень констант;
Б) список меток;
В) описание переменных;
Г) операторы;
Д) описание сложных типов данных.

Голосование за лучший ответ

А) перечень констант;

Похожие вопросы

Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *