powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задание по информатике 10 класс
25 сообщений из 49, страница 1 из 2
Задание по информатике 10 класс
    #40116799
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дочке задали по информатике такое задание (на некоем сайте)...
Нужно сжать текст
Код: javascript
1.
A_tutor_who_tooted_the_flute_Tried_to_tutor_two_tooters_to_toot_Said_the_two_to_their_tutor,_"Is_it_harder_to_toot_Or_to_tutor_two_tooters_to_toot?"


С максимальным процентом сжатия (это оценивает сайт), заменой подстроки на символ (выделяет сайт).

Никогда с архивацией дело не имел
Как вообще такое делается?
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116802
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот как там это все выглядит...
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116819
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то странно выглядит Dictionary. Я-бы лупил просто отдельные слова или слоги.
- tutor
- toot
- to
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116820
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton , это только
Код: javascript
1.
Compression: 17.57%
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116823
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так
Код: javascript
1.
2.
3.
4.
_tutor
_toot
_to
Compression: 26.35%


У нас получилось только 29%...
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116824
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно эти странные символы подчёркиваний просто заменить на пробелы?
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116827
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так пока максимально получается
Код: plaintext
1.
2.
3.
4.
5.
6.
_toot
d_the_
_to
_tutor
two
ers
Compression: 29.73%
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116830
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А можно эти странные символы подчёркиваний просто заменить на пробелы?

На пробелы не получится...
Там текст менять самому нельзя.
Можно его копировать и вставлять в правую часть. После этого он заменяется на тот символ, что программка подставляет для этой строки
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116834
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тому, выше, добавили еще
Код: plaintext
1.
2.
3.
4.
5.
6.
_toot
d_the_
_to
_tutor
two
ers
★☀☆☃☀
Получили
Код: plaintext
Compression: 31.08%
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116835
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У gzip получается 12% по этой формуле. Вроде я не ошибся.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
String s = "A_tutor_who_tooted_the_flute_Tried_to_tutor_two_tooters_to_toot_Said_the_two_to_their_tutor";
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        GZIPOutputStream gzip = new GZIPOutputStream(out);
        gzip.write(s.getBytes());
        gzip.close();
        byte[] outArray = out.toByteArray();
        assertEquals(80, outArray.length);
        assertEquals(0.12, 1.0 - (double) outArray.length / s.length(), 0.01);
        assertEquals("1f8b0800000000000000738c2f292dc9" +
                     "2f8a2fcfc88f2fc9cf2f494d892fc948" +
                     "8d4fcb292d498d0f29ca04f1f3a16a4a" +
                     "caa16a8a8ac18240667c706226440744" +
                     "12c4cc2c82a80700053c9a765b000000",
                Hex.encodeHexString(outArray));



Но по бинарю видно что на малых размерах Gzip пишет слишком много служебной инфы с головы. И в хвосте
какой-то padding забитый нулями.
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116839
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa

★☀☆☃☀

Этот набор символов - из расширенных диапазонов Unicode. Там каждый символ - точно не 1 байт.
Вобщем сама идея реплейсмента одних лексем на другие - не работает на обобщённом текстовом
файле. Что делать если сам файл состоит из таких служебных. Эскейпить? Знаит еще +1 служебный
символ к каждому.

Хотя может для учебной задачи по информатике оно и катит.

Как мо мне если играть со строками то лучше уж не архивация а криптография. Шифр Виженнера...
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116841
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Хотя может для учебной задачи по информатике оно и катит.

Конечно.
Это ведь условная "замена".
mayton
Как мо мне если играть со строками то лучше уж не архивация а криптография. Шифр Виженнера...

Ты не выделывайся... Ты пальцем покажи. (с)
Т.е. как и что делать конкретно на этом примере.
Именно его и нужно сжать.
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116842
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
У gzip получается 12% по этой формуле. Вроде я не ошибся.

