If you're seeing this message, it means we're having trouble loading external resources on our website.

Jeżeli jesteś za filtrem sieci web, prosimy, upewnij się, że domeny *.kastatic.org i *.kasandbox.org są odblokowane.

Główna zawartość

Przechowywanie danych w zmiennych

Programy komputerowe instruują komputery jak przetwarzać dane.
Czasami dane pochodzą od użytkownika, np. gdy gra prosi o wybranie poziomu trudności i głośności muzyki:
Schemat laptopa z możliwością konfiguracji ustawień gry. Etykieta "głośność" jest wyświetlana nad suwakiem, który jest wypełniony w 30%. Etykieta "trudność" jest wyświetlana nad trzema przyciskami, "łatwy", "średni", "trudny", z wybranym przyciskiem "łatwy". Strzałka wskazuje od strony laptopa do tabeli z 2 wierszami. Pierwszy wiersz ma "głośność: 3", a drugi "trudność: łatwy".
Innym razem dane są już przechowywane w programie, na przykład gdy ta sama gra rozpoczyna się od zerowego rezultatu i trzech żyć:
Schemat, który zaczyna się od tabeli składającej się z 2 wierszy. Pierwszy wiersz ma "wynik: 3", a drugi " życia: 3". Strzałka wskazuje z tabeli na laptopa z ekranem do gry. Na ekranie wyświetlany jest zerowy wynik w lewym górnym rogu i 3 serca w prawym górnym rogu.
Tak czy inaczej, program może przechowywać te dane w zmiennych. Każda zmienna ma swoją nazwę, wartość i typ. Wartość ta może zmieniać się w czasie i dlatego właśnie nazywa się ją "zmienną".
Ta gra wykorzystuje co najmniej cztery zmienne:
nazwawartośćtyp
volume3number (liczba)
difficulty"easy"string (ciąg znaków)
score0number (liczba)
lives3number (liczba)
Wiele zmiennych przechowuje liczby i ciągi, jak te powyżej. Zmienne mogą również przechowywać inne rodzaje danych, takie jak listy, słowniki i wartości logiczne (prawda/fałsz).
Zaczniemy od nauki liczb i ciągów znaków, a później przejdziemy do zaawansowanych typów. Po pierwsze, napiszmy jakiś kod!

Przypisywanie zmiennych

Oto jak tworzymy zmienną o nazwie score w języku JavaScript:
var score = 0;
Ta linia kodu jest nazywana instrukcją. Wszystkie programy składają się z instrukcji, a każda instrukcja jest instrukcją dla komputera o tym, co musimy zrobić.
Dodajmy zmienną lives:
var score = 0;
var lives = 3;
📝 Porównaj analogiczny kod w: App Lab | Snap | Python
Teraz nasz kod używa dwóch poleceń do przechowywania dwóch zmiennych o dwóch różnych wartościach. Za kulisami, komputer przechowuje każdą wartość w innym miejscu w pamięci, a zmienne wskazują na to miejsce w pamięci.

Wyświetlanie zmiennych

Jak możemy się upewnić, że komputer rzeczywiście przechowuje te wartości w pamięci? Możemy poprosić go o wyświetlenie tych wartości.
Jak dowiedzieliśmy się wcześniej, jednym ze sposobów na wyświetlanie na Khan Academy jest procedura println():
📝 Porównaj analogiczny kod w: App Lab | Snap | Python
Gdy poinstruujemy komputer, że ma println(score), komputer musi poszukać w swojej pamięci bieżącej wartości tej zmiennej, a następnie, gdy ją znajdzie, będzie mógł ją wyświetlić w konsoli.
🔍 Spróbuj sam: Edytuj kod, aby poprosić komputer o znalezienie zmiennej, o której jeszcze nie wie. Co się stało?

Ponowne przypisanie zmiennych

W grze wynik gracza i liczba jego żyć nie pozostają takie same. Punktacja zazwyczaj idzie w górę, a życie zazwyczaj spada. Oznacza to, że musimy być w stanie zmieniać wartość tych zmiennych później.
Możemy ponownie przypisać zmienną do nowej wartości za pomocą kodu podobnego do naszego pierwszego zadania:
score = 5;
Teraz zmienna score przechowuje wartość 5 zamiast wartości początkowej 0.
Zauważ, że kiedy zmieniamy przypisanie w JavaScript, nie umieszczamy już var z przodu. Nie we wszystkich językach tak jest, więc może być nieco inaczej w innym języku, którego się uczysz.
Oto program, który tworzy dwie zmienne, ponownie przypisuje jedną z nich i wyświetla wartości po drodze:
📝 Porównaj analogiczny kod w: App Lab | Snap | Python
Ten program jest interesujący, ponieważ zawiera 2 linie, które wyglądają dokładnie tak samo: println(score). Jednak wszystkie wypisane linie są inne; jak to możliwe?
To dlatego, że komputer wykonuje każdą instrukcję po kolei, a wartość zmiennej score zmienia się w czasie.
Przejdźmy przez ten program, instrukcja po instrukcji:
KrokInstrukcjaOpis
1var score = 0;Inicjuje zmienną score na 0
2var lives = 3;Inicjuje zmienną lives na 3
3println(score);Wyświetla bieżącą wartość wyniku: 0
4println(lives);Wyświetla aktualną wartość żyć: 3
5score = 5;Ponownie przypisuje zmiennej score wartość na 5
6println(score);Wyświetla bieżącą wartość wyniku: 5
Kiedy po raz pierwszy tworzymy program, często wyświetlamy wartość zmiennych, aby dwukrotnie sprawdzić ich stan. Czy zmienne przechowują to, co wydaje nam się, że przechowują, czy też nasz kod zrobił po drodze coś nieoczekiwanego?
🔍 Spróbuj sam: edytuj powyższy kod i zobacz, jak zmienia się wynik.

Pseudokod dla zmiennych

Ten pseudokod reprezentuje przypisanie zmiennej:
a ← wyrażenie
Za każdym razem, gdy widzisz dany pseudokod, oznacza to, że zmiennej a (lub jakkolwiek się ona nazywa) przypisana jest wartość wyrażenia.
Na przykład, możesz zobaczyć taki pseudokod:
age ← 21
Oznacza to, że zmiennej age przypisano wartość 21.
Spójrzmy na równoważny kod w kilku językach tekstowych:
językkod
JavaScriptvar age = 21;
Pythonage = 21
Przypisywanie zmiennych jest także pojęciem w językach blokowych:
językblok
Snap!
Zrzut ekranu ze zmienną blokową z Snap, mówi "ustaw wiek na 21 lat".
AppInventor
Zrzut ekranu ze zmienną blokową z AppInventor, mówi "zainicjuj globalny wiek na 22 lat".
Jak widać, kod do przypisywania zmiennych jest bardzo podobny we wszystkich językach. Istnieją jednak pewne różnice i dlatego używamy pseudokodu: aby przekazać koncepcję i nie martwić się o dokładną składnię.
Sprawdź swoją wiedzę
Jaki jest odpowiednik pseudokodu tego JavaScript?
var x = 200;
Wybierz 1 odpowiedź:


🙋🏽🙋🏻‍♀️🙋🏿‍♂️Masz pytania związane z tym zagadnieniem? Możesz zadać swoje pytanie poniżej!

Chcesz dołączyć do dyskusji?

Na razie brak głosów w dyskusji
Rozumiesz angielski? Kliknij tutaj, aby zobaczyć więcej dyskusji na angielskiej wersji strony Khan Academy.