Informatica Appunti dal laboratorio 1
Sistema Operativo Windows Vista, Windows 7, Mac OS X, Linux, Debian, Red Hat, etc etc Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti in un calcolatore Risorse: periferiche, memorie, CPU. Le risorse sono usate dai vari programmi in funzionamento sul calcolatore. Tra questi il più importante è il sistema operativo, che gestisce tali risorse. Il sistema operativo è il PRIMO* programma ad entrare in funzione. *con la precisazione nella seguente slide 2
Che cosa contiene la RAM? Contiene sia le istruzioni da eseguire, sia i dati su cui eseguire queste istruzioni. RAM 0 1 2 N x 10 + 5 9 cella Le porzioni di memoria (celle o parole) des:nate a contenere i da: si chiamano VARIABILI Dichiarazione di variabile: Avrei bisogno di una variabile, la vorrei chiamare x. Uso di variabile: Aumenta la x di 1. 3
Compilatore C++ E un programma per scrivere programmi in C++ Il compilatore ha il compito di tradurre le istruzioni che vengono scritte in C++ (codice sorgente) in un altro linguaggio (codice target) In laboratorio useremo Bloodshed Dev-C++, scaricabile qui: http://www.bloodshed.net/dev/devcpp.html 4
Programma C++ #include <iostream> using namespace std; int main(){ cout << "ciao"; cin.get(); return 0; } inizio del programma principale, il main tramite il return dello 0 il main dice al sistema opera:vo che tuoo si è concluso senza problemi istruzione di output che manda sullo schermo la frase ciao inclusione di libreria contenente le definizioni di tuoe le funzioni di input e output definizione dello spazio dei nomi necessario solo quando si lavora a grandi programmi a più autori istruzione di input che pone il computer in aoesa di un enter/invio da tas:era (per lasciare il ciao sullo schermo più a lungo 5
Librerie Insiemi di programmi in cui sono definite funzionalità complesse (ad es. input e output) Una libreria per essere usata in un programma, deve essere inclusa all inizio del programma stesso: #include <nome_libreria> 6
Esercizio 1 Scrivere il codice C++ del seguente algoritmo: 7
Soluzione 1 #include <iostream> using namespace std; int main(){ int x,y,s; cout << inserisci un numero\n ; cin >> x; cout << inserisci un altro numero\n ; cin >> y; s = x+y; cout << la loro somma eʼ: << s << \n ; system( PAUSE ); return 0; } 8
cout multiplo Eseguire numerosi cout in sequenza: cout << la loro somma eʼ: ; cout << s; cout << \n ; è equivalente al cout multiplo: cout << la loro somma eʼ: << s << \n ; in cui ogni elemento è separat dagli altri tramite il simbolo << 9
Esercizio 2 Scrivere un programma in cui il programmatore fissa un numero tra 0 e 10 e chiede allʼutente di indovinarlo. Se lʼutente ci riesce, il programma si congratula, altrimenti se ne dispiace 10
Soluzione 2 #include <iostream> using namespace std; int main(){ int num = 7; //scegliamo il 7 int x; cout << indovina un numero tra 0 e 10\n ; cin >> x; if (x == num){ cout << Congratulazioni\n Hai indovinato\n ; system( PAUSE ); return 0; } cout << Peccato Saraʼ per la prossima.\n ; system( PAUSE ); return 0; } 11
Esercizio 3 Scrivere un programma che chiede allʼutente 3 numeri e dice qual è il maggiore. 12
Soluzione 3 #include <iostream> using namespace std; int main() { int x,y,z; cout << "Inserisci 3 numeri\n"; cin >> x >> y >> z; if (x >= y && x >= z){ // x è il maggiore" max = x; cout << "il numero piu' grande e': " << x << "\n"; system( PAUSE ); return 0; } // se x NON è il maggiore" if (y >= z){ // se y>=z, y è il maggiore" cout << "il numero piu' grande e': " << y << "\n"; system( PAUSE ); return 0; } // se x non è il maggiore e y<z, z è il maggiore" cout << "il numero piuʼ grande e': " << z << "\n ; system( PAUSE ); return 0; } 13
cin multiplo Scrivere cin >> x >> y >> z; equivale ad eseguire 3 volte cin per le 3 variabili: cin >> x; cin >> y; cin >> z; 14
Esercizio 4 Scrivere un programma che chiede all utente un numero tra 0 e 15 e lo converte in numero binario. 15
Soluzione 4 int numero; int bit1, bit2, bit3, bit4; cout << "Inserisci un numero tra 0 e 15 da convertire in binario:" << endl; cin >> numero; bit1 = numero % 2; numero = numero / 2; if (numero == 0) { //il numero è 0 oppure 1" cout << "Il numero in binario e' " << bit4 << bit3 << bit2 << bit1 << endl; system( PAUSE ); return 0; } bit2 = numero % 2; numero = numero / 2; if (numero == 0) { //il numero è 2 oppure 3 cout << "Il numero in binario e' " << bit4 << bit3 << bit2 << bit1 << endl; system( PAUSE ); return 0; } 16
Soluzione 4 cont. } bit3 = numero % 2; numero = numero / 2; if (numero == 0) { //il numero è compreso tra 4 e 7" cout << "Il numero in binario e' " << bit4 << bit3 << bit2 << bit1 << endl; system( PAUSE ); return 0; } bit4 = numero % 2; numero = numero / 2; if (numero == 0) { //il numero è compreso tra 8 e 15 cout << "Il numero in binario e' " << bit4 << bit3 << bit2 << bit1 << endl; system( PAUSE ); return 0; } return 0; 17