Парикмахерская, программа |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Парикмахерская, программа |
Дон |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 22 Пол: Мужской Репутация: 0 |
Парикмахерская. Для каждого посетителя парикмахерской (с одним мастером) известны следующие величины: t – момент его прихода и τ – продолжительность его обслуживания. Сколько клиентов обслужит мастер за смену продолжительностью Т? Сколько рабочего времени он потратит на обслуживание?
Момент прихода и продолжительность обслуживания вводятся пользователем.. Помогите,плизз,если кто может.. |
Дон |
Сообщение
#2
|
Новичок Группа: Пользователи Сообщений: 22 Пол: Мужской Репутация: 0 |
Цитата Ты еще не упомянул самый последний оператор, ReadLn. Зачем он? ReadLn считывает данные с экрана.От read отличается тем что после считывания данных с одной строки обеспечивает переход на другую! Цитата Совет: попробуй его убрать (или заключить в фигурные скобки {} ). Убрал я его...программа не запустилась на выполнение.А в фигурных скобках он у нас просто комментарием станет..то есть программа выполнять эту строчку не будет. Цитата 1. Рассмотри, чем отличается новый вариант. Прежде всего обьявлением новой переменной "n",которая стала означать масимальное число клиентов.Тип данных этой переменной Integer,значения которого могут приобретать от -32768 до +32767. Также появились еще две строчки: Код Write('Vvedite obshee chislo clientov: '); ReadLn(n); {ввод числа клиентов} Мы предлагаем ввести общее число клиентов,а процедура Readln считывает введенное число. Цитата 2. Почему для вывода запроса на ввод количества клиентов я использую Write, а не WriteLn? Потому что так удобнее.Если бы использовали Writeln,то данные бы вводили на следующей строчке.а так вводим на той же где и запрос...красивше так) Цитата Еще вопрос: в чем ты работаешь? Работаю в Turbo Pascal 7.0... |
Lapp |
Сообщение
#3
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Привет!
> ReadLn считывает данные с экрана. > От read отличается тем что после считывания данных > с одной строки обеспечивает переход на другую! Это все так.. но вопрос был, зачем он здесь. > Убрал я его...программа не запустилась на выполнение. Что-то не так.. Ага, кажется, я понял! Думаю, произошло следующее: программа отработала, но так быстро, что ты даже не заметил этого! Тот самый ReadLn используется для задержки. Программа доходит до него и ждет нажатия на клавишу Enter. Это дает тебе возможность увидеть результат работы программы до того, как она закончит работу. Сразу после окончания работы ты будешь возвращен в редактор, и результаты работы программы окажутся как бы "под тектом программы". Если ReadLn отсутствует, то результат мгновенно скрывается, так как программа работает фактически миллисекунды.. Увидеть их все равно можно, для этого нужно нажать Alt-F5. Возвращение в редактор - любая клавиша. Пожалуйста, попробуй снова. > А в фигурных скобках он у нас просто комментарием станет.. > то есть программа выполнять эту строчку не будет. Да. Это можно использовать, если ты хочешь убрать кусок программы временно, чтоб не перенабирать или даже не перекопировать его. > Прежде всего обьявлением новой переменной "n", > которая стала означать масимальное число клиентов. Нет, не максимальное, а именно точное число клиентов, ввод данных о которых последует ниже (чем мы сегодня и займемся). Все остальное верно и не нуждается в уточнениях . Надеюсь, ты проверил, что все работает. > Работаю в Turbo Pascal 7.0... Ок, учту. Можем двинуться дальше.. Вот очередной шаг вперед (третий). Здесь я ввожу массив данных. Это область памяти, которая содержит несколько одинаковых ячеек памяти (в данном случае - сто ячеек типа real), сноабженных одним именем (в данном случае TimeIn), но с индексом. Обращение к каждой ячейке осущемтвляется так: TimeIn[i] Количество элементов массива в данном случае 100 (с 1 по 100). Оно должно быть заведомо больше того, что может потребоваться в программе (в данном случае - больше реального количества клиентоа за день). Я взял 100, как достаточное число. Именно это число можно назвать максимальным количеством клиентов (см. мое замечание выше). Для заполнения массива (а также для вывода его элементов) мы используем цикл FOR. для этого цикла нужна переменная целого типа, которая по смыслу будет означать текущий номер клиента. Ее я назвал i и описал в разделе var (найди это описание). Посмотри все внимательно, разбери и запусти прогу. Если что-то непонятно - спрашивай. Если все понятно - попробуй ввести еще один массив, который будет содержать время, нужное для стрижки каждого клиента. Оно тоже должно вводится с клавы (по условию). То есть, например, клиент №1 пришел в 10:30 (то есть в 10.5 часов) стричься полубоксом, что требует 20 мин (то есть 0.3 часа) - и так про каждого по возрастанию времени прихода. Если не получится - все равно приходи скорее, не тяни резину - покажи, что получается. Чао, успехов! { for Don, BarberShop, ver.03, 24/11/06 } Извиняюсь, забыл вставить код.. Типа в профессоры заделался.. ))) Исправлюсь Сообщение отредактировано: volvo - -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 28.09.2024 3:28 |