Ты бы написал последовательность подстрок для "замены"...
А так, в программке нет никакого смысла. Дочка ведь такое не покажет училке...

Училке нужна последовательность строк и максимальный процент сжатия...
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116862
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо ничего училке показывать. Мне просто было интересно сравнить. И понять что gzip для коротких
строчек типа url - не годится.
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116865
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот попробуй сжать вот такой текст этой заменой.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
     Так говорила в июле 1805 года известная Анна Павловна Шерер, фрейлина и
  приближенная  императрицы  Марии  Феодоровны,  встречая важного и  чиновного
  князя  Василия,  первого  приехавшего  на  ее вечер. Анна  Павловна  кашляла
  несколько  дней, у  нее был грипп, как она говорила (грипп  был тогда  новое
  слово, употреблявшееся только  редкими).  В записочках, разосланных  утром с
  красным лакеем, было написано без различия во всех:
       "Si vous n'avez rien de mieux à faire, M. le comte (или mon prince), et
  si la perspective de passer la soirée chez une pauvre malade ne vous effraye
  pas  trop,  je serai charmée de vous  voir chez moi  entre 7 et  10  heures.
  Annette Scherer".
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116866
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А вот попробуй сжать вот такой текст этой заменой.

Зачем мне сжимать этот текст?
В задании текст тот, что я уже процитировал выше. Другие тексты не нужны, они никому не интересны.
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116874
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

классический lzw должен удовлетворить
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116876
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не менять принципиально алгоритм но дать больше контекста - то можно наверное получить выгоду.

К примеру русский текст выделяется и обрабатывается LZW с одним справочником
а французский - с другим.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
     Так говорила в июле 1805 года известная Анна Павловна Шерер, фрейлина и
  приближенная  императрицы  Марии  Феодоровны,  встречая важного и  чиновного
  князя  Василия,  первого  приехавшего  на  ее вечер. Анна  Павловна  кашляла
  несколько  дней, у  нее был грипп, как она говорила (грипп  был тогда  новое
  слово, употреблявшееся только  редкими).  В записочках, разосланных  утром с
  красным лакеем, было написано без различия во всех:
       "Si vous n'avez rien de mieux à faire, M. le comte (или mon prince), et
  si la perspective de passer la soirée chez une pauvre malade ne vous effraye
  pas  trop,  je serai charmée de vous  voir chez moi  entre 7 et  10  heures.
  Annette Scherer".
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116886
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чекни эти два варианта (без добавления отсебятины - она может что-то испортить)
_to_tutor_two_tooters_to_toot
_t
oo
utor
dhe
te_

и
_to_tutor_two_tooters_to_toot
_t
oo
utor
dhe
te_
t_
wh
ie
rd
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116907
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa
mayton
А вот попробуй сжать вот такой текст этой заменой.

Зачем мне сжимать этот текст?
В задании текст тот, что я уже процитировал выше. Другие тексты не нужны, они никому не интересны.

Тогда меняй весь текст на один символ.
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116911
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Чекни эти два варианта (без добавления отсебятины - она может что-то испортить)

Отправил дочке - напишет как сжалось.
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116912
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
классический lzw должен удовлетворить

Вот смотри... Я неумеха в этом деле... Ты видать спец.
Просто примени тот метод сам на моем примере. А результат (подстроки) покажи тут.

Так можешь?
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116923
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa
Отправил дочке - напишет как сжалось.

Ушла в школу... Будет только вечером.
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116934
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Тогда меняй весь текст на один символ.

Самый лучший ответ )))
(если, конечно, словарь не участвует в расчете процента сжатия)
...
Рейтинг: 0 / 0
Задание по информатике 10 класс
    #40116963
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

lzw дает сжатие до 99 байт (из 148), т.е 33.1%

Но там на выходе битовая строка
...
Рейтинг: 0 / 0
25 сообщений из 49, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задание по информатике 10 класс
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]