Appunti, esempi ed esercizi sui linguaggi C/C++

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Appunti, esempi ed esercizi sui linguaggi C/C++"

Transcript

1 Appunti, esempi ed esercizi sui linguaggi C/C++ Dispense e materiale didattico su Ambiente di sviluppo Dev C++ // commento su una linea /* commento su più linee - inizio commento su più linee fine */ //programma n 1 uso di cin e cout, stringa di caratteri void main() //dichiarazione della funzione principale //inizio blocco char * nome_utente; cout<<"inserisci il tuo nome "; cin>> nome_utente; cout << "ciao "<< nome_utente << endl; //fine blocco cin e cout non sono istruzioni, bensì oggetti particolari (stream) che possiamo tuttavia utilizzare al posto delle funzioni printf() e scanf() tipiche del C, per semplificare la scrittura del codice. L operatore << si può utilizzare più volte sulla stessa linea. In alcune righe viene specificato anche endl come operando destro dell operatore <<. Si tratta di un manipolatore che manda a capo l output su console. //programma n 2 controllo (con if) su due variabili di tipo intero void main() //dichiarazione della funzione principale int a, b; //dichiarazione di due variabili di tipo intero cin>>a; //lettura di a da tastiera cin>>b; //lettura di b da tastiera //controllo sul numero più grande if (a>b) cout << a << " e' più grande di" << b << endl; else if (a<b) cout << b << " e' più grande di" << a << endl; else cout << a << " e' uguale a " << b << endl; //esercizio n 3a controllo (con if e for) ricerca del massimo //esercizio da completare, seguendo l esempio dell esercizio 2 // file di intestazione (header) che contiene

2 void main() //dichiarazione della funzione principale int n, x, max=-32768; //dichiarazione di tre variabili di tipo intero cin>>n; //lettura di n da tastiera for (int i=1;i<=n;i++) //lettura di x //confronto di x con max ed eventuale memorizzazione in max // scrivere il massimo (valore di max) //es. 3 b modificare il programma dell es. n 3 utilizzando solo interi senza segno // e quindi modificando anche il valore di max si può utilizzare il tipo: unsigned int //soluzione dell esercizio 3a void main() //dichiarazione della funzione principale int n, x, max=-32768; //dichiarazione di tre variabili di tipo intero cin>>n; //lettura di n da tastiera for (int i=1;i<=n;i=i+1) cin >> x; //lettura di x if (x>max) max=x; // se x è maggiore di max, max=x cout << max; // scrive il massimo (valore di max) //esercizio n 4 stesso problema, ma risolto con un vettore di interi con segno void main() //dichiarazione della funzione principale int n, x, imax; //dichiarazione di tre var. intere int v[100]; //dichiarazione di un vettore v di 100 interi int c; do cin>>n; while(n>=100); //lettura di n da tastiera //lettura (o caricamento) del vettore for (int i=1;i<=n;i++) cout<< inserisci l elemento n <<i; cin >> v[i-1]; //lettura di v[i-1] //ricerca del massimo imax=0;

3 for (int i=1;i<n;i=i+1) if (v[i]>v[imax]) imax=i; // se v[i] è maggiore di v[imax], imax=i // visualizzazione del massimo cout << la posizione del massimo è <<imax; // scrive l indice del massimo (valore di imax) cout << e il massimo valore è <<v[imax]; //esercizio 4b int main() float v[81]; int i; //caricamento del vettore for(i=0;i<10;i++) cout<<"inserisci l'elemento di posizione "<<i<<" -> "; cin>>v[i]; // visualizzazione del vettore for(i=0;i<10;i++) cout<<"elemento di posizione "<<i<<" -> "<<v[i]<<endl; for(i=0;i<10;i++) v[i]-=0.5; //si diminuisce il voto di mezzo punto //per ogni elemento del vettore // visualizzazione del vettore for(i=0;i<10;i++) cout<<"elemento di posizione "<<i<<" -> "<<v[i]<<endl; return 0; Esercizio n 4b int main() //dichiarazione e inizializzazione con costanti int a[]=5,1,3,8,7; for(int i=0;i<5;i++) cout<<a[i]<<" "; return 0;

