Как округлить число в pascal abc

Как округлить число в pascal abc

Модуль System, входящий в состав RTL, содержит функцию Round, которая округляет значение типа real до значения типа integer. Её входным параметром является выражение вещественного типа, и Round возвращает значение типа longint, округленное до ближайшего целого числа. Если входное значение находится точно посередине между двух целых чисел — N.5 — то используется "банковское округление", в результате которого значение округляется до ближайшего четного числа.

Функция Round в Паскале округляет значение с плавающей точкой до ближайшего целого числа. Синтаксис:

function Round(X: ValReal) : Int64;

Функция Round округляет Х до ближайшего целого числа и возвращает значение, которое может быть как меньше, так и больше исходного значения вещественного числа Х.

О типе ValReal я рассказывал здесь.

Правило округления числа

Округление вещественного числа Х выполняется по следующему правилу:

  1. Если дробная часть числа Х меньше 0.5, то число Х округляется в меньшую сторону.
  2. Если дробная часть числа Х больше 0.5, то число Х округляется в большую сторону.
  3. Если дробная часть числа Х равна 0.5, то используется особый принцип округления числа, так называемое “Банковское округление”. То есть когда число округляется всегда в сторону чётного числа.

Примеры округления чисел

Исходя из вышесказанного функция Round будет возвращать следующие результаты при округлении чисел:

Ну и напоследок пример программы:

Обратите внимание в примере на закомментированную строку. Так делать нельзя, потому что в Паскале не допускается присваивать целочисленным переменным вещественные значения.

Поэтому, если необходимо сложить две переменных — целую и вещественную, а результат поместить в целую, то надо использовать какую-либо из подпрограмм преобразования типов. Например, функцию Round.

Также обратите внимание, что функция Round возвращает число типа Int64. Этот тип НЕ является порядковым типом данных. Это значит, что по идее функцию Round нельзя использовать в конструкциях, требующих применения порядковых типов. Например, с оператором case.

Читайте также:  Айфон из сша отзывы

То есть по идее компилятор должен выдать ошибку, если в вашей программе будет что-то типа того: Однако я проверил. Программа компилируется и работает нормально. И всё же я не советую использовать в ваших программах конструкции, которые противоречат документации. Если необходимо использовать результат функции Round в подобных ситуациях, то лучше сначала присвоить результат какой-нибудь переменной порядкового типа, а потом уже эту переменную использовать с таким операторами, как case.

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

Обычные знаки

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

Теперь объявим две переменные с целочисленным типом данных

Теперь присвоим какое-нибудь значение в виде целого числа

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

Это было просто, теперь рассмотрим другие, более сложные, но на самом деле такие же простые операции.

Число по модулю

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

Читайте также:  Как начертить пирамиду треугольную

Число в квадрате

Возводим число в квадратный корень или же по другому во вторую степень с помощью функции SQR.

Квадратный корень числа

Делая действие, обратное действию SQR, то есть, если до этого мы возводили в квадрат, то сейчас выводим квадратный корень числа с помощью функции SQRT.

Возводим число в любую степень

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

Следующее число

Функция SUCC возвращает следующее число или символ, относительно переменной. Если мы введем 10 то функция вернет 11, если введем 11 функция вернет 12 и тд.

Предыдущее число

Аналогично вышеописанной функции SUCC, функция PRED возвращает предыдущее число

Случайное число

Функция RANDOM возвращает случайное, рандомное число в диапазоне от нуля до введенного вами числа, введенное вами число не учитывается, так что если вы хотите например подобрать случайные числа от нуля до 10, то число 10 не будет включаться в диапазон, если же вы хотите, чтобы оно включалось, тогда вам нужен диапазон от нуля до 11, но в этом случае не будет включаться число 11 и тд.

  1. program znaki;
  2. var
  3. a: integer;
  4. begin
  5. a:= 100;
  6. write( random(a) );
  7. end.
  8. Вывод программы: 25 или любое другое число

Дробная часть числа

До этого мы работали с целыми числами теперь поработаем с вещественным типом данных. Чтобы вернуть дробную часть числа, нам потребуется функция FRAC.

Целая часть числа

Теперь отделим от дробного числа целую часть в с помощью функции INT

Читайте также:  Почему оптимизация телефона не 100

Если функция INT возвращает вещественное число, то функция TRUNC возвращает целочисленную переменную

Округление числа

Если ты не знаешь как округлить число, в меньшую или в большую сторону, то тебе поможет функция ROUND

Заключение

На сегодня все, в следующей статье рассмотрим функцию DIV и MOD.
Всем спасибо.
Пока =)

Ссылка на основную публикацию
Как накладывать текстуры в blender
После завершения процесса моделирования возникает необходимость наложения материалов или текстур на объект. В данном уроке будет затронут непосредственно процесс текстурирования....
Как запустить службу теневого копирования
Теневая копия — технология Microsoft, позволяющая пользователям делать вручную или автоматическую синхронизацию документов, вплоть до заблокированных. Для функционирования службы теневого...
Как из негатива сделать позитив в paint
Для преобразования негатива фотографии в позитив достаточно указать фото на вашем компьютере или телефоне, нажать кнопку ОК, подождать пару секунд...
Как написать в подслушано анонимно
Часто приходится сталкиваться с ситуацией, когда нужно отправить в группу какой-либо контент, но не хочется открывать свои персональные данные, чтобы...
Adblock detector