Kurs C++ - zadania, opracowania, olimpiady, algorytmy
  Lekcja 2 - zmienne i wczytywanie
 
Wreszcie jakaś ciekawa lekcja

Dziś dowiecie się jak deklarować zmienne (komórki, które przechowują dane), i jak je wczytywać.
Po tej lekcji będziecie umieli napisać program, który dodaje, odejmuje, mnoży, dzieli (itd...) liczby.

Zacznijmy od zmiennych.

Istnieje ich kilka rodzajów. Czemu? Ponieważ nie zawsze musimy wczytywać duże liczby. Chodzi o to, że zawsze nasz program może zajmować mniej miejsca .

Wyróżniamy kilka rodzajów zmiennych.

int - (integer) zmienna przechowuje liczby całkowite od -32768 do 32767.

shortint - podobna do int przechowuje liczby całkowite z zakresu  od -128 do 127 (i zajmuje mniej miejsca niz int)

- bool - zmienna służy do przechowywania wartośc logicznych true/false (prawda/fałsz).

- float - zmienna przechowuje liczby rzeczywiste (zmiennoprzecinkowe - do 7 cyfr po przecinku).

char - zmienna przechowuje znaki (litery, cyfry, znaki interpunkcyjne). Za pomącą tego typu zmiennej można także przechowywać niewielkie liczby.

double - zmienna przechowuje liczby rzeczywiste podobnie jak float, ale posiada dużo większą dokładność (do 15 miejsc po przecinku).

long long - największa zmienna, która zajmuje najwięcej miejsca, ale przechowuje liczby całkowite od ok. -2.000.000.000 do ok. 2.000.000.000 (potem już nam zostaje tylko implementacja własnej arytmetyki, ale o tym później).

C++ pozwala także na użycie pewnych kwalifikatorów przed typem zmiennej:

signed  - zmienna może przechowywać wartości dodatnie i ujemne (zmienna posiada znak +/-).

unsigned - zmienna może przechowywać tylko wartości dodatnie.



Istnieje także możliwość określenia klasy zmiennej. Należy jednak podkreślić, że TYP ZMIENNEJ (char,int itp.)
decyduje o sposobie interpretacji przechowywanych w pamięci bitów, natomiast
KLASA ZMIENNEJ decyduje o sposobie przechowywania zmiennej w pamięci.
W C++ występują następujące klasy zmiennych:

const - stała - nie można zmieniać wartości raz nadanej

static - zmienna w momencie uruchomienia programu otrzymuje stałe miejsce w pamięci.

UWAGA: Słowo kluczowe static ma inne zastosowanie przy deklaracji funkcji.

auto - przydział miejsca w pamięci dla zmiennej następuje dynamicznie (na stosie) w czasie wykonywania bloku, w którym
zmienna została zadeklarowana. Po zakończeniu wykonywania instrukcji z danego bloku pamięć po zmiennej zostaje zwolniona.
Jest to domyślna klasa zmiennych.

register - zmienne lokalne (tzn. dostępne tylko w bloku, w którym zostały zadeklarowane). Zmienne te są umieszczane w miarę możliwości w rejestrach procesora. Jeżeli w programie pojawi się więcej niż 2 zmienne tej  klasy to zostaną one umieszczone na stosie. Praktyczne zastosowanie znajduje np. jako licznik w pętlach, co przyspiesza działanie programu.

extern - jeżeli zmienna została - raz i TYLKO RAZ - zadeklarowana w pojedynczym segmencie programu, zostanie w tym segmencie umieszczona w pamięci i potraktowana podobnie jak zmienna klasy static. Po zastosowaniu w innych segmentach deklaracji tej samej zmiennej jako extern, zmienna ta może być używana również w tamtych segmentach programu.

volatile - oznacza zmienną, z której mogą korzystać także inne procesy. Oznacza to np., że inny proces może zmieniać wartość tej zmiennej przez co przed każdym jej użyciem musi zostać odczytana na nowo.


Deklarując zmienne musimy pamiętać, że kompilator rozróżnia małe i duże litery. Zatem zmienna A nie jest zmienną a i vice versa;
Zmienne NIE mogą mieć nazwy, która jest jednym ze słów kluczowych.



Dobra więc wiemy już wszystko o zmiennych teraz czas poznać funkcję, która je wczytuje.
Może napiszę mały programik który wszystko wyjaśni

#include <iostream>
using namespace std;

int main()
{
      int n;  // Deklaruję zmienną typu int.

      cin>>n; // Wczytuję zmienną!

     
cout<<n<<endl; // Wypisuję jej wartość

  
return 0;

}

Oto prosty programik, który wczytuje od użtykownika liczbę, a następnie ją wypisuje.
(Jakby ktoś zapomniał jak odpalić program niech przeczyta poprzednią lekcję, a najlepiej jej końcówkę )

Czyli już wiemy jak wczytywać zmienne służy do tego funkcja:
cin>>nazwazmiennej;

Pamiętajcie, że zmienna nie może zawierać spacji np:
int moja zmienna  <-- to jest źle.
int moja_zmienna <-- tak jest ok

Dobra wszystko już wiemy teraz pokaze wam przykładowy program, który dodaje 2 liczby
.

#include <iostream>
using namespace std;

int main()
{
      int a,b,wynik;  // Deklaruję zmienne typu int.

      cin>>a>>b; // Wczytuję zmienne

     
wynik=a+b;

      cout<<wynik<<endl; // Wypisuję wynik

  
return 0;

}

Chyba nie trzeba nic tłumaczyć.
Zadeklarowałem 3 zmienne - a liczba nr 1, b liczba nr 2 i wynik zmienna która przechowuje a+b.

linijka: wynik=a+b;
Oznacza, że przypisujemy zmiennej wynik wartość (a+b).

Jeszcze trochę o operatorach i koniec

+ - dodawanie,
-  - odejmowanie,
* - mnożenie,
/ - dzielenie,
% - reszta z dzielenia.



To już wszystko na koniec kilka zadań:

1. Napisz program, który odejmuje 2 liczby , zadeklaruj zmienną, która przechowuje liczby od -2.000.000.000 do  2.000.000.000.

2. Napisz program, który mnoży 3 cyfry, użyj zmiennej, która przechowuje liczby
od -32768 do 32767.

3*. http://main.edu.pl/user.phtml?op=showtask&task=cze&con=PAS

W razie problemów zapraszam na forum



 
 
   
 
Ta strona internetowa została utworzona bezpłatnie pod adresem Stronygratis.pl. Czy chcesz też mieć własną stronę internetową?
Darmowa rejestracja