4 Esercizio n 5 Realizzare un programma per: leggere il raggio (di tipo non intero) calcolare l area di un cerchio e la circonferenza visualizzare i valori calcolati (definire pi greco come costante utilizzando prima #define e poi const) soluzione: il programma in pratica non cambia, si può utilizzare uno dei due seguenti metodi: #define PI const float PI= ; //Soluzione con #define #define pigreca void main( ) float raggio; float area; cout << "Inserire il raggio: "; cin >> raggio; cout << endl; area = raggio * raggio * pigreca; cout << "L'area del cerchio è: " << area << endl; system( PAUSE ); //Soluzione con const void main( ) float raggio; const float pigreca = ; float area; cout << "Inserire il raggio: "; cin >> raggio; cout << endl; area = raggio * raggio * pigreca; cout << "L'area del cerchio è: " << area << endl; system( PAUSE ); (in grassetto le differenze) Prova dei programmi di sopra. Esercizio 6 Calcolo del fattoriale. Si ricorda che il fattoriale si indica in matematica come: n! = n * (n-1) * (n-2) * 1 esempio 5!=5*4*3*2*1 Realizzare una funzione C/C++ per il calcolo del fattoriale: prima con il while, poi con il for (da n a 1 e poi il contrario). N.B. il! non può essere utilizzato come parte di un identificatore (ovvero il nome di una variabile) perché è un simbolo riservato che vuol dire NOT. Quindi non si può definire una variabile n!, ma si può chiamare f o fatt. //soluzione con for a crescere, da trasformare in funzione int main()

5 int n, i, fatt; cin>>n; fatt=1; for(i=1;i<=n; i++;) fatt=fatt*i; cout<<fatt<<endl; return 0; Esercizio 7 Sempre utilizzando le istruzioni di sopra per le iterazioni (cicli) realizzare prima un programma E POI UNA FUNZIONE per la calcolare il numero di Fibonacci (serie di Fibonacci) 1) a=0 //equivale a f0 2) b=1 //equivale a f1 3) c=a+b 2 3 //equivale a f2 a=b 1 2 b=c 2 3 //spunto di soluzione (solo ciclo), IL RESTO FATELO VOI a=0; b=1; for(i=3;i<=n;i++) c=a+b; a=b; b=c; //esercizio n 8 //le funzioni definite dall utente in C/C++ /*funzioni: doppio restituisce il doppio di un intero passato come parametro in ingresso funzioni: dividi restituisce il primo numero diviso il secondo*/ void ciccio() cout<< ciao ciccio ; int doppio(int n) return n*2; float dividi(float a, float b) return a/b; void main() int x; float y; ciccio(); cin >> x; cin >> y; //doppio(6) ; errata cout << doppio(3) << endl; int z=doppio(x); cout << dividi(7, 5)<< endl; Modificare il main in modo da visualizzare il doppio di 3, e la divisione di 7 per 5, usando le funzioni dichiarate in precedenza.

