182
Rozdział 4.
Planowanie dalszej części raportu
Biurowej rozmowy
ciąg dalszy…
Judyta:
Doskonale. Pierwszą
rzeczą, którą musimy teraz
zrobić, jest określenie łącznej
liczby przeprowadzonych testów.
To akurat jest proste: wystarczy
określić długość tablicy z wynikami.
Józek:
Jasne. Musimy także
znaleźć największy wynik,
a następnie płyny, z którymi
ten wynik jest skojarzony.
Judyta:
Tak… To ostatnie zadanie będzie najtrudniejsze. Zajmijmy się
najpierw znalezieniem najwyższego wyniku.
Załatwiliśmy już sprawę
wyświetlania wszystkich wyników
testów, teraz pozostaje jedynie
dokończyć pozostałą część
raportu.
Hej, naprawdę potrzebuję tego raportu, żeby szybko
podejmować decyzje, który płyn do baniek mamy
produkować! Czy możecie to jakoś zaprogramować?
— Prezes BańkoCorp.
BańkoCorp
3ï\QGREDQLHNQUZ\QLN
3ï\QGREDQLHNQUZ\QLN
3ï\QGREDQLHNQUZ\QLN
/LF]EDWHVWöZ
1DMZLÚNV]DOLF]EDZ\WZRU]RQ\FKEDQLHN
3ï\Q\]QDMOHSV]\PZ\QLNLHP
Tu jest zapisana reszta wyników…
Józek:
To faktycznie wygląda na najlepsze miejsce do rozpoczęcia prac.
Judyta:
Uważam, że w tym celu potrzebujemy zmiennej, która będzie przechowywała największy wynik
podczas analizowania wszystkich wyników w tablicy. Dobra, napiszę to w formie pseudokodu.
ZADEKLARUJ:
zmienną
highScore
i przypisz jej początkową wartość
0
.
FOR: var i=0;i < scores.length; i++
WYŚWIETL wynik dla analizowanego płynu: scores[i]
IF scores[i] > highScore
USTAW highScore = scores[i];
KONIEC IF
KONIEC FOR
WYŚWIETL highScore
Józek:
Super. Udało ci się to zrobić po dodaniu jedynie kilku wierszy do naszego istniejącego kodu.
Judyta:
Podczas każdego wykonania zawartości pętli sprawdzamy, czy aktualny wynik nie jest większy od
wartości zmiennej
highScore
, a jeśli jest, zapisujemy go w niej. Później, kiedy pętla zostanie zakończona,
wyświetlamy ten największy wynik.
Dodajemy zmienną do przechowywania
najwyższego wyniku.
Podczas każdej iteracji pętli
sprawdzamy, czy aktualnie przetwarzany
wynik jest większy, a jeśli tak,
zapisujemy go w zmiennej highScore.
Po zakończeniu pętli po prostu
wyświetlamy najwyższy wynik.
jesteś tutaj
183
Porządkowanie naszych danych
var scores = [60, 50, 60, 58, 54, 54,
58, 50, 52, 54, 48, 69,
34, 55, 51, 52, 44, 51,
69, 64, 66, 55, 52, 61,
46, 31, 57, 52, 44, 18,
41, 53, 55, 61, 51, 44];
var highScore = ________;
var output;
for (var i = 0; i < scores.length; i++) {
output = ”Pïyn do baniek nr ” + i + ” wynik: ” + scores[i];
console.log(output);
if (___________ > highScore) {
___________ = scores[i];
}
}
console.log(”Liczba testöw: ” + _____________);
console.log(”NajwiÚksza liczba wytworzonych baniek: ” + __________);
Zaimplementuj pseudokod przedstawiony na poprzedniej stronie, który służy do
odnajdywania największego wyniku. W tym celu wypełnij puste miejsca w kodzie
przedstawionym poniżej. Kiedy już to zrobisz, wypróbuj kod, wprowadzając
odpowiednie modyfikacje w stronie
bubbles.html
i wyświetlając ją w przeglądarce.
Sprawdź wyniki w oknie konsoli, a następnie wypełnij puste miejsca w przedstawionym
poniżej oknie konsoli, wpisując w nich liczbę testów oraz największy wynik. Porównaj
swoje odpowiedzi z naszymi, podanymi pod koniec tego rozdziału.
Zaostrz ołówek
Konsola JavaScript
3á\QGREDQLHNQUZ\QLN
3á\QGREDQLHNQUZ\QLN
3á\QGREDQLHNQUZ\QLN
...
3á\QGREDQLHNQUZ\QLN
3á\QGREDQLHNQUZ\QLN
/LF]EDWHVWyZBBBBBBB
1DMZLĊNV]DOLF]EDZ\WZRU]RQ\FKEDQLHNBBBBBBB
Dokończ ten kod, uzupełniając
jego brakujące fragmenty…
…a następnie wypełnij puste miejsca
wyników przez wpisanie do nich liczb
wyświetlonych w Twoim oknie konsoli.
184
Rozdział 4.
Dodanie największego wyniku
Hej, naprawdę potrzebuję tego raportu, żeby szybko
podejmować decyzje, który płyn do baniek mamy
produkować! Czy możecie to jakoś zaprogramować?
— Prezes BańkoCorp.
BańkoCorp
3á\QGREDQLHNQUZ\QLN
3á\QGREDQLHNQUZ\QLN
3á\QGREDQLHNQUZ\QLN
/LF]EDWHVWyZ
1DMZLĊNV]DOLF]EDZ\WZRU]RQ\FKEDQLHN
3á\Q\]QDMOHSV]\PZ\QLNLHP
Tu jest zapisana reszta wyników…
Słuchajcie, już
prawie się udało! Zostało tylko
wybranie i wyświetlenie wszystkich
płynów, które uzyskały największy wynik.
Pamiętajcie, że takich płynów może
być więcej niż jeden.
Czy pamiętasz, że
zostało nam do zrobienia
jedynie wygenerowanie
tego wiersza raportu?
e:LĕFHM QLĵ MHdHQqf KPPP
A czego używamy,
jeśli mamy zapisać więcej niż jedną informację?
Oczywiście, tablicy. A zatem możemy przeglądać
tablicę wyników w poszukiwaniu wyników równych
największemu, a następnie dodawać je do nowej
tablicy, żeby później wyświetlić w raporcie?
Można by się założyć, że faktycznie da się to
zrobić. Jednak w tym celu musimy się dowiedzieć,
jak utworzyć nową, pustą tablicę, a następnie
zrozumieć, jak dodawać do niej nowe elementy.
Get Programowanie w JavaScript Rusz głową! now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.