Строковые константы в Pascal.

В качестве значения строковой константы может выступать любая последовательность символов. Эта последовательность заключается в апострофы. Строковая константа отличается от символьной константы тем, что здесь в качестве значения константы можно ...

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

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

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

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

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

Массив строк типа STRING.

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

Разветвляющийся вычислительный процесс.

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

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

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется 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 думаю это то что вы хотели
Ответить
 
 
-5 # Дмитро 26.07.2015 08:43
А як округлити 3.5?
Ответить
 
 
-4 # Вова 27.02.2016 18:23
round
Ответить
 
 
-2 # #саша 02.10.2016 19:24
Тогда подскажите как можно решить задачу с помощью trunc : работа светофора запрограммирова на следующим образом в начале каждого часа в течении 3мин- горит зеленый затем 1мин- желтый 2мин-красный. И нам дано веществ. Число t обознач вр в мин прошедшее с начала часа и нужно ответить на вопрос какой свет горит в данный момент?
Ответить
 
 
0 # Петя 15.11.2017 21:30
s:=t-trunc(t/6)*6;
if s
Ответить
 
 
0 # Петя 15.11.2017 21:33
if s
Ответить
 
 
0 # Johanna 08.02.2018 16:23
Hi there, I Need Help Writing
My Personal Statement: http://assignmenthelp24.com/i-need-help-writing-my-personal-statement/ read your blog occasionally and i own a similar one and i
was just curious if you get a lot of spam feedback?
If so how do you protect against it, any plugin or anything you can recommend?
I get so much lately it's driving me mad so any
assistance is very much appreciated.
Ответить
 
 
0 # Melanienum 18.02.2018 18:21
выиграй 5.000$ !!! Реальный Заработок

https://t.me/Bitpumps1bot?start=231271772

это просто нечно))))
Ответить
 

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

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

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