Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2012, 15:30   #1
I_love_dvorak
Новичок
Джуниор
 
Регистрация: 16.12.2012
Сообщений: 14
Вопрос Составить программу, помогающую администратору гостиницы (pascal)

Привет, народ
Изучаю основы программирования и нашел вот такую задачку:
Цитата:
Составить программу, помогающую администратору гостиницы. В гостинице восемь этажей. На первом этаже - административные помещения и ресторан; на втором - восемь двухкомнатных номеров класса люкс; на третьем и четвертом - по шестнадцать одноместных номеров; на остальных этажах по шестнадцать двухместных однокомнатных номеров на каждом этаже. О каждом номере известна следующая информация: номер свободен, номер забронирован, номер занят, в номере живет один человек (мужчина или женщина), в этом случае известна следующая информация: с правом подселения или нет (если номер двухместный), прибыл в командировку, прибыл в частном порядке. По требованию администратору выдавать информацию:
  • о свободных номерах
  • о свободных мужских местах в номерах с указанием номера
  • о свободных женских местах в номерах с указанием номера
  • о гостях приехавших в командировку с указанием номеров, в которых они живут
  • о гостях, приехавших в частном порядке
  • о забронированных номерах
Примечание.
Номера в гостинице имеют три цифры. Самая старшая (левая) цифра - номер этажа, оставшиеся две - номер на этаже.
Дак вот. Спортивный интерес не могу свой удовлетворить. На Ruby сделал, а на Паскале никак не могу понять, как делать. Помогите, кто чем может ^_^
З.Ы. Я работаю админом, а не студент, не надо меня ругать
UPD: Массив использовать нельзя. Все записывается/читается из файла, например, table.dat. В руби все делается легко с case и csv. В паскале же не могу работать с файлом в процедуре, ибо процедура пишется перед собственно началом программы, где файл прочитать никак нельзя. Соответственно в case не запихнуть никакой метод. Объектов с классами тоже нет. Полевые условия

Последний раз редактировалось I_love_dvorak; 16.12.2012 в 15:41. Причина: Добавил еще условия
I_love_dvorak вне форума Ответить с цитированием
Старый 16.12.2012, 15:45   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ибо процедура пишется перед собственно началом программы, где файл прочитать никак нельзя.
Ложь. Вызывается процедура все равно где-то исходя из главной программы. Так что не имеет значения где ты описал процедуру.
Цитата:
Объектов с классами тоже нет.
Ложь. Есть. Особенно в новых Делфи и ФриПаскале. Старый досовский не бери - не удобно.

Как выглядит на Руби показать можешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2012, 15:51   #3
I_love_dvorak
Новичок
Джуниор
 
Регистрация: 16.12.2012
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ложь. Вызывается процедура все равно где-то исходя из главной программы. Так что не имеет значения где ты описал процедуру.
Это странно, так как в учебниках и примерах процедуры в старом добром паскале описываются между var и begin. Мне ведь нужно сделать assign().
З.Ы. Запостю на руби, как попаду домой И оно мало чего общего, здается мне, имеет с паскалевским кодом

Последний раз редактировалось I_love_dvorak; 16.12.2012 в 15:54. Причина: Добавил З.Ы.
I_love_dvorak вне форума Ответить с цитированием
Старый 16.12.2012, 16:05   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
так как в учебниках и примерах процедуры в старом добром паскале описываются между var и begin.
Фигасе учебники... Впрочем что только в желтой прессе не пишут )
Цитата:
Мне ведь нужно сделать assign().
Но это не говорит что этот ассигн будет вне доступа основной программы.
Цитата:
оно мало чего общего, здается мне, имеет с паскалевским кодом
Не важно. Сконвертировать можно. Я то Питон и Паскаль подружил друг с дружкой, и успешно перевожу некоторые проекты на питон. и обратно, так что не слушай тех кто говорит категорическое нет. Выглядеть прога точь-в-точь не обязана.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2012, 16:34   #5
I_love_dvorak
Новичок
Джуниор
 
Регистрация: 16.12.2012
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не важно. Сконвертировать можно. Я то Питон и Паскаль подружил друг с дружкой, и успешно перевожу некоторые проекты на питон. и обратно, так что не слушай тех кто говорит категорическое нет. Выглядеть прога точь-в-точь не обязана.
Я про CSV говорю.
I_love_dvorak вне форума Ответить с цитированием
Старый 16.12.2012, 16:37   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

CSV это файл с полями разделенными ";" ?
Если да то в паскале его считывать не сложно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2012, 16:42   #7
I_love_dvorak
Новичок
Джуниор
 
Регистрация: 16.12.2012
Сообщений: 14
По умолчанию

Код:
 def initialize(filename)
    @file = CSV.open(filename, {headers: true, header_converters: :symbol})
  end
Вот что-то вроде этого нужно.
Код:
def print_names
    @file.each do |line|
      puts line[:first_name]
    end
  end
и вот этого. И тогда я сделаю
I_love_dvorak вне форума Ответить с цитированием
Старый 16.12.2012, 17:08   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ясно. Сделаю. Какой паскаль?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2012, 17:09   #9
I_love_dvorak
Новичок
Джуниор
 
Регистрация: 16.12.2012
Сообщений: 14
По умолчанию

Вроде как обыкновенный Спасибо большое

А, ок, ок. Турбо. Сори.

Последний раз редактировалось I_love_dvorak; 16.12.2012 в 17:11. Причина: УПД
I_love_dvorak вне форума Ответить с цитированием
Старый 16.12.2012, 17:10   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Цитата:
Вроде как обыкновенный
Turbo Pascal
Free Pascal
Pascal ABC
Pascal ABC NET
Delphi
так что... лучше поточнее
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СОСТАВИТЬ ПРОГРАММУ ПО Turbo Pascal RUSSTUDENT Фриланс 11 16.02.2010 17:20
Cоставить программу на ассемблере, помогающую в запоминании исторических дат Tatiana_S Помощь студентам 3 26.01.2010 23:12
Составить программу, помогающую в запоминании исторических дат Tatiana_S Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 26.01.2010 22:54
Помогите составить программу в turbo pascal denis15 Помощь студентам 3 09.06.2009 17:23
Помогите составить программу в turbo pascal denis15 Помощь студентам 1 05.06.2009 18:43