Как объявлять переменные в паскале
Перейти к содержимому

Как объявлять переменные в паскале

  • автор:

4.2 Объявление

Переменные должны быть объявлены в секции объявления переменных модуля или процедуры или функции. (см. 16.6 Область действия) Выглядит это следующим образом:

401

Это означает, что допустимы следующие объявления переменных:

curterm2 : integer ; cvar ;

curterm3 : integer ; cvar ; external ;

curterm4 : integer ; external name ‘curterm3’ ;

curterm5 : integer ; external ‘libc’ name ‘curterm9’ ;

curterm6 : integer absolute curterm1 ;

curterm7 : integer ; cvar ; export ;

curterm8 : integer ; cvar ; public ;

curterm9 : integer ; export name ‘me’ ;

curterm10 : integer ; public name ‘ma’ ;

curterm11 : integer = 1 ;

Различие между этими объявлениями следующие:

1. Первая форма ( curterm1 ) определяет регулярную переменной.Компилятор управляет всем сам по себе.

2. Вторая форма ( curterm2 ) объявляет также регулярную переменную, но определяет, что ассемблерное имя для этой переменной равняется имени переменной записаной в источнике.

3. Третья форма ( curterm3 ) объявляет переменную, которая расположена внешне: компилятор предположит, что память расположена в другом месте, и что ассемблерное имя этой памяти совпадает с именем переменной, указаной в исходном коде. Имя можно не указывать(ассемблерное имя).

4. Четвертая форма абсолютно эквивалентна третьей, она объявляет переменную, которая сохранена внешне, и явно задает ее ассемблерное имя. Если ключевое слово cvar не используется, имя должно быть указано явно.

5. Пятая форма — разновидность четвертой формы, только еще указано имя библиотеки, в которой зарезервирована память.

6. Шестая форма объявляет переменную ( curterm6 ), и говорит компилятору, что она размещена в той же области памяти что и другая переменная ( curterm1 ).

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

8. Восьмая форма ( curterm8 ) эквивалентна седьмой: ‘public’ — псевдоним для ‘export’ .

9. Девятая и десятая форма эквивалентны: они определяют ассемблерное имя переменной.

10. Форма одинадцать объявляет переменную ( curterm11 ) и инициализирует ее значением ( 1 в вышеупомянутом случае).

Отметьте, что ассемблерные имена должны быть уникальными. Не возможно объявить или экспортировать 2 переменные с тем же самым ассемблерным именем.

Ввод данных с клавиатуры в паскаль

Переменные в Паскаль Ввод данных с клавиатуры в паскаль

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

типы данных в паскаль

Чтобы использовать переменные в Паскаль их необходимо объявить в начале программы по формату
var название_переменной: тип_переменной;
Чтобы присвоить переменной в Паскаль значение необходимо использовать оператор присваивания двоеточие и равно :=
Чтобы вывести значение переменной в Паскаль используется оператор
write (переменная);
Пример программы на Паскаль в которой переменным присваивается значения и они выводятся на экран
var a: string;
var b: integer;
begin
a := ‘Строковая переменная ‘;
b := 12;
write(a, b);
end.
Для ввода данных в Паскаль используется команда
read(переменная);
При выполнении этой команды программа в pascal запросит данные, их нужно ввести в графу «Ввод данных». После этого введённые данные будут записаны в переменную.
Как и в случае в write() , можно использовать команду readln() , тогда после того, как данные были введены, будет осуществлён переход на следующую строку.
Пример программы на Паскаль в которой вводятся две переменные с клавиатуры и выводится на экран их сумма
var a, b: integer;
begin
write(‘Введите первое число. ‘);
readln(a);
write(‘Введите второе число. ‘);
readln(b);
write(a + b);
end.
Пример программы на Паскаль, запрашивающей имя и фамилию, затем приветствующую по имени и фамилии.
var name, surname: string;
begin
writeln(‘Введите Ваше имя.’);
readln(name);
writeln(‘Введите Вашу фамилию. ‘);
readln(surname);
write(‘Здравствуйте, ‘, name, ‘ ‘, surname, ‘.’);
end.

Перейти к содержанию Следующая тема Условия в Паскаль

Комментарии ( 0 )

