IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Парикмахерская, программа
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 22
Пол: Мужской

Репутация: -  0  +


Парикмахерская. Для каждого посетителя парикмахерской (с одним мастером) известны следующие величины: t – момент его прихода и τ – продолжительность его обслуживания. Сколько клиентов обслужит мастер за смену продолжительностью Т? Сколько рабочего времени он потратит на обслуживание?
Момент прихода и продолжительность обслуживания вводятся пользователем..
Помогите,плизз,если кто может..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Привет!
> ReadLn считывает данные с экрана.
> От read отличается тем что после считывания данных
> с одной строки обеспечивает переход на другую!
Это все так.. но вопрос был, зачем он здесь.

> Убрал я его...программа не запустилась на выполнение.
Что-то не так..
Ага, кажется, я понял! Думаю, произошло следующее: программа отработала, но так быстро, что ты даже не заметил этого! smile.gif
Тот самый ReadLn используется для задержки. Программа доходит до него и ждет нажатия на клавишу Enter. Это дает тебе возможность увидеть результат работы программы до того, как она закончит работу. Сразу после окончания работы ты будешь возвращен в редактор, и результаты работы программы окажутся как бы "под тектом программы". Если ReadLn отсутствует, то результат мгновенно скрывается, так как программа работает фактически миллисекунды.. Увидеть их все равно можно, для этого нужно нажать Alt-F5. Возвращение в редактор - любая клавиша.
Пожалуйста, попробуй снова.

> А в фигурных скобках он у нас просто комментарием станет..
> то есть программа выполнять эту строчку не будет.
Да. Это можно использовать, если ты хочешь убрать кусок программы временно, чтоб не перенабирать или даже не перекопировать его.

> Прежде всего обьявлением новой переменной "n",
> которая стала означать масимальное число клиентов.
Нет, не максимальное, а именно точное число клиентов, ввод данных о которых последует ниже (чем мы сегодня и займемся).

Все остальное верно и не нуждается в уточнениях smile.gif. Надеюсь, ты проверил, что все работает.

> Работаю в Turbo Pascal 7.0...
Ок, учту.
Можем двинуться дальше..
Вот очередной шаг вперед (третий). Здесь я ввожу массив данных. Это область памяти, которая содержит несколько одинаковых ячеек памяти (в данном случае - сто ячеек типа real), сноабженных одним именем (в данном случае TimeIn), но с индексом. Обращение к каждой ячейке осущемтвляется так:
TimeIn[i]
Количество элементов массива в данном случае 100 (с 1 по 100). Оно должно быть заведомо больше того, что может потребоваться в программе (в данном случае - больше реального количества клиентоа за день). Я взял 100, как достаточное число. Именно это число можно назвать максимальным количеством клиентов (см. мое замечание выше).

Для заполнения массива (а также для вывода его элементов) мы используем цикл FOR. для этого цикла нужна переменная целого типа, которая по смыслу будет означать текущий номер клиента. Ее я назвал i и описал в разделе var (найди это описание).

Посмотри все внимательно, разбери и запусти прогу. Если что-то непонятно - спрашивай. Если все понятно - попробуй ввести еще один массив, который будет содержать время, нужное для стрижки каждого клиента. Оно тоже должно вводится с клавы (по условию). То есть, например, клиент №1 пришел в 10:30 (то есть в 10.5 часов) стричься полубоксом, что требует 20 мин (то есть 0.3 часа) - и так про каждого по возрастанию времени прихода. Если не получится - все равно приходи скорее, не тяни резину - покажи, что получается.
Чао, успехов! smile.gif
{ for Don, BarberShop, ver.03, 24/11/06 }
{ by Lapp }

var
TimeIn:array[1..100]of real; {время прихода кждого клиента}
TOpen,TClose:real;
n,i:integer; {общее число клиентов}

begin
TOpen:=9; {время открытия парикмахерской}
TClose:=17; {время закрытия}
WriteLn;
WriteLn('The Barber''s shop is open ',tOpen:4:2,' through ',tClose:4:2);
Write('Vvedite obshee chislo clientov: ');
ReadLn(n); {ввод числа клиентов}
WriteLn('Vvedite vremya prihoda kazhdogo klienta po poraydku:');
for i:=1 to n do ReadLn(TimeIn[i]);
WriteLn('Barber shop posetili ',n,' klientov. Vremya prihoda:');
for i:=1 to n do WriteLn(i,': ',TimeIn[i]: 4:2);
ReadLn
end.

