Лабораторная работа № 4. Цель работы: освоить работу с простой переменной и алгоритмами их обработки при решении задач целочисленной арифметики

Тема: РАБОТА С ПРОСТОЙ ПЕРЕМЕННОЙ. АЛГОРИТМЫ ЦЕЛОЧИСЛЕННОЙ АРИФМЕТИКИ

Цель работы: освоить работу с простой переменной и алгоритмами их обработки при решении задач целочисленной арифметики.

Типовые алгоритмы обработки простой переменной

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

Положим, что в декларативной части программы описаны следующие переменные: number, number1, number2 – целые числа, подлежащие обработке; temp – переменная для хранения цифры числа; delit – делитель числа; kolDel – количество делителей числа.

Для выделения цифры из числа будем использовать целочисленные операции div (целая часть) и mod (остаток от деления).

0. Ввод числа будем выполнять стандартными средствами:

WriteLn(’Введите целое число’); // вывели сообщение на экран

ReadLn(number); // ввели число с клавиатуры

Выделение цифр в числе

Для выделения последней цифры в числе используется операция mod. Например, при выделении последней цифры числа 123 в десятичной системе счисления имеем: 123 mod 10=3, т.е. находим остаток от деления числа на основание системы счисления.

Для вычисления второй цифры необходимо уменьшить число на один разряд, разделив его на основание системы счисления, и найти последнюю цифру полученного числа. Например, из выражения 123=12*10+3 имеем: 123 div 10=12 и, аналогично, 12 mod 10=2. Эту процедуру следует повторять пока в результате деления не получим число 0. Указанный алгоритм приведен ниже:

while number<>0 do begin

temp:=number mod 10; {temp - последняя цифра числа number}

number:=number div 10 {уменьшение числа number на один разряд}

end;

2. Нахождение д елителей числа

Делители числа лежат в диапазоне от 2 до половины числа. Например, делителями числа 15 являются числа: 3 (3 ≥ 2) и 5 (5 ≤ 7=15 div 2). Для нахождения всех делителей необходимо проверить кратность числа number всем числам delit из допустимого диапазона. Кратность числа проверяется с помощью операции mod. Если число number кратно некоторому числу delit, то остаток от деления будет равен 0. Например, 15 mod 3=0 и 15 mod 5=0.

for delit:=2 to number div 2 do // проверяем все числа из допустимого диапазона

if number mod delit=0 then // если число delit – делитель числа number

write(delit, ’ ’); // выводим его


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: