Умножение, деление, сложение, вычитание вещественных чисел в 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 цифры и одна цифра после запятой).
Дополнение к материалу.
Действия над разными типами данных.
- Если мы складывает, вычитаем или умножаем 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.