Lekcja 2 — Programowanie: zmienne

https://www.youtube.com/watch?v=wVIvbzgm5cA

W języku C++, zmienne i stałe to podstawowe elementy przechowywania danych. Oto krótka charakteryzacja tych pojęć:

  1. Stałe (const):
    • Stałe są to wartości, które nie mogą być modyfikowane po zainicjowaniu.
    • W języku C++, stałe definiowane są przy użyciu słowa kluczowego const.
    • Przykład: const int liczba = 5; definiuje stałą liczba o wartości 5, która nie może zostać zmieniona w trakcie działania programu.
  2. Zmienne (variables):
    • Zmienne są to miejsca w pamięci, w których można przechowywać i zmieniać dane.
    • Zmienne muszą być zadeklarowane z określonym typem danych, który określa, jakie wartości mogą być w nich przechowywane.
    • Przykład: int x = 10; definiuje zmienną x o typie int i przypisuje jej wartość 10.
  3. Typy zmiennych:
    • Typy zmiennych określają, jakie rodzaje danych mogą być przechowywane w danej zmiennej.
    • W języku C++ istnieje wiele różnych typów zmiennych, w tym:
      • int: Przechowuje liczby całkowite (np. int liczba = 5;).
      • double: Przechowuje liczby zmiennoprzecinkowe (np. double liczba = 3.14;).
      • char: Przechowuje pojedyncze znaki (np. char litera = 'A';).
      • bool: Przechowuje wartości logiczne true lub false (np. bool prawda = true;).
      • i wiele innych.

Przykłady:

const int stala = 100;
int zmienna = 42;
double liczba_zmiennoprzecinkowa = 3.14;
char znak = 'X’;
bool prawda = true;

Typ danych zmiennej określa, jakie operacje można na niej wykonywać, jakie wartości może przyjąć i ile pamięci zajmuje. Warto wybrać odpowiedni typ danych w zależności od rodzaju informacji, którą chcemy przechowywać, aby zoptymalizować wykorzystanie pamięci i zapewnić poprawność operacji na tych zmiennych.

  1. int:

    • int to skrót od „integer”, czyli liczby całkowitej.
    • Ten typ danych służy do przechowywania liczb całkowitych, czyli liczb bez części dziesiętnej.
    • Przykład: int liczba = 42;
  2. float:

    • float to typ danych używany do przechowywania liczb zmiennoprzecinkowych (lub liczb zmiennoprzecinkowych jedno-precyzyjnych).
    • Zazwyczaj zajmuje 4 bajty pamięci.
    • Przykład: float liczba = 3.14;
  3. string:

    • string to typ danych używany do przechowywania ciągów znaków, czyli tekstowych danych.
    • Jest to część standardowej biblioteki C++ (STL).
    • Przykład: string napis = "Hello, World!";
  4. char:

    • char to typ danych używany do przechowywania pojedynczego znaku.
    • Zmienna typu char przechowuje jeden znak w kodzie ASCII.
    • Przykład: char litera = 'A';
  5. bool:

    • bool to typ danych używany do przechowywania wartości logicznych.
    • Może przyjmować jedną z dwóch wartości: true (prawda) lub false (fałsz).
    • Przykład: bool prawda = true;

Te typy danych stanowią podstawę do przechowywania różnych rodzajów informacji w języku C++. Wybór odpowiedniego typu zależy od rodzaju danych, które chcesz przechowywać oraz od zakresu wartości, które mają być obsługiwane przez zmienną.

kod na zajęcia:
#include <iostream>
int main() {
int a = 2;
int b = 4;
int c = 1;
int d = 6;
std::cout << a+b << "n";
std::cout << c-d << "n";
}

Zmienna to nazwana informacja

Program komputerowy często musi zapamiętać wynik obliczenia, liczbę punktów albo imię gracza. Zmienna pozwala nadać takiej informacji nazwę. Dzięki temu zamiast wielokrotnie przepisywać wartość możemy odwoływać się do niej w kolejnych instrukcjach. W języku C++ zapis int punkty = 0; tworzy zmienną o nazwie punkty, przeznaczoną do przechowywania liczby całkowitej. Zero jest jej wartością początkową. Średnik kończy instrukcję, a znak równości oznacza tutaj przypisanie wartości, nie pytanie o równość dwóch liczb.

Warto odróżniać deklarację od późniejszej zmiany wartości. Przy deklaracji podajemy typ i nazwę, ponieważ informujemy kompilator o nowym elemencie programu. Później możemy napisać punkty = 10; bez ponownego podawania typu. Ta instrukcja zastępuje wcześniejszą wartość dziesiątką. Jeżeli następnie wykonamy punkty = punkty + 5;, program najpierw odczyta dotychczasową wartość, doda pięć i zapisze wynik w tej samej zmiennej. Po tej operacji punkty będą miały wartość piętnaście.

Typ dobieramy do znaczenia danych

Typ int stosujemy do liczb całkowitych, na przykład liczby uczniów albo trafień w grze. Typ double pozwala zapisywać liczby z częścią ułamkową, takie jak temperatura lub długość odcinka. W kodzie część ułamkową oddzielamy kropką: double temperatura = 21.5;. Typ bool opisuje dwie możliwości: true albo false. Nadaje się do informacji, czy gracz ma klucz lub czy drzwi są otwarte. Pojedynczy znak zapisujemy w typie char, a dłuższy tekst możemy przechowywać w std::string po dołączeniu nagłówka string.