6 Esistono funzioni definite in altri programmi o librerie (ad esempio la funzione sizeof() già utilizzata precedentemente) //esercizio n 9 //visualizzazione della data e dell ora di sistema //si utilizza la funzione time() che opera una modifica del valore della var. tempo, passata per riferimento (c è & davanti) #include <time.h> // libreria per la gestione di data, ora e intervalli di tempo void main() long tempo; time(&tempo); //la funzione time modifica una variabile tempo di tipo long cout << "Data e ora istantanea : " << asctime(localtime(&tempo)) << endl; cin.get(); // anche questa è una funzione; attende un carattere // in alternativa a system("pause") //esercizio n 10 //variabili per riferimento /*funzione che scambia due interi passati come parametri in ingresso a e b sono passate per indirizzo o per riferimento (c'è & davanti) */ void scambia(int &a, int &b) //c è una variabile interna o locale alla funzione, mentre a e b vengono modificate int c; c=a; a=b; b=c; //scambia è dichiarata di tipo void, quindi non restituisce nulla! //funzione principale main che richiama la funzione definita sopra void main() int x,y; cin >> x; cin >> y; scambia(x, y); cout << x << endl; cout << y << endl; //esercizio n 11 //realizzare una funzione per il calcolo del fattoriale, SOSTITUENDO AI COMMENTI LE ISTRUZIONI APPROPRIATE E PROVARNE IL FUNZIONAMENTO long int fattoriale(int n) //dichiarazione variabili necessarie alla funzione (variabili locali) //calcolo del fattoriale (con un ciclo for) return fatt;

7 int main() int x; //leggi x da tastiera //scrivi fattoriale(x) return 0; //esercizio n 12 //realizzare una funzione per il calcolo della potenza(a, esp) come a elevato a esp STAMPARE E CONSEGNARE I LISTATI AI PROFESSORI (SCRIVERE ANCHE NOME E COGNOME) //esercizio n 13 esercizio con i cicli: realizzare un semplice programma in C/C++ per leggere dieci valori interi da tastiera e visualizzarli funzione per risolvere un equazione di secondo grado ritorna 1 se sol. reali e distinte ritorna 0 se sol. reali e coincidenti ritorna 1 se sol. Immaginarie int soluzioni(float a, float b, float c, float &x1, float &x2) float delta=b*b-4*a*c; if (delta>0) x1=(-b-sqrt(delta))/(2*a); x2=(-b+sqrt(delta))/(2*a); return 1; if (delta==0) x1=x2=-b/(2*a); return 0; if (delta<0) return -1; // esercizio 14 // esercizio con gli array //dichiarazione dell array di 10 elementi di tipo intero int a[10]; // lettura di un array di 10 elementi for(i=0; i < 10; i++) cout << inserisci l elemento n. << i << endl; cin >> a[i]; / // visualizzazione di un array di 10 elementi (un elemento per riga)

8 for(i=0; i < 10; i++) cout << a[i] <<endl; // visualizzazione di un array di 10 elementi nella stessa riga for(i=0; i < 10; i++) cout << a[i] << ; cout<< \n ; //dichiarazione dell array di 10 righe e 20 colonne di elementi di tipo intero int a[10][20]; 0..9 e ) realizzare un programma che, letto un array di 10 elementi di tipo intero, calcola la media degli elementi pari variante dello stesso programma 2) realizzare un programma che letto un array di 10 elementi di tipo intero, calcola la media degli elementi con indice pari una volta che i programmi funzionano, trasformarli utilizzando le funzioni: FUNZIONE PER LEGGERE UN ARRAY N.B. Non si devono controllare gli elementi in lettura. FUNZIONE CHE RESTITUISCE LA MEDIA DEI PARI (è un ciclo che controlla ogni elemento e se è pari lo somma per calcolare poi la media) FUNZIONE CHE RESTITUISCE LA MEDIA DEGLI ELEMENTI CON INDICE PARI Ovviamente le funzioni devono essere richiamate dal main.

