PROGRAMMAZIONE IN C E C++

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PROGRAMMAZIONE IN C E C++"

Transcript

1 PROGRAMMAZIONE IN C E C++ Prof. Enrico Terrone A. S: 2011/12 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni e una sequenza di istruzioni. La programmazione si compone di tre fasi: analisi / algoritmo / programma L analisi consiste nell individuare i dati e i risultati del problema che bisogna risolvere.

2 Definizioni L algoritmo è la serie di passaggi che permette di risolvere il problema trasformando i dati nei risultati. L algoritmo può essere espresso in una qualunque lingua naturale oppure in un formalismo apposito (p. es. i flow-chart). L algoritmo è una ricetta che spiega all esecutore come produrre i risultati a partire dai dati. L algoritmo ha sempre carattere generale: non risolve un singolo problema (p. es. quanto fa 1/3 + 2/5), ma una famiglia di problemi (p. es. come si sommano due frazioni). Definizioni Il programma è la traduzione dell algoritmo in un linguaggio comprensibile dal computer. I linguaggi comprensibili dal computer si chiamano linguaggi di programmazione. Il linguaggio di programmazione che useremo in questo corso si chiama C/C++. Il programma è scritto da un programmatore per un utente. In laboratorio lo studente interpreterà di solito entrambi i ruoli, ma bisogna sempre tener presente che si tratta di due figure ben distinte.

3 La forma del programma Lo schema generale di un programma è il seguente: 1) DEFINIZIONE DELLE INFORMAZIONI (impostazione del problema) 2) CARICAMENTO DEI DATI 3) ELABORAZIONE (risoluzione del problema, calcolo dei risultati) 4) COMUNICAZIONE DEI RISULTATI Il programma più semplice Il più semplice programma si riduce alla comunicazione di una frase, ed ha la forma: // Enrico Terrone, 12/9/2008, Programma Frase #include <iostream.h> using namespace std; int main () cout << Hello World \n ; system( PAUSE ); //istruzione finale di ogni programma

4 Il programma più semplice Il programma non ha variabili e l unica vera istruzione è cout << Hello World \n ;, che stampa sullo schermo la scritta Hello World seguita da un a capo. Il resto è una cornice che si ripeterà in ogni programma. Il testo che segue i caratteri // è un commento che serve solo a descrivere le istruzioni ma non ha effetti sull esecuzione del programma. È consigliato di usare sempre un commento a inizio programma in cui si scrive autore, data e titolo del programma. In generale le istruzioni di un programma C/C++ devono stare su una riga che termina con il punto e virgola; il programma è composto da una serie di istruzioni che vengono eseguite una dopo l altra, nell ordine che va dall alto verso il basso. Definizione delle informazioni La definizione delle informazioni richiede la creazione delle variabili, che sono gli spazi di memoria centrale dove le informazioni sono contenute. Possiamo pensare a una variabile come a una casella dentro la quale possiamo leggere e scrivere. Una variabile è caratterizzata dal suo nome (che è associato alla casella), dal suo tipo (quali dati possiamo scrivere nella casella; inizialmente useremo soltanto i tipi semplici: numeri e caratteri) e dal suo valore (quale dato è effettivamente scritto dentro la casella in un certo istante). 14 int numero

5 Definizione delle informazioni Per creare una variabile in C si usa un istruzione della forma: <tipo> nome; int x; // crea una variabile di nome x // e di tipo numero intero double num; // crea una variabile di nome num // e di tipo numero decimale char caratt; // crea una variabile di nome caratt // e di tipo carattere Il nome è a scelta dell utente, purché inizi con una lettera e contenga solo lettere, numeri e underscore (trattini bassi). I tipi invece sono predefiniti dal linguaggio. Il caricamento dei dati Per caricare i dati di un programma occorre innanzitutto definire le variabili che li possono contenere. Dopo di che ci sono tre possibilità: Lettura da tastiera; Estrazione casuale; Lettura da file. Consideriamo per adesso soltanto la modalità più semplice, che è la lettura da tastiera: per prima cosa occorre stampare sullo schermo (con l istruzione cout) una scritta che invita l utente a inserire il dato; a questa, fa seguito una seconda istruzione (cin) che legge il valore inserito da tastiera e lo salva nella variabile indicata sulla stessa riga.

