Appunti sul C++

I miei appunti collezzionati durante lo studio di questo linguaggio

Operatori Matematici

Una altro importante strumento che (quasi) ogni linguaggio di programmazione offre, sono gli operatori numerici, i quali permettono di utilizzare, manipolare e modificare gli elementi con cui lavoriamo. Alcuni di questi sono gli operatori matematici, che non sono altro che la trasposizione informatica delle 4 operazioni

+ Addizzione
- Sottrazione
* Moltiplicazione
/ Divisione
% Resto
++ Incremento
-- Decremento


L'utilizzo è molto semplice ed intuitivo. L'unica avvertenza deriva dall'eventuale utilizzo della divisione con variabili di tipo intero, il cui problema esporremo in seguito. Proviamo a creare un calcolatore che ci da automaticamente le 4 operazioni effettuate su due numeri interi dati:
#include <iostream>
#include <stdlib.h>
using namespace std;

//Programma calcolatore di interi
int main()
{

int
a, b;
cout << "inserisci il primo numero A: \n";
cin >> a;
cout << "inserisci il secondo numero B: \n";
cin >> b;
cout << "La nostra magica calcolatrice ci dice che:\n";
cout << "A + B fa " << a+b << "\n";
int
differenza = a-b;
cout << "A - B fa " << differenza << "\n";
cout << "A*B fa " << a*b << "\n";
cout << "La divisione con resto di A diviso B fa " << a/b << "\n";
cin.get();
return
0;
}
Analisi codice.
Compiliamo ed eseguiamo il programma per vederne l'output, e dopo averne capito il risultato analizziamo le novità del codice rispetto a ciò che abbiamo già visto:

cout << "A + B fa " << a+b << "\n";
Abbiamo sfruttato l'operatore matematico di addizione direttamente dentro cout. Questo è possibile non solo con questo operatore ma con qualsiasi altro, ricordando che gli operatori di moltiplicazione e divisione hanno priorità maggiore di quelli di addizione e sottrazione, per sicurezza è possibile usare le parentesi: ad esempio possiamo scrivere
cout << ((a+2b)-b)
per ottenere a+b. Lo stesso sistema è stato sfruttato per calcolare e stampare a*b, nella stringa
cout << "A*B fa " << a*b << "\n".


int differenza = a-b;

cout << "A - B fa " << differenza << "\n";

Qui abbiamo assegnato creato una variabile intera chiamata differenza e le abbiamo assegnato il valore di a-b, e successivamente stampata a video. E' un alternativa al metodo precedente, spesso conveniente perchè “conserva” il dato (in questo caso la differenza). E' importante però non abusare nel creare variabili, perchè queste vengono salvate nella RAM, quindi un numero eccessivo causa un rallentamento del programma.

cout << "La divisione con resto di A diviso B fa " << a/b << "\n";

Come si è facilmente potuto notare ho utilizzato le parole “divisione con resto di A diviso B”. Il motivo è che stiamo sfruttando variabili di tipo int (intere), quindi la divisione verrà troncata della sua parte decimale (come facilmente riscontrabile inserendo nel programma due numeri in modo tale che a non sia divisibile per b); inserendo ad esempio a=15 e b=4, otterremo come risultato a/b=3. Per ovviare a questo problema introdurremo il terzultimo operatore matematico.

Resto, incremento e decremento.
Restano tre operatori da analizzare.
Il primo è l'operatore di resto (%) che ci permette di ottenere il resto della divisione tra due numeri interi. Scrivendo quindi 15%4 otterremo come risultato 3. Il secondo è l'operatore di incremento: supponendo che a=4, scrivendo a++ otterremo che a vale 5, in pratica è come scrivere a=a+1. Stessa cosa per l'operatore di decremento, in questo caso a-- equivale a scrivere a= a-1. Proviamo a mostrare l'utilizzo di questi operatori in un miniprogramma
#include <iostream>
#include <stdlib.h>
using namespace std;

//Resto incremento e decremento
int main()
{

int
a, b;
cout << "inserisci il primo numero A: \n";

cin >> a;
cout << "inserisci il secondo numero B: \n";
cin >> b;

cout << "Il resto della divisione tra A e B e' :" << a%b << "\n";
a = a++;

cout << "Il numero dopo A e' " << a << "\n";
cout << "B adesso vale " << b << endl;

b--;
cout << "Adesso applicando b--, il valore di B e' diventato " << b << "\n";

cin.get();
return
0;
}
Esercizi
1. Scrivere un programma che da come risultato, inserendo due numeri a e b da tastiera, il seguente output (esempio)
20 diviso 7 fa 2 con il resto di 6
2.Scrivere, sfruttando l'operatore di incremento, un programma che ha come output di esempio (sempre con numeri inseriti da tastiera) il seguente:
inserire A:10
10,11,12,13,14,15,16,17,18,19,20
3. Strutturare un programma che fornisca il volume di un cubo e l'area di un quadrato di lato inserito da tastiera


Ti è piaciuto questo articolo? Collegati ai feed RSS per restare sempre aggiornato sugli ultimi articoli pubblicati. Se hai suggerimenti o idee lascia un commento

Stampa il post

0 commenti:

Posta un commento

Blog Widget by LinkWithin

Lettori fissi