Что такое константа в языке программирования паскаль

Pascal: Занятие №1. Часть 3: Типы данных в Паскаль

Типы данных в Паскале

Паскаль — это типизированный язык программирования. Это означает, что переменные, в которых хранятся данные, имеют определенный тип данных. Т.е. программе напрямую надо указать, какие данные могут храниться в той или иной переменной: текстовые данные, числовые данные, если числовые — то целочисленные или дробные, и т.п. Это необходимо в первую очередь для того чтобы компьютер «знал», какие операции можно выполнять с этими переменными и как правильно их выполнять.

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

Рассмотрим наиболее распространенные в Pascal типы данных.

Целочисленные типы данных в Паскаль

Тип Диапазон Требуемая память (байт)
byte 0..255 1
shortint -128..127 1
integer -32768.. 32767 2
word 0..65535 2
longint -2147483648..2147483647 4

Нужно иметь в виду, что при написании программ в паскале integer (в переводе с англ. целое) является наиболее часто используемым, так как диапазон значений наиболее востребуем. Если необходим более широкий диапазон, используется longint (long integer, в переводе с англ. длинное целое). Тип byte в Паскале используется, когда нет необходимости работать с отрицательными значениями, то же самое касается и типа word (только диапазон значений здесь значительно больше).

Примеры того, как описываются (объявляются) переменные в Паскале:

program a1; var x,y:integer; <целочисленный тип>myname:string; <строковый тип>begin x:=1; y:=x+16; myname:=’Петр’; writeln (‘имя: ‘,myname, ‘, возраст: ‘, y) end.

program a1; begin var x, y: integer; <целочисленный тип>var myname: string; <строковый тип>x := 1; y := x + 16; myname := ‘Петр’; print($’имя: , возраст: ‘) end.

Результат:
имя: Петр, возраст: 17

Комментарии в Паскале

[Название файла: L1task5.pas ]

Вещественные типы данных в Паскаль

Вещественные числа в Паскале и вообще в программировании — это название дробных чисел.

Тип real в Паскале — наиболее часто используемый из вещественных типов.

Выше были представлены простые типы данных в Паскаль, к которым относятся:

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

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

Константы в Паскале

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

Объявление константы в Паскале происходит до объявления переменных (до служебного слова var ) и выглядит следующим образом:

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

Pascal PascalABC.NET

const x=17; var myname:string; begin myname:=’Петр’; writeln (‘имя: ‘,myname, ‘, возраст: ‘, х) end.

const x = 17; begin var myname := ‘Петр’; print($’имя: , возраст: ‘) end.

«Красивый» вывод целых и вещественных чисел

Для того чтобы после вывода значений переменных оставались отступы, чтобы значения не «сливались» друг с другом, принято через двоеточие указывать какое количество символов нужно предусмотреть для вывода значения:

Вывод вещественных чисел

Арифметические операции в Паскале

Pascal PascalABC.NET
ДЕЙСТВИЕ РЕЗУЛЬТАТ СМЫСЛ
2 + 3 5 плюс
4 — 1 3 минус
2 * 3 6 умножить
17 div 5 3 целочисленное деление
17 mod 5 2 остаток от целочисленного деления

Порядок выполнения операций

var a: integer; b: real; begin a := 1; writeln(‘a := 1; a = ‘,a); a += 2; // Увеличение на 2 writeln(‘a += 2; a = ‘,a); a *= 3; // Умножение на 3 writeln(‘a *= 3; a = ‘,a); writeln; b := 6; writeln(‘b := 6; b = ‘,b); r /= 2; writeln(‘b /= 2; b = ‘,b); end.

Стандартные арифметические процедуры и функции Pascal

Здесь стоит более подробно остановиться на некоторых арифметических операциях.

Пример операции inc:

Более сложное использование процедуры inc:
Inc(x,n) где x — порядкового типа, n — целого типа; процедура inc увеличивает x на n.

Пример использования функции odd:

begin WriteLn(Odd(5)); WriteLn(Odd(4)); end.

Пример использования процедуры sqr в Pascal:

var x:integer; begin x:=3; writeln(sqr(x)); <ответ 9>end.

Однако в компиляторе pascal abc возведение в степень осуществляется значительно проще:

Пример использования процедуры sqrt в Pascal:

var x:integer; begin x:=9; writeln(sqrt(x)); <ответ 3>end.

Источник

Учитель информатики

Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.

Уроки Паскаль № 3 Константы и ввод данных

Здравствуйте, в этом уроке мы продолжаем изучать язык программирования Паскаль.

Уроки Паскаль № 3 мы поговорим что такое константы и ввод данных.

Урок № 3 Константы и ввод данных

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

Как только заготовка готова пропишем несколько переменных.

Program Constants;

var
a, b: integer;

begin

