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

от admin

Basic Pascal Tutorial/Chapter 1/Assignment and Operations/ru

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

Для присвоения значения переменной используйте следующий синтаксис:

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

Выражение может быть либо единственным значением:

либо арифметической последовательностью:

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

Операция Действие Операнды Результат
+ Сложение или унарный плюс real или integer real или integer
Вычитание или унарный минус real или integer real или integer
* Умножение real или integer real или integer
/ Вещественное деление real или integer real
div Целочисленное деление integer integer
mod Деление по модулю (остаток от деления) integer integer

div и mod работают только с integer.
Вещественное деление / работает как с real, так и с integer, но результат всегда будет real.
Другие операции работают и с real, и с integer. Когда смешиваются integer и real, результат всегда будет real, поскольку в противном случае будет потеря данных. Именно поэтому Pascal использует две разные операции для деления и целочисленного деления. 7 / 2 = 3.5 (real), но 7 div 2 = 37 mod 2 = 1, поскольку это остаток).

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

Тогда после выполнения следующего блока операторов:

some_real будет иметь значение 375.0.

Изменение одного типа данных на другой называется приведением типа. Современные компиляторы Pascal поддерживают явное приведение типа в стиле языка C, с несколько отличающимся синтаксисом. Однако, приведение типов обычно используется в низкоуровневых ситуациях или в связи с объектно-ориентированным программированием, и студенту-новичку в программировании, нет небходимости его использовать. Здесь вы сможете найти информацию о приведении типов в GNU Pascal manual.

В Pascal знак минуса может быть использован, чтобы сделать значение отрицательным. Знак плюса также может быть использован, чтобы сделать значение положительным, но обычно он опускается, поскольку значения по умолчанию положительны.

Не пытайтесь использовать две операции одну за другой, как в следующем примере:

Это может иметь правильный смысл для вас, поскольку вы пытаетесь выполнить умножение на отрицательное число -2. Однако, Pascal будет путаться — он не будет знать, что делать: умножать или вычитать. Вы можете избежать этого, используя для проясненя ситуации скобки:

Компьютер соблюдает тот-же порядок операций, который соблюдаете вы, выполняя арифметические операции. Умножение и деление (* / div mod) идут до сложения и вычитания (+ -), а скобки всегда имеют приоритет. Таким образом, например, значение выражения 3.5*(2+3) будет 17.5.

Pascal не может выполнять стандартные арифметические операции с типом Boolean. Есть специальный набор логических операций. Вы также не должны применять арифметические операции к символам.

Операции div и mod в Pascal

В нашей статье мы разберем такие операции, как div и mod в Паскале. Сейчас вы узнаете, что это такое и зачем эти операции нужны.

Div, mod или обычное деление

Вообще, div и mod очень похожи на обычное деление, которому нас учат в школе. Но если они зачем-то существуют, значит, все-таки отличия есть. И уже в самом начале очень хочется отметить, что обе операции работают только с целыми числами (integer).

Оператор div в Pascal

На самом деле здесь все довольно просто. Div применяется для поиска целой части от деления.

Приведем в пример код, чтобы разобраться:

В итоге наше n будет равняться двум. Если делить 9 на 4, то выходит 2,25. То есть, применяя операцию div в Паскале, вы получите результат до запятой (целую часть числа).

Оператор mod в Pascal

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

Возьмем в пример все тот же код:

В итоге мы получаем n, которое равно единице. Как так получилось? Когда мы делим 9 на 4, мы можем взять два раза по 4 (получается 8). Но у нас остается единица, которая не делится на 4. Такую вот “единицу” и будет искать mod, или, говоря по-другому, остаток от деления ваших чисел.

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

Использование оператора div и mod при решении задач

Мы приведем несколько примеров использования этой программы для того, чтобы вам было еще легче разобраться, как это работает.

Читать:
Что делать если игра просит диск а его нет

Таким образом, используя div, мы получим ответ 2 (13 разделить на 5 равняется 2,6; нам же нужна только целая часть). А используя mod, получаем результат 3 (остаток от деления).

Вот еще один пример:

Конечно, программа все сама посчитает. Но еще раз уточним: здесь div будет равняться 26 (берем только целую часть), а mod — 4 (остаток от деления).

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

Урок 5. Математические операции, функции и процедуры в Pascal (Часть первая)

Блок-схема

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

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

Процедуры — мини-программы.

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

20131220-004613.jpg

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

Функции в Паскале — мега переменные.

Функции отличается от процедуры тем, что после выполнения функции на ее месте в коде ставится одно число, буква, строка и т.д. Набор встроенных функций в языке Паскаль достаточно широк. Например, для того, чтобы подсчитать квадрат числа можно воспользоваться стандартной функцией sqr(x). Как вы, наверное, уже поняли sqr(x) требует лишь один фактический параметр — число.

Обратите внимание! Функции необходимо присваивать! Просто написав их в тексте программы, как процедуры, вы ничего не добьетесь!

Структура функции представлена на картинке ниже.

20131220-004554.jpg

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

Операции div и mod.

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

Для того, чтобы найти частное от деления, мы используем операцию div.

  • 25 div 20 = 1;
  • 20 div 25 = 0;
  • 39 div 5 = 7;
  • 158 div 3 = 52.

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

  • 25 mod 20 = 5;
  • 20 mod 25 = 0;
  • 39 mod 5 = 4;
  • 158 mod 3 = 2.

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

Задача 1. Найти сумму цифр двухзначного числа.

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

Блок-схема Блок-схема

Задача 2. Найти сумму цифр трехзначного числа.

Чуть усложненная версия предыдущей задачи. Самая большая сложность — вторая цифра.

Блок-схема

Приоритет div и mod больше, чем приоритете + и -. Поэтому в данной программе можно обойтись без скобок.

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

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

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

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

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

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

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

Похожие статьи