ОФ
Ольга Фомина

Помогите создать программу на Pascal ABC

Банкомат должен выдать s рублей.
У него есть купюры номиналом 50,100,500,1000р. Сколько купюр разного достоинства выдаст банкомат, начиная с самых крупных.
Я сделал так:
Program bankomat;
var
a,b,c,d,s:integer; // a=50р b=100р c=500р d=1000р s=введенная сумма
BEGIN
readln(s);
for a:=1 to 1000 do
for b:=1 to 500 do
for c:=1 to 100 do
for d:=1 to 50 do
if ???then
writeln(d,' Купюр (а) по 1000 ',c,' Купюр (а) по 500 ',b,' Купюр (а) по 100 ' ,a,' Купюр (а) по 50');
end.

Но не знаю какую формулу нужно подставить вместо "???"

А если потребуется ввести тысяч так 12. Грамостко. Но ты мне помог тем, что я забыл про "mod".

Боюсь, что это тоже не совсем то, что мне нужно. Информатике наш в школе не учат (зашел со страницы папы) . Я занимаюсь дополнительно с репетитором.

На данный момент у меня так:
Program bankomat;
var
a,b,c,d,s:integer; // a=50р b=100р c=500р d=1000р s=введенная сумма
BEGIN
readln(s);
for a:=1 to s mod 50 do
for b:=1 to s mod 100 do
for c:=1 to s mod 500 do
for d:=1 to s mod 1000 do
if (a*50+b*100+c*500+d*1000=s) then
writeln(d,' Купюр (а) по 1000 ',c,' Купюр (а) по 500 ',b,' Купюр (а) по 100 ' ,a,' Купюр (а) по 50');
end.

Ответ должен получиться в роде этой прораммы:
program p2;
var
K,B,T:integer;
BEGIN
for B:=1 to 10 do
for K:=1 to 20 do
for T:=1 to 200 do
if (B*10+K*5+T*0.5=100) then
writeln(' Быков ',B,' Коров ',K,' Телят ',T);
end.
____________________________________________________
Быков 1 Коров 1 Телят 170
Быков 1 Коров 2 Телят 160
Быков 1 Коров 3 Телят 150
Быков 1 Коров 4 Телят 140
Быков 1 Коров 5 Телят 130
Быков 1 Коров 6 Телят 120
Быков 1 Коров 7 Телят 110
Быков 1 Коров 8 Телят 100
Быков 1 Коров 9 Телят 90
Быков 1 Коров 10 Телят 80
Быков 1 Коров 11 Телят 70
Быков 1 Коров 12 Телят 60
Быков 1 Коров 13 Телят 50
Быков 1 Коров 14 Телят 40
Быков 1 Коров 15 Телят 30
Быков 1 Коров 16 Телят 20
Быков 1 Коров 17 Телят 10
Быков 2 Коров 1 Телят 150
Быков 2 Коров 2 Телят 140
Быков 2 Коров 3 Телят 130
Быков 2 Коров 4 Телят 120
Быков 2 Коров 5 Телят 110
Быков 2 Коров 6 Телят 100
Быков 2 Коров 7 Телят 90
Быков 2 Коров 8 Телят 80
Быков 2 Коров 9 Телят 70
Быков 2 Коров 10 Телят 60
Быков 2 Коров 11 Телят 50
Быков 2 Коров 12 Телят 40
Быков 2 Коров 13 Телят 30
Быков 2 Коров 14 Телят 20
Быков 2 Коров 15 Телят 10
Быков 3 Коров 1 Телят 130
Быков 3 Коров 2 Телят 120
Быков 3 Коров 3 Телят 110
Быков 3 Коров 4 Телят 100
Быков 3 Коров 5 Телят 90
Быков 3 Коров 6 Телят 80
Быков 3 Коров 7 Телят 70
Быков 3 Коров 8 Телят 60
Быков 3 Коров 9 Телят 50
Быков 3 Коров 10 Телят 40
Быков 3 Коров 11 Телят 30
Быков 3 Коров 12 Телят 20
Быков 3 Коров 13 Телят 10
Быков 4 Коров 1 Телят 110
Быков 4 Коров 2 Телят 100
Быков 4 Коров 3 Телят 90
Быков 4 Коров 4 Телят 80
Быков 4 Коров 5 Телят 70

Ольховский
Ольховский

неа, не так.
пусть сумма х

x div 1000 - кол-во 1000
x1 = x mod 1000 - остаток
x1 div 500 - кол-во 500
x2 = x1 mod 500
и т. д. пока 0 не получим

ГН
Головашина Наталия

по моему ты не понял вопрос

SK
Sheryl Keltso

По твоей программе чтобы выдать деньги надо четверть миллиарда действий вместо нужных семи 😉

Program bankomat;
var s:integer;
begin
readln(s);
writeln('1000: ',s div 1000); s:=s mod 1000;
writeln(' 500: ',s div 500); s:=s mod 500;
writeln(' 100: ',s div 100); s:=s mod 100;
writeln(' 50: ',s div 50); readln
end.

Так как действия повторяются, немного сложнее, но красивее будет вариант программы с циклом:

var s,i:integer;
const a:array[1..4]of integer=(1000,500,100,50);
begin
readln(s); for i:=1 to 4 do
begin write(a[ i]:8,s div a[ i]:4); s:=s mod a[ i] end;
writeln; readln
end.

P.S. "Ответ должен получиться в роде этой прораммы: "
Очень нерационально написанной, заметим. А простыни с выводом всех возможных комбинаций вообще непонятно, кому могут быть нужны...

Похожие вопросы
составить программу в ABC Pascal
составте программу или помогите ( pascal ABC)
помогите написать программу Pascal ABC
помогите решить задачу по программе Pascal ABC
нарисовать машину, создать анимацию в pascal ABC (программу если можно)
нужна программа на с++ или pascal abc
Pascal создать программу
Помогите по Pascal ABC
Pascal abc помогите . Составить программу ...в фото
Создать программу в Pascal ABC, а Вас слабо?