Как отбросить дробную часть в паскале
Перейти к содержимому

Как отбросить дробную часть в паскале

  • автор:

Числа в паскале

Числа в паскале

Начнем , пожалуй , с самого простого — арифметические операции с числами в паскале. В паскаль встроены многие привычные нам арифметические операции ( Сложение , вычитание , умножение , деление и т.п ).

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

program mypascal;
var
a,b:integer;
c:real;
begin

a:= a — b; // a-b = 7 — 4 = 3 , следовательно a = 3 , b = 4 , c = 0
b:= a + b; // a+b = 3 + 4 = 7 , a = 3 , b = 7 , c = 0

a:= b * 2; // b*2 = 7 * 2 = 14 , a = 14 , b = 7 , c = 0
c:= a / b; // a/b = 14 / 7 = 2 , a = 14 , b = 7 , c = 2

Результатом выполнения данной программы будет вывод на экран трех чисел 14 7 2. Разберемся в том , как это работает.

В начале программы мы объявляем 2 целочисленные ( integer ) переменные «a» и «b» , а также 1 переменную «c» вещественного ( real ) типа.

Зачем нам нужна вещественная переменная ? Для записи результата деления целочисленная переменная не подходит , так как у нас получается дробь , а не целое число.

Теперь мы присваиваем переменной «a» значение 7 , а переменной «b» значение 3
. Переменную «c» при этом оставляем нулевой ( она нам пока не понадобится ).

Далее (в блоке begin end) мы расписываем арифметические операции с нашими числами. Обратите внимание на то , что после символов // идет комментарий , который не компилируется программой.

Запомните : Строка a:= a — b; выглядит так a:= 7 — 4; , а не так 7:= 7 — 4;

Другие операции с числами

В паскале предусмотрены и многие другие операции с числами. Давайте разберем самые популярные из них.

1. Как найти квадрат числа в паскале ?

Для нахождения квадрата числа в паскале предусмотрена функция sqr(x) , где x — число.
Пример :

Результат : переменной «а» присваивается значение 25.

2. Как найти корень числа в паскале ?

Для нахождения корня числа в паскале предусмотрена функция sqrt(x) , где x — число.
Пример :

Результат : переменной «а» присваивается значение 5.

3. Как округлить число в паскале ?

Для того , чтобы округлить некоторое число используется операция round(x).
Пример :

Результат : переменной «а» присваивается значение 9.

4. Как убрать дробную часть у числа в паскале ?

Для того , чтобы отбросить дробную часть числа используется операция trunc(x).
Пример :

a:= trunc(17.4);

Результат : переменной «а» присваивается значение 25.

5. Как убрать целую часть у числа в паскале ?

Для того , чтобы отбросить целую часть числа используется операция frac(x).
Пример :

Результат : переменной «а» присваивается значение 0.2.

6. Как получить модуль числа в паскале ?

Чтобы получить модуль некоторого числа используется операция abs(x).
Пример :

Результат : переменной «а» присваивается значение 8.

Это были самые важные и часто используемые операции в паскале для работы с числами ( переменными ). Найти другие вы можете на этой странице.

Выводы :

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

Как отбросить дробную часть в паскале

С паскалем столкнулся недавно, попросили решить задачу по информатике.
качнул мануал, накидал, но вот вывод меня не устраивает..

Задача: Из заданной матрици А(5х7) элементы которой формируются по формуле . сформировать одномерный массив В состоящий из элементов матрицы, которые стоят на пересечении четных строк и четных столбцов матрицы А и т.д

