Fondamenti di Informatica
|
|
- Carmela Aurelia Biondi
- 7 anni fa
- Visualizzazioni
Transcript
1 Fondamenti di Informatica Comandi condizionali, espressioni logiche e predicati Condizioni logiche Obiettivi di apprendimento generali espressioni e proposizioni logiche comandi condizionali selezione tra alternative (if-else) iterazione condizionale (while) casi di studio modifiche controllate di immagini rimozione occhi rossi posterizzazione 2
2 casi di studio eliminare occhi rossi posterizzare (I) posterizzare (II) 3 Eliminazione occhi rossi Effetto causato dal flash che viene riflesso dal fondo della retina Vogliamo sostituire il rosso con un colore a nostra scelta colore di sostituzione Possibile algoritmo! pixel px Pict :! se colore di px è rosso" allora assegna a px un colore di sostituzione"
3 Eliminazione occhi rossi traduzione in Python parametri? valori? comandi? Possibile algoritmo! pixel px Pict :! se colore di px è rosso" allora assegna a px un colore di sostituzione" def removeredeye_1(pict, replacementcolor) :" for px in getpixels(pict) :"oppure for x in range(0,getwidth(pict)) :"???! getcolor(px)" setcolor(px, replacementcolor)" for y in range(0,getheight(pict)) :" px = getpixel(pict,x,y)" Il comando if : sintassi if test1 :! elif test2 :! comando2!...! else :! comando! uno o più elif opzionali ( else if ) un blocco else opzionale if (elif) else facenti parte dello stesso comando devono essere allineati if test1 :! if test1 :! else :! comando! if test1 :! elif test2 :! comando2! else :! comando!...! 6
4 Il comando if : semantica (1) if test1 :! if test1 :! else :! comando! vero test1! falso vero test1! falso comando! 7 Il comando if : semantica (2) if test1 :! elif test2 :! comando2! else :! comando! vero test1! falso vero test2! falso comando2! comando! 8
5 Ritorniamo a : eliminazione occhi rossi Possibile algoritmo! pixel px Pict :! se colore di px è rosso" allora assegna a px un colore di sostituzione" traduzione in Python: def removeredeye_1(pic, replacementcolor) :" for px in getpixels(pict) :" oppure for x in range(0,getwidth(pict)) :" comando if for y in range(0,getheight(pict)) :" px = getpixel(pict,x,y)"???! getcolor(px)" setcolor(px, replacementcolor)" 9 Eliminazione occhi rossi : 1 a versione def removeredeye_1(pict, replacementcolor) :" replacementcolor: color" for x in range(0,getwidth(pict)) :" for y in range(0,getheight(pict)) :" px = getpixel(pict,x,y)" if getcolor(px)==red :" setcolor(px, replacementcolor) " Provate a eseguirla con replacementcolor uguale a black, per esempio Che cosa osservate? Perchè? 10
6 Distanza tra colori? Serve definirla, p.es. per decidere se qualche colore è abbastanza vicino a qualcun altro Come misurare la distanza tra colori? Immaginiamo di essere in un sistema di coordinate cartesiane Distanza tra due punti :! Distanza tra due colori : 11 Eliminazione occhi rossi : 2 a versione def removeredeye_2(pict, replacementcolor) :" replacementcolor: color" for x in range(0,getwidth(pict)) :" for y in range(0,getheight(pict)) :" px = getpixel(pict,x,y)" if (distance(getcolor(px),red) < 165) :" setcolor(px, replacementcolor) " Provate a eseguirla Che cosa osservate? Perchè? 12
7 Eliminazione occhi rossi : 3 a versione def removeredeye_3(pict, startx,starty,endx,endy,replacementcolor) :" replacementcolor: color" startx, starty, endx, endy : int" for x in range(startx,endx) :" for y in range(starty,endy) :" px = getpixel(pict,x,y)" if (distance(getcolor(px),red) < 165) :" setcolor(px, replacementcolor) " Che cosa abbiamo modificato rispetto alla 2a versione: dentro il rettangolo di pixel (startx,starty) fino a (endx, endy) : trova i pixel abbastanza rossi, e sostituiscili con un nuovo colore Perchè? perchè non vogliamo cambiare il colore del suo vestito rosso! 13 Eliminazione occhi rossi : possibili miglioramenti removeredeye(jenny, 109, 91, 202, 107, makecolor(0,0,0)) 14
8 Eliminazione occhi rossi : una versione differente (1) senza usare cicli annidati equivalenti complessità? quante iterazioni? come contarle? def removeredeye_3(pict, startx,starty,endx,endy,replacementcolor) :" replacementcolor: color" startx, starty, endx, endy : int" for x in range(startx,endx) :" for y in range(starty,endy) :" px = getpixel(pict,x,y)" if (distance(getcolor(px),red) < 165) :" setcolor(px, replacementcolor) " def removeredeye_3b(pict, startx,starty,endx,endy,replacementcolor) :" replacementcolor: color" startx, starty, endx, endy : int" for px in getpixels(pict):" x = getx(px)" y = gety(px)" if x >= startx and x < endx :" if y >=starty and y < endy :" if (distance(getcolor(px),red) < 165) :" setcolor(px, replacementcolor) " 16 confronto def removeredeye_3(pict, startx,starty,endx,endy,replacementcolor) :" replacementcolor: color" startx, starty, endx, endy : int" int; numero iterazioni effettuate! count = 0! for x in range(startx,endx) :" for y in range(starty,endy) :" count = count+1! px = getpixel(pict,x,y)" if (distance(getcolor(px),red) < 165) :" conteggio del numero di iterazioni effettuate setcolor(px, replacementcolor)" def removeredeye_3b(pict, startx,starty,endx,endy,replacementcolor) :" return count! replacementcolor: color" startx, starty, endx, endy : int" int; numero iterazioni effettuate! count = 0! for px in getpixels(pict):" count = count+1! notare l allineamento del x = getx(px)" comando return! y = gety(px)" if x >= startx and x < endx :" if y >=starty and y < endy :" if (distance(getcolor(px),red) < 165) :" setcolor(px, replacementcolor)" 17 return count!
9 Espressioni logiche Che cosa è un test? una espressione (proposizione) logica una espressione che assume i valori vero o falso Come si costruiscono espressioni logiche in Python? usando operatori di confronto : < <= ==!= > >=! usando operatori (connettivi) logici : if test1 :! elif test2 :! comando2!...! else :! comando! and or not! e costanti logiche (boolean) : true false! 18 Operatori logici a! b! a and b! a! b! a or b!!!!!! F! F! F! F!! F F!! F! F! F F! F! F a! not a!! F! F 19
10 Espressioni logiche esempi >>> max_candidates = 100" >>> started_exam = true" >>> participants = 58" espressione! started_exam! participants < max_candidates! participants == 40! (participants % 2) == 0! not started_exam! started_exam or participants == max_candidates! not(not started_exam and participants<=max_candidates)! participants>max_candidates and participants>=0! valore! F F F 20 Eliminazione occhi rossi : una versione differente (2) usando una espressione logica invece di if annidati def removeredeye_3b(pict, startx,starty,endx,endy,replacementcolor) :" replacementcolor: color" startx, starty, endx, endy : int" for px in getpixels(pict):" x = getx(px)" y = gety(px)" if x >= startx and x < endx :" if y >=starty and y < endy :" if (distance(getcolor(px),red) < 165) :" setcolor(px, replacementcolor)" def removeredeye_3c(pict, startx,starty,endx,endy,replacementcolor) :" replacementcolor: color" startx, starty, endx, endy : int" for px in getpixels(pict):" x = getx(px)" y = gety(px)" if x >= startx and x<endx and y >=starty and y<endy and (distance(getcolor(px),red)<165) :" 21 setcolor(px, replacementcolor) "
11 Posterizzazione : riduzione della gamma di colori 22 Posterizzazione: come realizzarla Cerchiamo una gamma di colori, e li riduciamo a un singolo colore. se la componente red è tra 63 e 128, assegnagli valore 95 se la componente green è minore di 64, assegnagli valore < > 63, 64 < > 127, 128 < >
12 Posterizzazione : algoritmo possibile algoritmo:! pixel in picture :" se red di pixel è nel rangea! allora assegnagli valore reda;" se red di pixel è nel rangeb! allora assegnagli valore redb;" se red di pixel è nel rangec! allora assegnagli valore redc ;"... (si procede in modo analogo per green e blue)..." reda redb redc rangea rangeb rangec 0 < > 63, 64 < > 127, 128 < > Posterizzazione : codice Python def posterize(pict):" # iterazione su tutti i pixel" for p in getpixels(pict):" # ricava i valori RGB" red = getred(p)" green = getgreen(p)" blue = getblue(p)" # controlla e modifica i valori red" if(red < 64):" setred(p, 31)" if(red > 63 and red < 128):" setred(p, 95)" if(red > 127 and red < 256):" setred(p, 191)" # controlla e modifica i valori green" if(green < 64):" setgreen(p, 31)" if(green > 63 and green < 128):" setgreen(p, 95)" if(green > 127 and green < 256):" setgreen(p, 191)" # controlla e modifica i valori blue" if(blue < 64):" setblue(p, 31)" if(blue > 63 and blue < 128):" setblue(p, 95)" if(blue > 127 and blue < 256):" setblue(p, 191) < > 63, 64 < > 127, 128 < >
13 Posterizzazione estrema: da colore a bianco o nero def bwposterize(pict):" for p in getpixels(pic):" r = getred(p)" g = getgreen(p)" b = getblue(p)" luminance = (r+g+b)/3" if luminance < 64:" setcolor(p,black)" if luminance >= 64:" setcolor(p,white)" Si controlla la luminanza di ogni pixel. Se è abbastanza bassa, è nero, altrimenti è bianco casi di studio data un immagine, verificare se il componente red di ogni suo pixel ha un valore maggiore di una certa soglia data un immagine e un colore, verificare se quel colore è presente nell immagine date due immagini, verificare se ogni colore presente nella prima esiste anche nella seconda problemi riconducibili allo scrivere funzioni logiche: funzioni che restituiscono un valore logico 27
14 Uso di Python per codificare proposizioni logiche Notazione preliminare: D : insieme di valori numeri, immagini, stringhe di caratteri, colori, pixel, x : elemento dell insieme D B : D {vero, falso} proposizione logica sull insieme D dato x D, B(x) può valere vero o falso 28 Esempi D : insieme di pixel (da un immagine) B : D {vero, falso} definita in questo modo: B(x) = vero se la componente red di x è 24 B(x) = falso altrimenti (cioè: se red di x è <24) oppure B(x) = vero se il colore di x è : red = r, green = g, blue = b B(x) = falso altrimenti r, g, b valori interi (compresi tra 0 e 255) 29
15 Codifica Python B : D {vero, falso} definita in questo modo: B(x) = vero se la componente red di x è 24 B(x) = falso altrimenti (cioè: red di x è <24) def B(x) :" x : pixel;" if getred(x) >= 24 :" return true" else :" return false" Esempio di uso: " >>> pict = makepicture(pickafile())" def B(x) :" x : pixel;" return getred(x) >= 24 " le due formulazioni sono equivalenti! " >>> if B(getPixel(pict,0,0)) : # applica B() al 1 pixel di pict" " 30 Codifica Python B : D {vero, falso} definita in questo modo: B(x) = vero se il colore di x è : red = r, green = g, blue = b B(x) = falso altrimenti r, g, b valori interi (compresi tra 0 e 255) def B(x,r,g,b) :" x : pixel;" r: int; (0 r 255)" g: int; (0 g 255)" b: int; (0 b 255)" if getcolor(x) == makecolor(r,g,b) :" return true" else :" return false" le tre formulazioni sono equivalenti! def B(x,r,g,b) :" x : pixel;" r: int; (0 r 255)" g: int; (0 g 255)" b: int; (0 b 255)" return getcolor(x) == makecolor(r,g,b)" def B(x,r,g,b) :" x : pixel;" r: int; (0 r 255)" g: int; (0 g 255)" b: int; (0 b 255)" 31 return getred(x) == r and getgreen(x) == g and getblue(x) == b"
16 def B(x) :" x : pixel;" return getred(x) >= 24 " Proposizioni logiche def B(x,r,g,b) :" x : pixel;" r: int; (0 r 255)" g: int; (0 g 255)" b: int; (0 b 255)" return getcolor(x) == makecolor(r,g,b)" def B(x,r,g,b) :" x : pixel;" r: int; (0 r 255)" g: int; (0 g 255)" b: int; (0 b 255)" return getred(x) == r and getgreen(x) == g and getblue(x) == b" utte queste funzioni codificano proposizioni logiche costruite tramite operatori di relazione oppure operatori (connettivi) logici ma esistono anche altri tipi di operatori (predicati) definiti nella logica del 1 ordine 32 Quantificatori altri operatori logici: quantificatore universale: x D : B(x) vero sse B(x) è vero per ogni x D quantificatore esistenziale: x D : B(x) vero sse B(x) è vero per almeno un x D in entrambi i casi, B(x) è una qualunque proposizione logica definita sull insieme D come codificarli in Python? a differenza di operatori di relazione e connettivi logici (and, or, not), Python non offre una codifica predefinita per i quantificatori 33
17 Codifica di in Python Quantificatore universale: x D : B(x) Assunzione: D è rappresentabile come una sequenza Python def univ(d) :" D : " for item in D :" if not B(item, ) :" return false" return true " 34 Esempio d uso della codifica di in Python Problema: data un immagine, verificare se il componente red di ogni suo pixel ha un valore maggiore di una certa soglia (24) B() definito come: def B(x) :" x : pixel;" return getred(x) >= 24 " Funzione logica che risolve il problema: " " def univ(d) :" D : sequence of pixels" for item in D :" if not B(item) :" return false" return true " chiamata di B(): un solo parametro, in questo caso >>> pict = makepicture(pickafile())" >>> univ(getpixels(pict)) 35
18 Codifiche alternative di in Python def univ(d) :" D : " for item in D :" if not B(item) :" return false" return true " le tre formulazioni sono equivalenti! (ma non ugualmente efficienti ) def univ(d) :" D : " res = true" for item in D :" if not B(item) :" res = false" return res" def univ(d) :" D : " res = true" for item in D :" if not B(item) :" res = false" break" return res" il comando break interrompe l esecuzione di un comando iterativo; l esecuzione prosegue dal comando immediatemente successivo al comando iterativo 36
Laboratorio di Python
Problem solving, Ricorsione, Università di Bologna 13 e 15 marzo 2013 Sommario 1 2 3 4 Errore di semantica Esercizio def vocali(s): voc='' for c in s: if c in 'aeiou': voc=voc+c return voc Cerchiamo di
Dettagliscelta tra azioni alternative
comportamento della macchina visto finora: esecuzione in sequenza 1 2 3 insufficiente: la macchina deve poter seguire flussi non sequenziali scelta tra azioni alternative a? b ripetizione (iterazione)
DettagliLaboratorio di Python
Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio
DettagliLaboratorio di Python
Problem solving, Ricorsione, 14 marzo 2014 Sommario 1 2 3 4 Sintassi ed Esempi Esercizi Lunedì il numero di studenti che avevano consegnato gli esercizi era 13. Martedì il numero di esercizi ricevuti,
DettagliLaboratorio di Python
, Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono
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
Dettagliosservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1
Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)
DettagliLaboratorio di Python
Iterazione determinata, 12 marzo 2015 Sommario 1 2 3 Sintassi ed Esempi 4 Input da tastiera Sintassi = raw_input('stringa descrittiva') #versione 2.* = input('stringa descrittiva') #versione
DettagliIterazione (introduzione)
Fondamenti di informatica Oggetti e Java (introduzione) Capitolo 17 (estratto) ottobre 2015 1 Contenuti Accesso a sequenze Accumulazione Conteggio Altre aggregazioni Verifica esistenziale Verifica universale
DettagliStudio degli algoritmi
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case
Dettaglipublic static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;
Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i
DettagliStrutture di controllo in C++
Strutture di controllo in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Il controllo: selezione Spesso la sequenza delle istruzioni non e prevedibile a priori ma dipende strettamente dalle configurazioni
DettagliCOMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Confronto di algoritmi Uno stesso problema può essere risolto in modi diversi,
DettagliInformatica/ 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
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliLogica booleana, Costrutto IF
Logica booleana, Costrutto IF Informatica@SEFA 207/208 - Lezione 4 Massimo Lauria http://massimolauria.net/courses/infosefa207/ Mercoledì, 4 Ottobre 207 La logica booleana 2
DettagliLogica: materiale didattico
Logica: materiale didattico M. Cialdea Mayer. Logica (dispense): http://cialdea.dia.uniroma3.it/teaching/logica/materiale/dispense-logica.pdf Logica dei Predicati (Logica per l Informatica) 01: Logica
DettagliFondamenti di Programmazione. Strutture di controllo
Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due
DettagliIf Statement. Il costrutto condizionale if ha la seguente sintassi:
Costrutti Control Flow Con control flow (o strutture di controllo) si intende l insieme dei costrutti che servono a gestire il flusso di esecuzione di un programma, cioè a specificare quando e come eseguire
DettagliEspressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test
Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo
DettagliIstruzioni semplici e strutturate
Consorzio NETTUNO Corso di Fondamenti di Informatica I secondo giorno di stage Istruzioni semplici e strutturate Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
DettagliStrutture di Controllo
Strutture di Controllo Informatica B Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c", &c); printf("la traduzione e' %c\n",c+32); return
DettagliLezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo
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
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;
DettagliUniversità di Roma Tor Vergata L6-1. iterazione: struttura di controllo per ripetere più volte uno stesso comando
Università di Roma Tor Vergata L6-1 iterazione: struttura di controllo per ripetere più volte uno stesso comando comandi iterativi C++: while, do-while, for while: sintassi while (espressione) comando;
DettagliC espressioni condizionali
C espressioni condizionali Esiste un particolare operatore, detto operatore condizionale, che rappresenta un istruzione if else. estremamente compattata?: Supponiamo di voler inserire nella variabile intera
DettagliIstruzioni di ripetizione in Java 1
in Java Corso di laurea in Informatica Le istruzioni di ripetizione consentono di eseguire molte volte la stessa Si chiamano anche cicli Come le istruzioni condizionali, i cicli sono controllati da espressioni
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 5 Alberto Ceselli alberto.ceselli@unimi.it Università degli Studi di Milano 12 Marzo 2013 Le funzioni sono oggetti di prima classe in Scheme In Scheme le funzioni
DettagliAppunti di informatica. Lezione 10 anno accademico Mario Verdicchio
Appunti di informatica Lezione 10 anno accademico 2016-2017 Mario Verdicchio Esercizio Scrivere un programma che, data una sequenza di 10 interi (scelta dall utente), la ordini in ordine crescente Soluzione
DettagliUn esempio di if annidati
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XIV, parte I ) Costrutto di selezione switch Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do
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
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama
DettagliEspressione composta da: Operatori Operandi (costanti, variabili, )
Cenni linguaggio C: Espressioni Espressione: formula (regola di calcolo) che specifica sempre un valore Esempio: espressione algebrica: z=x* y, (x+3)/5 Espressione composta da: Operatori Operandi (costanti,
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliLaboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012
Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;
DettagliLaboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016
Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2015/2016 Ambiente di test PHP online per avere un interprete PHP Php Online PHP Tester
DettagliOperatori in Java. Il Costrutto Condizionale if
Operatori in Java Operatore Tipo Semantica > binario maggiore >= binario maggiore o uguale < binario minore
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
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
DettagliIstruzioni condizionali di diramazione in Fortran 90
Istruzioni condizionali di diramazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Istruzioni di diramazione DIS - Dipartimento
DettagliCorso di Fondamenti di Informatica. La ricorsione
Corso di Fondamenti di Informatica La ricorsione La ricorsione Si dice che un oggetto (una struttura dati, una funzione matematica, un concetto ) è ricorsivo se è possibile darne una definizione in termini
DettagliLezione 7 Alberi binari: visite e alberi di ricerca
Lezione 7 Alberi binari: visite e alberi di ricerca Informatica 6 Maggio 2015 Operazioni sugli alberi: visita La visita di un albero esplora tutti i nodi ed esegue una qualche operazione su di essi. Per
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
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliGocce di Java. Gocce di Java. Selezione e ripetizione. Pierluigi Crescenzi. Università degli Studi di Firenze
Gocce di Java Pierluigi Crescenzi Università degli Studi di Firenze Variabili ed espressioni Booleane Variabile booleana: può assumere valore true o false Espressione Booleana: valore di ritorno true o
DettagliStatements: blocchi di istruzioni
Statements: blocchi di istruzioni Andrea Passerini passerini@disi.unitn.it Informatica Statements Descrizione Uno statement è un blocco di istruzioni semplici consistono di una singola riga. I tipi visti
DettagliIL 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
DettagliQuando usiamo Python in modo interattivo in genere e' lo shell utilizzato che gestisce l'indentazione e la deindentazione.
INDICE Indentazione note sull'indentazione in script e moduli scritti con un editor di testo. istruzione if Truth testing in cicli if e while istruzione for istruzione while Uscita dai cicli for e while
DettagliRAPPRESENTAZIONE DELLE INFORMAZIONI
RAPPRESENTAZIONE DELLE INFORMAZIONI 1 RAPPRESENTAZIONE DELLE INFORMAZIONI Le informazioni gestite dai sistemi di elaborazione devono essere codificate per poter essere memorizzate, elaborate, scambiate,
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
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
DettagliTRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+
TRADUZIONE DI STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+ a cura di: Eleonora Antonelli Simone Maletta Stefano Novara INDICE 1. Grammatica di TLA+ a cura di Eleonora Antonelli
DettagliLaboratorio di Python (con Linux)
Indeterminata,,,... Università di Bologna 14, 16 marzo 2012 Sommario 1 2 3 4 5 Modularità Quando si deve fare un programma complicato è meglio suddividerlo in più parti. Per ridurre la complessità (più
DettagliStrutture di Controllo. if (<condizione>) statement; if (<condizione>) statement; Istruzioni condizionali. Istruzione condizionale if.
Istruzioni condizionali 2 Strutture di Controllo Istruzioni in sequenza Cosa succede se il carattere inserite non è una lettera maiuscola? Istruzione condizionale if 3 Istruzione condizionale if 4 Consente
DettagliIterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E07 Iterazione C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Iterazione 1 Contenuti Si vogliono formalizzare
DettagliRichiami di Fondamenti di Informatica - 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Richiami di Fondamenti di Informatica - 1 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Richiami di FdI-1
DettagliPrerequisiti Matematici
Prerequisiti Matematici Richiami di teoria degli insiemi Relazioni d ordine, d equivalenza Richiami di logica Logica proposizionale, tabelle di verità, calcolo dei predicati Importante: Principio di Induzione
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
DettagliIstruzioni Condizionali in C
Concetti chiave Istruzioni Condizionali in C Tipi di Istruzioni Condizionali Espressioni Blocchi d istruzioni Istruzioni Condizionali: if-else Istruzioni Condizionali: switch-case Istruzione break Istruzioni
Dettagli8 Introduzione MATLAB
8.1 Basi Per pulire il workspace (eliminare tutte le variabili esistenti): 1 clear Per pulire la finestra dei comandi (command window): 1 clc In MATLAB non è necessario dichiarare le variabili ed esse
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliUn algoritmo realizza una relazione funzionale tra i valori di input e quelli di output
Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output F = { (s, s ) } per ogni s esiste una e una sola coppia (s, s ). Esempio: un algoritmo che calcola il quadrato di
DettagliVBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
DettagliIstruzioni iterative. Istruzioni iterative
Istruzioni iterative Esempio: Leggere 5 interi, calcolarne la somma e stamparli. Variante non accettabile: 5 variabili, 5 istruzioni di lettura, 5... int i1, i2, i3, i4, i5; scanf("%d", &i1):... scanf("%d",
Dettagli5 - 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
DettagliCostrutti 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
DettagliProgrammazione Caratteri, stringhe, tipo unit ed ennuple
Programmazione Caratteri, stringhe, tipo unit ed ennuple Samuel Rota Bulò DAIS Università Ca Foscari di Venezia. Outline Caratteri e stringhe Booleani Il tipo unit Ennuple I caratteri Il tipo char rappresenta
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
DettagliLaboratorio 04. Programmazione - CdS Matematica. Michele Donini 17 Novembre 2015
Laboratorio 04 Programmazione - CdS Matematica Michele Donini 17 Novembre 2015 Controllo del flusso Selezione: ci permette di modificare il normale flusso sequenziale di un programma a seconda della valutazione
DettagliNell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:
Pag 24 3) Il problema della ricerca Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi: si incontrano in una grande varietà di situazioni reali; appaiono come sottoproblemi
DettagliStrutture di controllo iterative
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione Problema Scrivere un programma che acquisisca da standard input un intero
DettagliRELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA
RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA Anno scolastico Lab informatica AULA n 35 Data inizio svolgimento Progr. relazione primo trimestre secondo pentamestre Cognome e Nome DATI DELLO STUDENTE
DettagliISTRUZIONI ISTRUZIONI
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di
DettagliLaboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015
Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2014/2015 Ambiente di test Cercare PHP online per avere un interprete PHP Assegnamento
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
DettagliRAPPRESENTAZIONE DELLE INFORMAZIONI
RAPPRESENTAZIONE DELLE INFORMAZIONI 1 RAPPRESENTAZIONE DELLE INFORMAZIONI Le informazioni gestite dai sistemi di elaborazione devono essere codificate per poter essere memorizzate, elaborate, scambiate,
DettagliLa principale modalità di calcolo è l applicazione di funzioni
1 La principale modalità di calcolo è l applicazione di funzioni Nei linguaggi funzionali puri non esistono strutture di controllo predefinite per la realizzazione di cicli quali for, while, repeat Un
DettagliI S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E
I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E G u g l i e l m o M a r c o n i V e r o n a Dipartimento di Progetto didattico disciplinare per le classi terze della articolazione Anno
DettagliEsempi di Problemi Iterativi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E07 C. Limongelli Dicembre 2011 1 Contenuti q Esercizi: Palindroma Anagramma Fibonacci 2 Palindroma q Scrivere un programma che
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
DettagliTipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char
Tipo carattere Finora abbiamo lavorato con valori numerici. I numeri costituiscono molta parte del lavoro dei computer, ma non tutta. I computer sono macchine per il trattamento dell informazione e l informazione
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)
DettagliEsercitazioni di Fondamenti Informatica - Modulo A 1
Esercitazioni di Fondamenti Informatica - Modulo A 1 Da MSDN: The while statement executes a statement or a block of statements until a specified expression evaluates to false while ( expression ) statement
DettagliLa sintassi del C APPENDICE H
APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i
Dettagli<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di
DettagliLogica proposizionale
Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite
DettagliAritmetica in Floating Point
Aritmetica in Floating Point Esempio di non associatività Alcune proprietà delle operazioni in aritmetica esatta possono non valere in aritmetica finita in virgola mobile (floating point). Ad esempio:
Dettagli10 Logica classica predicativa
10 Logica classica predicativa Dopo aver studiato la logica classica proposizionale, ovvero la logica delle proposizioni classiche, passiamo a studiare la logica classica predicativa, ovvero quella dei
DettagliCiclo do while in FORTRAN
Ciclo do while in FORTRAN Vogliamo tradurre in linguaggio FORTRAN un algoritmo che risponde a questo tipo di struttura: Fino a quando e vera questa espressione logica allora: fai questo fai quest altro
DettagliIstruzioni iterative (o cicliche)
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
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
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
DettagliEsempi di Problemi Iterativi
Corso di Laurea Ingegneria Civile Elementi di Informatica Esempi di Problemi Iterativi C. Limongelli Esempi di Problemi Iterativi 1 Contenuti Esercizi: Palindroma Anagramma Fibonacci Esempi di Problemi
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliErrori 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