Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MED_INFORMATIKA.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
425.49 Кб
Скачать

Лабораторная работа №6. Решение задач целочисленной арифметики

Цель работы: Овладеть навыками программирования на языке Turbo Pascal задач целочисленной арифметики

В задачах целочисленной арифметики очень часто используется арифметическая операция вычисления целочисленного остатка или частного от деления одного натурального числа на другое. Для реализации этих операций в Turbo Pascal предусмотрены операторы целочисленного деления div и mod. Здесь div  целое частное от деления, mod  целочисленный остаток от деления.

Например:

9 div 4 = 2 25 div 5 = 5

9 mod 4 = 1 25 mod 5 = 0

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

Рассмотрим решение типовых задач целочисленной арифметики.

Задание 1. Нахождение остатка от деления

Составьте программу вычисления целочисленного остатка от деления натурального числа N на натуральное число Q.

Program arifm_1;

var n, q, ostat: integer;

begin

Writeln (Введите натуральные числа n, q);

Read (n,q);

оstat : = n mod q;

Writeln (Остаток от деления равен, оstat)

end.

Задание 2. Проверка числа на делимость

Составьте программу, выясняющую, является ли натуральное число Q делителем числа N.

Учитывая, что число Q является делителем числа N тогда и только тогда, когда остаток от деления N на Q (N mod 0) равен нулю, составляем программу:

Program arifm_2;

var n, q, ostat: integer;

begin

Writeln (‘Введите натуральные числа N, Q’);

Read (n, q);

ostat:=n mod q;

if ostat=0 then Writeln( 'N делится на Q нацело ')

else Writeln( 'N не делится на Q нацело')

end.

Задание 3. Подсчет числа делителей

Составьте программу подсчета числа делителей натурального числа N.

Program arifm_3;

var n, i, kol: integer;

begin

Writeln ('Введите число N');

Read (n);

kol:=0;

for i:=1 to n do

if n mod i = 0 then kol:=kol +1;

Write(' Количество делителей числа ’,n : 4, ’ равно ’ ,kol)

end.

Задание 4. Подсчет суммы нечетных делителей

Составьте программу вычисления суммы нечетных делителей натурального числа N.

Program arifm_4;

var n, i, s : integer;

begin

Writeln (' Введите число ');

Read(n);

s:=0;

for i:=1 to n do

if (n mod i=0) and (i mod 2<>0) then s:=s+i;

Write ('Сумма нечетных делителей ’,n:4,' равна ',s)

end.

Задание 5. Простые и составные числа

Составьте программу, выясняющую, простым или составным является заданное число N.

Так как число N является простым только тогда, когда число делителей N равно двум (1 и N), то немного изменив программу из Задания 4, получим:

Program arifm_5;

var n, i, kol: integer;

begin

Writeln (' Введите число ');

read(n);

kol:=0;

for i:=1 to n do

if n mod 1= 0 then kol:= kol+1;

if kol =2 then Write(‘ Введенное число простое ’)

else Write(‘ Введенное число составное ’)

end.

Задание 6. Решение задач по теме

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]