Поиск
Версия для слабовидящих
Календарь
Март 2019
Пн Вт Ср Чт Пт Сб Вс
 123
45678910
11121314151617
18192021222324
25262728293031
Случайное фото
IMG_0006 IMG_0415 наградной лист 1 Бабушкин И А IMG_2649 IMG_3974 ris1 certificate(14) certificate(19) IMG10220 20201009_082757
Опросы

Как вам мой сайт

Просмотреть результаты

Загрузка ... Загрузка ...
Полезные ссылки

komobr

 

iuu2

 


Статистика посещений

Lazarus. Урок № 5.

Урок 5. Типы данных

В этом уроке Вы познакомитесь с основными элементами языка программирования: переменными, их типами, основными операциями и функциями.

Данные в языке Free Pascal

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

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

Участок памяти (ячейка), в которой  хранится значение определенного типа, называется переменной. У переменной есть имя (идентификатор), тип и значение.

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

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

В Lazarus каждая переменная перед использованием должна быть описана (объявлена). При объявлении переменной задается ее имя и тип. В оперативной памяти выделяется место для хранения переменной.

Для описание переменных  используется служебного слова var.

Общий вид оператора:

Var имя_переменной: тип_переменной;

Например:

Var a: integer; //Объявлена целочисленная переменная

b, c: real; //Объявлены две вещественные переменные.

Целочисленный тип данных

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

Тип Диапазон Размер (байт)
Shortint -128 .. 127 1
Integer -32768 .. 32767 4
Longint -2147483648 .. 2147483647 4
Byte 0 .. 255 1
Word 0 .. 65535 2

Вещественный тип данных

Внутренне представление вещественного числа в памяти компьютера отличается от представления целого числа. Вещественное число представлено в экспоненциальной форме mE±p, где m – мантисса (целое или дробное число с десятичной точкой), p – порядок (целое число).Чтобы перейти от экспоненциальной формы к обычному представлению числа, необходимо мантиссу умножить на десять в степени порядок.

Вещественное число может занимать от 4 до 10 байтов.

Вещественные типы Диапазон Кол-во значащих цифр Размер, байт
Real 2.9e-39 ..1.7e+38 11-12 8
Single 1.5-e45 .. 3.4e+38 7-8 4
Double 5.0e-324.. 1.7e308 15-16 8
Extended 3.4e-4932 ..1.1e4932 19-20 8

Пример описания вещественных переменных:

Var

r1, r2: real; d: double;

Операции и выражения

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

Например a + b*sin(x).

В таблице представлены основные алгебраические операторы языка программирования Free Pascal.

Оператор Действие
+ Сложение
Вычитание
* Умножение
/ Деление
DIV Целочисленное деление
MOD Вычисление остатка от деления

 

Операторы целочисленной арифметики DIV и MOD применяются только к целочисленным операндам.

DIV позволяет получать целую часть результата деления одного числа на другое.

Например, 15 DIV 7 = 2.

Оператор  MOD  получает остаток от деления одного числа на другое.

Например, 15 MOD 7 = 1, Для задания нужного порядка выполнения операций в выражении можно использовать скобки.

Стандартные функции

В языке определены стандартные функции. Некоторые арифметические функции представлены в таблице ниже.

Обозначение Действие
Abs(n) Абсолютное значение n.
Sqrt(n) Квадратный корень из n.
Sqr(n) Квадрат n.
Exp(n) Экспонента n.
Ln(n) Натуральный логарифм n.
Random(n) Случайное целое число в диапазоне
от 0 до n-1. (перед первым обращением к функции необходимо вызвать функцию
Randomize, которая выполнит инициализацию программного генератора случайных чисел)
Sin() Синус выраженного в радианах угла
Cos() Косинус выраженного в радианах угла
Arctan() Арктангенс выраженного в радианах угла

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

(α * 3.1415256 ) / 180,

где α – величина угла в градусах, 3.1415256 –число π.

Вместо константы 3.1415256 можно использовать стандартную именованную константу PI.

Функции преобразования

Функции преобразования типов часто используются при  вводе и выводе информации

Например, для того чтобы вывести в поле вывода (компонент Label) диалогового окна значение переменной Real, необходимо преобразовать число в строку символов, изображающую данное число. Это можно сделать при помощи функции FloatToStr, которая возвращает строковое представление значения выражения, указанного в качестве параметра функции.

Основные функции преобразования типов

Обозначение Действие
Chr(n) Символ, код которого равен n.
IntToStr(k) Строка, являющаяся изображением целого k.
FloatToStr(n) Строка, являющаяся изображением вещественного n.
FloatToStrF(n,f,k,m) Строка, являющаяся изображением вещественного n. При вызове функции указывают: f – формат; k – точностью (общее количество цифр); m – количество цифр после десятичной точки.Возможны следующие значения параметра Format:
ffGeneral – общий числовой формат;
ffFixed – фиксированный формат;
ffCurrency – денежный формат.
StrToInt(s) Целое, изображением которого является строка s.
StrToFloat(s) Вещественное, изображением, которого является строка s.
Round(n) Целое, полученное путем округления n по известным правилам.
Trunc(n) Целое, полученное путем отбрасывания дробной части n.
Frac(n) Дробное, представляющее собой дробную часть вещественного n.
Int(n) Дробное, представляющее собой целую часть вещественного n.

 

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

Например, для преобразования в вещественный тип используется оператор:

Funt:= StrToFloat(Edit1.Text);

 

Оставить комментарий