Przejdź do treści

Informatyka · Klasa 7 · Zagadnienie

Algorytmy — specyfikacja, wyszukiwanie i testowanie

Algorytm to dokładny przepis na rozwiązanie problemu, krok po kroku. Żeby go zbudować, trzeba najpierw opisać problem, potem znaleźć metodę, a na końcu sprawdzić, czy działa.

Zapamiętaj w 30 sekund

Najważniejsze na już

  • Algorytm to skończony, uporządkowany zestaw kroków prowadzących do rozwiązania problemu.
  • Specyfikacja opisuje dane wejściowe i oczekiwany wynik, zanim zaczniemy pisać kroki.
  • Wyszukiwanie liniowe sprawdza elementy po kolei, a wyszukiwanie binarne działa szybciej na posortowanych danych.
  • Algorytm trzeba przetestować na danych typowych, skrajnych i błędnych.
Algorytm
Skończony, uporządkowany ciąg kroków rozwiązujący problem.
Specyfikacja
Opis danych wejściowych i oczekiwanego wyniku.
Wyszukiwanie liniowe
Sprawdza elementy po kolei; działa bez sortowania.
Wyszukiwanie binarne
Dzieli posortowany zakres na połowę; znacznie szybsze.
Testy
Typowe, skrajne i błędne dane wejściowe.
Cechy dobrego algorytmu
Poprawność, skończoność, zrozumiałość.

Naucz się w 5 minut

Wyjaśnienie krok po kroku

Specyfikacja problemu

Specyfikacja to opis, co dokładnie ma być rozwiązane. Zawiera dane wejściowe (co dostajemy) i dane wyjściowe (co ma powstać). Dobra specyfikacja usuwa niejasności — na przykład „posortuj liczby rosnąco" jest precyzyjne, a „uporządkuj liczby" już nie.

Przykład specyfikacji: dane wejściowe to lista liczb całkowitych, a wynik to największa z nich. Dopiero na tej podstawie można napisać kroki algorytmu.

  • dane wejściowe — co dostajemy
  • dane wyjściowe — co ma powstać
  • warunki — założenia i ograniczenia

Wyszukiwanie liniowe i binarne

Wyszukiwanie liniowe sprawdza elementy jeden po drugim, aż znajdzie szukany lub przejrzy całą listę. Jest proste i działa na nieuporządkowanych danych, ale przy długiej liście bywa wolne.

Wyszukiwanie binarne wymaga posortowanych danych. Dzieli przedział na połowę i pyta, w której części szukany element może się znajdować. Dzięki temu liczba kroków jest znacznie mniejsza — zamiast tysiąca sprawdzeń wystarczy kilkanaście.

  • liniowe: dane nieposortowane, sprawdzanie po kolei
  • binarne: dane posortowane, dzielenie na połowę

Testowanie algorytmu

Algorytm sprawdzamy na danych typowych (zwykłe przypadki), skrajnych (najmniejsza, największa wartość, pusta lista) oraz błędnych (np. tekst zamiast liczby). Test skrajny wykrywa błędy, które nie pojawiają się w typowych przykładach.

Testowanie to część pracy programisty, a nie dodatek. Algorytm, który działa na jednym przykładzie, może całkowicie się zepsuć na skraju zakresu albo przy pustych danych.

Przykład: Wyszukiwanie liniowe

Na liście [3, 7, 1, 9, 4] znajdź liczbę 9 algorytmem liniowym.

  1. Porównaj 3 z 9 — nie.
  2. Porównaj 7 z 9 — nie.
  3. Porównaj 1 z 9 — nie.
  4. Porównaj 9 z 9 — tak, znaleziono na 4. pozycji.

Odpowiedź: Liczba 9 jest na 4. pozycji; potrzebne były 4 porównania.

Przykład: Specyfikacja zadania

Podaj specyfikację algorytmu liczącego sumę liczb z listy.

  1. Dane wejściowe: lista liczb.
  2. Dane wyjściowe: suma wszystkich liczb z listy.
  3. Warunek: dla pustej listy suma wynosi 0.

Odpowiedź: Wejście: lista liczb; wyjście: ich suma; dla pustej listy wynik 0.

Musisz wiedzieć na sprawdzian

Typowe błędy i pułapki

  • Błąd: Używanie wyszukiwania binarnego na nieposortowanych danych.

    Jak zrobić to dobrze: Wyszukiwanie binarne działa poprawnie tylko na danych posortowanych. Najpierw trzeba je posortować.

  • Błąd: Pomijanie testów skrajnych (pusta lista, jedna wartość, wartość maksymalna).

    Jak zrobić to dobrze: Właśnie przypadki skrajne ujawniają najwięcej błędów. Testuj je zawsze, nie tylko typowe przykłady.

  • Błąd: Zaczynanie od kodu bez specyfikacji problemu.

    Jak zrobić to dobrze: Najpierw ustal dane wejściowe i wynik. Bez specyfikacji nie da się stwierdzić, czy algorytm jest poprawny.

Podsumowanie

  • Algorytm to dokładny przepis rozwiązania problemu.
  • Specyfikacja opisuje wejście i wyjście.
  • Wyszukiwanie liniowe działa na każdych danych, ale jest wolniejsze.
  • Wyszukiwanie binarne wymaga posortowanych danych i jest szybkie.
  • Algorytm testujemy na danych typowych, skrajnych i błędnych.

Sprawdź się

Quiz diagnostyczny

8 pytań z natychmiastowymi wyjaśnieniami. Quiz działa bez konta; po zalogowaniu wynik zapisuje się w Mojej nauce.

Pytanie 1 z 8

Co powinna zawierać podstawowa specyfikacja problemu?

Co powinna zawierać podstawowa specyfikacja problemu?

Przećwicz

Zadania i karty pracy

Przygotuj się do sprawdzianu

Gotowy materiał i generator

Podnieś limit odblokowań

Płatny dostęp usuwa miesięczny limit rozwiązań i kart pracy dla całej nauki.

Podnieś limit odblokowań

Darmowe konto daje 5 odblokowań miesięcznie. Płatny dostęp podnosi limit.

Załóż darmowe konto

Co dalej

Powiązane tematy

Źródła i podstawa

  • Podstawa programowa — informatyka, klasy 4–8
  • Opracowanie autorskie SzkolaNa6

Ostatnia aktualizacja: