Stefan Sokołowski, Podstawy programowania
LABORATORIUM 8


Zadanie 1:

Napisać program na poszukiwanie liczby całkowitej w tablicy: wczytać tablicę (czyli najpierw jej długość, następnie jej elementy), potem liczbę i wydrukować Ile porównań liczb wykonuje ten algorytm w najgorszym razie dla tablicy o długości n?


Zadanie 2:

Rysunek obok ilustruje niepoprawny oraz poprawny sposób zamieniania dwóch elementów tablicy.

Dla rozgrzewki proszę napisać prosty program, który


Zadanie 3:

Teraz proszę o
  1. program, który we wczytanej tablicy liczb rzeczywistych zamieni liczbę ostatnią z liczbą największą; to znaczy największa liczba ma pójść na koniec tablicy, przy tym żadna liczba z tablicy nie może zginąć;

  2. program, który wykorzysta punkt A dla uporządkowania całej tablicy wg wielkości liczb; czyli najpierw postawi największą liczbę na końcu, potem największą z pozostałych na końcu tych pozostałych, itp.

Program stanowiący rozwiązanie punktu B proszę przetestować na tym zbiorze 30 tys. liczb rzeczywistych.

Wskazówka:
Oczywiście 30 tys. liczb nie można wpisać z klawiatury; nie ma też sensu wyświetlania tak dużego wyniku na konsoli. Należy to zrobić na plikach — podaję niżej przydatne komendy systemu Linux: Plik wynikowy powinien zajmować ok. 460kB — proszę to sprawdzić. I proszę zajrzeć do środka i ocenić ,,na oko'', czy liczby są uporządkowane.


Zadanie 4:

Zad.3B może być traktowane jako wstęp do ważnej kategorii algorytmów komputerowych: sortowania. Ważnym zagadnieniem z dziedziny analizy algorytmów jest ocena, ile razy zostają w nich użyte konkretne operacje.

Proszę ustalić, ile wykonuje w najgorszym razie program z zad.3B dla tablicy zawierającej  n  liczb.

Wskazówka:
Ostateczną odpowiedź powinna stanowić jakaś funkcja od  n  (funkcja o argumencie  n  i wartości równej liczbie porównań/zamian). Pomocne może być wzbogacenie algorytmu o liczniki porównań i zamian. Pozwolą one sprawdzić zgadnięty wzór funkcji na liczbach podanych przez te liczniki.


Zadanie 5 domowe:

Napisać program, który Zastanowić się, jak taki program można wykorzystać do sortowania dowolnej tablicy liczb rzeczywistych.


Do mojej głównej witrynki

Ostatnia modyfikacja: 2 grudnia 2024