Typ nie jest tylko ozdobą nazwy. Wpływa na sposób przechowywania informacji i wynik działań. Jeżeli obliczamy średnią ocen, sama liczba całkowita może nie wystarczyć. Dzielenie dwóch wartości typu int wykonuje dzielenie całkowite: wynik działania 5 / 2 to 2. Z kolei 5.0 / 2 daje wynik 2.5. Liczby zmiennoprzecinkowe mogą być przybliżeniami, dlatego nie należy zakładać, że każde działanie na nich jest idealnie dokładne. Na pierwszych lekcjach najważniejsze jest świadome wybieranie typu pasującego do zadania.

Czytelne nazwy i wartości początkowe

Nazwa powinna mówić, do czego służy zmienna. LiczbaPunktow jest bardziej zrozumiała niż przypadkowe x, jeśli program liczy wynik rozgrywki. Nazwa nie może zaczynać się cyfrą ani zawierać spacji. C++ rozróżnia wielkie i małe litery, więc punkty i Punkty to dwie różne nazwy. Dobrą praktyką na początku nauki jest używanie liter alfabetu łacińskiego i jednej, konsekwentnej konwencji zapisu. Nie używamy jako nazw słów zarezerwowanych, takich jak int, return czy if.

Zawsze nadaj lokalnej zmiennej wartość początkową, zanim spróbujesz ją odczytać. Zapis int wynik; nie oznacza automatycznie, że wynik wynosi zero. Odczyt niezainicjalizowanej lokalnej zmiennej jest błędem i może powodować nieprzewidywalne zachowanie programu. Jeżeli wiesz, że jakaś informacja nie powinna się zmienić, możesz użyć const, na przykład const int liczbaDniTygodnia = 7;. Taka stała wyjaśnia znaczenie liczby i pomaga uniknąć przypadkowego nadpisania jej w dalszej części programu.

Ćwiczenie: licznik punktów

Przygotuj program, w którym gracz zaczyna z dwunastoma punktami. Utwórz zmienną punkty, następnie dodaj osiem punktów za wykonanie zadania i odejmij trzy za pomyłkę. Po każdej zmianie wypisz aktualną wartość. Zanim uruchomisz kod, zapisz przewidywane wyniki w zeszycie. Powinieneś otrzymać kolejno dwanaście, dwadzieścia i siedemnaście. Takie ręczne śledzenie programu pomaga zauważyć, czy instrukcje występują we właściwej kolejności i czy zmieniasz właściwą zmienną.

Rozszerz ćwiczenie o drugą zmienną, opisującą liczbę wykonanych zadań. Wyświetl końcowy komunikat zawierający obie informacje, na przykład wynik oraz liczbę ukończonych zadań. Nie łącz różnych znaczeń w jednej zmiennej: liczba zadań i liczba punktów mogą przypadkiem być równe, ale opisują coś innego. Na koniec zmień wartość początkową i ponownie przewidź wynik. Jeśli program działa poprawnie dla różnych danych, masz mocniejszy dowód jego poprawności niż po jednym uruchomieniu.

Jak szukać błędu

Gdy kompilator zgłasza problem z nazwą, sprawdź literówki, wielkość liter i miejsce deklaracji. Zmienna zadeklarowana wewnątrz pary klamer zwykle jest dostępna tylko w tym bloku. Kiedy wynik jest niepoprawny, wypisz wartości po kolejnych instrukcjach i porównaj je z obliczeniami na kartce. Nie poprawiaj wielu miejsc naraz. Zmień jedną rzecz, uruchom program i sprawdź, jaki przyniosła efekt. Ta metoda ułatwia rozpoznanie przyczyny i jest przydatna również podczas późniejszej nauki warunków oraz pętli.

Sprawdź, co pamiętasz

Pytania kontrolne

1. Jaki jest główny temat artykułu „Lekcja 2 — Programowanie: zmienne”?

Wskazówka: Odpowiedz własnymi słowami i wskaż najważniejszy cel lub problem opisany w materiale.

2. Które trzy pojęcia, zasady albo etapy z artykułu warto zapamiętać?

Wskazówka: Wybierz informacje potrzebne do wykonania zadania lub wyjaśnienia tematu innej osobie.

3. Jak można wykorzystać tę wiedzę w praktyce?

Wskazówka: Podaj konkretny przykład z lekcji, pracy przy komputerze albo codziennej sytuacji.

4. Jakie kroki należy wykonać, aby poprawnie zrealizować opisane zadanie?

Wskazówka: Ułóż najważniejsze czynności we właściwej kolejności.

5. Jakich narzędzi, funkcji lub materiałów potrzeba do wykonania zadania?

Wskazówka: Wymień elementy wskazane w artykule i krótko opisz ich rolę.

6. Która zasada opisana w artykule jest najważniejsza i dlaczego?

Wskazówka: Uzasadnij wybór przykładem z materiału.

7. Jaki błąd można popełnić podczas wykonywania zadania i jak go uniknąć?

Wskazówka: Wskaż możliwą trudność oraz sposób jej rozwiązania.

8. Jak wyjaśnisz ten temat osobie, która poznaje go po raz pierwszy?

Wskazówka: Użyj prostych słów i najważniejszych pojęć z artykułu.

9. Co zmieniłoby się, gdyby pominąć jeden z opisanych etapów lub zasad?

Wskazówka: Przewidź skutek i uzasadnij odpowiedź.

10. Jakie własne ćwiczenie lub przykład można przygotować na podstawie artykułu?

Wskazówka: Zaproponuj zadanie, które sprawdza zrozumienie materiału.

Komentarze

Dodaj komentarz