Dr inż. Stanisław Lipski
1
Zmienne to takie miejsca (w RAM), gdzie przechowywane są
dane.
Jak sama nazwa wskazuje, dane te mogą zmieniać się podczas
działania programu.
Każda zmienna posiada swoją nazwę (np. a,x, zmienna1) oraz
typ (np. int).
Typ zmiennej to po prostu rodzaj danych, jaki może być w niej
przechowywany.
Przykład: mamy zmienną o nazwie zmienna1, w której możemy
przechowywać liczby całkowite (z pewnego zakresu).
Nie możemy w tej zmiennej zapisać więc tekstu (np. "Napis1"),
gdyż "Napis1" ma inny typ niż zmienna1.
Możemy zapisać w niej jedynie liczby całkowite (np. 100).
Gdy chcemy korzystać ze zmiennej, musimy ją najpierw
zdefiniować, tzn. powiedzieć kompilatorowi, jak się będzie
nazywać i jakiego będzie typu.
2
Definicja zmiennej wygląda następująco:
typ_zmiennej nazwa_zmiennej;
Mamy do dyspozycji różne typy danych:
- int - liczby całkowite (miejsce w pamięci: 2B, 4B lub
więcej)
- float - liczby rzeczywiste (miejsce w pamięci: 4B)
- double - liczby rzeczywiste o podwójnej precyzji
(używane do wyrażania skrajnie małych/dużych liczb)
- char - znaki (miejsce w pamięci: 1B)
Dla wymienionych typów danych istnieją różne
wariacje np. unsigned int, ale o tym później będą gdy
potrzebne.
3
Przykład ilustrujący definicję i przypisywanie zmiennym wartości:
float liczba_r; // definicja zmiennej liczba_r...
char znak; // definicja zmiennej znak
liczba_r = 28.25; // wpisanie do zmiennej wartości 28.25
znak = 'a'; // wpisanie do zmiennej znaku 'a'
W programie pojawił się zapis: zmienna = wartość. Powoduje on
zapisanie do zmiennej podanej wartości (prawda, że proste?).
Jednak gdy używamy typu char: należy pamiętać, że o ile ciąg
znaków podajemy w cudzysłowie, o tyle pojedynczy znak w
apostrofach, np. 'a'.
Do zmiennej możemy również wpisać zawartość innej zmiennej tego
samego typu, np.
int a, b; // można definiować zmienne tego samego typu po
przecinku
a = 5;
b = a; // dwie zmienne tego samego typu
cout << b; // wartość zmiennych można wyświetlać, ale nie piszemy
wtedy " "
4
Podczas definicji zmiennych możemy
nadawać im wartość, np. int a = 10, b = 5;
Łatwa komunikacja z użytkownikiem
programu.
Wartości zmiennych można odbierać od
użytkownika przy pomocy polecenia: cin >>
nazwa_zmiennej, np:
int liczba, liczba2 = 28;
cin >> liczba; // ważne - bez cudzysłowu!
cout << "Wpisales liczbe: " << liczba <<
endl << "a ja dodalem: " << liczba2;
5
Definicja zmiennej: typ_zmiennej
nazwa_zmiennej
Przypisywanie wartości: zmienna = wartość
Pamiętaj o zgodności typów
instrukcja cin służy do pobierania danych
(standardowo z klawiatury)
6
Napisz program, który wczyta nazwisko, imię,
wiek, wzrost, nr telefonu i nazwę sieci
użytkownika, a następnie wyświetli je w
osobnych linijkach.
7
Programując, często musimy wykonywać jakieś działania
arytmetyczne. Przykładowo dodawanie:
int liczba = 5;
liczba = liczba + 5; // do zmiennej dodajemy 5
Pozostałe operatory arytmetyczne (pomijając poznany operator
dodawania: +) to m.in.:
- odejmowanie
* mnożenie
/ dzielenie
Prosty przykład: a = 5*10; // zmienna a jest równa 5*10 = 50
Przy wykonywaniu operacji matematycznych należy pamiętać o
sprawdzeniu typów zmiennych (np. zmienna typu int podzielona
przez zmienną typu int może dać wynik float, więc taki typ
zmiennej należy zdefiniować).
Dla wygody wymyślono krótszy zapis:
liczba = liczba + 5 jest równoważny: liczba += 5
Analogicznie postępujemy w przypadku pozostałych działań, np.
liczba *= 5;
8
//---------------------------------------------------------------------------
#include <condefs.h>
#include <iostream.h>
#include <conio.h>
#pragma hdrstop
int multiply(int, int);
void showResult(int);
int main(int /*argc*/, char /***argv*/)
{
int x, y, result;
cout << endl << "Podaj pierwszą liczbe: ";
cin >> x;
cout << "Podaj drugą liczbe: ";
cin >> y;
result = multiply(x, y);
showResult(result);
cout << endl << endl << "Nacisnij dowolny klawisz...";
getch();
return 0;
}
int multiply(int x, int y)
{
return x * y;
}
void showResult(int res)
{
cout << "Wynik operacji: " << res << endl;
}
9
Przykład
mnożenia
#include <iostream.h>
#include <conio.h>
#include <math.h> // pow() i sqrt()
#pragma hdrstop
double i, j, k;
int main()
{
// pętla for z inkrementacją zmiennej sterującej i
for(i = 1; i <= 10; i++) {
j = pow(i, 2);
k = sqrt(i);
cout << endl << "kwadrat " << i <<" = " << j;
cout << "; pierwiastek " << i << " = "<< k;
}
cout << endl;
// pętla for z dekrementacją zmiennej sterującej i
for(i = 10; i >= 1; i--) {
j = pow(i, 2);
k = sqrt(i);
cout << endl << "kwadrat " << i <<" = " << j;
cout << "; pierwiastek " << i << " = "<< k;
}
cout << endl << "Naciśnij klawisz...";
getch();
return 0;
}
10
Przykład pętli for
Na liczbach i zmiennych można wykonywać
działania
Stosowanie zapisów skróconych (np. +=)
oszczędza czas i klawiaturę
- wynik może być innego typu niż części
składowe działania
11
Napisz program demonstrujący działanie
operatorów arytmetycznych.
12
stlipski@gmail.com13
13