ИНФОРМАТИКА · 7 КЛАСС
Программирование на Паскале · Интерактивный конспект

§ 16. Реализация алгоритмов работы с целочисленными данными

Разберём integer, деление div и остаток mod, извлечение цифр и перевод составных единиц. Проверим положительные и отрицательные числа.

Попробовать на модели ↓
Разбираемся в теме

Основные пункты параграфа

1

Целые числа и результат деления

Тип переменной и тип результата операции должны согласовываться.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Три вида деления

Измените параметры, предскажите результат и сравните с объяснением модели.

В используемой среде PascalABC.NET тип integer имеет диапазон от −2 147 483 648 до 2 147 483 647. С ним выполняют сложение, вычитание, умножение, div и mod. Результат вычисления должен помещаться в выбранный тип; для слишком больших значений нужен другой подходящий тип.

ВыражениеРезультатСмысл
7 / 23.5Вещественное деление
7 div 23Целочисленное частное
7 mod 21Остаток
Главная мысль: Integer хранит целые значения; / возвращает вещественный результат, div — целочисленное частное.
2

Div и mod работают парой

Проверьте результат обратной формулой.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Частное и остаток

Измените параметры, предскажите результат и сравните с объяснением модели.

Для 17 и 3 частное 5, остаток 2: 17 = 5 × 3 + 2. В PascalABC.NET div отбрасывает дробную часть в сторону нуля. Поэтому −17 div 3 = −5, а −17 mod 3 = −2. Ненулевой остаток имеет знак делимого; это отличается от некоторых математических соглашений.

aba div ba mod b
17352
−173−5−2
17−3−52
−17−35−2
Главная мысль: a = (a div b) × b + (a mod b), если b ≠ 0.
3

Минуты, секунды, метры и сантиметры

Целая часть даёт полные крупные единицы, остаток — недостающую часть.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Составные единицы

Измените параметры, предскажите результат и сравните с объяснением модели.

137 секунд = 2 полные минуты и 17 секунд: 137 div 60 = 2, 137 mod 60 = 17. Для сантиметров основание другое: 315 см = 3 м 15 см, потому что в метре 100 см. При делении используйте именно отношение единиц, указанное задачей.

minutes := totalSeconds div 60;
seconds := totalSeconds mod 60;
metres := totalCentimetres div 100;
centimetres := totalCentimetres mod 100;
Главная мысль: Основание перевода должно совпадать у div и mod.
4

Работа с цифрами числа

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

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Поменяйте цифры местами

Измените параметры, предскажите результат и сравните с объяснением модели.

Для n = 25: десятки 2, единицы 5. Чтобы поменять их местами, вычисляем 5 × 10 + 2 = 52. Если число 40, после перестановки получаем числовое значение 4: начальный ноль записи 04 не сохраняется как отдельный разряд целого числа.

var n, tens, ones, result: integer;
begin
  readln(n);
  tens := n div 10;
  ones := n mod 10;
  result := ones*10 + tens;
  writeln(result);
end.
Главная мысль: Для положительного двузначного числа n div 10 выделяет десятки, n mod 10 — единицы.
Интерактивная практика

Исследуйте и примените

Проверьте модель на нескольких наборах данных, затем выполните самостоятельное задание.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Лаборатория: примените и проверьте

Измените параметры, предскажите результат и сравните с объяснением модели.

Соберём главное

Шесть выводов

01

Integer хранит целые значения; / возвращает вещественный результат, div — целочисленное частное.

02

a = (a div b) × b + (a mod b), если b ≠ 0.

03

Основание перевода должно совпадать у div и mod.

04

Для положительного двузначного числа n div 10 выделяет десятки, n mod 10 — единицы.

05

В PascalABC.NET div отбрасывает дробную часть к нулю; ненулевой остаток mod имеет знак делимого. Делитель не может быть нулём.

06

В минуте 60 секунд, в метре 100 сантиметров. При перестановке цифр числа 40 получается целое число 4, а не отдельное двухзначное значение 04.

Самопроверка

Тест: 10 вопросов

Один верный ответ. За ответ — 0,5 балла. Откройте и проверьте себя.

1. Чему равно 17 div 3?

2. Чему равно 17 mod 3?

3. Чему равно −17 div 3 в PascalABC.NET?

4. Чему равно −17 mod 3?

5. Какой делитель недопустим?

6. 137 секунд — это…

7. Какая команда выделяет сантиметры из общего числа сантиметров?

8. Последняя цифра положительного n определяется как…

9. Результат перестановки цифр числа 40 как integer…

10. Что возвращает 7/2?

ВыводыТестВ началоВсе параграфы
↑

Загрузка прогресса…