+ 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:
Analisi codice.#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;
}
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
Esercizi#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;
}
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 62.Scrivere, sfruttando l'operatore di incremento, un programma che ha come output di esempio (sempre con numeri inseriti da tastiera) il seguente:
inserire A:103. Strutturare un programma che fornisca il volume di un cubo e l'area di un quadrato di lato inserito da tastiera
10,11,12,13,14,15,16,17,18,19,20
Ti è piaciuto questo articolo? Collegati ai feed RSS per restare sempre aggiornato sugli ultimi articoli pubblicati. Se hai suggerimenti o idee lascia un commento
0 commenti:
Posta un commento