Теперь создадим константу. Что такое константа? Это похожее на переменную, но отличающее от неё тем что значение константы мы задаем сразу при описании и менять значение в процессе работы программы никак нельзя. В этом основное отличие. Почему переменная от слова «менять» потому что значение может меняться. Мы можем записывать новое значение переменной, а константа остается постоянной на протяжении всей работы программы.

Константа записывается так:

const

PI = 3.14;

H = ‘привет!’;

Это сделано что бы не путать переменные с константами в процессе работы программы. Когда программа маленькая отличить их просто, а если программа большая, то это становится проблематично.

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

Выведем константу H на экран. Для это пишем оператор writeln(H);

Теперь изучим кое-что интересное. Это ввод значения. Мы можем выводить на экран значения, а как сделать так что бы человек мог ввести свое значение для этого используется оператор readln(); и здесь мы записываем какую-нибудь переменную.

Давайте создадим переменную типа string; в которой будем записывать имя пользователя. Которое у него будем спрашивать, назовем её так name: string ;

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

writeln(‘Введите здесь своё имя: ‘);

и в оператор readln(); запишем переменную name выглядеть это будет вот так.

readln(name);

После ввода пользователя имени мы выведем его имя на экран и добавим сообщение к его имени.

writeln(H, name);

После всех изменений наша программа будет выглядеть так:

program Constants;
const
PI = 3.14;
H = ‘Привет!’;

var
a, b: integer;
name: string;

begin
writeln(‘Введите здесь своё имя: ‘);
readln(name);
writeln(H, name);

После исполнения мы получим следующий результат.

Так же от пользователя мы можем принимать не только строки, но и числа.

У нас есть переменные a, b: integer; давайте сделаем простой калькулятор, который будет складывать два числа.

Вводим такие данные в конце программы

writeln(‘Введите значение а: ‘);
readln(a);
writeln(‘Введите значение b: ‘);
readln(b);
writeln(‘Сумма a + b = ‘, a+b);

Такой вот простейший калькулятор у нас получился.

Давайте уберем часть строк вот эти.

writeln(‘Введите здесь своё имя: ‘);
readln(name);
writeln(H,’ ‘, name, ‘.’);

Ошибка выводится потому что мы попытались в целочисленную переменную integer записать не целое число 3.14 поэтому в таких вещах когда вы будете писать свою программу в которой будет использоваться ввод данных от пользователя и вы не будете уверенны что пользователь введет целое число обязательное нужно использовать вещественный тип real

Заменим строку a, b: integer; на

a, b: real; программа будет выглядеть так:

program Constants;
const
PI = 3.14;
H = ‘Привет!’;

var
a, b: real;
name: string;

begin
writeln(‘Введите значение а: ‘);
readln(a);
writeln(‘Введите значение b: ‘);
readln(b);
writeln(‘Сумма a + b = ‘, a+b);

end.

И вот результат исполнения программы.

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

Источник

Переменные и константы

Переменные

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

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

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

Имена переменных могут быть почти любым сочетанием английских букв и цифр (без пробелов). Нельзя чтобы имена переменных совпадали со словами, которые являются какими-либо командами самого языка программирования. Нельзя начинать имена переменных с цифры или специального символа. Для того чтобы имена переменных были удобны для восприятия, надо стараться придерживаться пары правил. Если программа не простейший пример, то имена переменных должны быть осмысленными словами или их сокращениями. Желательно, чтобы имена переменных не были слишком длинными.

В Pascal прописные и строчные буквы в именах переменных не различаются.

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

Пример работы программы:

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

Длина переменных

Ранние версии компиляторов Паскаля имели ограничение на учитываемую длину имен переменных. В имени учитывались лишь первые восемь символов. Поэтому, например, такие переменные как variable1 и variable2 компилятор воспринимал как одно и тоже, т.к. первые восемь символов совпадали.

В современных версиях компиляторов с языка Pascal таких ограничений нет. Например, в результате работы приведенной ниже программы как в среде Free Pascal, так и Turbo Pascal 7.1 на экран выводятся два разных числа (10 и 20). Это значит, что компиляторы учитывают больше восьми символов в именах переменных (и других идентификаторов: именах констант, процедур и др.).

Константы

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

Главное преимущество констант заключается в том, что они описываются в начале программы и им сразу там же присваивается значение, а при выполнении программы константы не изменяются. Но если при правке кода, программист решит поменять значение константы, он впишет в ее описание другое значение, а сам код программы редактировать не придется. Поэтому, если в программе часто планируется использоваться какое-то значение, опишите его в разделе констант, который в программе располагается до раздела переменных:

Значениями констант могут быть данные большинства типов, используемых в языке Паскаль.

Рассмотрим такую программу:

В ней используется константа n со значением 10. Программа считает сумму десяти чисел в диапазоне от 1 до 10. Если нам захочется посчитать сумму чисел до 20, то достаточно будет изменить значение константы в начале программы. Если бы константа не использовалась, то пришлось бы просмотреть весь код программы и исправить значение 10 на 20. Если программа большая, то легко ошибиться: не найти или исправить не то значение.

Типизированные константы

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

Описываются типизированные константы в разделе констант:

Источник

То, что вы не знали о константах

1. Виды констант

В Lazarus/FreePascal константы бывают следующих видов:

2. Объявление констант

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

3. Обычные константы

Объявления обычных констант создаются с использованием имени идентификатора, за которым следует знак “=”, а затем необязательное выражение, состоящее из допустимых комбинаций чисел, символов, логических значений или перечисляемых значений. Примерно так:

const Идентификатор = Выражение ДирективаПодсказки;

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

Компилятор должен иметь возможность вычислять выражение в объявлении константы во время компиляции. Это означает, что большинство функций библиотеки времени выполнения нельзя использовать в объявлении константы.

Что такое ДирективаПодсказки сегодня рассказывать не буду, потому как непосредственно к константам она отношения не имеет. Но обязательно расскажу в следующий раз.

В Паскале могут быть объявлены только константы следующих типов:

Следующие примеры являются правильными объявлениями констант:

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

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

4. Типизированные константы

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

Определение типизированных констант довольно простое:

const Идентификатор : Тип = Значение;

const TC : WORD = 200; //Типизированная константа

А потом в программе можно сделать так:

То есть в отличие от обычных констант, типизированным константам может быть присвоено значение во время выполнения. Это старая концепция Turbo Pascal, которая в Lazarus/FreePascal была заменена поддержкой инициализированных переменных.

Поддержка присваивания значений типизированным константам управляется директивой <$J>, то есть она (поддержка) может быть отключена. Однако она включена по умолчанию (для совместимости с Turbo Pascal). Инициализированные переменные всегда разрешены.

ПРИМЕЧАНИЕ: Следует подчеркнуть, что типизированные константы инициализируются автоматически при запуске программы. Это также верно для локальных типизированных констант и инициализированных переменных. Локальные типизированные константы также инициализируются при запуске программы. Если их значение было изменено во время предыдущих вызовов функции, они сохранят измененное значение, то есть они не инициализируются при каждом вызове функции.

ВАЖНО!
Типизированные константы, в отличие от инициализированных переменных, можно объявлять локально в подпрограммах. Пример:

4.1. Константы-массивы

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

С одномерным массивом, думаю, вопросов не возникнет. А двумерный массив-константа, созданный в примере, будет содержать такие значения:

Теперь и с этим, надеюсь, всё понятно.

4.2. Константы-записи

Чтобы определить константу-запись, надо определить значение каждого поля так:

Присваивания значений полям разделяются точками с запятой (;). Значения должны быть константными выражениями. Поля должны быть перечислены в том же порядке, в каком они следуют в объявлении записи. Значение для поля-тэга (если такое присутствует) должно быть установлено. Если запись имеет вариантную часть, то значение может быть установлено только для варианта, определенного полем-тэгом.

4.3. Процедурные константы

Процедурная константа должна содержать идентификатор процедуры или функции, который совместим с типом константы. Пример:

Теперь вы можете использовать процедурную константу MyFunction в программе вместо функции MyFunc :

ВНИМАНИЕ!
Описанный выше пример будет работать только в режиме совместимости с Делфи, установить который можно с помощью соответствующей директивы.

5. Строковые ресурсы

Ниже приведен пример определения строковых ресурсов:

Семантически строки действуют как обычные константы. Этим строкам не разрешается присваивать значения (за исключением специальных механизмов модуля objpas ). Однако они могут использоваться в присваивании или выражениях как обычные строковые константы. Основное использование раздела resourcestring заключается в обеспечении простых средств интернационализации.

ПРИМЕЧАНИЕ: обратите внимание, что строка ресурса, которая задана как выражение, не изменится, если части выражения будут изменены:

ПРИМЕЧАНИЕ: аналогично, при использовании строк ресурсов в массиве констант, в массиве будут использоваться только начальные значения строк ресурсов: при переводе отдельных констант элементы в массиве сохранят свое исходное значение.

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

Источник

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

Обычно переменная получает текущее значение в результате выполнения оператора присваивания (например, s := 0 – переменной s присваивается значение 0). Это значение будет сохраняться до тех пор, пока этой переменной не будет присвоено новое значение (при этом предыдущее значение теряется безвозвратно!)

Важно: попытка присвоить переменной значение иного типа является ошибкой.

Описание переменных

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

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

PascalABC.NET позволяет описывать переменные внутри составного оператора begin-end в специальном операторе описания переменной. Такие описания называются внутриблочными. Для внутриблочного описания можно использовать формы приведенные выше. Например:

Описание констант

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

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

Использование именованных констант позволяет улучшить читаемость программы и облегчает внесение в нее изменений.

Copyright © 2014-2021, Урок информатики
Все права защищены

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • Что такое консоль программы
  • Что такое консоль в программировании
  • Что такое конкатенация в программировании
  • что такое конечный автомат в программировании
  • Что такое компоновка в программировании

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии