Zadania C++
Ten temat przyda Ci się podczas projektowania baz danych. Przypomnisz sobie czym są indeksy oraz co zrobić żeby szybciej wyszukiwać dane. Wszystkie zadania są z tym mocno związane.
Algorytmy wyszukujące
Zadanie 7.1 „Zgadnij, jaka to liczba”
Napisz program, który losuje pewną liczbę z zadanego przez program zakresu (standardowo 1000), pyta użytkownika o dowolną liczbę z zakresu i mówi czy jego liczba jest większa czy mniejsza. Gdy użytkownik trafi, program gratuluje i pyta czy zagrasz jeszcze raz.
Do przemyślenia: W ilu odpowiedziach jesteśmy wstanie trafić liczbę, czy jest na tą grę jakiś system.
Zadanie 7.2 „Sortowanie liczb”
Napisz program, który zapełni tablicę losowymi liczbami. Tablica powinna mieć ok. 3.000.000 elementów. Następnie posortuj liczby. Wyślij je na standardowe wyjście (wyświetl na ekranie).
Kiedy wysyłamy liczby na standardowe wyjście, można je przekierować np. do pliku za pomocą cmd.exe, np.
moj_program.exe > c:plik.txt
Wtedy zamiast na ekranie informacje pojawią się w pliku
Zadanie 7.3 „Sortowanie napisów”
Napisz program, który zapełni tablicę losowymi napisami o losowej długości. Tablica powinna mieć ok. 3.000.000 elementów. Następnie posortuj napisy. Wyślij je na standardowe wyjście (wyświetl na ekranie).
Zadanie 7.4 „Wyszukiwanie danych”
W zadaniu poprzednim, wyszukaj za pomocą pętli napis, który pasuje do podanego przez użytkownika (dowolna wielkość liter)
Zadanie 7.5 „Zoptymalizowane wyszukiwanie danych”
W zadaniu z sortowaniem tablicy, wyszukaj binarnie, napis, który pasuje do podanego przez użytkownika (dowolna wielkość liter). Wyszukiwanie binarne jest podobne do sposobu myślenia człowieka grającego w grę z zadania 7.1. Liczbę dzielimy na pół, gdy szukana jest większa zwiększamy ją o 50%, gdy mniejsza zmniejszamy o 50% - wtedy zawsze trafimy – warunek to posortowane dane.
Wyszukiwanie binarne operuje na bitach, nie na połówkach, oznacza to, że przechodzimy po kolei wszystkie bity -od najstarszego i ustawiamy kolejny, lub zerujemy poprzedni. Liczba, którą co chwilę modyfikujemy jest indeksem do tablicy, w której badamy aktualny napis.
Oceń wyniki wyszukiwania binarnego oraz iteracyjnego (za pomocą pętli), zadanie prześlij z wnioskami