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 (только диапазон значений здесь значительно больше).
Примеры того, как описываются (объявляются) переменные в Паскале:
Pascal | PascalABC.NET | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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));
Пример использования процедуры 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.
Дробная часть числа паскаль
Функция Int вычисляет целую часть значения с плавающей точкой. Синтаксис:
function Int(X: ValReal) : ValReal;
Функция возвращает целую часть вещественного числа Х. Тип данных возвращаемого значения является также вещественным числом.
О типе ValReal я рассказывал здесь.
Функция Frac возвращает дробную часть числа с плавающей точкой. Синтаксис:
function Frac(X: ValReal) : ValReal;
Целая часть числа
Как известно, вещественное число имеет целую часть и дробную часть. Например, число 3,14 можно произнести словами как “три целых, четырнадцать сотых”.
Соответственно, целая часть числа 3,14 – это число 3.
И, как вы теперь уже знаете, получить целую часть числа в Паскале можно с помощью функции Int:
Дробная часть числа
Если рассмотреть всё то же число 3,14, то его дробной частью будет число 0,14. То есть вещественное число состоит из двух частей, сумма которых и является вещественным числом:
Получить дробную часть числа в Паскале можно с помощью функции Frac:
Пример программы, которая использует функции Int и Frac, приведён ниже:
Программирование. Стандартные функции Pascal-Паскаль
Стандартные функции Pascal-Паскаль
Стандартные математические функции Турбо Паскаля | |||
---|---|---|---|
Обращение | Тип аргумента | Тип результата | Примечание |
Abs(x) | Real, integer | Тип аргумента | Модуль аргумента |
ArcTan(x) | Real, integer | Real | Арктангенс (значение в радианах) |
Cos(x) | Real, integer | Real | Косинус, угол в радианах |
Exp(x) | Real, integer | Real | Экспонента |
Frac(x) | Real | Real | Дробная часть числа |
Int(x) | Real, integer | Real | Целая часть числа |
Ln(x) | Real, integer | Real | Логарифм натуральный |
Pi | Нет | Real | 3,141592653 |
Sin(x) | Real, integer | Real | Синус, угол в радианах |
Sqr(x) | Real, integer | Тип аргумента | Квадрат аргумента |
Sqrt(x) | Real, integer | Real | Корень квадратный |
Random | Нет | Real | Псевдослучайное число в интервале [0, 1] |
Random(I) | Integer | Integer | Псевдослучайное число в интервале [0, I] |
Round(x) | Real | Integer | Округление до ближайшего целого |
Trunc(x) | Real | Integer | Отбрасывание дробной части числа |
Порядок вычислений в выражениях следующий:
Хотя нет ограничений на сложность выражений, однако выражения, содержащие более 7 операндов, трудны для чтения и понимания и поэтому такие выражения не рекомендуется использовать.
Математическое выражение: x 3/2 – 7x + tg (x+2)
Выражение на Паскале: exp(3*ln(x)/2)-7*x+sin(x+2)/cos(x+2)
Операторы действия
Операторы действия – это средства языка, позволяющие изменять в процессе выполнения программы состояние вычислений. Самый простой оператор действия – оператор присваивания.
Пример оператора присваивания
Оператор присваивания, несмотря на кажущуюся простоту, имеет очень важное алгоритмическое значение.
Удобно считать, что выполнение присваивания переменной некоторого значения означает помещение этого значения в выделенный для переменной ящик. При этом каждый запоминающий ящик обладает следующими свойствами.
Еще один оператор действия, хотя его можно лишь условно назвать таковым: он не выполняет никакого действия, это – пустой оператор (в Паскале он обознается знаком «;»). В Паскале оператором действия является также оператор процедуры. Последний из простейших операторов действия – оператор останова, который прерывает работу программы (в Паскале это оператор halt).
Ввод и вывод данных
Ввод данных с клавиатуры производится с помощью стандартной процедуры read( ) или ее разновидности readln( ). Элементы списка ввода – идентификаторы (имена) переменных, перечисляемые через запятую. При выполнении этого оператора пользователь набирает на клавиатуре соответствующую последовательность значений, разделяя их пробелами (это важно!).
Пример ввода данных с клавиатуры
read(a,b,c);
readln(a,b,c);
Вывод данных на экран производится с помощью стандартной процедуры write( ) или ее разновидности writeln( ).
Список вывода может содержать константы, переменные, выражения, формат вывода. Выражения в списке вывода разделяются запятыми.
Пример вывода данных на экран
write(a,b,c);
writeln(a,b,c);
Окончание ln в имени процедуры означает, что курсор автоматически будет переведен в начало следующей строки экрана.
Программирование
Исходники Pascal (127)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
Арифметические операции
200?’200px’:”+(this.scrollHeight+5)+’px’);»> program mypascal;
var
a,b:integer;
c:real;
begin
Другие операции с числами
В паскале предусмотрены и многие другие операции с числами. Давайте разберем самые популярные из них.
Результат : переменной «а» присваивается значение 25.
Результат : переменной «а» присваивается значение 5.
Результат : переменной «а» присваивается значение 9.
Результат : переменной «а» присваивается значение 25.
Результат : переменной «а» присваивается значение 0.2.
Чтобы получить модуль некоторого числа используется операция abs(x).
Пример :
Результат : переменной «а» присваивается значение 8.
Это были самые важные и часто используемые операции в паскале для работы с числами ( переменными ). Найти другие вы можете на этой странице.
Выводы :
Как сделать ввод дробных чисел
Как сделать, чтобы программа работала и для дробных чисел?
Задача на реализацию формул для быстрого возведения в степень при чётных и нечётных степенях. Для.
TSpinEdit, ввод дробных чисел
Как мне реализовать ввод дробных чисел? Точнее это я реализовал, но при расчете (запущена.
Ввод дробных чисел из файла в массив
Доброго времени суток. Возникла проблема с программой. Необходимо вывести из файла дробные числа.
Проверка на ввод дробных чисел в textBox
доброго времени суток. уже несколько дней не могу написать рабочий код на проверку ввода в textBox.
Как сделать сделать ввод чисел в Input формы строго по нужному диапазону?
Здравствуйте уважаемые Коллеги! У меня есть переменная JS с количеством товаров на складе var.
С помощью rand() сделать генератор дробных чисел
srand(time(NULL)); rand()%1000; этот генератор генерирует целые числа, как сделать что-бы он.
Сделать ввод 2 целых чисел как диапазоном, и вывести потом сумму парных чисел этого же промежутка
Дано задачу в которой нужно сделать ввод 2 целых чисел как диапазоном, и вывести потом сумму.
Программа вычисления дискриминанта: как разрешить ввод дробных значений
я делаю программу через для вычисления дискриминанта. Использовал функцию Edit1.ReadOnly:=not (Key.
Pascal-Паскаль
Программирование. Числовые типы данных Pascal-Паскаль
Программирование. Числовые типы данных Pascal-Паскаль
Числовые типы данных Pascal-Паскаль
Наиболее распространенные в математике числовые типы – это целые числа, которые представляют бесконечное множество дискретных значений, и действительные числа, которые представляют неограниченный континуум значений.
Описание числовых типов данных (целые) Паскаля
В пределах одного языка могут быть реализованы различные подмножества множества целых чисел. Диапазон возможных значений целых числовых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта. Так, в Паскале 7.0 используются следующие целые числовые типы данных:
Числовые типы данных (ЦЕЛЫЕ ТИПЫ) Паскаля | ||
---|---|---|
Название числового типа данных | Длина, байт числового типа данных | Диапазон значений числового типа данных |
Byte | 1 | 0..255 |
ShortInt | 1 | -128..+127 |
Word | 2 | 0..65535 |
Integer | 2 | -32768..+32767 |
LongInt | 4 | -2 147 483 648..+2 147 483 647 |
С целыми числовыми типами данных Паскаля можно выполнять следующие операции:
В Паскале используются следующие типы вещественных чисел, которые определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа:
При описании вещественной переменной типа real в памяти компьютера будет создана переменная размерностью 4 байта. При этом 3 байта будут отданы под мантиссу, а один – под порядок.
Над действительными числовыми типами данных можно выполнять следующие операции:
Исходники Pascal (127)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
Как написать дробное число в паскале
Получение знаний по работе с числами всех типов, преобразование чисел в другие типы данных, закрепление материала на практике.
Целые числа
Тип | Диапазон | Размер в байтах |
---|---|---|
Byte | 0…255 | 1 |
ShortInt | -128…127 | 1 |
Word | 0…65 535 | 2 |
Smallint | -32 768…32 767 | 2 |
LongWord | 0…4 294 967 295 | 4 |
Cardinal | 0…4 294 967 295 | 4 |
LongInt | -2 147 483 648…2 147 483 647 | 4 |
Integer | -2 147 483 648…2 147 483 647 | 4 |
Int64 | 8 |
Вещественные числа
Вещественными называются числа с дробной частью, причем, если дробная часть равна нулю, её все равно нужно указать. Например:
Такие числа еще называют числами с плавающей точкой, поскольку количество цифр после точки может быть различным. Записываются вещественные числа по определенным правилам. Если в математике мы дробную часть отделяем запятой, в Lazarus для этого используют точку. При указании очень большого числа можно выбрать сокращенную форму. Если в математике для этого число умножают на десятичную степень, например,
Степени могут быть и отрицательными:
Вещественных типов тоже много. В характеристике вещественных чисел роль играет не только размер, занимаемый в памяти, но и количество значащих цифр:
Тип | Диапазон | Количество значащих цифр | Размер в байтах |
---|---|---|---|
Single | 1.5E-45…3.4E38 | 7-8 | 4 |
Real | 5.0E-324…1.7E308 | 15-16 | 8 |
Double | 5.0E-324…1.7E308 | 15-16 | 8 |
Comp | -2E64+1…2E63-1 | 19-20 | 8 |
Currency | -922 337 203 685 477.5808 … 922 337 203 685 477.5807 | 19-20 | 8 |
Extended | 1.9E-4932…1.1E4932 | 19-20 | 10 |
Операции над целыми и вещественными числами
Кроме того, как целые, так и вещественные числа можно сравнивать между собой, используя для этого логические операторы : = (равно), <> (не равно), > (больше), (меньше), >= (больше или равно), (меньше или равно).
В этом случае, в переменную r попадет число 14.
Преобразования типов
Нередко возникают ситуации, когда нужно преобразовать один тип данных в другой. Например, целое число в вещественное или в строку, и обратно.
Если есть желание, вы можете поступить так же, как в прошлых лекциях: создать новый проект с одной кнопкой, сгенерировать для кнопки событие нажатия, и все примеры пробовать в этом событии. Раздел переменных и начало события begin указаны, не забудьте в конце события оставить end ;
Математическая функция Round() округляет вещественное число до ближайшего целого:
Для преобразования вещественного числа в строку можно использовать две функции. Проще всего воспользоваться функцией FloatToStr() :
Практика
Учитывая, что вес может быть и трехзначным целым числом.
Сгенерируйте событие нажатия на кнопку, и оформите его следующим образом:
Теперь вы знаете какие однокоренные слова подходят к слову Как написать дробное число в паскале, а так же какой у него корень, приставка, суффикс и окончание. Вы можете дополнить список однокоренных слов к слову "Как написать дробное число в паскале", предложив свой вариант в комментариях ниже, а также выразить свое несогласие проведенным с морфемным разбором.