16.1. Целочисленный тип данных
Часто при решении задач нужно работать с целыми числами. Для этого в Pascal используется тип данных integer.
С помощью переменных этого типа можно задавать целые числа из диапазона от
–2147483648 до 2147483647. Для указанного типа данных определены следующие операции:
Математические операции |
Запись в Pascal |
+ (сложение) |
+ |
– (вычитание) |
– |
∙ (умножение) |
* |
целочисленное деление |
div |
нахождение остатка |
mod |
Для целочисленных данных не определена операция деления, как для действительных чисел. При попытке использовать операцию деления будет выдана ошибка (пример 16.1).
Для организации вычислений c целыми числами определены операции div и mod. Эти операции имеют такой же приоритет, как и операции деления и умножения.
Пример 16.2. Даны два целых числа a и b. Напишем программу, которая находит целую часть от деления a на b и остаток от деления a на b.
Этапы выполнения задания:
1. Определение исходных данных: переменные a и b.
2. Определение результатов: переменные c (целочисленное частное) и d (остаток).
3. Алгоритм решения задачи:
3.1. Ввод исходных данных.
3.2. Целочисленное частное находим как результат операции: a div b, остаток — a mod b.
3.3. Вывод результата.
4. Описание переменных.
Все переменные, определенные для решения задачи, имеют тип integer.
Значение, которое выдает в качестве результата операция mod, может отличатся от математического определения остатка (в математике под остатком понимают неотрицательное число). Если остаток не равен нулю, то знак числа, которое является результатом операции mod, определяется знаком делимого.
16.2. Использование целочисленных данных для решения задач
Пример 16.3. Васин таймер показывает время только в секундах. Напишем для Васи программу, которая переведет время в минуты и секунды.
Этапы выполнения задания:
1. Определение исходных данных: переменная с (время в секундах).
2. Определение результатов: переменные m (полное количество минут) и s (остаток секунд).
3. Алгоритм решения задачи:
3.1. Ввод исходных данных.
3.2. Для нахождения полного числа минут нужно найти целую часть от деления исходного числа секунд на 60.
3.3. Оставшиеся секунды можно найти как остаток от деления исходного числа секунд на 60.
3.4. Вывод результата.
4. Описание переменных.
Все переменные, определенные для решения задачи, имеют тип integer.
Пример 16.4. Напишем программу для решения задачи.
Задано двузначное число. Необходимо поменять местами первую и вторую цифры числа.
Этапы выполнения задания:
1. Определение исходных данных: переменная а (исходное число).
2. Определение результатов: переменная b (преобразованное число).
3. Алгоритм решения задачи:
3.1. Ввод исходных данных.
3.2. Для преобразования числа необходимо выполнить следующие действия:
а) в переменной a1 сохраним вторую цифру числа. Для выделения цифры из числа нужно найти остаток от деления исходного числа на 10 (a mod 10);
б) для выделения первой цифры (переменная a2) нужно найти целую часть от деления числа на 10;
в) искомое число b получим, если умножим a1 на десять и к полученному произведению прибавим значение переменной a2.
3.3. Вывод результата.
4. Описание переменных.
Все переменные, определенные для решения задачи, имеют тип integer.
Пример 16.5. В исторической книге, которую читала Таня, длина отреза ткани измерялась в локтях. Напишем для Тани программу, которая переведет локти в метры и сантиметры.
Этапы выполнения задания:
1. Определение исходных данных: переменная l (локти).
2. Определение результатов: переменные m (метры) и s (сантиметры).
3. Алгоритм решения задачи:
3.1. Ввод исходных данных.
3.2. Сначала переведем локти в сантиметры. Для этого количество локтей нужно умножить на 45 и сохранить значение в переменной x.
3.3. Для определения числа метров найдем целую часть от деления x на 100.
3.4. Оставшиеся сантиметры можно найти как остаток от деления x на 100.
3.5. Вывод результата.
4. Описание переменных:
Все переменные, определенные для решения задачи, имеют тип integer.
В PascalABC определены различные типы данных для работы с целыми числами, позволяющие выполнять действия над данными из разных числовых диапазонов. Чем больше диапазон, тем больше места в памяти компьютера отводится для хранения переменных. Некоторые целочисленные типы данных:
|
Пример 16.1. Ошибка использования операции деления для целочисленных типов данных: Пример 16.2. 5. Программа:
6. Тестирование программы. Запустите программу и введите значения a = 11 и b = 4. Результат работы программы должен быть следующим: Результат операций div и mod для разных чисел:
Если проанализировать данные из таблицы, то можно понять, что a mod b = a — ( a div b ) * b . |
Пример 16.3. 5. Программа:
6. Тестирование программы . Запустите программу и введите значения c = 137. Результат работы программы должен быть следующим: Пример 16. 4 . 5. Программа :
6. Тестирование программы . Запустите программу и введите значения a = 25. Результат работы программы должен быть следующим: Издавна на Руси применялась система мер, отличная от современной Международной системы единиц (СИ). Например: 1 аршин = 16 вершков, 1 вершок = 4 ногтя, Пример 16.5. 5. Программа:
6. Тестирование программы. Запустите программу и введите значение t l = 7. Результат работы программы должен быть следующим: |