niedziela, 11 grudnia 2022

Zmienna to po prostu zmienna - czyli teoria teorii programowania #1

Języki programowania mają różną konstrukcję jednak podstawy ich są takie same. Mam na myśli fakt, że w każdym języku pojawią się m.in.:


Czarne tło na którym napisane jest fragment kodu, w różnych kolorach
Przykładowy kod


  • Zmienne,
  • Pętle,
  • Funkcję
Jednak teraz zajmiemy się zmiennymi, czym one są, do czego są wykorzystywane i jak wyglądają. Ponieważ w różnych językach ich konstrukcja jest nieco inna. Teraz zaprezentuję tą samą zmienną przy wykorzystaniu 4 języków. Będzie to tekst "Hello World !"

Python:
    message = "Hello World !"

JavaScript:
    let message = "Hello World !"

C#:
    string message =  "Hello World !";

PHP:
   $message =  "Hello World!"

W zależności od języka konstrukcja zmiennej delikatnie różni się jednak są 3 wspólne cechy:
  • Nazwa zmiennej np. message
  • Znak przypisania jest to = 
  • Wartość zmiennej w zależności od typu (o czym będzie później) wzięta w cudzysłów "Hello World" bądź apostrof 'Hello World'
Cechy nie wspólne to:
  • Oznaczenie zmiennej w JavaScript to np. let a w PHP to znak dolara ($)
  • Oznaczenie typu zmiennej w C# najpierw piszemy typ np. string a później resztę 
  • Na końcu znak końca linii w C# to ;
Zmienna przechowuje jakąś wartość i ta wartość najczęściej jest jakiegoś typu, niektóre języki wymagają, aby ten typ określić wcześniej. Tak jak na przykład w C# gdzie najpierw określamy typ a później dopiero nazwę zmiennej. Nawet jeżeli nie określamy typu zmiennej jak w JavaScript lub Python to nadal jednak te typy wstępują jeżeli wartość znajduje się cudzysłowie albo apostrofie mamy do czynienia ze stringiem, 

Czym są typy zmiennych: string, number, boolen ?

3 najpopularniejsze typy na sam początek to string, number(np. int) oraz boolen. Zacznijmy jednak od początku czyli od zmiennej typu string.

String to nic innego jak ciąg znaków zapisany w apostrofie, cudzysłowie albo backtick po polsku to chyba odwrócony apostrof ( ` ). Niektóre języki jak np. JavaScript wykorzystują backtick, pozwala on na dodawanie wartości zmiennych do tekstu np.

    let age = 20
    let name = "Asia"

    let text = ` ${name} ma ${age} lat` 

powyższy przykład można sprawdzić:
  1. W przeglądarce wpisz about:blank, 
  2. otworzy się pusta biała stron, 
  3. wciśnij F12 otworzą się narzędzia developerskie,
  4. w pozycji "konsola" należy wkleić powyższy kod. 
  5. Później wystarczy wpisać tylko nazwę "text" i zobaczyć efekt. 
W przypadku Pythona funkcję backtick pełni f-string. Jest to prosty zapis np.

    tekst = "Hello World !"
    txt = f"W zmiennej tekst znajduje się wartość: {tekst}"

podobnie jak w JavaScript używamy tutaj klamerek {} tylko zamiast ${} w Pythonie jest sama klamerka i podobnie jak w JS wewnątrz klamerki jest np. nazwa zmiennej.

Number to bardzo uogólniona wartość ponieważ w większości języków występują różne typy wartości liczbowych. Przykładami zmiennych liczbowych to: int (liczby całkowite) oraz float (liczby zmiennoprzecinkowy).

W przykładzie:
    
    let age = 20 

zmienna age ma wartość 20 i jest to typ Number. 

Jeżeli w przeglądarce w narzędziach developerskich wpiszemy typeof(age) dostaniemy odpowiedź Number

Skoro poznaliśmy już zmienną String oraz Number możemy dostrzec, że różnica między nimi to kwestia zapisu. Stringi zapisujemy w  cudzysłowie "tekst" lub apostrofie 'tekst', a Number to zapisana liczba 25, 982, 1000000
Jednak String to ciąg znaków możemy np. napisać "25" jako stringa. I może powstać pytanie. Czy "25" to 25 ? I tak i nie. Otóż jest to zależne od języka. Pokaże to na przykładzie Pythona oraz JavaScript.

Python 
    a = "25"
    b = 25 
    print(type(a))
    print(type(b))
    print(a == b)    #false
            
JavaScript
    let a = "25"
    let b = 25
    console.log(typeof(a))
    console.log(typeof(b))
    console.log(a == b) // true
    console.log(a === b) // false

W zależności od języka 😉i tak w Pythonie "25" to nie 25 są to dwie różne wartości.
Jednak już w JavaScript jest inaczej tutaj są 2 typy porównań == porównuje wartości i tutaj "25" i 25 to ta sam wartość. Jednak jak napiszemy === wtedy porównujemy nie tylko wartość ale i typ. Warto o tym wiedzieć.

Należy pamiętać, że liczby zmiennoprzecinkowe zapisujemy z kropką (.) np. 1.25, 16.7313477


Boolen to wartość True oraz False czyli czy coś jest prawdą czy fałszem. Ciekawostką jest to, że wartość boolen reprezentowana jest również w wartości 1 = True oraz 0 = False. Oznacza to, że do wartości boolen możemy wykonywać operacje arytmetyczne. 

Znowu za pomocą Pythona oraz JavaScript zaprezentuję jak wygląda taka zmienna:

Python
    a = True
    b = False

JavaScript
    let a = true 
    let b = false 

Inaczej też mówiąc każda wartość inna niż zero jest wartością True natomiast 0 to zawsze False. Również wartość ujemna jest wartością True.

Jest to wstęp, chciałem, próbowałem wyjaśnić czym jest zmienna, jak ona działa i do czego służy. 

Kolejny post poświęcony będzie edytorom kodu.