На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Об использовании раздела
Обращение "рекламодателям" со статусом Newbie

Не пытайтесь использовать форум, ничего не дав взамен. Форум - это сообщество, направленное на взаимопомощь и на получение взаимной выгоды. Получение исключительно личной выгоды - считается моветоном. Темы с подобным контентом скорее всего улетят в "Корзину". Не тратьте электричество попусту.

Использование раздела полностью регламентируется действующими Правилами форума.

Модератор JoeUser
Модераторы: winsoft
  
> Программа для контроля знаний, полученных в ходе изучения учебных материалов
    Здравствуйте!

    Есть учебные материалы по монтажу системы, например распределенной компьютерной сети. Подскажите, пожалуйста, какие программы позволяют сделать следующее:
    1. На экране (слайде) есть изображения объектов сети (компьютеры, SFP-модули, маршрутизаторы, клавиатуры, мыши, источники питания, кабели и др.)
    2. Учащийся мышкой выбирает нужный кабель и подключает им один объект к другому. Если он это делает неправильно, то подключение мигает или появляется сообщение об ошибке. Затем берется другой кабель, подключаются другие объекты и т.д.

    В принципе, это можно сделать в PowerPoint (на слайдах разместить объекты без подключений и нужные комплектующие, сравнить результат работы учащегося на каждом из слайдов с образцом), но не все учащиеся владеют Power Point, да и вручную проверять много работ учащихся затруднительно.
      Тогда возьмите Lazarus/Delphi и набросайте на gdi такие слайды с элементами drag&drop для подключения.
        Цитата macomics @
        Тогда возьмите Lazarus/Delphi и набросайте на gdi такие слайды с элементами drag&drop для подключения
        Правильно я понимаю, что Вы таких программ не знаете?
          Ваша задача спечифическая. Программы для построения схем обычно так не умеют (или умеют, но по своим правилам). А просто начертить вам не подходит.

          Если хотите, тогда можете возиться с Visio, но, подозреваю, что займет данная реализация на нем в несколько раз больше времени.

          Для вашей же программы на Lazarus/Delphi достаточно набросать картинки в ImageList и рисовать схемы по заданным в файле настройкам на PaintBox + сделать алгоритм черчения Г или И образных линий разных форматов (*) для соединения элементов по определенным точкам. Если же при соединении стиль линии не совпадает со стилем определенным для точки крепления, то выводится сообщение об ошибке, как вы и хотели.
          * - для этого достаточно выставить цвет и стиль при рисовании. А наборы стилей выводите на BitBtn или ToolBar
          Сообщение отредактировано: macomics -
            Цитата tumanovalex @
            Правильно я понимаю, что Вы таких программ не знаете?

            tumanovalex, я тут полностью поддерживаю macomics. По причине того, что нет программ "на все случаи жизни". И этот случай - один из. Но решить эту задачу, я считаю, не очень сложно будет. Одна беда - будет много работы (если хочется красиво), ну или значительно меньше (если делать тяп-ляп). Вот примерные шаги для реализации:

            1. Выбираем язык программирования, и не обязательно Дэлфи/Лазаурус
            2. Готовим сэты мальтимедия на каждый вопрос. Сэт включает изображения: Начальное состояние, Правильное конечное состояние, Неправильные конечные состояния, Анимации правильных и неправильных подключений (это спрайты, это если не для тяп-ляп)
            3. Готовим сэты самих заданий - вопрос + варианты + правильный ответ
            4. Готорим GUI на выбранном инструменте программирования. Чисто для десктопа я бы выбрал С++/Qt6, а для мобиле я бы посмотрел в сторону Dart+Flutter

            Ну вот как-то так. Конечно можно повозиться и с инструментами Мелкомягких и с ВижуалВасиком, но тут я пасс ...
              Цитата Majestio @
              и не обязательно Дэлфи/Лазаурус

              Тут я его посоветовал только потому, что они заточены на создание таких вот быстрых презентационных программ с графическим интерфейсом без больших затрат времени и необходимого багажа знания
                Цитата macomics @
                и необходимого багажа знания

                Без необходимого багажа знаний вааще сложно жить :lool:
                  Цитата Majestio @
                  Без необходимого багажа знаний вааще сложно жить

                  Если что, то поясняю. Здесь речь была про количество, а не отсутствие и наличие вообще. Как по мне, то для Pascal требуется меньше опыта чем для C++ еще и с довеском в виде Qt
                    Цитата macomics @
                    Если что, то поясняю. Здесь речь была про количество, а не отсутствие и наличие вообще. Как по мне, то для Pascal требуется меньше опыта чем для C++ еще и с довеском в виде Qt

                    Хе-хе :lol: Это ты мог бы рассказать кому-то другому, но не мне. С Пасквилем у меня своя история ... В институте, на первом курсе я сдавал экзамены по языку программирования PL/1, но на теории я начал параллельно изучать Turbo Pascal 5.0. Потом уже, во время практики в НИИ, а это 1990 год, я начал использовать Turbo Pascal 5.5, в котором появилось ООП. Потом еще заюзал TASM (Turbo Assembler) - борьба со "снегом" в CGА-видеокартах при прямой записи в видеопамять. Потом пересел на Delphi, а потом просто на 32-битный Virtual Pascal. Вся это censored закончилась примерно в 1996 году. Как ты думаешь, за шесть лет проганЪя на Паскиль-подобных языках у меня есть собственное мнение, отличное от твоего? При чём, не просто мнение, а мнение на опыте. С учётом того, что на С++ я плотно работаю примерно с 2006 года и по сей день? 18 лет.

                    Не пойми меня превратно - Пасквиль не плохой язык. И модульность у него гораздо лучше, чем у С++ (но хуже чем у Modula-2 и Oberon) ... Но он, censored, такой многословный и многосимвольный, просто до тошноты :wacko:
                      Цитата Majestio @
                      Не пойми меня превратно - Пасквиль не плохой язык. И модульность у него гораздо лучше, чем у С++ (но хуже чем у Modula-2 и Oberon) ... Но он, censored, такой многословный и многосимвольный, просто до тошноты

                      Тут я даже не буду спорить и полностью поддержу. Но вот мое мнение о С++ и его нэмспейсах (*) что лишает C++ этого преимущества. А из-за постоянной необходимости набирать :: ставит его даже ниже паскаля.

                      * а их до неприличия много появляется при цеплянии к программе Qt

                      Добавлено
                      Не хватает на сях оператора типа with <namespace/instance> do

                      Добавлено
                      using конечно хорошо, но он и декларирование перенаправляет в этот namespace, а хочется локально переключиться и изолировать декларирование от используемого namespace
                      Сообщение отредактировано: Qraizer -
                        Тут дело вкуса - хочешь использовать namespace - используй, а хочешь - не используй. В плане стандартной библиотеки - это ближе. Ну а в плане Qt - там редко такое есть.
                          Я думал, что есть готовая программа, которую можно адаптировать под мои нужды. Сделать программу для решения поставленной задачи я не смогу (слабое знание языков программирования, отсутствие опыта создания больших программ и др.). Так что можно считать, что вопрос решен - программы для решения моей задачи нет, нужно ее делать.
                            Цитата macomics @
                            with <namespace/instance> do

                            ExpandedWrap disabled
                              with <namespace/instance> do
                              begin
                              { ... }
                              end

                            ExpandedWrap disabled
                              {
                                using <namespace/instance>
                              /*...*/
                              }


                            Добавлено
                            Цитата macomics @
                            Но вот мое мнение о С++ и его нэмспейсах (*) что лишает C++ этого преимущества.
                            * а их до неприличия много появляется при цеплянии к программе Qt
                            Отсутствие возможности задефолтить область видимости категорический плюс. Предназначение пространств имён заключается в инкапсуляции интерфейсов подсистем в ограниченной области видимости. Нейтрализация этой инкапсуляции суть ...м-м-м, плохой стиль программирования.
                              Цитата tumanovalex @
                              программы для решения моей задачи нет, нужно ее делать.

                              Дружище, не парься! На первый твой взгляд - это проблема-проблем. Но это только на первый взгляд. Просто включи системное мышление. И первым шагом после такого включения - будет планирование. Вроде "азбука" любых вузов ... а вроде и нет. Потому как такому ни в школе, ни в вузах (я про абстрактное планирование) не учат. А это основа основ. Сперва постановка целей (это стратегия), потом поиск вариантов решений (это тактика). И третий шаг - поиск + тест самих решений, готовых, или требующих своих усилий. Как я писал ранее - да, придётся поработать. Решения есть. Просто помни пословицу "У страха глаза большие" - и это не про нас!
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0399 ]   [ 15 queries used ]   [ Generated: 5.09.25, 11:07 GMT ]