program zadanie1; var i,j,k:integer; sa:real; matrixA:array[1..5,1..7] of real; arrB:array[1..6] of real; filename:string; wfile:text; begin for i:=1 to 5 do for j:=1 to 7 do matrixA[i,j]:=2*sin(3*i)+3*(sin(3*j*i)/cos(3*j*i)); k:=1; for i:=2 to 5 do begin if (i mod 2)=0 then begin for j:=2 to 7 do begin if (j mod 2)=0 then begin arrB[k]:=matrixA[i,j]; inc(k); end; end; end; end; for i:=1 to 6 do writeln(arrB[i]); for i:=1 to 6 do sa:=sa + arrB[i]; sa:=sa/6; writeln('Srednee arifmiticheskoe:=', sa); filename:='result.txt'; Assign(wfile,filename); Rewrite(wfile); Writeln(wfile, 'matrixA, ishodnaya matriza:'); for i:=1 to 5 do for j:=1 to 7 do Writeln(wfile,matrixA[i,j]); Writeln(wfile, 'arrB, massiv B:'); for i:=1 to 6 do Writeln(wfile, arrB[i]); Writeln('Information write to the file'); Close(wfile); end.

Массив В:
-2.46641078238099E+0000
-6.96352108956489E+0000
2.26925817207084E+0001
-7.47783592916676E+0000
2.52723589334710E+0000
-1.86039796850673E+0000

мне нужно убрать все после и вместе с точкой, либо как то привести к типу integer. Нашел в мане функцию int() она возвращает тоже самое, только после точки везде нули..

Отделение дробной части

Author24 — интернет-сервис помощи студентам

Найти произведение первой цифры целой части и третьей цифры дробной части вещественного числа
Помогите написать программу в Паскале Найти произведение первой цифры целой части и третьей цифры.

Вывести первую цифру дробной части числа
Вывести первую цифру дробной части числа (дано 12,34 — вывести 3), НО БЕЗ ИСПОЛЬЗОВАНИЯ trunc и.

Написать арифмометр для вычисление целой и дробной части
Заранее спасибо. Добавлено через 4 часа 19 минут вот есть код программы. Нужно дописать для.

Найти сумму цифр целой и дробной части числа
Найти сумму цифр целой и дробной части числа. 123,35->6 и 8

3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966

1 2 3
begin writeln(frac(4.88)); end.

Регистрация: 03.11.2012
Сообщений: 16

ЦитатаСообщение от ermolay Посмотреть сообщение

1 2 3
begin writeln(frac(4.88)); end.

не совсем то что надо. у меня есть число допустим то же 4.88 нужно отделить 4 в 1 переменную а 0.88(Для получения остаткаот деления) в 2 ую

1 2 3 4
y:=18; a:=x div y; b:=frac(x/y); с:=y*b;

но возникает проблема что div и frac не могут быть заданы в одном типе данных подскажите что делать ламаю голову уже 3 дня

3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
а так пойдет?

1 2 3 4 5 6 7 8 9 10 11
var n: real; x1,x2: real; begin write('Введите n: '); readln(n); x1:=frac(n); x2:=n - x1; writeln(x1,' ',x2); readln; end.

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

Регистрация: 03.11.2012
Сообщений: 16

ЦитатаСообщение от ermolay Посмотреть сообщение

а так пойдет?

1 2 3 4 5 6 7 8 9 10 11
var n: real; x1,x2: real; begin write('Введите n: '); readln(n); x1:=frac(n); x2:=n - x1; writeln(x1,' ',x2); readln; end.

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

число водится с клавиатуры тип integer y тоже типа Integer
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
то есть должно быть что то такое? а с зачем?

1 2 3 4 5 6 7 8 9 10
var a,x,y: integer; b: real; begin x:=100; //например y:=18; a:=x div y; writeln(a);// = 5 b:=(frac(x/y)); writeln(b); // =0.555555 writeln(x/y); // 5.5555555 end.

Регистрация: 03.11.2012
Сообщений: 16

Вводится число с клавиатуры его делим на 144 затем остаток(от стартового числа) делим на 12 и затем выводим остаток

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
program 1; var a,b,n,y,k,d :real; Begin writeln; write ('Введите число'); read(n); a:=12; b:=144; y:=int(n/b); k:=frac(n/b)*b; k:=int(k/a); d:=frac(k/a)*a; writeln('пераое ',y); writeln('второе ',k); writeln('остаток ',d); end.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Определить первую цифру дробной части заданного вещественного числа
Помогите пожалуйста решить Написать алгоритм, определяющий первую цифру дробной части заданного.

