You are on page 1of 8

18 Operacje na tablicach

Cele: ➔ Poznanie operacji na tablicy - zamiany elementów miejscami


➔ Dokończenie mini-gry tablicowej

Linki: ➔ Mapa:
➔ https://drive.google.com/file/d/12nQJ8_-7QbPIUwoTTaeEXuJjVAFwdRaZ/view?usp=sh
aring
➔ Podsumowanie:
➔ https://drive.google.com/file/d/1QtEO2qERtVoGu4dEVqGTAlrYPOUb6hSI/view?usp=sh
are_link
DOŁĄCZAMY NA MAPĘ

Mając to za sobą możemy przejść


do naszej mapy! A dokładniej jak
ją pobrać!
Przede wszystkim musimy wejść
w ten link:
https://drive.google.com/file/d/12n
QJ8_-7QbPIUwoTTaeEXuJjVAFwdRa
Z/view?usp=sharing
ROZPOCZĘCIE

Witaj ponownie! Dziś po raz drugi wybierzemy się w podróż do Egiptu, aby dokończyć naszą
tablicową mini-grę. Poprzednio przygotowaliśmy kod, który generuje tablicę z liczb losowych i
wyświetla ją na ekranie. Musimy jeszcze stworzyć programy, które pozwolą nam zamieniać wartości
miejscami oraz sprawdzą poprawność odpowiedzi. Pozostajemy na mapie z poprzednich zajęć, w
razie potrzeby link do niej znajduje się na górze pliku.

ZAMIANA ELEMENTÓW TABLICY

