Kompresja danych

Ćwiczenia wykonywane podczas zajęć

Zadanie 1. Stwórz pliki tekstowe zawierające: 1000, 10 000 oraz 100 000 znaków w języku polskim. Sprawdź, który algorytm kompresji spośród dostępnych w pakiecie 7zip oferuje największy stopień kompresji dla poszczególnych wielkości pliku tekstowego.

Zadanie 2. Narysuj lub pobierz plik BMP w rozmiarze co najmniej 1200x800 pikseli. Oblicz stopnie kompresji tego obrazu przy eksporcie do PNG, GIF, JPEG (wypróbuj różne opcje tych algorytmów).

Zadanie 3. Spróbuj spakować plik BMP algorytmem ZIP i oblicz uzyskany w ten sposób stopień kompresji. Porównaj tę wartość ze stopniami kompresji uzyskiwanymi przez PNG, GIF i JPEG. Spróbuj również spakować ZIP-em pliki PNG, GIF i JPEG. Czy uda się w ten sposób znacznie zmniejszyć rozmiary pliku? Odpowiedź uzasadnij.

Zadanie 4. W znanym Tobie języku programowania napisz program, który na wejściu przyjmuje łańcuch znaków składający się ze znaków “0” i “1”. Program powinien zidentyfikować ciągi zer i jedynek. Na wyjściu powinny pojawić się informacje o odczytanych ciągach, (po jednym ciągu w jednej linii) w formacie cyfra[liczba powtórzeń]. Na przykład, jeśli na wejściu jest łańcuch: “000011101000111”, na wyjściu powinno pojawić się:

0[4]
1[3]
0[1]
1[1]
0[3]
1[3]

Zadania domowe

Zadanie 1. Wygeneruj plik tekstowy o długości równej 100 000 znaków, którego stopień kompresji algorytmem ZIP będzie jak największy. (1 pkt)

Zadanie 2. Wygeneruj plik tekstowy o długości równej 100 000 znaków, którego stopień kompresji algorytmem ZIP będzie jak najmniejszy. (1 pkt)

Zadanie 3. Wygeneruj plik BMP, którego stopień kompresji algorytmem JPEG będzie jak największy. (1 pkt)

Zadanie 4. Wygeneruj plik BMP, którego stopień kompresji algorytmem JPEG będzie jak najmniejszy. (1 pkt)