Abs, Sqr в Pascal.

Abs - функция языка Паскаль, которая вычисляет модуль числа.
Sqr - функция языка Паcкаль, которая возводит число в квадрат.

Тип данных Boolean. Значения True, False в Pascal.

Мы рассмотрели с Вами целый тип данных (integer), вещественный тип (real), символьный (char). В этом уроке мы рассмотрим тип данных, который имеет большое значение в программировании. Логический типBoolean. Одной из особенностей этого типа данных ...

Тип данных Char. Функции Ord, Chr.

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (integer) и дробные числа (real). Теперь рассмотрим тип данных, позволяющий хранить и обрабатывать различные символы. Символы – это все буквы и значки, ...

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

ФАЙЛЫ ЗАПИСЕЙ

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

Программирование данных.

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

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

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется 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

Комментарии  

 
+1 # Паша 03.01.2013 16:41
А кол-во занимаемой памяти в байтах можно описать(имею ввиду последнюю таблицу)?
Ответить
 
 
+6 # Admin 17.04.2014 04:43
Добавлены столбцы: Число значащих цифр и Размер в байтах
Ответить
 
 
-11 # pirtec 23.12.2014 17:25
:-| :-| :-| :-| :-|
Ответить
 
 
-5 # Максим 11.03.2015 09:27
:D класс Спасибо но есть такая функция если есть хоть какой то остаток тогда мы +1 не подскажите какая )???
Ответить
 
 
0 # Максим 11.03.2015 09:30
Просто если у меня например 3.123 тогда Round выдаст 3 а мене нужно 4 :-?
Ответить
 
 
0 # 4mm0L3D 30.06.2015 19:38
Ясен пень 3. Даже чисто логически сокращая будет тройка, как ни крути.
Ответить
 
 
-3 # я 12.02.2016 10:20
добавь 1
Ответить
 
 
0 # 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 думаю это то что вы хотели
Ответить
 
 
-4 # Дмитро 26.07.2015 08:43
А як округлити 3.5?
Ответить
 
 
-3 # Вова 27.02.2016 18:23
round
Ответить
 
 
-3 # #саша 02.10.2016 19:24
Тогда подскажите как можно решить задачу с помощью trunc : работа светофора запрограммирова на следующим образом в начале каждого часа в течении 3мин- горит зеленый затем 1мин- желтый 2мин-красный. И нам дано веществ. Число t обознач вр в мин прошедшее с начала часа и нужно ответить на вопрос какой свет горит в данный момент?
Ответить
 

Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальУроки Паскаль