Maksimum tablicy
Znajdź maksimum [4, 9, 2].
- 1. Dane: tablica liczb.
- 2. Wynik: jedna liczba — największy element.
- 3. Założenie: tablica nie jest pusta.
Odpowiedź: Wynik: 9.
Nauka od podstaw · Informatyka · Klasa 7
Nie zaczynaj od kodu. Najpierw określ problem, dane wejściowe i wynik, potem zapisz jednoznaczne kroki, prześledź je na małym przykładzie i dopiero na końcu myśl o implementacji. To samo rozumowanie działa w pseudokodzie i w różnych językach programowania.
Specyfikacja problemu odpowiada na dwa podstawowe pytania: jakie dane otrzymuje rozwiązanie oraz jaki wynik ma zwrócić. Bez tego nawet poprawnie napisany kod może rozwiązywać inne zadanie niż zamierzaliśmy.
Ważne są także założenia. Dla problemu „znajdź maksimum” trzeba wiedzieć, czy wejście może być puste, jakiego typu są elementy i w jakiej postaci ma zostać zwrócony wynik.
Znajdź maksimum [4, 9, 2].
Odpowiedź: Wynik: 9.
Algorytm to skończony, jednoznaczny sposób rozwiązania problemu. Można go przedstawić językiem naturalnym, listą kroków, pseudokodem lub zaimplementować w języku programowania.
Śledzenie algorytmu polega na ręcznym wykonywaniu kolejnych instrukcji dla małych danych. Przy warunkach zapisuj, czy wyrażenie jest prawdziwe, a przy pętlach notuj wartości najważniejszych zmiennych po każdej iteracji.
Gdy zbiór jest nieuporządkowany, podstawową metodą wyszukiwania jest sprawdzanie elementów po kolei. Kończymy, gdy znajdziemy szukaną wartość albo gdy sprawdzimy wszystkie elementy.
Specyfikacja musi określić wynik także wtedy, gdy elementu nie ma. Może to być wartość logiczna, specjalna pozycja albo inna jednoznaczna informacja — ważne, aby użytkownik algorytmu wiedział, co oznacza wynik.
[7, 3, 11, 5, 9]
Odpowiedź: Element znaleziony po 4 porównaniach.
W rosnącym sortowaniu przez wybieranie dzielimy tablicę na część już uporządkowaną i jeszcze nieuporządkowaną. W nieuporządkowanej części znajdujemy najmniejszy element i umieszczamy go na początku tej części.
Po każdym kroku uporządkowana część rośnie o jeden element. Metoda jest prosta do prześledzenia ręcznie i dobrze pokazuje, jak większy problem można rozbić na powtarzalne kroki.
[6, 2, 5, 3]
Odpowiedź: [2, 6, 5, 3]
Instrukcja warunkowa wybiera jedną z dróg wykonania na podstawie wartości logicznej. Pętla pozwala powtarzać instrukcje. Przy pętli warunkowej zawsze sprawdzaj, czy wykonywane instrukcje mogą kiedyś zmienić warunek zakończenia.
Debugowanie zaczyna się od odtworzenia stanu programu: jakie wartości mają zmienne przed instrukcją i po niej. Prosta tabela śledzenia często szybciej pokazuje błąd niż przypadkowe zmienianie kodu.
Jedno poprawne uruchomienie nie dowodzi poprawności rozwiązania. Testuj przypadki typowe, najmniejsze dozwolone wejścia, dane z powtórzeniami, wartości ujemne, a także sytuacje, w których szukany element nie występuje — zależnie od specyfikacji.
Najpierw określ oczekiwany wynik testu, a dopiero potem uruchom algorytm. Jeśli wynik jest inny, śledź wykonanie krok po kroku i znajdź pierwsze miejsce, w którym stan przestaje odpowiadać oczekiwaniu.
Jak sprawdzić funkcję maksimum?
Odpowiedź: Zestaw obejmuje jeden element, liczby ujemne i powtórzone maksimum.
Linki są dobierane z opublikowanych materiałów na podstawie relacji tematu, a nie podobieństwa słów w tytule.
Inne formy pracy nad dokładnie tym samym zagadnieniem.
Quiz diagnostyczny
Działa bez konta. Po odpowiedzi od razu zobaczysz jednoznaczny wynik i wyjaśnienie.
1. Co powinna zawierać podstawowa specyfikacja problemu?
2. Jaki jest podstawowy pomysł wyszukiwania liniowego w nieuporządkowanej tablicy?
3. Co robi rosnące sortowanie przez proste wybieranie?
4. Pętla „dopóki i <= 3” nie zmienia i. Jakie jest główne ryzyko?
5. Który test najlepiej sprawdza przypadek brzegowy funkcji maksimum dla niepustej tablicy?
6. Czym różni się algorytm od programu?
7. Po co ręcznie śledzić wartości zmiennych?
8. Co należy zrobić, jeśli „znajdź maksimum” dopuszcza pustą tablicę?
Następny krok
Jeżeli przygotowujesz się do sprawdzianu, wybierz dopasowany materiał dla tego tematu i klasy albo wygeneruj własny zestaw.