Zacznijmy od tego, co trzeba zrobić, aby zamienić dwa elementy tablicy miejscami między
sobą. Każdym elementem musimy operować osobno. Weźmy dla przykładu tablicę
obiad = [“ziemniaki”, “kotlet”, “mizeria”]. Zobaczmy co się stanie, gdybyśmy chcieli zamienić ziemniaki i
kotlet miejscami. Zaczynam od wzięcia ziemniaków i włożenie w miejsce kotleta. Otrzymujemy tablicę
obiad = [“ziemniaki, “ziemniaki”, “mizeria”] - mamy podwójną porcję ziemniaków, a kotlet zniknął.
Sposobem na rozwiązanie tego problemu jest zapisanie obu elementów do zmiennych. Np.
obiad_z = “ziemniaki”, obiad_k = “kotlet”. Kiedy są już zapisane nie stanowi problemu, że któryś
element na chwilę zniknie z tablicy. Krok po kroku wprowadzamy wartości używając numeracji tablicy:
➔ obiad[0] = obiad_k, otrzymujemy obiad = [“kotlet”, “kotlet”, “mizeria”];
➔ obiad[1] = obiad_z,[otrzymujemy obiad = [“kotlet”, “ziemniaki”, “mizeria”];
➔ efekt końcowy to obiad = [“kotlet”, “ziemniaki”, “mizeria”].
Teraz możemy już przystąpić do kontynuowania naszego programu. Pracujemy w projekcie z
poprzednich zajęć - tam mamy już przygotowane polecenie do tworzenia i drukowania tablicy.

ZAMIANA ELEMENTÓW TABLICY - PROGRAM

Tworzymy kolejne polecenie wraz z dwoma argumentami, w nich użytkownik poda,


które dwie wartości chce zamienić ze sobą miejscami.
Następnym krokiem jest sprawdzenie, czy podane przez użytkownika wartości są poprawne.
Nasza tablica składa się z 5 elementów, zatem jej numeracja to 0, 1, 2, 3, 4. Jeśli użytkownik poda inną
wartość zamiana elementów nie będzie możliwa. Warto również przygotować sprawdzanie
wprowadzonych danych w takiej wersji, by działało niezależnie od rozmiaru tablicy. W tym celu
ponownie sięgniemy po długość (ilość elementów) tablicy - tab.length. Obie wartości muszą być z
zakresu od 0 do długości tablicy - 1 (pamiętajmy zasadę: ostatni element tablicy ma zawsze numer o
1 mniejszy od długości tablicy). Każde sprawdzenie jest konieczne, dlatego użyjemy łącznika “i” (&&).

Zacznijmy od krótszego elementu, czyli co się stanie, gdy warunek nie zostanie spełniony. W
takiej sytuacji wystarczy nam komunikat, że zostały wybrane błędne wartości.

Po zamianie wartości będziemy chcieli wydrukować powstałą tablicę, dlatego zaczynamy od


wyczyszczenia ekranu. Ten element stworzyliśmy poprzednio i możemy go po prostu skopiować.
Stwórzmy teraz zmienne i przypiszmy do nich wartości tablicy wybrane przez użytkownika.

Następnie musimy wprowadzić je do tablicy na odwrót, czyli zamien2 w miejsce num1 i zamien1 w
miejsce num2.

W ostatnim kroku pozostało nam ponownie wydrukować powstałą tablicę. Ten fragment
kodu ponownie możemy skopiować z poprzednich zajęć. Pamiętajmy o ponownym ustawieniu
zmiennej x. Polecenie zamiany jest już gotowe!
To polecenie użytkownik może wykonywać dowolną ilość razy. Możemy teraz sprawdzić
działanie polecenia w praktyce.

SPRAWDZANIE POPRAWNOŚCI WYNIKU

Gdy użytkownik posortuje tablicę rosnąco i uzna, że obecny wynik go zadowala może przejść
do sprawdzenia jego poprawności. Tworzymy kolejne polecenie. Ponownie przy pomocy pętli
będziemy poruszać się po tablicy. Ponieważ tablica ma być posortowana rosnąco, musimy
sprawdzić czy bieżący element jest mniejszy niż następny. Jednak tym razem nasza pętla musi
zakończyć działanie nieco wcześniej - na przedostatnim elemencie. Nie możemy przechodzić do
ostatniego, gdyż nie ma z czym go porównać.
Przykładowo: niech indeks zaczyna się od 0 i weźmy tablicę banknoty = [10, 50, 200].
Sprawdzamy banknoty[indeks] (10) i banknoty[indeks + 1] (50) - jeśli jest poprawnie, możemy przejść
dalej (indeks++, przy kolejnym wykonaniu się pętli indeks wynosi 1). Sprawdzimy teraz 50 i 200, jednak
kontynuowanie sprawdzania nie ma sensu, ponieważ 200 nie mamy z czym porównać. Zatem przy
długości tablicy 3 kończymy na indeksie 1 - jest to wartość o 2 mniejsza od ilości elementów w tablicy.
Stwórzmy odpowiednią pętlę (odejmujemy 1 od tab.length ponieważ używamy znaku “<”
(mniejszy), nie “<=” (mniejszy lub równy)):

Za pomocą instrukcji warunkowej sprawdzamy, czy elementy zostały odpowiednio ułożone (bieżący
element jest mniejszy lub równy kolejnemu). Jeśli tak, niech na czacie wyświetli się odpowiedni
komunikat. Może to być powiedzenie użytkownikowi, które elementy zostały sprawdzone używając
liczb według numeracji tablicy (od 0) lub zwykłej (zaczynającej od 1, w takim wypadku do indeksu
trzeba dodać odpowiednio wartości). W przeciwnym razie oprócz komunikatu chcemy przerwać
działanie pętli.

Pozostało jeszcze dodać punkty za rozgrywkę, jeśli wszystkie elementy zostały ułożone
poprawnie. Ponieważ program przerywa działanie pętli w przypadku błędu, możemy to zrobić gdy
sprawdzenie ostatniej pary przebiegnie pomyślnie. Tzn. gdy indeks wskazuje na przedostatnią pozycję
tablicy i wynik jest prawidłowy.
Zaczynamy od sprawdzenia, czy znajdujemy się już na ostatniej parze:
Teraz możemy przyznać graczowi punkty oraz wyświetlić komunikat. Ilość możliwych do
otrzymania punktów odpowiada długości sortowanej tablicy.

Kod ukończony! Tak powinno prezentować się całe polecenie “sprawdź”:

Czas na testy. Możemy wcielić się w rolę gracza i sprawdzić naszą tablicową mini-grę.

ZAKOŃCZENIE

Na dzisiaj to już wszystko! Dokończyliśmy naszą tablicową mini-grę i możemy dzięki niej
ćwiczyć poruszanie się po tablicach. W prezentacji podsumowującej (na górze pliku), na ostatnim
slajdzie znajduje się Wyzwanie Tygodnia. Do zobaczenia na następnych zajęciach!

You might also like