Использование program, begin…end, write, readln, Uses Crt, Clrscr.

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

Применение логических операций с оператором IF.

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

Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

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

Вложенные итерационные циклы.

Под вложенным итерационным циклом понимают такую алгоритмическую структуру, при которой в тело одного итерационного цикла включен другой итерационный цикл. Другими словами, любая составная ...

Организация условного перехода. Оператор IF.

Для программирования разветвляющихся процессов, содержащих две ветви, используется оператор IF условного перехода (ветвления), имеющий две конструкции.

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

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

Комментарии  

 
+3 # Паша 03.01.2013 16:41
А кол-во занимаемой памяти в байтах можно описать(имею ввиду последнюю таблицу)?
 
 
+7 # Admin 17.04.2014 04:43
Добавлены столбцы: Число значащих цифр и Размер в байтах
 
 
-22 # pirtec 23.12.2014 17:25
:-| :-| :-| :-| :-|
 
 
-4 # Максим 11.03.2015 09:27
:D класс Спасибо но есть такая функция если есть хоть какой то остаток тогда мы +1 не подскажите какая )???
 
 
0 # Максим 11.03.2015 09:30
Просто если у меня например 3.123 тогда Round выдаст 3 а мене нужно 4 :-?
 
 
+3 # 4mm0L3D 30.06.2015 19:38
Ясен пень 3. Даже чисто логически сокращая будет тройка, как ни крути.
 
 
-6 # я 12.02.2016 10:20
добавь 1
 
 
+9 # 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 думаю это то что вы хотели
 
 
-2 # Дмитро 26.07.2015 08:43
А як округлити 3.5?
 
 
-5 # Вова 27.02.2016 18:23
round
 
 
-3 # Денис 06.03.2018 12:16
КТО ЧИТАЕТ - 6 ЯНВАРЯ 2018 ГОДА привет из города Читы :lol:
 
 
-6 # Семен 09.03.2018 09:04
Привет из Самары 8)
 
 
-1 # Друзья 29.09.2021 06:17
Round возвращает значение типа Longint, которое является значением X, округленного к самому близкому целому числу. Если X - ровно посередине между двумя целыми числами, то результатом будет число с самой большой абсолютной величиной.
 
 
-2 # Явшоке 24.12.2021 08:23
Шёл 2021 год...
 
   ГлавнаяПаскальУроки ПаскальПроцедура Writeln в Pascal