Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Приклад 7.4






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

Легко побачити, що час перебування кожного покупця у черзі дорівнює сумарному часу обслуговування його та всіх попередніх покупців. Якщо позначити час обслуговування і-го покупця змінною ti, а час його перебування в черзі — servi то це значення визначається за формулою servi = t1 + t2 +... + ti. Можна застосувати рекурентну формулу, згідно з якою час перебування покупця в черзі визначається як сума часу його обслуговування та часу перебування в черзі попереднього покупця: servi = servi-1 + ti. Якщо час обслуговування n покупців подати у вигляді n-елементного масиву, то номер покупця з мінімальним часом обслуговування — це індекс мінімального елемента в масиві. Програмне розв'язання цієї задачі наведено нижче.

Program EX7_4;
var
n, i: integer;
t: array [1..10] of real;
serv: array [1..10] of real;
nom: integer;
min: real;
begin
randomize;
Writeln('defining the number of buyer with a minimum service time');
writeln('enter number of the buyers (< =10)');
readln(n);
for i: =1 to n do
t[i]: =random*10;
writeln('service time of the buyers');
for i: =1 to n do
write(t[i]: 5: 2, ' ');
writeln;
serv[1]: =t[1];
for i: =2 to n do
serv[i]: =serv[i-1]+t[i];
writeln('service time');
for i: =1 to n do
write(serv[i]: 5: 2, ' ');
writeln;
nom: =1;
min: =t[1];
for i: =2 to n do
if t[i]< min then
begin
min: =t[i];
nom: =i;
end;
write('number of buyer having min service time =');
writeln(nom);
end.

Рис. 7.2. Результати роботи програми ех7_4. Визначення номера покупця з мінімальним часом обслуговування

Демонстрація прикладу

Зауважимо, що кількість циклів і масивів, які входять до складу програми ех7_4, може бути зменшена. Спробуйте розв'язати задачу з прикладу 7.4, використовуючи якомога менше циклів та масивів.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.