
PASCAL ABC Автомат отпускает максимум N единиц товара по Z рублей за одну единицу и выдает сдачу.
У каждого покупателя S рублей. Составить программу обслуживания автоматом очереди из K покупателей.

Ответы на вопрос

Ответ:
var n,z,s,k,i,p,rez1,rez2:integer;
begin
write ('Кол-во покупателей = ');
readln (k);
write ('Стоимость товара за 1 шт = ');
readln (z);
write ('Количество товара = ');
readln (n);
write ('Денег у каждого покупателя = ');
readln (s);
for i:=1 to k do
begin
//сколько мы можем продать - n
Randomize;
n:= Random(6);
if (n>=p) and (p*z<=s) then
begin
rez2:=s-p*z;//сдача
n:=n-p;//осталось товара
writeln('сдача ',i,'-му покупателю ',rez2);
end
else
begin
writeln('Не хватает товара или денег');// на случаи сделать
break;
end;
end;
end.



Да, конечно, я могу помочь вам написать программу на языке Pascal ABC для обслуживания автомата по продаже товаров. Для начала опишем задачу более подробно.
Предположим, у нас есть автомат, который может отпускать максимум N единиц товара по цене Z рублей за одну единицу. Каждый покупатель имеет S рублей и ждет своей очереди. Автомат выдает сдачу. Нам нужно написать программу, которая будет обслуживать очередь из K покупателей.
Давайте начнем с написания простого кода на Pascal ABC. Ваш вопрос довольно общий, поэтому я предоставлю базовый пример, который вы можете доработать в зависимости от конкретных требований:
```pascal program VendingMachine;
const N = 5; // максимум единиц товара Z = 10; // цена за одну единицу товара K = 3; // количество покупателей S = 20; // количество денег у каждого покупателя
var i, quantity, change, totalMoney: integer;
begin totalMoney := 0; // общая сумма денег, полученная от покупателей
for i := 1 to K do begin writeln('Покупатель ', i, ' вставляет ', S, ' рублей.');
// проверяем, достаточно ли денег для покупки if S >= Z then begin quantity := S div Z; // количество единиц товара, которые покупатель может купить change := S mod Z; // сдача
// проверяем, не превышено ли максимальное количество единиц товара if quantity > N then quantity := N;
writeln('Покупатель ', i, ' купил ', quantity, ' товара за ', quantity * Z, ' рублей.'); writeln('Сдача: ', change, ' рублей.');
totalMoney := totalMoney + quantity * Z; // обновляем общую сумму денег
// здесь могут быть дополнительные действия, связанные с обслуживанием автомата
end else begin writeln('У покупателя ', i, ' недостаточно денег для покупки товара.'); end;
writeln; end;
writeln('Общая сумма денег, полученная от покупателей: ', totalMoney, ' рублей.'); end. ```
Этот код представляет собой простую симуляцию обслуживания покупателей автоматом. Вы можете настроить значения констант N, Z, K, и S, чтобы соответствовать вашим требованиям. Кроме того, вы можете добавить дополнительные шаги или условия в цикл для более сложного обслуживания.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili