1. Napisz aplikację, która implementuje algorytm sortowania Insertion sort
(sortowanie przez wstawianie).
Aplikacja przyjmuje na wejściu:
- n: ilość liczb
- a_1…a_n: liczby do posortowania
Aplikacja zwraca:
- posortowany ciąg liczb
- ilość operacji wykonanych podczas działania algorytmu
* Opcjonalnie: niech aplikacja wyświetla na bieżąco jakie operacje wykonuje na
wprowadzonym ciągu.
2. Napisz aplikację, która implementuje algorytm sortowania Bubble sort (sortowanie
bąbelkowe).
Aplikacja przyjmuje na wejściu:
- n: ilość liczb
- a_1…a_n: liczby do posortowania
Aplikacja zwraca:
- posortowany ciąg liczb
- ilość operacji wykonanych podczas działania algorytmu
* Opcjonalnie: niech aplikacja wyświetla na bieżąco jakie operacje wykonuje na
wprowadzonym ciągu.
3. Napisz aplikację, która implementuje algorytm sortowania Merge sort (sortowanie
przez scalanie).
Aplikacja przyjmuje na wejściu:
- n: ilość liczb
- a_1…a_n: liczby do posortowania
Aplikacja zwraca:
- posortowany ciąg liczb
- ilość operacji wykonanych podczas działania algorytmu
* Opcjonalnie: niech aplikacja wyświetla na bieżąco jakie operacje wykonuje na
wprowadzonym ciągu.
4. Napisz aplikację, która implementuje algorytm sortowania Quick sort (sortowanie
szybkie).
Aplikacja przyjmuje na wejściu:
- n: ilość liczb
- a_1…a_n: liczby do posortowania
Aplikacja zwraca:
- posortowany ciąg liczb
- ilość operacji wykonanych podczas działania algorytmu
* Opcjonalnie: niech aplikacja wyświetla na bieżąco jakie operacje wykonuje na
wprowadzonym ciągu.
5. Napisz aplikację, która liczy wartość wyrażenia matematycznego, złożonego z
jednego lub większej liczby stałych, połączonych znakami działań (+, -, ·, /) i
ewentualnie nawiasów „()”.
Aplikacja przyjmuje na wejściu:
- ciąg znaków, np.:
3+5
4-3*5/2-7
4*(1-7)/2+44
Aplikacja zwraca:
- wartość wyrażenia
6. Napisz aplikację, która szyfruje i deszyfruje dowolny ciąg znaków algorytmem
Vermana.
Aplikacja przyjmuje na wejściu:
- ciąg znaków do zaszyfrowania lub ciąg znaków do odszyfrowania
- klucz
Aplikacja zwraca:
- ciąg znaków do zaszyfrowania lub ciąg znaków do odszyfrowania
7. Napisz aplikację, która szyfruje i deszyfruje dowolny plik szyfrem Cezara.
Aplikacja przyjmuje na wejściu:
- plik do zaszyfrowania lub plik do odszyfrowania
- przesunięcie
Aplikacja zwraca:
- plik do zaszyfrowania lub plik do odszyfrowania
8. Napisz aplikację, która liczbę o dowolnej podstawie 2…16 zamieni na liczbę
dziesiętną
Aplikacja przyjmuje na wejściu:
- ciąg znaków: liczbę
- p: podstawę p=2…16
Aplikacja zwraca:
- liczbę dziesiętną
9. Napisz aplikację, która kompresuje dowolny ciąg znaków metodą ByteRun.
Aplikacja przyjmuje na wejściu:
- ciąg znaków do skompresowania lub dekompresji
Aplikacja zwraca:
- ciąg znaków do skompresowania lub dekompresji
10. Napisz aplikację, która wyłuskuje informacje zawarte w numerze PESEL.
Aplikacja przyjmuje na wejściu:
- numer PESEL
Aplikacja zwraca:
- dane osoby
*Uwaga: numery PESEL nie zawsze są zgodne z ogólnie znanym formatem. Proszę
zwrócić uwagę na wyjątki od reguły.
11. Napisz aplikację, która przyjmuje dane od użytkownika i weryfikuje ich
poprawność. Aplikacja ma na celu minimalizowanie możliwości wystąpienia
sytuacji, w której użytkownik podaje niepoprawne dane. Aplikacja ma podświetlać
na czerwono miejsca, które są niepoprawne.
Aplikacja przyjmuje na wejściu:
- imię
- nazwisko
- płeć
- PESEL
- adres email
- numer GG
- telefon
Aplikacja zwraca:
- true/false