6 Il caricamento dei dati // Enrico Terrone, 12/9/2008, Programma Quadrato #include <iostream.h> using namespace std; int main () int l; cout << PROGRAMMA: QUADRATO ; cout << Inserisci il lato del quadrato: ; cin >> l; Nota-1: come prima istruzione del programma, subito dopo la creazione delle variabili, è consigliato di scrivere sempre sullo schermo il titolo del programma in modo che l utente sappia che cosa sta usando. Nota-2: le frecce che seguono cin sono girate al contrario rispetto a quelle dopo cout: esse indicano infatti un movimento dei dati dalla tastiera (cin) alla variabile. L elaborazione L elaborazione è l insieme delle operazioni che permettono di passare dai dati ai risultati. L istruzione fondamentale per l elaborazione è l assegnazione che consiste nel calcolo di un espressione e nella scrittura del risultato dentro una variabile. La sua forma è questa: <variabile> = <espressione> Per espressione si intende una combinazione di valori, variabili, operatori (+, -, *, /, %) ed eventuali parentesi (solo le tonde!) conforme alle regole di calcolo.

7 L elaborazione // Enrico Terrone, 13/9/2008, Programma Rettangolo #include <iostream.h> using namespace std; int main () int b, h, perim, area; cout << PROGRAMMA: RETTANGOLO ; cout << Inserisci la base del rettangolo: ; cin >> b; cout << Inserisci l altezza del rettangolo: ; cin >> h; area = b*h; perim = 2*b + 2*h; // la moltiplicazione in // informatica va sempre esplicitata La comunicazione dei risultati Dopo che l elaborazione ha concluso il calcolo dei risultati, occorre che questi vengano comunicati all utente. I risultati possono essere comunicati su video o su file. Per ora noi vediamo solo la comunicazione dei risultati tramite video, per la quale si usa l istruzione cout, con le scritte descrittive fra virgolette e le variabili (contenenti il risultato) senza virgolette.

8 La comunicazione dei risultati int main () int b, h, perim, area; cout << Inserisci la base del rettangolo: ; cin >> b; cout << Inserisci l altezza del rettangolo: ; cin >> h; area = b*h; perim = 2*b + 2*h; //nota: la moltiplicazione in // informatica va sempre esplicitata cout << L area e : << area << \n ; cout << Il perimetro e : << perim << \n ; system ( PAUSE ); In laboratorio In laboratorio i programmi si scrivono usando quello che si chiama un ambiente di sviluppo, cioè un applicazione (noi useremo Dev C++) formata da tre strumenti fondamentali: 1) l editor (una specie di Word specifico per scrivere programmi); 2) il compilatore (che si può attivare dopo aver scritto e salvato il programma usando una voce di menu o un pulsante della barra degli strumenti); 3) il caricatore (loader) che permette di eseguire il programma dopo che la compilazione è andata a buon fine.

9 In laboratorio Se nel programma ci sono degli errori di scrittura, il compilatore si rifiuta di tradurre il programma in linguaggio macchina e indica gli errori; in tal caso, il programmatore deve ricorreggere gli errori usando queste indicazioni e poi provare a compilare nuovamente. Durante l esecuzione, il programmatore deve fingersi l utente e verificare che il programma funzioni come deve. Esercizi 1) Dato il raggio di un cerchio, calcolare circonferenza e area 2) Dati due numeri, calcolare la loro media 3) Dati tre numeri, calcolare la loro media 4) Dati a e b, risolvere l equazione a*x + b = 0 5) Scrivere un programma che funzioni da calcolatrice (prima solo con la somma, poi con le quattro operazioni intere, poi con il resto, poi con la divisione fra double).

10 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l altra, riga per riga, dall alto in basso. Le strutture di controllo modificano l esecuzione sequenziale permettendo al programma di scegliere fra blocchi di istruzioni differenti (selezione) o di ripetere un blocco di istruzioni (iterazione). Il teorema di Böhm-Jacopini (1966) afferma che qualunque algoritmo può essere codificato usando soltanto sequenza, selezione e iterazione. L idea è che per spiegare a qualcuno che cosa deve fare, dobbiamo farlo procedere un passo alla volta, ma anche, in certi punti, farlo scegliere o ripetere. Selezione La selezione è la struttura di controllo che permette all algoritmo di decidere fra due blocchi di istruzioni, in base al valore di una condizione. Un blocco è una sequenza di istruzioni raggruppate. La condizione è una proposizione logica, cioè un espressione il cui valore può essere vero oppure falso. Essa è generalmente basata sugli operatori di confronto (uguale, diverso, maggiore, minore ), Es. a>3 è vera per a che vale 5 mentre è falsa per a che vale 1. Se la condizione è vera viene eseguito il primo blocco di istruzioni, se la condizione è falsa viene eseguito il secondo blocco.

11 Selezione La forma algoritmica della selezione: se (condizione) allora blocco-1 altrimenti blocco-2 La forma grafica della selezione (flow chart): V b1 cond. F b2 p Qualunque sia il blocco eseguito (b1 o b2), al suo termine l algoritmo prosegue dal medesimo punto di sincronizzazione p. La Selezione in C/C++ La selezione in C/C++ si scrive usando la costruzione if-else (se-altrimenti): if (condizione) blocco-1 else blocco-2 // punto di sincronizzazione

12 La Selezione in C/C++ Dopo che si è eseguito il blocco-1 oppure il blocco-2, il programma riprende dal punto di sincronizzazione. La condizione si scrive usando gli operatori aritmetici: >, >=, <, <=, ==,!= e se occorre anche gli operatori logici: && (AND), (OR),! (NOT). Attenzione a non confondere mai l operatore = (assegnazione) con l operatore == (confronto). La parte else + blocco-2 può anche non esserci: nel qual caso, se la condizione è falsa, il programma non esegue nessuna istruzione e poi prosegue sempre a partire dal punto di sincronizzazione. Esempio di selezione Scontare del 20% i prezzi > 100 euro, del 5% gli altri int main () double pr; cout << PROGRAMMA: SCONTO ; cout << Inserisci il prezzo: ; cin >> V pr; if (pr>100) pr = pr pr*20/100; else pr = pr pr*5/100; cout << Il prezzo scontato è << pr << \n ;

13 Esercizi sulla selezione (I) 1) Leggere un voto e controllare che sia esatto (cioè compreso fra uno e dieci) 2) Modificare il programma Sconto in modo che siano esclusi dallo sconto i prezzi troppo alti (> 1000 euro) e quelli troppo bassi (<2 euro). 3) Leggere il saldo di un conto corrente e la cifra da prelevare (massimo: 700 euro e comunque non si può andare in negativo); se il prelevamento è possibile effettuarlo e comunicare il nuovo saldo. 4) Scrivere un programma che aiuti un bambino a imparare le 4 operazioni facendogli inserire due operandi e il risultato, e correggendolo se sbaglia. Esercizi sulla selezione (II) 1) Leggere un intero e trovarne il valore assoluto 2) Leggere le coordinate di un punto e dire in quale quadrante si trova. 3) Leggere tre interi e calcolare: a) la somma di quelli che sono divisibili per due o per cinque; b) il prodotto di quelli che sono divisibili per due e per cinque; c) la media di quelli che non sono divisibili né per due né per cinque. 4) Eseguire la divisione (trovando quoziente e resto) fra due interi letti da tastiera controllando che il divisore non sia zero (se lo è, dire Impossibile )

14 Esercizi sulla selezione (III) 1) Leggere i risultati di andata e ritorno di una gara di qualificazione (regola: i punti fuori casa valgono doppio) e dire quale squadra si è qualificata. 2) Scrivere un programma che risolva un equazione generica di primo grado. 3) Scrivere un programma che risolva un equazione generica di secondo grado. Nota: per calcolare la radice quadrata usare l istruzione sqrt(x) aggiungendo all inizio: #include <math.h> Iterazione Proviamo a pensare a un programma che deve stampare venti volta la stessa frase, oppure a un programma che deve leggere una serie di numeri e sommarli, fino a quando l utente non scrive zero. Con le istruzioni che abbiamo visto finora, nel primo caso sarebbe un programma molto lungo, nel secondo caso un programma impossibile. L iterazione permette invece di risolvere questo tipo di problemi che richiedono di ripetere tante volte le stesse operazioni - in maniera molto semplice.

15 Iterazione L iterazione è la struttura di controllo che permette all algoritmo di ripetere un blocco di istruzioni, fino a quando una condizione risulta vera. Per blocco e condizione valgono le definizioni date in precedenza. A ogni passaggio, prima di eseguire il blocco, si controlla la condizione: se è vera, si ripete il blocco; se è falsa, si prosegue con le istruzioni successive. La condizione deve poter diventare falsa, per cui le variabili in essa presenti devono essere modificate dentro al blocco. Iterazione La forma algoritmica dell iterazione: finché (condizione) ripeti blocco La forma grafica dell iterazione (flow chart): V b1 cond. F

16 L iterazione in C/C++: il while L interazione in C/C++ si scrive usando le costruzioni while (finché), do-while (ripeti-finché), for (per tutti). Iniziamo a vedere la forma più semplice che è il while. while (condizione) blocco Es. stampare venti volte la parola ciao: i=1; while (i<=20) cout << ciao \n ; i = i+1; // si può scrivere anche: i++ L iterazione in C/C++: il for Il for è un alternativa al while che permette di inserire su un unica riga l inizalizzazione e l incremento del contatore. Si usa soprattutto quando il numero di ripetizioni da effettuare è predefinito. for (inizializzazione; condizione; incremento) blocco for (i=1; i<=20; i++) cout << ciao \n ;

17 L iterazione in C/C++: il do-while Il do-while è un alternativa al while che permette di effettuare il controllo della condizione alla fine del blocco anziché all inizio. E utile ad esempio quando si vuole controllare la correttezza dei dati inseriti. do blocco while (condizione); Es. programma divisione cout << inserisci dividendo: ; cin>> x; do cout << inserisci divisore: ; cin >> y; while (y == 0); ris = x / y; cout << Il quoziente è << ris << \n ; Esempio di iterazione Trovare somma e media di 20 interi letti da tastiera int main () int x, s=0, i; double m; cout << PROGRAMMA: SOMMA E MEDIA ; i=1; while (i<=20) cout << inserisci: ; cin>> x; s = s+x; i = i+1; m = ( (double) (s) )/20; cout << La somma è << s << \n ; cout << La media è << m << \n ;

18 Esercizi sull iterazione 1) Leggere una serie di prezzi e quantità acquistate e calcolare il totale della spesa (terminare quando viene inserita una quantità zero). 2) Sia N un numero letto da tastiera a inizio programma. Leggere una serie di N voti e trovare la quantità e la percentuale dei sufficienti. 3) Sia N un numero letto da tastiera a inizio programma. Leggere una serie di N voti e trovare il voto più alto e il più basso. Esercizi sull iterazione (II) 1) Un veicolo V1 si muove con una velocità di 10 m/s, mentre un veicolo V2 va a 2,5 m/s. V2 parte con un vantaggio di X metri. Stampare la distanza, secondo per secondo, finché V1 raggiunge V2. 2) Scrivere un programma che converta un numero da decimale a binario col metodo delle colonne. 3) Scrivere un programma che converta un numero da binario a decimale (suggerimento: dividere per 10 a ogni passaggio usando il resto come singola cifra binaria da convertire)

19 Numeri casuali in C In alternativa alla lettura da tastiera (cin), i dati del programma C possono essere estratti a caso: Fra le librerie negli vanno aggiunte: #include <stdlib.h> #include <time.h> Come prima istruzione del main va scritta: srand(time(null)); Per generare un numero casuale in [a, b] e salvarlo nella variabile x si scrive: x = rand()%(b-a+1) + a; Nota: si sfrutta la proprietà del resto di essere sempre minore del divisore. Esercizi 1) Stampare venti numeri presi a caso in [10, 30]. 2) Estrarre un numero in [1, 90] e chiedere all utente di indovinarlo. A ogni passaggio il programma comunica se il numero inserito è più alto o più basso rispetto al numero da indovinare. Quando l utente indovina, il programma gli comunica quanti tentativi sono stati effettuati. 3) Blackjack. Estrarre un numero in [1, 10] e poi aggiungere ogni volta un altro valore in [1, 10] finché l utente si ferma oppure supera quota 21. 4) Aggiungere al Blackjack un secondo giocatore (utente/computer) e alla fine dire chi ha vinto.

20 I vettori Un vettore è un insieme di variabili tutte delle stesso tipo che occupano uno spazio contiguo di memoria e che hanno un nome composto da una prima parte comune e da una seconda parte (indice) specifica. Es. int v[4]; 39 v[0] 195 v[1] 0 v[2] 74 v[3] I vettori I vettori offrono due grandi vantaggi: 1) Possibilità di creare tante variabili quante se ne vogliono con un unica riga di programma; 2) Possibilità di ripetere la stessa operazione su tutti gli elementi del vettore usando un ciclo for. Es. (stampa degli elementi di un vettore) int v[30]; [ ] for (i=0; i<30; i++) cout << v[i] << ;

21 I vettori di caratteri Un vettore di N caratteri corrisponde a una parola (stringa) di al massimo N-1 caratteri (l ultimo è \0 ): char v[20]; // parola di al massimo 19 caratteri Per creare un vettore di parole (stringhe), occorre usare una matrice: char v[70][21]; // 70 parole di al più 20 caratteri ognuna

PROGRAMMAZIONE IN C E C++ Prof. Enrico Terrone A. S: 2014/15

PROGRAMMAZIONE IN C E C++ Prof. Enrico Terrone A. S: 2014/15 PROGRAMMAZIONE IN C E C++ Prof. Enrico Terrone A. S: 2014/15 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

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

Informatica! Appunti dal laboratorio 1!

Informatica! Appunti dal laboratorio 1! Informatica! Appunti dal laboratorio 1! Sistema Operativo! Windows 7, Windows 8, Mac OS X, Linux, Debian, Red Hat, etc etc! Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema

Dettagli

Strutture di Controllo

Strutture di Controllo Introduzione Strutture di Controllo per strutture condizionali e cicliche Quando si affronta la programmazione si devono indicare al computer delle istruzioni da eseguire. Se il computer potesse comprendere

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco Sperimentazioni I Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Ottobre 2013 La scrittura di un programma Modellizzazione programma Flowcharts Pseudocode Scrittura del codice Esercizi

Dettagli

Algoritmi e soluzione di problemi

Algoritmi e soluzione di problemi Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)

Dettagli

Strutture di iterazione

Strutture di iterazione Strutture di iterazione 1. Leggi i programmi qui sotto e disegna le tabelle di traccia nelle situazioni seguenti: a. Nel primo e nel secondo programma viene inserito da tastiera il valore 2; b. Nel primo

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Dettagli

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C strutture di controllo: strutture iterative Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Strutture iterative

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

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

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile

Dettagli

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento Linguaggio C Gli Operatori Gli Operatori Gli operatori sono simboli (sia singoli caratteri che loro combinazioni) specificano come devono essere manipolati gli operandi dell espressione Operatori aritmetici

Dettagli

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso

Dettagli

Corso di Fondamenti di Informatica Classi di istruzioni 2

Corso di Fondamenti di Informatica Classi di istruzioni 2 Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da

Dettagli

Introduzione alla programmazione in C(++)

Introduzione alla programmazione in C(++) Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie

Dettagli

Le strutture di controllo in C++

Le strutture di controllo in C++ Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.) Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Esercitazione 3. Espressioni booleane I comandi if-else e while

Esercitazione 3. Espressioni booleane I comandi if-else e while Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if

Dettagli

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica Corso di Fondamenti di Informatica Ingegneria Clinica Esercitazione 6 Raffaele Nicolussi Esercizio 1 Si scriva una funzione in linguaggio C che riceve in ingresso un numero intero A letto da tastiera,

Dettagli

Informatica! Appunti dal laboratorio 1!

Informatica! Appunti dal laboratorio 1! 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

Dettagli

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n 1 Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n P1. trovare il maggiore fra i primi 2 numeri; P2. trovare il maggiore fra il terzo

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente. HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

Programmazione modulare

Programmazione modulare Programmiamo in.. Programmazione modulare Un programma complesso si suddivide in più sottoprogrammi o funzioni. Un programma suddiviso in piccoli pezzi, è più semplice da gestire da aggiornare da correggere

Dettagli

Algoritmi. Pagina 1 di 5

Algoritmi. Pagina 1 di 5 Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni

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

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento

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

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione Introduzione a Funzioni di Ingresso e Uscita Compilazione 2 Come si termina...... un programma in esecuzione (processo)? Ctrl + C In UNIX ci si basa sul concetto di terminale Anche da GUI, quello che si

Dettagli

Strutture di iterazione

Strutture di iterazione Strutture di iterazione 1. Leggi i programmi qui sotto e disegna le tabelle di traccia nelle situazioni seguenti: a. Nel primo e nel secondo programma viene inserito da tastiera il valore 2; b. Nel primo

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Gli Operatori. Università degli Studi di Brescia

Gli Operatori. Università degli Studi di Brescia Linguaggio C Gli Operatori 1 Gli operatori! Costruiscono le espressioni del C! Specificano come devono essere manipolati gli operandi dell espressione! Il C definisce una moltitudine di operatori, quali

Dettagli

= < < < < < Matematica 1

= < < < < < Matematica  1 NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato

Dettagli

1 Esercizi in pseudocodice

1 Esercizi in pseudocodice Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.

Dettagli

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 -

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 - ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 - Elementi di Informatica e Programmazione Università di Brescia 1 1: ESERCIZI DI BASE - di livello di difficoltà inferiore rispetto all

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

Dettagli

UD 3.2b: Programmazione in Pascal (1)

UD 3.2b: Programmazione in Pascal (1) UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

Dettagli

Debug di un programma

Debug di un programma Debug di un programma Col termine Debug si intende una fase di sviluppo del software, nella quale si cerca di eliminare gli errori dal programma Due tipi di errori: Errori sintattici, rilevati sempre dal

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi per la descrizione di algoritmi Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano

Dettagli

Il compilatore Dev-C++

Il compilatore Dev-C++ Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/dev/index.html Oppure dal sito: http://web.tiscali.it/no-redirect-tiscali/adinfo/devcpp4970- gcc295.exe Informatica 1 1 Requisiti

Dettagli

a.a Codice corso: 21012, HOMEWORKS

a.a Codice corso: 21012, HOMEWORKS HOMEWORKS Questi esercizi saranno proposti ogni 2 settimane e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

Fondamenti di Algoritmi

Fondamenti di Algoritmi Fondamenti di Algoritmi Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Indice Algoritmi: Definizione Diagrammi di Flusso Esempi ed esercizi

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Dettagli

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

Diagrammi a blocchi 1

Diagrammi a blocchi 1 Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso

Dettagli

Matlab. Istruzioni condizionali, cicli for e cicli while.

Matlab. Istruzioni condizionali, cicli for e cicli while. Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il

Dettagli

#include <iostream> using namespace std; // int main ( ) { // --- Dichiarazione delle variabili int N ; float A, Pot;

#include <iostream> using namespace std; // int main ( ) { // --- Dichiarazione delle variabili int N ; float A, Pot; Dati A e N (A reale >0 e N intero >=0) comunica il valore di A elevato alla N. CL 3 - Es_11.cpp Variabili di Input: N di tipo intero, A di tipo reale Variabili di Output: Pot di tipo reale Variabili di

Dettagli

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente

Dettagli

Costrutti condizionali e iterativi

Costrutti condizionali e iterativi Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso AA 2015/2016 Tutor: Vincenzo Lomonaco vincenzo.lomonaco@unibo.it Programma Introduzione al calcolatore

Dettagli

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni

Dettagli

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini

Dettagli

Programmazione in Python. Moreno Marzolla

Programmazione in Python. Moreno Marzolla Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

2. Algoritmi e Programmi

2. Algoritmi e Programmi 12 2. Algoritmi e Programmi Dato un problema, per arrivare ad un programma che lo risolva dobbiamo: individuare di cosa dispongo: gli input; definire cosa voglio ottenere: gli output; trovare un metodo

Dettagli

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive

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 vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Prof. Pagani Corrado ALGORITMI ESERCITAZIONI CICLI

Prof. Pagani Corrado ALGORITMI ESERCITAZIONI CICLI Prof. Pagani Corrado ALGORITMI ESERCITAZIONI CICLI DIAGRAMMA A BLOCCHI: SWITCH DIAGRAMMA BLOCCHI: WHILE DIAGRAMMA BLOCCHI: FOR for (inizializzazione contatore, condizione, incremento) { istruzioni ; }

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

Dettagli

Piccolo teorema di Fermat

Piccolo teorema di Fermat Piccolo teorema di Fermat Proposizione Siano x, y Z, p N, p primo. Allora (x + y) p x p + y p (mod p). Piccolo teorema di Fermat Proposizione Siano x, y Z, p N, p primo. Allora (x + y) p x p + y p (mod

Dettagli

LA METAFORA DELL UFFICIO

LA METAFORA DELL UFFICIO LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome

Dettagli

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38

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

Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013

Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013 Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013 Damiano Macedonio Giochi d Azzardo Note Iniziali Per generare un numero casuale basta includere la libreria stdlib.h e utilizzare

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

Il generatore di numeri casuali

Il generatore di numeri casuali Il generatore di numeri casuali file di libreria: stdlib.h int rand(void) La funzione restituisce un numero casuale di tipo intero compreso tra 0 e RAND_MAX (estremi compresi) Esempio: scriviamo un programma

Dettagli

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. #include Esercizio 1 - Soluzione int main() int num1, num2, num3, somma; float

Dettagli

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli

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

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

COSA SONO I FLOW CHART

COSA SONO I FLOW CHART COSA SONO LOW CHART flow chart sono schemi che descrivono visivamente come procede l esecuzione di un programma. Essi non sono legati ad uno specifico linguaggio: dato un flow chart, il programmatore può

Dettagli

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza

Dettagli

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript Funzioni Funzioni predefinite della libreria matematica Funzioni disponibili: Math.sqrt(x) radice quadrata Math.log(x) logaritmo naturale in base e di x Math.abs(x) valore assoluto di x Math.ceil(x) arrotonda

Dettagli

5 - Istruzioni condizionali

5 - Istruzioni condizionali 5 - Istruzioni condizionali Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

La programmazione in linguaggio C

La programmazione in linguaggio C FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Programmare in C 1 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ int base; int altezza; int area; Conosciamo base = 3; altezza = 7; area = base*altezza; printf("%d",

Dettagli

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol. Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione prof. Lorenzo Porcelli e mail: genna18@iol.it sito: users.iol.it/genna18 Risoluzione di un problema Dato

Dettagli

unità didattica 3 Le strutture condizionali e le strutture iterative

unità didattica 3 Le strutture condizionali e le strutture iterative unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli