В предыдущем уроке рассказывалось об этапах создания приложения в среде Lazarus на примере вашей первой программы.
В этом уроке Вы познакомитесь с основными элементами языка программирования: переменными, их типами, основными операциями и функциями.
Создадите простейший калькулятор, который будет выполнять сложение целых чисел, введенных с клавиатуры.
Данные в языке Free Pascal
Для решения задач в любой программе выполняется обработка каких-либо данных. Данные хранятся в памяти компьютера и могут быть самых различных типов: целые и вещественные числа, символы, строки, массивы.
Типы данных определяют способ хранения чисел или символов в памяти компьютера. Они задают размеры ячейки, в которую будет записано то или иное значение, определяя тем самым его максимальную величину или точность задания.
Участок памяти (ячейка), в которой хранится значение определенного типа, называется переменной. У переменной есть имя (идентификатор), тип и значение.
Типы данных в C++. C++ для начинающих. Урок #4.
Имя служит для обращения к области памяти, в которой хранится значение.
Во время выполнения программы значение переменной можно изменить.
В 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 – порядок (целое число).Чтобы перейти от экспоненциальной формы к обычному представлению числа, необходимо мантиссу умножить на десять в степени порядок.
Pascal. Типы данных
Вещественное число может занимать от 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, Для задания нужного порядка выполнения операций в выражении можно использовать скобки.
Стандартные функции
В языке определены стандартные функции. Некоторые арифметические функции представлены в таблице ниже.
Обозначение
Действие
Величина угла тригонометрических функций должна быть выражена в радианах. Для преобразования величины угла из градусов в радианы используется формула:
(α * 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). Для преобразования данных в числовой тип используют соответствующую функцию.
Например, для преобразования в вещественный тип используется оператор:
Основные сведения об переменных, числовых типах данных и функциях преобразования типов мы повторили. Теперь переходим к практической части нашего занятия.
Проект «Калькулятор»
Задание. Создать приложение для вычисления суммы двух чисел. Окно программы должно выглядеть так, как показано на рисунке.
Ход выполнения
- Создайте приложение. Сохраните проект в папке Калькулятор.
- Создайте интерфейс по образцу.
- Настройте свойства объектов в соответствии с таблицей.
Компонент Свойство Значение Form1 Caption Калькулятор Label1 Caption Первое число Label2 Caption Второе число Label3 Caption Результат Edit1 TextName ПустоEditNum1 Edit2 TextName ПустоEditNum2 Edit3 TextName ПустоEditResult Button1 Coption Вычислить - Написать процедуру обработки щелчка на кнопке Вычислить (btnMath).Для этого выполните двойной щелчок на кнопке Вычислить. Это приведет к созданию процедуры TForm1.Button1Clic в разделе implementation:
procedure TForm1.Button1Click(Sender: TObject); begin end;
Понятно, что созданная процедура не содержит ни одной команды. Ваша задача – заполнить шаблон операторами. Все команды, указанные в процедуре между begin и end, будут выполнены при щелчке на кнопке Выполнить. В нашем случае процедура TForm1 . But ton1Cl ick будет иметь вид:
procedure TForm1.Button1Click(Sender: TObject); var num1, num2, result: integer; begin num1:=StrToInt(editNum1.text); num2:=StrToInt(editNum2.text); result:=num1+num2; EditResult.text:=IntToStr(result); end;
В этом уроке мы повторили основными элементы языка программирования: переменные, числовые типы, основные арифметические операции и функции. Создали простейший калькулятор.
В следующем уроке рассказывается о вводе и выводе данных.
P.S. Как всегда, под уроком жду твоих комментариев – насколько урок оказался полезным для тебя:)
Источник: gospodaretsva.com
Типы данных Pascal
Pascal – язык со строгой типизацией переменных. Это значит, что мы обязательно должны указывать тип каждой переменной, и не можем присвоить переменной одного типа значение другого типа (если только они не эквивалентны).
В качестве примера возьмем часть программы, которая вычисляет площадь круга по заданному радиусу:
Если мы укажем, что у переменной S целочисленный тип, программа будет работать не верно, так как результатом выражения r*r*3.14 будет дробь, и присвоить целочисленной переменной дробное значение мы не можем.
Еще один пример. Программа складывает значение двух переменных:
Если мы укажем, что a, b и c являются числами, то вполне логично предположить, что после выполнения программы значение c станет равно 9-ти. Но что будет, если a и b являются не числами, а простыми символами, а c – строкой?
В этом случае мы не можем сложить математически два значения (ну правда, мы же не можем математически сложить две буквы), и символы просто подставятся друг к другу, то есть значение c будет равно ‘54’.
Кроме этого, после запуска программы для каждой переменной в оперативной памяти выделяется некоторое количество байт, которое зависит от типа этой переменной. И значения, которые может принять переменная, ограничены этим количеством байт. К примеру, переменной с типом данных byte выделяется 1 байт памяти, и она может принимать значения от 0 до 255, всего 256, что является количеством вариантов, которые можно закодировать одним байтом. Если же мы укажем для переменной тип byte, но присвоим ей значение, к примеру, 1000, программа работать не будет.
Целочисленные типы
Переменная целочисленного типа может принимать любое целое значение из диапазона значений этого типа. Также является порядковым типом.
Тип | Длина (байт) | Диапазон |
byte | 1 | 0..255 |
shortint | 1 | -128..127 |
integer | 2 | -32768..32767 |
word | 2 | 0..65536 |
longint | 4 | -2147483648..2147483647 |
В заданиях ЕГЭ, как правило, достаточно использовать тип данных integer.
Вещественные типы
К вещественному типу относят дробные числа и числа с плавающей запятой. Тем не менее, мы можем присвоить вещественному типу целое значение.
Тип | Длина (байт) | Диапазон |
single | 4 | 1.5*10 -45 — 3.4*10 38 |
real | 6 | 2.9*10 -39 — 1.7*10 38 |
double | 8 | 5*10 -324 — 1.7*10 308 |
extended | 10 | 3.4*10 -4932 — 1.1*10 4932 |
В заданиях ЕГЭ, как правило, достаточно использовать тип данных real.
Символьный тип
Любой одиночный символ.
Тип | Длина (байт) | Диапазон |
char | 1 | Любой символ кодировки ASCII |
Переменной типа char можно присвоить любую букву, цифру, или любой другой символ стандартной кодировки. Также является порядковым типом.
Строковый тип
Если char — это только один символ, то строка — это набор символов. Строкой может быть, к примеру, слово, состоящее из нескольких букв. Также строки относят к структурным типам.
Тип | Длина (байт) | Диапазон |
string | 256 | 255 символов кодировки ASCII |
Логический тип
Переменная логического типа может принимать только два значения: true или false (истина или ложь). Является порядковым типом.
Тип | Длина (байт) | Диапазон |
boolean | 1 | true, false |
Интервальный тип данных
Интервальный тип указывает, что переменная может принимать значения от одного значения, до другого. К примеру, мы знаем, что переменная может принимать значения только от 5 до 25. Мы можем объявить её тип так:
Источник: infbu.ru
StatelyCode
К данным относится любая информация, представленная в таком виде, который позволяет автоматизировать её сбор, хранение и обработку в ЭВМ (числа, символы, биты и др.).
Данные в программе могут быть исходными (задаваемыми на входе программы) или результатами обработки (промежуточными или выходными).
Все данные — переменные и константы — принадлежат определенному типу.
С каждым типом данных связан свой диапазон значений ( количество байт под одно значение) и допустимые операции.
- void (пустой тип),
- int (целый тип),
- float (вещественные числа с плавающей точкой),
- double (вещественные числа с плавающей точкой двойной точности),
- char (символьный тип),
- bool — логический.
Составные типы
- short — короткий;
- long — длинный;
- signed-знаковый;
- unsigned-беззнаковый.
- массивы,
- функции,
- классы,
- указатели,
- ссылки,
- структуры ,
- объединения.
Символьный тип
Данные типа char в памяти компьютера всегда занимают 1 байт. Это связано с тем, что обычно под величину символьного типа отводят столько памяти, сколько необходимо для хранения любого из 256 символов клавиатуры.
Символьный тип может быть со знаком или без знака.
В величинах со знаком signed char можно хранить значения в диапазоне от -128 до 127. Соответственно значения переменных типа unsigned char могут находиться в диапазоне от 0 до 255.
char | -128. +127 | 1 байт |
unsigned char | 0. 255 | 1 байт |
signed char | -128. 127 | 1 байт |
При работе с символьными данными нужно помнить, что если в выражении встречается одиночный символ, он должен быть заключен в одинарные кавычки. Последовательность символов, то есть строка, при использовании в выражениях заключается в двойные кавычки. Например: ‘F’ , ‘3’ , “Иван”, “235”
Целочисленный тип
Данные типа int в памяти компьютера могут занимать либо 2, 4 или 8 байт. Это зависит от разрядности процессора.
По умолчанию все целые типы считаются знаковыми, то есть спецификатор signed (знаковый ) можно не указывать.
Спецификатор unsigned (беззнаковый) позволяет представлять только положительные числа.
Диапазоны значений целочисленных типов
int signed int signed long int |
-2147483648 . 2147483647 | 4 |
unsigned int unsigned long int |
0 . 4294967295 | 4 |
short int signed short int |
-32768 . 32767 | 2 |
unsigned short int | 0. 65535 | 2 |
long long int | (-(2^-1). (2^-1)) | 8 |
unsigned long long int |
(0. (2^-1)) | 8 |
Вещественный тип
Внутреннее представление вещественного числа в памяти компьютера отличается от представления целого числа. Число с плавающей точкой представлено в экспоненциальной форме. $$pm mEpm p$$ где m — мантисса (целое или дробное число с десятичной точкой), р- порядок (целое число). Для того чтобы перевести число в экспоненциальной форме к обычному представлению с фиксированной точкой, необходимо мантиссу умножить на десять в степени порядок Например: (-6.42E+2=-6,42*10^)
Диапазоны значений вещественных типов
float | 3.4E-38 . 3.4E+38 | 4 |
double | 1.7E-308. 1.7E+308 | 8 |
long double | 3.4E-4932 . 3.4E+4932 | 10 |
Длина мантиссы определяет точность числа, а длина порядка его диапазон.
Данные типа float занимают 4 байт, из которых 1 двоичный разряд отводится под знак, 8 разрядов — под порядок и 23 — под мантиссу. По-скольку старшая цифра мантиссы всегда равна 1, она не хранится.
Данные типа double занимают 8 байт, в них под порядок -11 разрядов и под мантиссу -52 разряда соответственно.
Спецификатор типа long перед именем типа double указывает, что под величину отводится 10 байт.
Логический тип
Переменная типа bool может принимать только два значения true (истина) или false (ложь). Любое значение, не равное нулю, интерпретируется как true, а при преобразовании к целому типу принимает значение, равное 1. Значение false представлено в памяти как 0.
Тип void (пустой)
- определения функций, которые не возвращают значения;
- для указания пустого списка аргументов функции;
- как базовый тип для указателей;
- в операции приведения типов.
Объявление переменных
- локальные- объявляются внутри функции и доступны только в ней;
- глобальные — описываются до всех функций и доступны из любого места программы;
- формальные параметры функций описываются в списке параметров функции.
Поделиться
- Получить ссылку
- Электронная почта
- Другие приложения
Источник: statelycode.blogspot.com