3. Dane w programie (literały i zmienne)
Program przetwarza dane. Zatem dane trzeba jakoś w programie
zapisać lub do programu dostarczyć. Literał - to napis reprezentujący w sposób bezpośredni
wartość danej
Mamy do dyspozycji literały liczbowe, literały
znakowe i literały łańcuchowe. Uwaga1. Zapisując liczby rzeczywiste w programach
stosujemy jako separator miejsc dziesiętnych kropkę (a nie przecinek).
Wiodące zero możemy pominąć
Uwaga 2. W różnych językach programowania w różny sposób można zapisywać oprócz liczb dziesiętnych liczby szesnastkowe i ósemkowe, a czasami nawet dwójkowe. Uwaga 3. W różnych językach programowania w literałach liczbowych mogą być stosowane dodatkowe symbole, oznaczające rodzaj liczby np. długa całkowita lub rzeczywista. Dodatkowe dostępne są formy zapisu liczb w tzw. notacji naukowej np. 3.1e-12 oznacza 3.1 pomnożone przez 10 do potęgi -12
Na przykład:
3 10 101.3 10356789.12796 0.3 .3 Literał znakowy określa jeden bezpośrednio zapisany w programie znak. Do zapisania znaku będziemy stosować apostrofy. Na przykład: 'a' 'b' 'z' 'X' 'ć' '5' Literały łańcuchowe - to bezpośrednio zapisane w programie ciągi znaków (napisy), które chcemy traktować jako teksty, a nie elementy języka. Ciągi takie ujmujemy w cudzysłów. Uwaga o REXX-ie. Na przykład: "ala ma kota" "say" Dlaczego musimy zapisywać znaki i ciągi znaków w apostrofach/cudzysłowie? say "say"; W ogóle, nieujęte w cudzysłów napisy i nieujęte w apostrof
znaki alfabetyczne traktowane są jako nazwy zmiennych lub słowa kluczowe
(oznaczające instrukcje lub inne elementy języka). Np. a = b; będzie traktowane jako przypisanie zmienej a wartości zmiennej
b. Jeśli chcemy przypisać zmiennej a znak b, musimy napisać: a = 'b'; a taki napis: x = if; będzie potraktowany jako błąd składniowy, gdy if jest tzw.
słowem zarezerwowanym . Słowa kluczowe języka - to słowa, które mają specjalne
znaczenie (np. oznaczają instrukcje sterujące).
Słowa kluczowe mogą być zarezerwowane i wtedy nie mogą być używane w innych kontekstach poza znaczeniem opisanym przez składnię języka. (zob. więcej nt. słów zarezerwowanych) Oczywiście, samo użycie literałów nie wystarcza by napisać
sensowny program. Tak naprawdę programowanie polega na posługiwaniu
się zmiennymi . Zmienna jest symbolem w programie, oznaczającym
obszar w pamięci komputera, w którym mogą być zapisywane różne dane.
Czyli: Przypomnijmu sobie problem obliczenia ceny komputera. W bardzo
prostej formie (niejako powielającej doświadczenia stosowania arkuszy
kalkulacyjnych) moglibyśmy jego rozwiązanie zapisać jako jedną instrukcję
wyprowadzającą na konsolę sumę zapisanych literalnie cen składników (załóżmy,
że poslugujemy się następującymi informacjami: cena procesora, cena
płyty głównej, cena pamięci, cena dysku, cena monitora, sumaryczna cena
innych składników komputera i jakimiś wartościami tych cen). say "Cena komputera wynosi:"; say 700 + 500 + 350 + 440 + 1100 + 400; W wyniku otrzymamy: Cena komputera wynosi:
3490 Proszę zapisać ten program i uruchomić na własnym komputerze.
Nie jest to dobry sposób programowania. Zmieniając ceny (dla
jakiejś innej konfiguracji) musimy pamiętać, w którym miejscu w programie
wpisaliśmy ceny poszczególnych składników. Poza tym gdybyśmy kiedykolwiek
w tym programie chcieli policzyć również procentowe udziały cen składników
w sumarycznej cenie musielibyśmy dwukrotnie wpisywać każdą cenę oraz
jeszcze raz przeprowadzić całe sumowanie. /* Obliczenie ceny komputera */ cProc = 700; cPly = 500; cPam = 300; cDysk = 400; cMon = 1100; cInn = 500; cKomp = cProc + cPly + cPam + cDysk + cMon + cInn; say "Początkowo cena komputera wynosi :" cKomp; say "Udział ceny procesora :" cProc/cKomp; cProc = 300; cPly = 400; cKomp = cProc + cPly + cPam + cDysk + cMon + cInn; say "Po zmianie cen procesora i plyty"; say "Cena komputera wynosi :" cKomp; say "Udział ceny procesora :" cProc/cKomp; Proszę zapisać ten program i uruchomić na własnym komputerze. Dobierając nazwy zmiennych należy:
Wszystkie ceny przypisujemy zmiennym. Nazwy zmiennych możemy sami dobierać, ale każdy język wprowadza jakieś restrykcje w tym względzie (np. nazwa zmiennej nie może zaczynać się cyfrą i może zawierać tylko znaki alfanumeryczne; długość nazwy zmiennej może być ograniczona). Niektóre języki nie rozróżniają wielkich i małych liter w nazwach zmiennych (np. nazwa x oznacza tę samą zmienną, co nazwa X), inne (np. Java) - rozrózniają (x jest całkiem inną zmienną niż X). Przejdźmy teraz do semantyki. Zapis:
|