Найти произведение двух первых цифр из дробной части положительного вещественного числа
Найти произведение двух первых цифр из дробной части положительного вещественного числа (Х=45,328.

Присвоить целой переменной d первую цифру из дробной части положительного вещественного числа х
присвоить целой переменной d первую цифру из дробной части положительного вещественного числа х

Строки. Подсчитать, сколько раз в дробной части исходного числа встречается комбинация цифр 33
Дано вещественное число a. Подсчитать, сколько раз в дробной части исходного числа встречается.

Или воспользуйтесь поиском по форуму:

Trunc в паскале: объяснение и примеры

kompter.ru

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

Для использования trunc необходимо передать в нее значение, которое нужно округлить. Функция возвращает результат округления в виде целого числа. При округлении числа следует учитывать правила математического округления, по которым дробная часть числа, равная или большая 0,5, округляется вверх, а меньше 0,5 – вниз.

Пример использования функции trunc:

var x : real;

var y : integer;

y := trunc(x); // результат: 5

В данном примере переменной x присваивается значение 5.7. Функция trunc отбрасывает дробную часть числа и присваивает результат переменной y, которая становится равной 5.

Что такое Trunc в Паскале

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

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

Синтаксис функции Trunc следующий:

function Trunc(X: Real): Integer;

Где X — это число с плавающей точкой, которое нужно преобразовать в целое число.

Например, если есть число 3.14159 и нужно получить только целую часть, без десятичных знаков, следует использовать функцию Trunc следующим образом:

В результате выполнения данного кода на экране будет выведено: «Результат: 3».

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

Описание и применение

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

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

Основное применение trunc в Паскале — это округление чисел вниз. Например, если нужно получить целое число от 3.14159, то можно использовать trunc(3.14159), и функция вернет 3.

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

Пример использования функции trunc:

program TruncExample;

var

num: real;

begin

num := 3.14159;

writeln(‘Целая часть числа ‘, num, ‘ = ‘, trunc(num));

num := 6.9999;

writeln(‘Целая часть числа ‘, num, ‘ = ‘, trunc(num));

num := -2.5;

writeln(‘Целая часть числа ‘, num, ‘ = ‘, trunc(num));

num := -8.999999;

writeln(‘Целая часть числа ‘, num, ‘ = ‘, trunc(num));

end.

Результат выполнения программы:

Целая часть числа 3.14159 = 3

Целая часть числа 6.9999 = 6

Целая часть числа -2.5 = -2

Целая часть числа -8.999999 = -8

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

Синтаксис и примеры использования

Trunc в Паскале — это функция, которая обрезает дробную часть числа. Синтаксис функции Trunc выглядит следующим образом:

function Trunc(X: Real): Integer;

Функция Trunc принимает один аргумент — действительное число X и возвращает целое число Integer.

var

begin

writeln(‘Truncated number: ‘, truncatedNum);

end.

В этом примере мы объявляем переменную num типа Real и инициализируем ее значением 3.14159. Затем мы вызываем функцию Trunc и передаем ей переменную num в качестве аргумента. Результат функции Trunc присваиваем переменной truncatedNum. Наконец, мы выводим результат на экран с помощью функции writeln.

Truncated number: 3

Функция Trunc отбрасывает дробную часть числа и возвращает только целую часть. В данном случае, результирующее значение будет 3.

Ограничения и особенности

  • Только целочисленные операнды: функция Trunc в Паскале работает только с целочисленными операндами. Если в качестве аргумента передать значение с плавающей запятой, будет сгенерировано исключение.
  • Округление к ближайшему целому: Trunc округляет аргумент к ближайшему целому в сторону нуля. Если аргумент положительный, то Trunc просто отбрасывает дробную часть. Если аргумент отрицательный, то Trunc округляет значение по модулю.
  • Возвращаемое значение: функция Trunc возвращает результат операции в виде целого числа. Возвращаемое значение имеет тот же тип, что и аргумент.
  • Недостаток точности: при использовании функции Trunc необходимо учитывать, что она может привести к потере точности. Если требуется округлить число с плавающей запятой и сохранить дробную часть, следует использовать другую функцию, такую как Round или Int.

Рекомендации по использованию

Для использования оператора trunc в языке Паскаль рекомендуется следовать некоторым рекомендациям, чтобы достичь наилучших результатов:

  • Правильное округление: Учитывайте, что оператор trunc просто усекает десятичную часть числа и не производит округление. Если вам требуется округленное значение, используйте соответствующий оператор округления вместо trunc.
  • Тип данных: Удостоверьтесь, что тип данных, используемый в аргументе оператора trunc, соответствует вашим ожиданиям. Если тип данных несовместим с оператором trunc, вы можете столкнуться с ошибками компиляции или непредсказуемыми результатами.
  • Обработка ошибок: Проверяйте аргумент перед использованием оператора trunc, чтобы избежать ошибки деления на ноль или других непредвиденных ситуаций. В случае возникновения ошибки рекомендуется предусмотреть соответствующую обработку ошибок.

Пример использования оператора trunc:

program TruncExample;

var

num: real;

begin

writeln('Введите десятичное число:');

readln(num);

writeln('Целая часть числа:', trunc(num));

readln;

end.

В этом примере оператор trunc используется для усечения десятичной части введенного пользователем числа. Результат выводится на экран в виде целой части числа.

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

Дополнительные возможности и альтернативы

Помимо функции Trunc в Паскале существуют и другие способы обработки и представления чисел с плавающей запятой:

  • Round — функция для округления чисел до ближайшего целого значения. Например, Round(3.7) вернет 4, а Round(3.2) вернет 3.
  • Floor — функция для округления чисел вниз до ближайшего меньшего целого значения. Например, Floor(3.7) вернет 3, а Floor(3.2) вернет 3.
  • Ceil — функция для округления чисел вверх до ближайшего большего целого значения. Например, Ceil(3.7) вернет 4, а Ceil(3.2) вернет 4.

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

Также можно использовать различные библиотеки и инструменты для работы с числами с плавающей запятой, например:

  • Math — стандартная математическая библиотека в Паскале, которая предоставляет различные функции и константы для работы с числами. Например, функция Math.Power(x, y) возвращает результат возведения числа x в степень y.
  • BigDecimal — класс в некоторых языках программирования, который обеспечивает высокую точность при работе с числами с плавающей запятой. Он позволяет выполнять арифметические операции с большой точностью и контролировать округление значений.

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

Вопрос-ответ

Что такое оператор trunc в Паскале?

Оператор trunc в Паскале — это математический оператор, который удаляет дробную часть числа и возвращает только целую часть. Например, trunc(3.14) вернет 3, так как он отбросит дробную часть 0.14.

Как использовать оператор trunc в Паскале?

Оператор trunc используется для преобразования чисел с плавающей запятой в целые числа. Он принимает один аргумент — число с плавающей запятой, и возвращает его целую часть. Например, если у вас есть переменная x типа real со значением 3.14, то ее целая часть можно получить с помощью trunc(x), что вернет 3.

Можно ли использовать оператор trunc для округления числа в Паскале?

Нет, оператор trunc не предназначен для округления чисел. Он просто отбрасывает дробную часть числа и возвращает только целую часть. Если вам нужно округлить число в Паскале, то вам следует использовать функции round или floor в зависимости от вашей задачи.

Как использовать оператор trunc для отображения только определенного количества десятичных знаков числа в Паскале?

Оператор trunc в Паскале не позволяет отобразить только определенное количество десятичных знаков числа. Он просто отбрасывает дробную часть и возвращает только целую часть. Если вам нужно отобразить число с определенным количеством десятичных знаков, вам следует использовать функцию format или round с заданным порядком округления.

Можно ли использовать оператор trunc для отрицательных чисел в Паскале?

Да, оператор trunc в Паскале можно использовать и для отрицательных чисел. Он отбрасывает дробную часть и возвращает только целую часть, сохраняя знак числа. Например, trunc(-3.14) вернет -3. Если вы хотите получить абсолютное значение числа без его знака, вам следует использовать функцию abs перед оператором trunc.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *