Функции Copy, Pos, процедуры Delete, Insert.

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет ...

Ввод логических переменных с клавиатуры.

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

Умножение, деление, сложение, вычитание вещественных чисел в Pascal.

С вещественными числами можно производить операции умножения, сложения, вычитания, а также операцию деления. Причем операция деления отличается от операции Div. Деление вещественных чисел - это обычное математическое деление, в результате которого ...

Циклы и массивы

Использование оператора WITH ... DO.

Из предыдущего примера легко заметить, что при каждом обращении к полю записи следует указывать имя этой записи. Если вы работаете с полями одной и той же записи, то этой проблемы можно избежать ...

Массивы. Регулярные типы.

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

Уроки Паскаль

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется Real. В этом уроке мы рассмотрим 2 функции, которые производятся над дробными числами. Это функция Trunc, которая округляет дробное число до целого, отбрасывая дробную часть и функция Round, которая округляет дробное число до ближайшего целого.

Program number10;
uses crt;
var N,K: integer;
A,B: real;
begin
clrscr;
N:=4;
A:=3.6;
B:=N;
writeln('B=',B);
N:=Trunc(A);
writeln('Trunc(3.6)=',N);
K:=Round(A);
writeln('Round (3.6)=',K);
readln
end.

В строке №3 и №4 мы указали сразу 2 типа переменных. Для переменных N и K мы указали тип данных Integer, т.е. эти переменные могут принимать только целые значения в диапазоне от -32768 до 32767. Для переменных A и B мы указываем тип данных Real. Это вещественный тип данных, применяемый для переменных, которые могут принимать дробные значения в диапазоне от 2.9*10-39 до 1.7*1038. Обратите внимание, что переменные разных типов указываются в разделе описания переменных через точку с запятой.

В строке №7 присваиваем переменной «N» значение «4».

В строке №8 присваиваем переменной «A» значение 3,6. Учтите, что при записи дробного числа в программе между целой и дробной частью ставится точка (а не запятая как при обычной записи).

Строка №9. Здесь переменной вещественного типа B мы присваиваем значение переменной целого типа N. Фактически мы присвоили переменной «B» значение 4. Таким образом, получается, что в переменную типа Real можно записать значение переменной Integer (т.е. целое число). А вот записать вещественное число в переменную Integer нельзя. Если нам необходимо это сделать, то мы должны определить, что делать с дробной частью. И здесь есть 2 варианта.

Строка №11. Функция trunk говорит нам о том, что при записи вещественного числа A в переменную целого типа K, дробная часть будет отбрасываться. Таким образом, получится, что переменной N будет присвоено значение не «3.6» , а просто «3».

Строка №13. Функция Round говорит нам о том, что при записи вещественного числа A в переменную целого типа K , число будет округляться до ближайшего целого. Таким образом, получится, что переменной K будет присвоено значение не «3.6» , а «4».

trunc round

trunc round.

Обратите внимание, на формат вывода на экран вещественных чисел. Паскаль выводит дробные числа на экран в виде числа с плавающей точкой (экспоненциальная форма). Эта запись является неудобной, поэтому для приведения ее к нормальному виду прибегают к форматированию. Для форматирования нужно в строке №10 (вывод на экран) сделать такие изменения: writeln('B=',B:2:1). После переменной B мы через двоеточие записываем 2 числа. Первое число (в нашем случае «2») показывает, сколько всего знаков должно выводиться на экран, второе число («1») показывает количество знаков после запятой.
После внесения этих изменений в программу мы получим следующий результат:trunc round..



Дополнение к материалу.

Ниже приведена таблица значений для различных вещественных типов данных.

Типы Диапазон допустимых значений Число значащих цифр Размер в байтах
Real 2.9*10-39 .. 1.7*1038 11-12 6
Single 1.5*10-45 .. 3.4*1038 7-8 4
Double 5.0*10-324 .. 1.7*10308 15-16 8
Extended 3.4*10-4932 .. 1.1*104932 19-20 10
Comp -2*1063+1 .. 1.7*1063-1 19-20 8

Комментарии  

 
+2 # Паша 03.01.2013 16:41
А кол-во занимаемой памяти в байтах можно описать(имею ввиду последнюю таблицу)?
 
 
+5 # Admin 17.04.2014 04:43
Добавлены столбцы: Число значащих цифр и Размер в байтах
 
 
-14 # pirtec 23.12.2014 17:25
:-| :-| :-| :-| :-|
 
 
-4 # Максим 11.03.2015 09:27
:D класс Спасибо но есть такая функция если есть хоть какой то остаток тогда мы +1 не подскажите какая )???
 
 
+1 # Максим 11.03.2015 09:30
Просто если у меня например 3.123 тогда Round выдаст 3 а мене нужно 4 :-?
 
 
+1 # 4mm0L3D 30.06.2015 19:38
Ясен пень 3. Даже чисто логически сокращая будет тройка, как ни крути.
 
 
-4 # я 12.02.2016 10:20
добавь 1
 
 
+4 # Axbor 31.07.2016 08:23
Такого эффекта можно добится если прибавить этому числу 0.5 и воспользоваться функцией round. Например если ваше число равен 3.01 то при добавлении у вас получится 3.56 а round(3.51)=4, если же ваше число равен 3.99 то при добавлении 0.5 вы получите 4.49 и round(4.49)=4 думаю это то что вы хотели
 
 
-3 # Дмитро 26.07.2015 08:43
А як округлити 3.5?
 
 
-1 # Вова 27.02.2016 18:23
round
 
 
-4 # Денис 06.03.2018 12:16
КТО ЧИТАЕТ - 6 ЯНВАРЯ 2018 ГОДА привет из города Читы :lol:
 
 
-5 # Семен 09.03.2018 09:04
Привет из Самары 8)
 
   ГлавнаяПаскальУроки ПаскальКонстанты в Pascal.