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

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

Тип Диапазон значений Описание
Integer -2147483648..2147483647 4 байта, со знаком
Cardinal 0..4294967295 4 байта, без знака
Shortint -128..127 1 байт со знаком
Smallint -32768..32767 2 байта со знаком
Longint -2147483648..2147483647 4-х байтовое со знаком
Int64 -263..263 8-ми байтовое со знаком
Byte 0..255 Однобайтовое без знака
Word 0..65535 Двухбайтовое без знака
Longword 0..4294967295 4-х байтовое без знака

Наиболее часто используются типы: Integer и Cardinal.

Числовой тип данных. Вещественные числа

В Delphi определены следующие числовые вещественные типы данных:

Тип Диапазон значений Описание
Real 5.0 x 10-324 .. 1.7 x 10 308 8 байт
Real48 2.9 x 10-39 .. 1.7 x 1038 6 байт
Single 1.5 x 10-45 .. 3.4 x 1038 4 байт
Double 5.0 x 10-324 .. 1.7 x 10308 8 байт
Extended 3.6 x 10-4951 .. 1.1 x 104932 10 байт
Comp -263+1 .. 263 -1 8 байт
Currency -922337203685477.5808.. 922337203685477.5807 8 байт

Описание данных

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

var

<список переменных>:<тип>;

Где ключевое слово var (от variable, что означает переменная) – задает описание переменных.

Например:

Var

i, j, k : integer;

adc,nk : real;

str1 : string;

Для описания константы используется следующий синтаксис:

const

<имя константы>=<значение>

где ключевое слово const задает описание констант.

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

const

pi=3.141592;

yes=true; no=false;

Задания для самостоятельной работы

Опишите следующие переменные:

1. В 2-х переменных требуется хранить 3-х значные числа.

2. В переменной требуется хранить количество лет человека.

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

4. В переменной будет храниться результат деления 2-х целых чисел.

5. В переменной будет храниться 5-тизначное число.

Операции

На числовом типе данных определены следующие основные операторы:

Оператор Описание
+ Сложение
- Вычитание
* Умножение
/ Деление
div Целая часть от деления
mod Остаток от деления


Из констант, переменных, обращений к функциям, операций и скобок можно строить выражения. Примеры выражений:

(a+b)*c , a*2.2, (a+b+c)/3, a div b, c mod 10.

Последовательность действий при вычислении выражений определяется обычными прави­лами, принятыми в математике.

Присвоение значения переменной. Оператор присваивания

Цель этого оператора - задание переменной некоторого значения. Синтаксис оператора:

<переменная> := <значение>;

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

Пример 1:

Var a,b:integer;

Begin

a:=3; b:=5;

a:=a+b;

В примере 1 переменной a будет присвоено значение 8.

Пример 2:

Var a,i,result,j:integer;

begin

a:=9; i:=3;

result:=a+(2+i)*4+j;

i:=i+1;

В примере 2 в выражении

result:=a+(2+i)*4+j;

используется переменная j, значение которой не определено.

Пример 3.

Var

A,b,c:real;

Begin

A:=3.5; b:=6.9; c:=a+b;

End;

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

Задания для самостоятельной работы

Написать выражения:

1. Завести две переменных, в которых будут храниться длины сторон прямоугольного треугольника. Написать выражение для вычисления квад­рата гипотенузы.

2. Завести две переменных, в которых хранится длина и ширина прямо­у­голь­ника. Написать выражение для вычисления периметра и площади треу­гольника.

3. По радиусу написать выражение для длины и площади круга.

4. Даны 5 вещественных переменных. Написать выражение для вычис­ле­ния значения среднего ариф­мети­­ческого этих переменных.

5. Курс доллара 27.34 рублей за доллар хранится в переменной. Напишите выражение для пере­счета вводимых пользователем долларов в рубли( и наоборот рублей в доллары).

Задача «Простой калькулятор»

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

Решение

1. Создадим новое приложение.

2. Разработаем форму для удобного ввода чисел. Для ввода чисел будем использовать интерфейсные компоненты типа TEdit, для отображения информации пользо­вателю - будем использовать компоненты типа TLabel. Создадим кнопку, по которой будет запускаться программный код, обеспечивающий решение задачи. Внешний вид формы может быть, например, следующий:

Числовой тип данных. Целые числа - student2.ru

Где объекты Edit1 и Edit2 используются для ввода чисел, объекты Label3, Label4, Label5 используются для отображения результата. Единственной проблемой, с которой мы столкнемся при использовании интерфейсных компонентов, Delphi будет – преобразование строк в числа и наоборот. Дело в том, что свойство Text объекта Edit строкового типа, свойство Caption объекта Label – также строкового типа. Т.е. для выполнения вычислений и отображения результатов необходимо выполнять преобразования.

Нам понадобятся следующие функции преобразования:

Функция преобразования Тип аргумента Тип результата Описание
IntToStr Integer String (строка) Преобразует целое число в строку
StrToInt String (строка) Integer Преобразует строку целое в целое число
FloatToStr real String (строка) Преобразует дробное число в строку
StrToFloat String (строка) real Преобразует строку в дробное число