9 Operazioni logiche Linguaggio parlato E logico O logico NON logico Nome AND OR NOT inglese Linguaggio matematico Pascal and or not C/C++ &! Esempi linguaggio parlato (significato in italiano) metalinguaggio o pseudocodifica se x è minore o uguale a y allora assegna a z il valore 6 se x<=y allora z=6 se x<=y allora z 6 Pascal if x<=y then z:=6 ; Linguaggio C/C++ if(x<=y) z=6; Attenzione! In C/C++, nelle condizioni, dobbiamo indicare i simboli & e due volte come nel caso di = Esempi in C++ La frase se a è uguale a 0 allora scrivi la divisione non si può fare si traduce in C/C++: if (a==0) cout<< la divisione non si può fare ; La frase se a è minore di b e b è minore di c allora scrivi il più piccolo è a si traduce in C+ +: if ((a<b)&&(b<c)) cout<< il più piccolo è a ; la frase se a è più grande di b oppure a è più grande di c scrivi a è più grande di b o c si traduce: if (a>b a>c) cout<< a è più grande di b o c ; se a è pari scrivi a è pari if (a%2==0) cout<< a è pari ; se x è multiplo di 5 incrementa la somma dei multipli di 5 if (x%5==0) multipli5=multipli5+1; if (x%5==0) multipli5++; alcuni esempi di funzioni predefinite (file math.h e stdlib.h) radice quadrata di n: sqrt(n) elevamento a potenza: pow(base, esponente)

10 Tipi elementari (o primitivi) Un tipo è una coppia < V, O >, dove V è un insieme di valori e O è un insieme di operazioni per la creazione e la manipolazione di elementi di V. In un linguaggio di programmazione i tipi rappresentano le categorie di informazioni che il linguaggio consente di manipolare. I tipi di dato base principali forniti dal C++, o tipi predefiniti, sono i seguenti: Tipo di dato Booleani Caratteri Interi Virgola mobile Virgola mobile doppia precisione Parola chiave bool char int float double Il tipo bool serve a rappresentare i valori di verità e su di esso sono definite sostanzialmente le normali operazioni logiche (&& per l'and, per l'or,! per la negazione...). Il tipo char è utilizzato per rappresentare piccoli interi (e quindi su di esso possiamo eseguire le normali operazioni aritmetiche) e singoli caratteri, viene memorizzato su almeno un byte. int è utilizzato per contenere numeri interi in un intervallo più grande di char e viene memorizzato su almeno due byte. float e double contengono entrambi numeri reali, spesso nella rappresentazione a virgola mobile; float contiene valori in precisione semplice, mentre double rappresenta numeri in doppia precisione. Ai tipi fondamentali è possibile applicare dei qualificatori. I qualificatori modificano il significato dei tipi di base, ed estendono l insieme dei tipi di dati predefiniti. Esistono quattro qualificatori: signed (con segno), unsigned (senza segno), short (piccolo) e long (lungo). I qualificatori long e short modificano i valori massimo e minimo che un tipo di dato può contenere; ordinando i tipi interi per dimensione, abbiamo: short int int long int mentre ordinando i tipi reali per dimensione, abbiamo: float double long double I qualificatori signed e unsigned indicano al compilatore come usare il bit di segno con i tipi interi e i caratteri (i numeri a virgola mobile hanno sempre un segno).

11 I qualificatori non sono liberamente applicabili a tutti i tipi: short si applica solo a int, signed e unsigned solo a char e int e infine long solo a int e double. Il tutto è riassunto nella tabella cvhe segue: Tipo di dato Booleani Caratteri Interi brevi Interi Interi lunghi Caratteri con segno Interi brevi con segno Interi con segno Interi lunghi con segno Caratteri senza segno Interi brevi senza segno Interi senza segno Interi lunghi senza segno Virgola mobile Virgola mobile doppia precisione Reali lunghi Parola chiave Bool Char short int Int long int signed char signed short int signed int signed long int unsigned char unsigned short int unsigned int unsigned long int float double long double Il tipo int è per default signed e quindi è equivalente a tipo signed int, invece i tipi char, signed char e unsigned char sono considerate categorie distinte. I vari tipi sopra elencati differiscono per l'intervallo dei valori rappresentabili e per la quantità di memoria richiesta per rappresentare un valore di quel tipo (che però può variare da implementazione a implementazione). Nota Un bit è una cifra del sistema binario. Esso può assumere valore 0 o 1. Ad esempio, nel sistema binario, i numeri sono rappresentati nel modo seguente: Sistema decimale Sistema binario e così via. Una sequenza di otto bit prende il nome di byte. Utilizzando i byte, quindi, lo zero è rappresentato con 8 bit a zero: , l uno come , il due come e così via. Dato che per ogni bit è possibile specificare solo 2 cifre (0 oppure 1), con un byte si possono rappresentare 2 8 =256 numeri diversi, come gli interi compresi tra 0 e 255. Se si vogliono anche gli interi negativi, è possibile rappresentare gli interi compresi tra -128 e 127. Da questo si può capire che le variabili di tipo char occupano in pratica un byte all interno della memoria. Un discorso analogo si può fare per gli short, che rappresentano generalmente le word, cioè sequenze di due byte. Gli interi (e spesso anche i long) rappresentano sequenze di quattro byte chiamate doubleword.