Извиняюсь, забыл вставить код.. Типа в профессоры заделался.. smile.gif)))
Исправлюсь smile.gif

Сообщение отредактировано: volvo -


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Дон   Парикмахерская   21.11.2006 2:21
lapp   Задачи на моделирование встречаются не очень часто…   21.11.2006 10:49
Дон   Я в паскале очень слаб...он у нас идет первый го…   21.11.2006 17:46
lapp   сегодня-завтра сбегаю за учебником по паскалю и на…   22.11.2006 6:21
lapp   Дон, я понял, что надо не так резко. Начнем с само…   23.11.2006 20:10
Дон   Это мы обьявляем две переменные.Время открытия и…   23.11.2006 22:28
lapp   > Потом мы взяли эти переменные и присвоили им …   24.11.2006 7:46
Дон   ReadLn считывает данные с экрана.От read отличае…   25.11.2006 1:44
lapp   Привет! > ReadLn считывает данные с экрана.…   25.11.2006 15:13
Дон   Попробовал. Да,когда ReadLn отсутствует,то прогр…   25.11.2006 20:58
lapp   Тут ошибку выдал...">" expected.Закл…   26.11.2006 5:09
Дон   Все отлично работает))) { for Don, BarberShop…   26.11.2006 19:07
lapp   И..как задавать как он хочет стричься?допустим у …   27.11.2006 13:17
Дон   честно говоря не понял...а смысл?если пришел оди…   29.11.2006 1:53
lapp   > честно говоря не понял...а смысл? внимательно…   29.11.2006 6:42
lapp   Дон, ты сдался? надоело?.. Еще одна зарубка в ря…   1.12.2006 9:53
Дон   Вот уж фигушки... Ничего я не сдался..стыдно прост…   1.12.2006 18:49
lapp   Вот уж фигушки... Ничего я не сдался.. И правиль…   2.12.2006 3:48
Дон   В принципе да..курсовую через три дня сдавать) …   2.12.2006 23:40
lapp   Все работает и пока что все ясно! Это очень х…   6.12.2006 8:04
Дон   Мда..все-таки комментарии вещь хорошая...без них б…   7.12.2006 1:32
Lapp   А как вывести в начале программы большими белыми …   7.12.2006 11:39
Дон   Можно в принципе и на английсском...я просто хот…   7.12.2006 12:31
Lapp   Можно в принципе и на английсском...я просто хоте…   7.12.2006 13:08
Дон   И цвет фона поменял и текста,только... Нужно что…   8.12.2006 2:24
Lapp   [code]begin TextColor(2); Write(…   8.12.2006 6:49
Дон   Вот какая фигня...текст-то он окрасил... Только …   9.12.2006 1:25
Lapp   когда я задаю Uses Crt; в начале программы,CTRL-Z…   9.12.2006 15:35
Гость   Зашел,почитал...не разобрался :unsure: мы должн…   9.12.2006 17:20
Lapp   Зашел,почитал...не разобрался :unsure: Такое та…   9.12.2006 17:28
Дон   неа..признаться честно,не нашел.. CheckEof:Bool…   10.12.2006 1:27
Lapp   > неа..признаться честно,не нашел.. Но теперь-т…   10.12.2006 9:08
Дон   нет..признаться,с ними я не знаком.. В раздел…   10.12.2006 20:00
Lapp   В разделе CRT?Нету!я даже поиск давал по глав…   11.12.2006 9:12
Дон   У нас по приложению 4-Типы данных! не могу на…   12.12.2006 4:08
Lapp   > У нас по приложению 4-Типы данных! Это Гл…   12.12.2006 6:16
Дон   Усе..найдено))) спасибо большое :give_rose: …   13.12.2006 2:35
Lapp   > Усе..найдено))) Вывод: внимательнее относись …   13.12.2006 8:35
Дон   Прошелся по программе...возникло несколько вопросо…   14.12.2006 21:29
Lapp   > Прошелся по программе...возникло несколько во…   15.12.2006 8:42
Дон   А то... Я почему постоянно переспрашиваю..глупос…   16.12.2006 20:51


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.09.2024 3:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name