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

Как делить в паскале

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

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

program number11; uses crt; var a, b, c:real; begin clrscr; a:=17.3; b:=3.4; c:=a*b; writeln('a*b=',c:4:1); c:=a/b; writeln('a/b=',c:4:1); c:=a+b; writeln('a+b=',c:4:1); c:=a-b; writeln('a-b=',c:4:1); readln end.

В строке №8 записываем операцию умножения.

В строке №10 записываем операцию деления. Ее отличие от операции «Div» в том, делить можно дробные числа и результате операции могут получаться дробные числа. Запомните, что операция деления «/» не производится над переменными целого типа integer, т.к. в результате такой операции могут получиться дробные числа, и программа выдаст ошибку.

Строка №12 — операция сложения.

Строка №14 — операция вычитания.

В строках вывода сообщения на экран (№9, 11, 13, 15) для переменной «C» мы записали формат вывода «:4:1». (должно выводиться максимум 4 цифры и одна цифра после запятой).

operacii nad vethestvennihmi chislami

operacii nad vethestvennihmi chislami.

Дополнение к материалу.

Действия над разными типами данных.

  • Если мы складывает, вычитаем или умножаем 2 числа, одно из которых вещественное (REAL), то и результат будет иметь тип REAL.
  • При делении ( / )получается вещественное число (REAL).
  • При целочисленном делении (DIV) или при вычислении остатка от целочисленного деления (MOD), получается целое число (INTEGER).
  • Функции Abs и Sqr определены для обоих типов данных, поэтому для целого аргумента результат будет INTEGER, а для вещественного аргумента – REAL.

Операции целочисленного деления и нахождения остатка от деления в Паскаль

В Паскале существует возможность использования трех методов определения кратности числа.

1. С помощью оператора div (целоисчисленное деление). Как это работает?

x := 10 div 2 (переменная x получит значение 5; процессор вычисляет пример 10 / 2 и выдает результат 5)

x := 10 div 3 (переменная x получит значение 3; вычисляется 10 / 3 = 3,33 и отбрасывается дробная часть, такова природа работы оператора div)

x := 10 div 4 (переменная x получит значение 2; 10 / 4 = 2,5 – и опять отбрасывается дробная часть).

2. С помощью оператора mod (остаток от деления).

Тут и понятно, остаток от деления числа, которое полностью делится на делитель, будет равен нулю.

x := 10 mod 2 (переменная x получит значение 0; процессор вычисляет по формуле 10 – ((10 div 2) * 2) = 0, то есть оператор mod возвращает пользователю остаток, который получится в результаты вычитания из делимого числа разницы между первым в сторону уменьшения делящимся нацело на делитель… эмм, надеюсь, понятно. Еще на примерах:

x := 10 mod 3 (переменная x получит значение 1; происходит следующее 10 div 3 = 3 (целое), дальше 10 – 3 (результат) * 3 (делитель) = 1)

x := 10 mod 4 (переменная x получит значение 2; вычисляется 10 – ((10 div 4) * 4)).

Внимательно изучите работу операторов div и mod, они важны для решения задач ГИА по информатике.

3. С помощью функции отбрасывания дробной части числа (не округления, а именно отбрасывания).

trunc(z), где z – вещественное число или математическое выражение.

Примеры:

x := trunc(3.33) (x получит значение 3; «удаляется» дробная часть)

x := trunc(10 / 3) (x получит значение 3, 10 / 3 = 3.33, отбрасываем «,33»)

x := trunc(10 / 2) (x получит значение 5, 10 / 2 = 5 (целое число))

x := trunc(10 / 4) (x получит значение 2, 10 / 4 = 2.5, отбрасываем дробную часть)

Но этот метод не совсем удобен, так как дублирует более понятный в тексте программы div. Таким же образом можно проверить кратность чисел:

Если ((x mod 3) = 0), то число кратно трем (остаток от деления равен нулю).

Если ((x mod 8) = 0), то число кратно восьми и т.д.

Как найти цифру, на которую оканчивается число? Все просто, надо найти остаток от деления числа на 10.

Примеры:

Результатом 150 mod 10 будет число 0, т.к. 150 полностью делится на 10. 0 – это последняя цифра числа.

153 mod 10 вернет 3 (153 – ((153 div 10) * 10); 3 – эта цифра, на которую оканчивается число.

87 mod 10 вернет 7 – последнюю цифру числа.

33 mod 10 вернет 3 и т.д. Попробуйте сами: writeln(33 mod 10);

Автор: Александр Чернышов

Арифметические операции

К арифметическим относятся бинарные операции + , — , * , / для вещественных и целых чисел, бинарные операции div и mod для целых чисел и унарные операции + и — для вещественных и целых чисел. Тип выражения x op y , где op — знак бинарной операции + , — или * , определяется из следующей таблицы:

shortint byte smallint word integer longword int64 uint64 BigInteger single real decimal
shortint integer integer integer integer integer int64 int64 uint64 BigInteger single real decimal
byte integer integer integer integer integer longword int64 uint64 BigInteger single real decimal
smallint integer integer integer integer integer int64 int64 uint64 BigInteger single real decimal
word integer integer integer integer integer longword int64 uint64 BigInteger single real decimal
integer integer integer integer integer integer int64 int64 uint64 BigInteger single real decimal
longword int64 longword int64 longword int64 longword uint64 uint64 BigInteger single real decimal
int64 int64 int64 int64 int64 int64 uint64 int64 uint64 BigInteger single real decimal
uint64 uint64 uint64 uint64 uint64 uint64 uint64 uint64 uint64 BigInteger single real decimal
BigInteger BigInteger BigInteger BigInteger BigInteger BigInteger BigInteger BigInteger BigInteger BigInteger
single single single single single single single single single single real
real real real real real real real real real real real
decimal decimal decimal decimal decimal decimal decimal decimal decimal decimal

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

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

Для операции / данная таблица исправляется следующим образом: результат деления любого целого на целое имеет тип real .

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

x div y — результат целочисленного деления x на y . Точнее, x div y = x / y , округленное до ближайшего целого по направлению к 0;
x mod y — остаток от целочисленного деления x на y . Точнее, x mod y = x — (x div y) * y .

Унарная арифметическая операция + для любого целого типа возвращает этот тип. Унарная арифметическая операция — возвращает для целых типов, меньших или равных integer , значение типа integer , для longword и int64 — значение типа int64 , к uint64 унарная операция — не применима, для типов single и real — соответственно типы single и real . То есть так же результатом является самый короткий тип, требуемый для представления всех получаемых значений.

Деление на Pascal

Program help_my_1;
Var a, b, d: real;
begin
Writeln(‘Введите два числа через пробел’);
readln(a,b);
d:=a/b;
writeln(a,’:’,b,’=’,d);
Writeln(‘Нажмите Enter’);
Readln;
end.

Похожие вопросы
Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

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

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