12 La dimensione delle locazioni di memoria associate a variabili che hanno certi tipi non è fissa per tutte le architetture. La funzione sizeof del C++ permette di avere la dimensione in byte dei vari tipi di dato. Vediamo un esempio: // dimensione dei tipi di dato int main() cout << "Dimensione (in byte) dei tipi di dato:" << endl; cout << "bool: " << sizeof(bool) << endl; cout << "char: " << sizeof(char) << endl; cout << "short: " << sizeof(short) << endl; cout << "int: " << sizeof(int) << endl; cout << "long: " << sizeof(long) << endl; cout << "float: " << sizeof(float) << endl; cout << "double: " << sizeof(double) << endl; cout << "long double: " << sizeof(long double) << endl; return 0;

Introduzione alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

Dettagli

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde vers.0 in lavorazione Docente SAFFI FABIO Contenuti Struttura del file sorgente...2 Organizzazione della directory di lavoro...2 Esercizi sulle funzione

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Dettagli

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio I/O da tastiera + costrutti while e if Alessandra Giordani [email protected] Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Introduzione alla programmazione. Alice Pavarani

Introduzione alla programmazione. Alice Pavarani Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

Fondamenti di C++ Input/Output di base

Fondamenti di C++ Input/Output di base Università della Calabria Corso di Laurea in Ingegneria Elettronica Programmazione Orientata agli Oggetti A.A. 2006/2007 Fondamenti di C++ Paolo Trunfio * * DEIS, Università della Calabria http://si.deis.unical.it/~trunfio

Dettagli

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Struttura dei programmi C

Struttura dei programmi C Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base

Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base Istituto Tecnico Industriale M. M. Milano Polistena Classe III D a.s. 2015/2016 C++ Guida Base Prof. Rocco Ciurleo - ITIS M. M. Milano Polistena - 3 D a.s. 2015/2016 1 Le Origini Il Linguaggio C++ è il

Dettagli

PROGRAMMAZIONE: La selezione

PROGRAMMAZIONE: La selezione PROGRAMMAZIONE: La selezione Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l altra, riga per

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni [email protected] Programmazione prof. Domenico

Dettagli

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme

Dettagli

Parte 1: tipi primitivi e istruzioni C

Parte 1: tipi primitivi e istruzioni C Parte 1: tipi primitivi e istruzioni C Esercizio 1 Scrivere un programma che stampa la somma di una sequenza di N numeri inseriti dall utente. Esercizio 2 Scrivere un programma che stampa la somma di una

Dettagli

Aritmetica dei puntatori

Aritmetica dei puntatori Aritmetica dei puntatori Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 7 dicembre 2016 sizeof L operatore

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo [email protected] 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo [email protected] Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ [email protected] Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Dettagli

C array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.

C array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Non sappiamo a priori quante variabili dobbiamo definire per contenere gli interi.

Dettagli

Elementi di C++ di base

Elementi di C++ di base Elementi di C++ di base Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 10 ottobre, 2001 Gino Perna Esempi di semplici programmi in C++ Il programma più semplice consiste

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=

Dettagli

Esercizi. La funzione swapint() primo tentativo

Esercizi. La funzione swapint() primo tentativo Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include

Dettagli