Skip to content

yozkiyokly/REG-ruCenter_Tasks

Repository files navigation

Ру-центр предложил вот такие задания:

my @unsorted = ( qw/ 7 1 3 4 2 4 6 5 5 / ); Напиши алгоритм, который отсортирует этот массив. sort нельзя. Можно bubble sort. Напиши алгоритм двоичного поиска. Если поиск удачный, выводится MATCH, неудачный - NOT_MATCH. Нужно написать программу - “Замечательная телефонная книжка”.... Если наши задачи не нравятся, то можно придумать свое ТЗ, описать его словами, написать код.

Решил ответить так:

Задания мне НЕ НРАВЯТСЯ. Особенно - трудоёмкая скучная и глупая книжка, если исполнять его честно и без копипасты. а. Пусть нужно написать примитивный CGI-скрипт, “Бесполезная тупая телефонная книжка” менее чем за 3 дня. Функции:

  • показать все контакты

  • добавить контакт

  • удалить контакт

  • изменить контакт Исполнить её с подключением внешнего конфига. Всю логику - в один файл, Все запросы - к единственному скрипту. Никаких яваскриптов - только олдскул. Без копипаст, Хотя бы без крупных: нам важно понять твой собственный стиль. Снабдить комментариями. Оставить примеры отладочных строк. Приложить дамп БД. код - index.pl https://github.com/yozkiyokly/REG-ruCenter_Tasks/blob/main/index.pl

    configFile.pm https://github.com/yozkiyokly/REG-ruCenter_Tasks/blob/main/configFile.pm

дамп таблицы с инициальными данными - addrbook.sql https://github.com/yozkiyokly/REG-ruCenter_Tasks/blob/main/addrbook.sql


б. Ещё нужно написать утилиту для командной строки, наглядно показывающую преимущества двоичного поиска над линейным в сортированных данных. От исполнения этого задания хотя бы возможно получить некоторую реальную пользу: Пользователь-студент должен получить возможность визуально наблюдать процесс сортировки с секундомером в руках, меняя условия поиска. Требуется предоставить возможность передачи утилите данных для сортировки через командную строку. Данные должны разделяться прбелами. Первая опция - поисковый паттерн, последующие - элементы массива, подлежащие сортировке и последующему поиску обоими методами. пример: >arraySearch.pl 22 3 4 5 44 6 7 8 55 6 7 6 43 4 22 3 22 - поисковый паттерн. он будет найден, поскольку в конце строки имеется такое число среди элементов будущего массива. При отсутствии параметров предусмотри дефолтные. файл: arraySearch.pl
https://github.com/yozkiyokly/REG-ruCenter_Tasks/blob/main/arraySearch.pl


в. Cледует показать использование перлом никсовых олдскульных консольных библиотек, наподобие nCursesLIB. Пусть сортировка массива будет отображаться необычно. прояви фантазию, удиви современников экзотическим инструментом из архаичного прошлого, покажи какой ты старый и ядрёный.

Напиши скрипт для командной строки, сортирующий массив my @unsorted = ( qw/ 7 1 3 4 2 4 6 5 5 / ); Пользоваться встроенной функцией sort нельзя. Для простоты можно написать алгоритм bubble sort. Использование вызовa SYSTEM будет плюсом.

файл: arraySortCURSES.pl https://github.com/yozkiyokly/REG-ruCenter_Tasks/blob/main/arraySortCURSES.pl


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published