3. Осталось написать обработчик события OnClick на кнопку «Вычислить»:

procedure TForm1.Button1Click(Sender: TObject);

var a,b:real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

{ сумма }

Label3.Caption:=' сумма '+FloatToStr(a+b);

{ разность }

Label4.Caption:=' разность '+FloatToStr(a-b);

{ произведение }

Label5.Caption:=' произведение '+FloatToStr(a*b);

end;

4. Выполнить приложение. Обратите внимание, при вводе дробных чисел в форму разделителем дробной и целой части является запятая.

5. Сохранить приложение в отдельной папке.

6. Задание: добавить в приложение возможность расчета целой части и остатка от деления первого числа на второе. (Операции div и mod).

Встроенные функции

Встроенные функции это предопределенные функции, которые поставляются вместе с Delphi. Набор встроенных функций очень обширен. Существуют матема­тические функции, которые реализуют математические операции, например синус, косинус, функции для работы со строками, функции преобразования и т.д. Функция в языках программирования очень напоминает понятие функции, принятое в математике, т.е. функция имеет имя и список аргументов, независимых переменных. Функция может возвращать значение. Например, функция sin(x) вернет значение синуса, соответ­ствующее значению переменной x. Информацию по функциям в Delphi можно получить в Help’е, достаточно в программе ввести имя функции и нажать клавишу F1.

Вызов функции происходит по имени, в скобках указываются значения аргу­ментов. Функция всегда возвращает значение. Список функций, которые наиболее часто используются, приведен в таблице:

Функция Тип аргумента Тип результата
sin(X) real real
cos(x) real real
sqr(X) (возведение в квадрат) real real
sqrt(x) (корень квадратный) real real
abs(x) (абсолютная величина) real/integer real/integer
round(x) (округление) real integer
int(x) (целая часть) real real
frac(x) (дробная часть) real real
random(x) ( случайное число) word word(0..x)

Задания для самостоятельной работы

Используя материал предыдущих занятий решить следующие задачи. Каждую задачу оформлять в виде отдельного приложения. Рекомендуется каждое приложение сохранять в отдельной папке. Продумывать интерфейс с пользователем, чтобы пользо­вателю было удобно работать с вашим приложением. Для разработки интерфейса использовать интерфейсные компоненты : Label, Edit, Bitton.

1. Ввести радиус круга. Вывести длину и площадь круга.

2. Ввести длины сторон прямоугольного треугольника. Вывести длину гипотенузы.

3. Ввести 5 вещественных чисел. Вывести значение среднего ариф­мети­­ческого этих чисел.

4. Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например: 23,7 это 23 руб. 70 копеек(функция frac).

5. Ввести длины сторон прямоугольного треугольника. Вывести длину гипотенузы. (функции sqr, sqrt).

6. Ввести 2 вещественных числа, округлить их до целых (функция round).

7. Ввести значение аргумента, вывести значение функции sin для этого аргумента. Следует иметь ввиду, что аргумент задается в радианах. То же самое проделать с функцией cos.

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

9. Написать программу вычисления стоимости покупки яблок и апель­синов, при этом требуется вводить стоимость 1 кг яблок и апельсинов, а также количество купленных яблок и апельсинов. Рекомендуемый вид экрана:

Вычисление стоимости покупки

Стоимость 1 кг яблок:

Куплено яблок (кг):

Стоимость 1 кг апельсинов:

Куплено апельсинов (кг):

Всего стоимость покупки:

10. Написать программу расчета стоимости поездки на дачу на автомобиле (туда и обратно). Исходными данными являются: рас­сто­я­­ние до дачи(км), количество бензина, которое потребляет авто­мо­биль на 100 км пробега, цена 1 литра бензина. Рекомендуемый вид экрана:

Вычисление стоимости поездки на дачу

Расстояние до дачи (км):

Расход бензина ( литров на 100 км пробега):

Цена литра бензина:

Поездка на дачу и обратно обойдется в руб.

11. Написать программу пересчета величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах. Рекомендуемый вид экрана:

Введите временной интервал ( в минутах): 150

150 минут это 2 ч. 30 минут.

12. Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например: 23.7 это 23 руб. 70 копеек.

13. Ввести 3-х значное число. Выделить цифры сотен, десятков и единиц этого числа. Вывести результат. Какое число получится, если поменять местами цифру сотен и единиц. Вывести результат.

Контрольные вопросы

  1. Что такое алгоритм?
  2. Какие способы описания алгоритма Вы знаете?
  3. Какие виды алгоритмов Вам известны?
  4. Что такое переменная?
  5. Что такое константа?
  6. Что такое идентификатор? Какие правила используются в языке Pascal для задания идентификаторов?
  7. Что задает тип данных? Как и в каком разделе процедуры описываются данные: переменные и константы?
  8. Какие числовые типы данных Вам известны?
  9. Какие операции определены на числовом типе данных?
  10. С помощью какого оператора можно изменить значение переменной?
  11. Какие функции преобразования типов Вам известны?
  12. Что такое встроенная функция? Какие встроенные функции Вам мзвестны?

Наши рекомендации