Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

24 Июнь 2019, 18:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3   Вниз
  Печать  
Автор Тема: Расписание  (Прочитано 21298 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #30: 22 Апрель 2011, 09:23 »

На Access создано больше практических баз данных, чем на всех остальных вместе взятых.

Access не база данных, впрочем как и Base.

Не понимаю товарищей советующих не использовать его, а использовать MySQL. Это всё равно, что советовать не смотреть телевизор, а смотреть НТВ.
Записан

Свобода информации - свобода личности!
RFJ
Форумчанин
***
Offline Offline

Сообщений: 220


« Ответ #31: 22 Апрель 2011, 09:31 »

Неужели Бэйз загнется?
Нормально он отработает.
В этой задаче не нужны навороченные базы данных.
Здесь главное - правильный алгоритм поиска решения (составления расписания).

Цитата:
Я вообще о Калке сначала думал и макросах.
Для этой задачи и Calc сойдет, а вот макросы - это и есть проблема, причем и для Calc и для Base - это одна и таже проблема, т.е. эффективный алгоритм поиска решения.
Записан

AcetonKZ
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Караганда
Сообщений: 66


WWW
« Ответ #32: 22 Апрель 2011, 09:36 »

хотелось бы уточнить: проблема в алгоритме или в макросах(т.е. платформе)?
Записан
RFJ
Форумчанин
***
Offline Offline

Сообщений: 220


« Ответ #33: 22 Апрель 2011, 09:48 »

Только в алгоритме.
Платформа может быть любой (OOo Basic, VBa, C++, ...)
Это просто задача с большим количеством "дополнительных условий" (типа "препод Иванов не может читать лекции по четвергам с 10 до 14, т.к. у него по четвергам заседание кафедры", и т.п.)
« Последнее редактирование: 22 Апрель 2011, 09:51 от RFJ » Записан

AcetonKZ
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Караганда
Сообщений: 66


WWW
« Ответ #34: 22 Апрель 2011, 09:52 »

Ну, тогда ладно.
Это уже решаемо(надеюсь)
Некие соображения уже наработаны(в т.ч. на Дельфи), поэтому займемся с реализацией на платформе ООо.
Цитата:
типа "препод Иванов не может читать лекции по четвергам с 10 до 14, т.к. у него по четвергам заседание кафедры"
Ну вот, на самую рану надавили Веселый, если бы не это Aviability и possibility.....
На самом деле самый г_мор именно в них, слава богу, в школе нет еще числителя/знаменателя.
« Последнее редактирование: 22 Апрель 2011, 09:57 от AcetonKZ » Записан
RFJ
Форумчанин
***
Offline Offline

Сообщений: 220


« Ответ #35: 22 Апрель 2011, 10:04 »

Держите нас в курсе, поскольку задачка очень интересная именно в плане разработки алгоритмов такого типа.
А так как она еще и довольно сложная, то у многих руки не доходят до завершенного решения.
(Типа "да ну её, проще мне все это сделать вручную".)
Записан

RFJ
Форумчанин
***
Offline Offline

Сообщений: 220


« Ответ #36: 22 Апрель 2011, 10:25 »

Алгоритмизация "условий" может оказаться нетривиальной задачей.
Попробуйте, например, на OOo Basic ( в Base или Calc, как вам понравится) написать решение "задачки Эйнштейна":
http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%B0%D0%B4%D0%BA%D0%B0_%D0%AD%D0%B9%D0%BD%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0


PS. Не с помощью словесных рассуждений, а именно программно!
Записан

RFJ
Форумчанин
***
Offline Offline

Сообщений: 220


« Ответ #37: 22 Апрель 2011, 10:33 »

Вообще говоря, эти задачи представляют собой задачи СОЗДАНИЯ БАЗЫ ДАННЫХ на основании УСЛОВИЙ.
Записан

AcetonKZ
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Караганда
Сообщений: 66


WWW
« Ответ #38: 22 Апрель 2011, 10:41 »

Цитата:
Алгоритмизация "условий" может оказаться нетривиальной задачей.
Вот, вот, все это допусловия и ломают алгоритмы(перебора, рекурсивного перебора, метод исключений,"пятнашки" - все!, пока что)
Это мы еще не учитываем, что после физры, например,с точными науками сложно....
Но усложнять будем постепенно ,только решив предыдущийвариант.
Цитата:
Не с помощью словесных рассуждений, а именно программно!
Эту задачу решали в далеком 94, еще на борланд паскале, и чтоб вы думали , самый сложный момент - способ задания начальных условий, далее все идет как по маслу, например в "пятнашки" такая задача и была решена даже простым перебором, но долго (комп - ЕС1840 был), потом были "условные перестановки" - долго переделывали ,но работала программа считанные секунды.
Но это был не алгоритм ,а скорее, комбинаторный  перебор, попарное сравнение условий.
НО сегодня задача сложнее, чем комбинаторные перестановки из 4 по 5-ти.
Цитата:
Вообще говоря, эти задачи представляют собой задачи СОЗДАНИЯ БАЗЫ ДАННЫХ на основании УСЛОВИЙ.
Ятоже до этого дошел ,чем "правильнее" изначально база начальных условий, тем проще алгоритм.
« Последнее редактирование: 22 Апрель 2011, 10:49 от AcetonKZ » Записан
VlhOwn
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 076


« Ответ #39: 22 Апрель 2011, 14:21 »

Когда-то в 80-х годах мы решали очень близкую к задаче построения расписания на Прологе. Тогда это был классический Пролог, ограничения на применимость правил приходилось моделировать. Сейчас есть масса различных реализаций Пролога и его производных с ограничениями.

Вторым, а может быть и первым, инструментом реализации таких задач, наверное является язык GPSS. К сожалению, я с ним знаком лишь на уровне решения простых задачек для дочек-студенток.

В любом случае, Вам до начала реализации потребуется создать какую-то математическую модель, описывающую взаимоотношения между объектами. Чем строже Вы ее формализуете, тем проще потом будет выбрать адекватную реализацию.

Вот пример такой формализации
Записан
VlhOwn
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 076


« Ответ #40: 22 Апрель 2011, 14:28 »

Цитата:
Не понимаю товарищей советующих не использовать его, а использовать MySQL. Это всё равно, что советовать не смотреть телевизор, а смотреть НТВ.
Саша, OOo Base - это СУБД + интерфейс к этой (или иной, подключаемой) СУБД. Мой совет - не использовать СУБД HSQLDB, а использовать вместо нее, например, MySQL. Причины: ненадежность, неразвитость, неудобство.
Записан
RFJ
Форумчанин
***
Offline Offline

Сообщений: 220


« Ответ #41: 22 Апрель 2011, 16:33 »

Вот пример такой формализации
VlhOwn, ссылка на этот пример уже была в Ответе#2 от convas:
http://forumooo.ru/index.php/topic,1062.msg8128.html#msg8128
Записан

AcetonKZ
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Караганда
Сообщений: 66


WWW
« Ответ #42: 23 Апрель 2011, 10:22 »

Уточняю.
Надо, чтоб любой юзер(читай - завуч) открыл ООо файл ,увидел таблицы со списками учителей, классов , нагрузки. Добавил свои данные, нажал "Генерировать Расписание" и шел пить кофе, обмывать результат Подмигивающий
Про подключение по ОДБЦ, мускул или сиквэл, сиквел-сервер  и т.д. не думаем! 
Записан
RFJ
Форумчанин
***
Offline Offline

Сообщений: 220


« Ответ #43: 23 Апрель 2011, 10:46 »

База данных (исходная) в этой задаче примитивная - набор таблиц (список учителей, список предметов, список классов, ...)
Все дело в том, что мы не знаем как программно задать связи между этими таблицами на основании "условий", сформулированных изначально в словесном виде (например, "в 6-х классах 8 уроков алгебры в неделю", "в школе три(3) 6-х класса - 6А, 6Б, 6В", "математику преподают Иванова, Петрова, Сидорова", и т.д.)
Этих условий просто огромное количество, попробуйте, для начала, хотя бы даже выписать их в столбик "словами".
Одни условия накладывают ограничения на другие, т.е. ограничивают возможные связи в БД.

Кроме того, нельзя гарантировать, что при удовлетворении всех условий (установке всех связей в БД) решение будет существовать и будет единственным. Решения может не быть, или решений будет несколько.

Начинать, по-моему, нужно с самой простой модели, чтобы понять как эффективно алгоритмизировать программирование "условий" (связей БД).
Записан

AcetonKZ
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Караганда
Сообщений: 66


WWW
« Ответ #44: 23 Апрель 2011, 11:39 »

Цитата:
Все дело в том, что мы не знаем как программно задать связи между этими таблицами на основании "условий", сформулированных изначально в словесном виде (например, "в 6-х классах 8 уроков алгебры в неделю", "в школе три(3) 6-х класса - 6А, 6Б, 6В", "математику преподают Иванова, Петрова, Сидорова", и т.д.)
Нет, нет.
Я уже кое что придумал, просто в двух словах не  сказать, а развернуто сейчас нет времени расписать, может быть в воскресенье вечером выложу заготовку базы и критерии создания.
В двух словах - нам надо обеспечить каждому учителю определенное число "часов в неделю" в каждом классе, не заморачиваясь ни на что более детальное, разве что чтоб у класса не было "окон" в расписании и один учитель одновременно не может вести урок в двух классах. А далее уже добавлять все условности ,фундамент для которых надо заложить изначально!

Вот коммерческий триал вариант
« Последнее редактирование: 24 Апрель 2011, 20:42 от AcetonKZ » Записан
Страниц: « 1 2 3   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!