C++
- Tipi di dato
- Operazioni aritmetiche
- Espressioni
Struttura di un programma
int main (){ return 0;}- Tipi:
- Tipi base:
- interi con segno + int insieme Z
- Booleani bool insieme {true, false}
- Caratteri char 'a', 'b', 'c', ',', ';', '*'
- bisogna mettere l'apice ('')
- Numeri con la virgola float, double
- Puntatori
- Stringhe sequenze di caratteri ""
- Tipi base:
- Per rappresentare le stringhe dei tipi servono i bit
- m bit 2m
- 1 bit 0/1
- 2 bit 00/01/10/11
- 3 bit 8
- 4 bit 16
Per rappresentare un Booleano (vero, falso) serve un bit.
è costituito di funzioni - main() è la più importante perchè esegue tutto anche le altre funzioni deve invoca. - ha un nome: MAIN - ha dei parametri input nessuno () è vuoto - tipo di ritorno: return 0 cioè dà un risultato intero e questo sarebbe int SE dà 0 allora tutto ok se no c’è un problema - int è un tipo di dato - corpo blocco - sequenza di istruzioni chiusi fra { } possono essere annidati - commenti: in C si scrive fra due limitatori /* - - */ C++ // commento su una riga - ogni volta che vai a capo ti sposti a destra ma per una questione per capire meglio. Puoi scrivere anche su una riga.
C++
- Tipi di dato
- Operazioni aritmetiche
- Espressioni
Struttura di un programma
int main (){ return 0;}
Tipi
- Tipi base:
- Interi con segno - int insieme Z
- Booleani bool insieme {true, false}
- Caratteri char ‘a’,’b’,’c’,’’’’,’*’
- Bisogna mettere l’apice (‘ ’)
- Numeri con la virgola float , double
- Puntatori
- Stringhe sequenze di caratteri “ ”
Per rappresentare le stringhe dei tipi servono i bitm bit 2^m1 bit 0/12 bit 00/01/10/113 bit 84 bit 16
Per rappresentare un Booleno (true, false) serve un bitè costituito di funzionimain () è la più importante perchè esegue tutto anche le altre funzioni che richiama- ha un nome MAIN- ha dei parametri input nessuno () è vuoto- tipo di ritorno return 0 cioè da un risultato intero e questo sarebbe intSE da 0 allora tutto ok semmai c’è un problemaint è un tipo di dato- corpoblocco = sequenza di istruzioni chiusi fra { } possono essere annidati- commenti: in C / C si scrive fra due limitatori /* --- */C++ // commento su una riga- ogni volta che vai a capo ti sposti a destra ma per una questione per capire meglio. Puoi scrivere anche su una riga
OPERAZIONI SUI BOOLEANI
- a==b
- vale VERO se A e B hanno stesso valore
- vale FALSO se A e B NON hanno stesso valore
- ! (not)
- !B
- vale VERO se B è falso
- Falso se B è vero
- !B
- && (and) a&&b vera se e solo se sia a che b sono veri
- || (or) a||b vera se almeno uno tra a e b è vero
- != diverso a!=b vera se e solo se a≠b
VARIABILE
dichiarazione di variabile dice al programma che da ora in poi esiste una variabile di un certo tipo con un certo nome
es. int i
- identificatore
- float $ soldi che ho in tasca
Nella memoria si crea scatole
int 32bit
- float 32bit
Dichiarazione con indicazione es. int i = 10;
ISTRUZIONI
Assegnazione
costituita da 3 elementi
<variabile> = <espressione>; // specifica di sintassi
es. i = 17;
Semantico: si valuta "espressione"
il risultato viene assegnato alla variabile
es.
int main(){ int i, j, ris; i = 10; j = 45; ris = j / i; return 0;}int i 10
int j 45
int ris
risultato
cout serve per mostrare una parola o un numero
es. cout << " " << ... << ;
cout << 32 << 'n';
cout << a << endl;
Costanti
Se un dato non deve cambiare nel corso del programma
si mette const nomeTipo identificatore = valore;
es. const string NAME = "Andrea";
i nomi degli identificatori
si scrivono con la maiuscola
VARIABILI
può cambiare durante il programma
int alpha;
float rate;
int i i variabile
i = 10
Operazioni di Input/Output
- Leggere valori dall'utente (INPUT)
- Stampare valori in output
- Per usarle serve una libreria:
#include <iostream>
Esistono due tipi di comunicazione:
- Output COUT
- Input CIN
COUT << "ciao mondo!\n";
COUT << "ciao mondo" << endl;
Identificatore che indica il flusso
SCELTE CONDIZIONALI
if (...)
if (...) else
se l'equo è vera allora esegue code block
Switch (...) { } di solito si usa per fare MENU'
#include <iostream>
#include <string>
using namespace std; int main() {
char a, b; cout << "Inserisci a " << endl; cin >> a; cout << "Inserisci b " << endl; cin >> b; if ( a == b ) cout << "UGUALI" << endl; else cout << "DIVERSO" << endl; return 0; }
SORT
• RICERCA: ricerca un elemento e ti dice dove sta.
• INSERIMENTO di un elemento; se il mio array è pieno fino ad un certo punto nMAX e voglio inserire in mezzo devo spostare gli elementi a destra e ci sarà uno spazio vuoto.
• ELIMINAZIONE di un elemento in mezzo.
SORT
A 2 | 7 | 96 | 42 | -2 | 9 | 6 | 42 | -2 | 0
- Ordino a due a due finc a quando sono ordinati
- 2 | 7 | 42 | 89 | -1 | 7 | 18 | 41 | 8 | -2 | 21 | 9 | 23 | questo è apposto
ripeto l'ordine a due a due ma fermandomi uno prima
così poi il penultimo è apposto. Questo lo fai fino al 2° perché cosi anche il primo è apposto
SWAP:
Trovare il valore maggiore (-2 | 1) e spostarlo in vari temporanea (temp)
temp = a, a = 2
a = b, b = temp
in array
temp = A[i]
A[i] = A[j]
A[j] = temp
STRINGHE
Concatenare
String nome = "Mario"
String cognome = "Rossi"
String completo = nome + cognome
cout