Нет комментариев. Ваш будет первым!

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

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

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

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

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

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

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

В примере ниже происходит ввод значений трех переменных разных типов и выполнение допустимых для их типов операций. Если тип переменных integer, то им можно присваивать только целые числа в диапазоне от -32768 до 32767. Под тип integer в языке программирования Паскаль отводится 2 байта, что равно 16 битам, а это значит, что можно хранить 2 16 (65536) значений (отрицательные и положительные числа, а также ноль). В этих диапазонах переменные int1 и int2 могут принимать какие угодно значения. При попытке записи в переменную значения не ее типа возникнет ошибка.

var int1,int2: integer; r: real; ch: char; begin write('Type integer: '); readln(int1); write('Type real: '); readln(r); write('Type char: '); readln(ch); int2:= int1 mod 10; int1:= int1 div 10; r:= r + 0.5; ch:= chr(ord(ch)+1); writeln(int1:5, int2:3, r:7:2, ch:3); end.

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

 Type integer: 32 Type real: 5.34 Type char: A 3 2 5.84 B

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

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

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

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

var variable111, variable222: integer; begin variable111 := 10; variable222 := 20; writeln(variable111); writeln(variable222); readln end.

Константы

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

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

const конст1 = значение; конст2 = значение;

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

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

const N = 10; var i: byte; sum: word; begin sum := 0; for i:=1 to N do sum := sum + i; writeln('Sum of ', N, ' numbers = ', sum); end.

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

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

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

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

const конст1: тип = значение; конст2: тип = значение;
const NUMS: integer = 10;

Переменные и типы данных

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

В языке Паскаль переменные объявляются в блоке var. Несколько переменных одного типа могут быть объявлены одной строкой, при этом имена разделяются запятыми.

var variableName : variableType; x, y, z : integer; 

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

 program Variables; var userName : string; x, y, z : integer; begin write('Enter your name: '); readln(userName); writeln('Hello ', userName); write('x = '); readln(x); write('y = '); readln(y); z := x + y; writeln('z = ', x,' + ', y, ' = ', z); writeln('Press Enter to Exit. '); readln; end. 

Для чтения данных из консоли используется процедура readln.

Основные типы данных Pascal

  • boolean — логический тип, может принимать значение True(Истина) или False(Ложь);
  • integer — целое число;
  • real — вещественное число или число с плавающей точкой;
  • char — символьный тип данных, может содержать один символ;
  • string — строка, последовательность символов.

Целые типы данных в языке Free Pascal

Тип Диапазон значений Размер в байтах
Byte от 0 до 255 1
ShortInt, Int8 от -128 до 127 1
SmallInt, Int16 от -32768 до 32767 2
Word от 0 до 65535 2
Cardinal от 0 до 4294967295 4
Integer, LongInt, Int32 от -2147483648 до 2147483647 4
LongWord от 0 до 4294967295 4
Int64 от -9223372036854775808 до 9223372036854775807 8
QWord от 0 до 18446744073709551615 8

Числа с плавающей точкой

Тип Диапазон Значащих цифр Размер в байтах
Single от 1.5e-45 до 3.4e38 7-8 4
Real, Double от 5.0e-324 до 1.7e308 15-16 8
Extended от 1.9e-4932 до 1.1e4932 19-20 10
Comp от -2e64+1 до 2e63-1 19-20 8
Currency от -922337203685477.5808 до 922337203685477.5807 8

“E” — показатель степени в числах с плавающей точкой. Выражение 3.6e5 эквивалентно математической записи 3.6*10 5 .

Символьные и строковые типы данных

Тип Диапазон значений Размер в байтах
Char 1 символ 1
WideChar 1 символ Unicode 2
String, ShortString строка длиной до 225 символов зависит от длины
AnsiString не ограничена по длине зависит от длины
WideString не ограничена по длине Unicode строка зависит от длины

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

var s1 : string[12]; // строка длиной 12 символов s2 : string; // строка длиной 255 

Логические типы

Тип Размер в байтах Значение для True Значение для False
Boolean 1 1 0
ByteBool 1 Любое не нулевое значение 0
WordBool 2 Любое не нулевое значение 0
LongBool 3 Любое не нулевое значение 0

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

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