PROGRAMMAZIONE IN C E C++ Prof. Enrico Terrone A. S: 2014/15
|
|
- Aloisia Bartoli
- 7 anni fa
- Visualizzazioni
Transcript
1 PROGRAMMAZIONE IN C E C++ Prof. Enrico Terrone A. S: 2014/15
2 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.
3 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).
4 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.
5 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
6 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
7 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.
8 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
9 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.
10 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.
11 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.
12 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.
13 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 }
14 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.
15 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 );
16 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.
17 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.
18 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).
19 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.
20 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.
21 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.
22 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
23 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.
24 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 >> pr; if (pr>100) { pr = pr pr*20/100; } else { pr = pr pr*5/100; } cout << Il prezzo scontato è << pr << \n ; }
25 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.
26 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 )
27 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>
28 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.
29 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.
30 Iterazione La forma algoritmica dell iterazione: finché (condizione) ripeti { blocco } La forma grafica dell iterazione (flow chart): V b1 cond. F
31 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++ }
32 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 ; }
33 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 ;
34 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 ; }
35 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.
36 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)
37 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.
38 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.
39 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]
40 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] << ; }
41 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
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
DettagliPROGRAMMAZIONE IN C E C++
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
DettagliPROGRAMMAZIONE: 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
DettagliProgrammazione a blocchi. Algobuild Prof. Sergio Roselli
Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere
DettagliInformatica! 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
DettagliIntroduzione 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
DettagliProblema: 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
DettagliCome 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
DettagliStrutture 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
DettagliIntroduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
DettagliUn 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
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliEsercitazione 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
DettagliINFORMATICA. Strutture iterative
INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliAlgoritmi 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)
DettagliLinguaggio 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
DettagliStrutture 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
DettagliLe 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
DettagliLinguaggio C Informatica Grafica
Linguaggio C Informatica Grafica Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Linguaggio C Breve storia Struttura di un programma Variabili
DettagliIstituto 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
DettagliLa 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 10 Novembre 2011 La scrittura di un programma Modellizzazione programma Flowcharts Pseudocode Scrittura del codice
DettagliLa 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
DettagliLe 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
DettagliVBA è 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?
DettagliLinguaggio 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
DettagliSTRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
DettagliProgrammazione con il linguaggio LibreOffice Basic
Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
DettagliLe strutture di controllo
INFORMATICA B Ingegneria Elettrica Le strutture di controllo Selezione un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un valore intero e visualizza il suo
DettagliAltrimenti, 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
DettagliGli 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
DettagliCorso 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
DettagliPr1: 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
DettagliCos è 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
DettagliHOMEWORKS. 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
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni 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 Corso
DettagliMatlab. 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
DettagliFondamenti 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
DettagliLe 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
DettagliPROBLEMI 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
DettagliInformatica 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
DettagliFondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
DettagliLaboratorio 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
Dettagli3 Costrutti while, for e switch
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while, for e switch. I costrutti per costruire cicli in C sono il while, la variante
DettagliInformatica! 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
DettagliAlgebra 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
DettagliCORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative
Dettagli6 - 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
DettagliDiagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto
Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra
DettagliAlgoritmi. 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
DettagliIntroduzione 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
DettagliIntroduzione 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,
DettagliLABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 18.III.2015 VINCENZO MARRA Indice Parte 1. L algoritmo euclideo 3 Esercizio 1 3 L algoritmo euclideo
DettagliEsercitazione. Esercizio 1 Scrivere un programma che calcoli e visualizzi la somma degli interi pari da 2 a 1000 (estremi compresi)
Esercitazione Oggi dovremo di nuovo usare funzioni sui reali. Ma il C non ha operatori nativi del linguggio per queste operazioni, come la radice quadrata, l'elevamento a potenza o l'arrotondamento. Per
DettagliUnità 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
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
DettagliProgrammazione 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
DettagliElementi 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
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliCOMANDI ITERATIVI. Ivan Lanese
COMANDI ITERATIVI Ivan Lanese Argomenti Comando while Comando do while Comando for Comando while: reminder while (condizione) comando; Semantica: la condizione viene testata: se è vera, viene eseguito
DettagliProgrammazione 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
DettagliPer gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.
Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.
DettagliRAPPRESENTAZIONE 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
DettagliMATLAB 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
DettagliCALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1
CALCOLO NUMERICO Prof. Di Capua Giuseppe Appunti di Informatica - Prof. Di Capua 1 INTRODUZIONE Quando algoritmi algebrici non determinano la soluzione di un problema o il loro «costo» è molto alto, allora
DettagliIl 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
Dettagli1 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#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
Dettaglia.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
DettagliUD 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
DettagliLaboratorio di Programmazione Laurea in Bioinformatica
Laboratorio di Programmazione Laurea in Bioinformatica 15 dicembre 2008 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.
DettagliUnità 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#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++
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
DettagliEsercitazione 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
DettagliLA CODIFICA DELL INFORMAZIONE
LA CODIFICA DELL INFORMAZIONE Prof. Enrico Terrone A. S: 20/2 Lo schema di Tanenbaum Il livello al quale ci interessiamo in questa lezione è il linguaggio macchina, l unico dove le informazioni e istruzioni
DettagliFormalismi 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
Dettagliunità 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
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliTipi 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
DettagliInforma(ca. Appun( della lezione 4
Informa(ca Appun( della lezione 4 L algoritmo di Euclide per l MCD Da( due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore per il minore 2. se il resto è 0, il
DettagliFoglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
Dettagli= < < < < < 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
DettagliSi può scrivere un programma anche utilizzando un editor di testo (Blocco Note, WordPad, ) ricordandosi comunque di salvarlo con l estensione.py.
Avviare il programma (Tutti i Programmi Python 2.7 Idle). Quello che si è avviato è l ambiente di sviluppo di Python, che serve per facilitare il programmatore nello scrivere programmi usando Python. Dalla
DettagliUnità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 2 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
DettagliIntroduzione 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
DettagliValori Alfanumerici. Informatica di Base -- R.Gaeta 1
Valori Alfanumerici Finora abbiamo utilizzato solo valori numerici; Se vogliamo usare valori alfanumerici (caratteri e numeri), usiamo le stringhe; In Logo le stringhe si delimitano con le parentesi quadre;
DettagliGli 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
DettagliELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
DettagliStrutture 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
DettagliALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico
ALGORITMI Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico Dati input Elaboratore elettronico Risultati Per risolvere un problema è necessario fornire una descrizione chiara e
DettagliSviluppo 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
DettagliCorso di Fondamenti di Programmazione canale E-O ... Un esempio per iniziare. printf) Altri cenni su printf() Esercizi 8. (printf(
Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Il controllo del programma in C DD Cap. 3, pp.91-130 Un esempio per iniziare /* calcolo di 8!*/ #define C 8 int i=1; int fatt=1; while
DettagliIL TEOREMA DI BOEHM-JACOPINI
IL TEOREMA DI BOEHM-JACOPINI Un qualunque algoritmo può essere descritto unicamente attraverso le tre strutture: Sequenza Diramazione Ciclo o iterazione Le tre strutture sono complete. Un qualunque linguaggio
DettagliDall analisi alla codifica (1)
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema
DettagliLA 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
DettagliEsercitazioni di Informatica B A.A. 2010/2011 Pseudocodice. Nicola Vitucci
Esercitazioni di Informatica B A.A. 2010/2011 Pseudocodice Cos'è lo pseudocodice? Abbiamo visto che prima di scrivere del codice è importante innanzitutto avere le idee chiare sul problema da affrontare
DettagliRappresentazione 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
DettagliJavaScript 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