Программа (в целых числах):
var
m, n, x, o: integer;
begin
write('введите массу мешка крупы (кг): m= ');
readln(m);
write('введите массу малых мешочков (г): n= ');
readln(n);
x := 1000*m div n;
o := 1000*m mod n;
writeln('получится малых мешочков: ', x, ' шт.');
writeln('и останется крупы: ', o, ' г');
end.
Программа сложнее (массу мешка можно ввести дробную):
var
m: real;
m2, n, x, o: integer;
begin
write('введите массу мешка крупы (кг), можно с точностью до грамма: m= ');
readln(m);
write('введите массу малых мешочков (г), целое число: n= ');
readln(n);
m2 := Trunc(1000*m);
x := m2 div n;
o := m2 mod n;
writeln('получится малых мешочков: ', x, ' шт.');
writeln('и останется крупы: ', o, ' г');
end.
Объяснение:
Расчёты сделаны на основе целочисленного деления (div) и нахождения остатка от целочисленного деления (mod).
Первая версия программы (с целой массой m)- проще, и лучше наверное использовать её.
Во второй версии массу большого мешка (m) я сделал как дробное число- тип real (чтобы её можно было ввести с точностью до грамма).
Перевод массы в целое число грамм там сделан с отбрасыванием дробной части (с помощью функции Trunc).