unità didattica 3 Le strutture condizionali e le strutture iterative
|
|
- Elisa Mantovani
- 7 anni fa
- Visualizzazioni
Transcript
1 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 IF THEN ELSE ) attraverso l istruzione IF. Teniamo presente che in un algoritmo tale struttura si trova sotto diverse forme, come quelle rappresentate a mo di esempio in fig. 1. (a) (b) NO DELTA 0 SI NO DELTA = 0 SI Radici immaginarie Radici reali X = B/2A Fig. 1 Esempi di strutture condizionali La sintassi dell istruzione IF è la seguente: IF condizione THEN istruzione 1 [ELSE istruzione 2 ] fai attenzione Le parentesi quadre indicano che il loro contenuto (ovvero ELSE istruzione 2 ) può anche non essere presente nell istruzione. Ricordiamo che una condizione logica può essere vista come un espressione che assume valore o. Ad esempio a > b è una condizione che risulta essere vera se il valore a eccede il valore b, altrimenti è falsa. Come abbiamo già visto in precedenza, una condizione logica può fare uso di operatori logici, i più noti dei quali sono NOT, OR e AND. Ad esempio ( a > b ) AND (c > d ) è una condizione che risulta verificata se e solo se le due condizioni semplici ( a > b ) e ( c > d ) sono ambedue vere. Nel caso contrario, la condizione è falsa. UD3 Le strutture condizionali e le strutture iterative 17
2 Per tornare all utilizzo della sintassi introdotta precedentemente, il flow-chart (a) di cui alla fig. 1 si può codificare come segue: IF delta >= 0 THEN WRITE( Radici reali ) ELSE WRITE( Radici immaginarie ) ; Il flow-chart (b) non prevede alcuna azione da eseguire nel caso in cui la condizione sia falsa, perciò si codifica senza fare uso della clausola ELSE: IF delta = 0 THEN x := - b / ( 2 * a ) ; Nel caso in cui al posto di un unica istruzione vi fossero diverse azioni da eseguire nella strada del vero ( e/o del falso), bisogna fare uso delle linee e END, come mostra la fig. 2 che esprime la logica disegnata dal flow-chart sotto (a). Radici immaginarie D 0 X1 = ( B + D) / 2 x A X2 = ( B D) / 2 x A IF d >= 0 THEN x1 := ( -b + SQRT(d) / ( 2 * a ) ; x2 := ( -b - SQRT(d) / ( 2 * a ) ; END ELSE WRITE( Radici immaginarie ); Fig. 2 Codifica di struttura condizionale La struttura END contenuta nella struttura condizionale va scritta senza il punto e virgole finale (;) in quanto deve essere seguita dalla linea ELSE. È chiaro infatti che se non ci fosse la linea ELSE, in quella posizione si dovrebbe porre il punto e virgola. fai attenzione Il riferimento SQRT(d) presente nella terza e nella quarta linea permette al linguaggio Pascal di richiamare la funzione che calcola la radice quadrata (in inglese SQuare RooT). Tale funzione si chiama SQRT e deve contenere tra le parentesi l argomento della radice; per il dettaglio dell istruzione si rimanda al paragrafo 2 della UD4. È possibile anche codificare degli IF nidificati, al cui interno, cioè si trovino altre strutture condizionali. La fig. 3 ne costituisce un esempio tipico. 18 Modulo on line Uno strumento per programmare: cenni al linguaggio Pascal
3 D < 0 D > 0 RADICI IMMAGINARIE RADICI REALI COINCIDENTI RADICI REALI E DISTINTE IF d < 0 THEN WRITE( Radici immaginarie ) ELSE IF d > 0 THEN WRITE( Radici reali e distinte ) ELSE WRITE( Radici reali coincidenti ); Fig. 3 Codifica di strutture condizionali nidificate Proponiamo ora, a titolo di esempio, una codifica in Pascal di un algoritmo che evidenzia come si possano utilizzare le diverse nozioni sin qui apprese. Dopo aver acquisito tramite tastiera i tre parametri di un equazione di secondo grado, calcolarne le radici, visualizzando il risultato. La fig. 4 mostra il flow-chart relativo ad un possibile algoritmo risolutivo, mentre il programma codificato in Pascal (di nome radici) è presentato in fig. 5. UD3 Le strutture condizionali e le strutture iterative 19
4 INIZIO LEGGI A, B, C D = B 2 4AC D < 0 Radici immaginarie D = 0 X1 = B/2A X1 = ( B + D) / 2A Radici reali coincidenti X1 = X2 = X1 X2 = ( B D) / 2A Radici reali distinte X1, X2 FINE Fig. 4 Flow-chart dell algoritmo di ricerca delle radici di un equazione di 2 grado 20 Modulo on line Uno strumento per programmare: cenni al linguaggio Pascal
5 PROGRAM radici; USES WINCRT; VAR a, b, c, d, x1, x2 : REAL ; {IMMISSIONE PARAMETRI} WRITELN( Calcolo delle radici di un equazione di 2 grado ); WRITELN( ); WRITE( Digita il parametro a ); READLN(a); WRITE( Digita il parametro b ); READLN(b); WRITE( Digita il parametro c ); READLN(c); {CALCOLO DEL DISCRIMINANTE} d := b * b 4 * a * c ; {DETERMINAZIONE SEGNO DEL DISCRIMINANTE} IF D < 0 THEN WRITE( Radici immaginarie ) ELSE IF d = 0 THEN x1 := -b / (2 * a); WRITE( Radici reali coincidenti: ); WRITE( X1=X2=, x1:6:2); END ELSE x1 := ( -b + SQRT(d)) / (2 * a); x2 := ( -b - SQRT(d)) / (2 * a); WRITE( Radici reali distinte: ); WRITE( X1=,x1:6:2, X2=, x2:6:2); END; END. Fig. 5 Codifica in Pascal dell algoritmo di ricerca delle radici di un equazione di 2 grado 2. Le strutture iterative È noto che allorché ci si riferisce alla struttura iterativa, si comprendono diversi costrutti, riconducibili, comunque, tutti al fatto che essi prevedono l esecuzione ripetitiva per un certo numero di volte di una o più istruzioni, indicate con il termine di ciclo. In generale si tende a distinguere tra iterazioni definite ed iterazioni indefinite. 2.1 Iterazione definita Una iterazione viene detta definita se il numero di volte che un ciclo deve essere eseguito è fissabile a priori. In questo caso deve essere noto, in fase di programmazione, il numero di iterazioni da compiere. Ad esempio, se si vogliono leggere 10 valori numerici interi da memorizzare in una struttura vettoriale, il programmatore sa già a priori in fase di stesura dell algoritmo che occorre compiere 10 volte il ciclo di lettura dell elemento da memorizzare nel vettore (v. fig. 6). UD3 Le strutture condizionali e le strutture iterative 21
6 I = 1, 10 LEGGI V(I) Fig. 6 Iterazione definita L iterazione definita descritta si chiama costrutto del FOR e viene prevista da moltissimi linguaggi di programmazione. Il Pascal richiede al riguardo la seguente sintassi: FOR variabile di controllo := valore iniziale TO valore finale DO espressione dove variabile di controllo è un identificatore di variabile che controlla il numero di volte che viene eseguita l espressione che segue la parola chiave DO. Sia il valore iniziale che il valore finale indicati nell istruzione FOR possono essere costituiti da un espressione o da una costante numerica. Il ciclo, infatti, viene ripetuto tante volte quanto risulta dalla differenza tra il valore finale ed il valore iniziale: la variabile di controllo durante l esecuzione del primo ciclo assume il valore iniziale; la seconda volta che viene eseguito il ciclo la variabile di controllo assume il valore iniziale incrementato di un unità, e così via. L iterazione prosegue in questo modo sino a che la variabile di controllo non ecceda il valore finale. La parola chiave DO è seguita da un istruzione che costituisce il ciclo o da un blocco di istruzioni: in quest ultimo caso il blocco sarà preceduto da e terminerà con END. La codifica in Pascal del flow-chart di cui alla fig. 6 è perciò la seguente: VAR v : ARRAY[1..10] OF INTEGER; i : INTEGER; FOR i := 1 TO 10 DO WRITE( Digita l elemento di posto,i, ); READLN(v(i)); END; Un ulteriore esempio di codifica di un iterazione definita, in cui cioè sia prefissato a priori il numero di esecuzioni del ciclo, potrebbe riguardare il calcolo della media aritmetica degli elementi numerici memorizzati nel vettore v, così come mostrato qui di seguito: som := 0; FOR i := 1 TO 10 DO som := som + v(i); med := som / Iterazione indefinita Oltre alla iterazione definita esiste anche la possibilità che il programmatore non conosca il numero di volte che un certo ciclo debba essere eseguito. Si ipotizzi, ad esempio, l immissione da parte dell utente di una serie di valori numerici (ad esempio N valori) sino a che la loro somma non superi un certo importo. Come si fa in questo caso a prevedere quando ciò avverrà, dato che non si conoscono i valori digitati dall utente? 22 Modulo on line Uno strumento per programmare: cenni al linguaggio Pascal
7 Per la risoluzione del problema occorre realizzare un algoritmo come quello rappresentato graficamente in fig. 7. INIZIO LEGGI LIMITE SOM = 0 I = 0 SOM LIMITE LEGGI NUM SOM = SOM + NUM I, SOM FINE I = I + 1 Fig. 7 Struttura iterativa indefinita (WHILE) Nel flow-chart il ciclo è costituito dalle tre istruzioni: LEGGI NUM SOM = SOM + NUM I = I + 1 e viene eseguito subordinatamente al verificarsi della condizione: SOM è minore o uguale a LIMITE? Quando invece la condizione risulta falsa, allora non si esegue più il ciclo e «si esce» dalla struttura iterativa. fai attenzione È indispensabile che, all interno del ciclo, ci sia qualche istruzione che cambi il contenuto di almeno uno dei termini che compare nella condizione, allo scopo di rendere falsa la condizione almeno una volta. Se ciò non avvenisse, se cioè la condizione risultasse sempre vera, è chiaro che non si uscirebbe più dal ciclo ed il programma non raggiungerebbe mai una fine. Si parla in questo caso di loop infinito, causato da un errore di programmazione. La struttura iterativa indefinita descritta sin qui prende il nome di WHILE: è molto importante però notare che la condizione logica deve essere impostata in modo che se è vera consente di eseguire nuovamente il ciclo. La struttura del WHILE viene infatti chiamata anche iterazione per vero. Un altra particolarità riguarda il fatto che la condizione deve sempre precedere il ciclo. Il Pascal prevede la codifica dell iterazione WHILE mediante il costrutto WHILE DO, la cui sintassi è la seguente: WHILE condizione DO blocco-istruzioni ed il cui significato logico è: mentre è VERA la condizione esegui il blocco-istruzioni UD3 Le strutture condizionali e le strutture iterative 23
8 Allora la codifica del flow-chart rappresentato in fig. 7 si traduce in Pascal come indicato qui di seguito: WRITE( Digita il valore limite da superare ); READLN(limite); som := 0 ; i := 0 ; WHILE som <= limite DO WRITE( Digita un valore da sommare ); READLN(num); som : = som + num ; i := i +1 ; END; WRITELN( I valori sommati sono, i); WRITELN( La somma ottenuta è,som); Quando si ha di fronte una struttura iterativa del tipo WHILE, è possibile che il ciclo in essa contenuto non sia eseguito neanche una volta: ciò avviene quando inizialmente (ovvero già la prima volta che si esegue il test sulla condizione) la condizione indicata non sia vera. Quando, invece, il programmatore ha bisogno di una struttura algoritmica per la quale, comunque un primo ciclo sia eseguito, occorre far ricorso ad una struttura iterativa come quella rappresentata in fig. 8. istruzione Condizione logica VERA FALSA Fig. 8 Struttura iterativa indefinita (REPEAT) Infatti, a prescindere dal fatto che la condizione logica sia vera o falsa, il ciclo viene comunque percorso almeno una volta. In questi casi si parla di struttura iterativa REPEAT UNTIL o iterazione per falso. Oltre alla caratteristica citata, infatti, la struttura iterativa di cui stiamo parlando prevede che il ciclo sia eseguito fino a quando la condizione è falsa; quando la stessa condizione logica è vera, si esce dal ciclo. La sintassi del Pascal in relazione alla codifica dell iterazione per falso è la seguente: REPEAT blocco-istruzioni UNTIL condizione Ricordiamo che non è obbligatorio far uso delle linee e END per delimitare il blocco-istruzioni. Come esempio applicativo del costrutto REPEAT UNTIL, ipotizziamo il caso in cui si voglia consentire all utente di digitare un valore numerico compreso tra 10 e 100, con eventuale ripetizione dell immissione nel caso in cui non siano rispettati i limiti. Allora il flow-chart del segmento di programma interessato potrebbe essere quello rappresentato in fig Modulo on line Uno strumento per programmare: cenni al linguaggio Pascal
9 LEGGI NUM (NUM > 10) AND (NUM > 100) Fig. 9 Struttura iterativa indefinita per falso (REPEAT) La codifica in Pascal sarebbe: REPEAT WRITE( Digita un valore compreso tra 10 e 100 ); READLN(num); UNTIL ( num > 10 ) AND ( num < 100 ); UD3 Le strutture condizionali e le strutture iterative 25
unità didattica 2 Le prime istruzioni notevoli in Pascal
unità didattica 2 Le prime istruzioni notevoli in Pascal 1. L operazione di assegnazione Quando si desidera che una certa variabile contenga un determinato valore costante, o un risultato di operazioni
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
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
DettagliDiagrammi 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
Dettaglimodulo on line Uno strumento per programmare: cenni al linguaggio Pascal
modulo on line Uno strumento per programmare: cenni al linguaggio Pascal ud1 Introduzione al Pascal ud2 Le prime istruzioni notevoli in Pascal ud3 Le strutture condizionali e le strutture iterative ud4
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
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
DettagliIntroduzione 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
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
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
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
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
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
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
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
DettagliDiagrammi 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
DettagliSTRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER
1 STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER Un computer e una macchina che riceve in ingresso delle informazioni, le elabora secondo un determinato procedimento e produce dei risultati che vengono
DettagliELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL
Liceo Scientifico e Classico S. Trinchese ELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL seminario per la classe IV BS Prof Antonio Cazzato Perché programmare? La programmazione ha una notevole valenza didattica
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
DettagliLESSICO E SINTASSI DEL PASCAL
LESSICO E SINTASSI DEL PASCAL Il linguaggio di programmazione Pascal è potente e semplice nello stesso tempo; ciò ne giustifica la scelta, inoltre i nuovi compilatori del linguaggio pascal permettono di
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
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
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
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;
DettagliProgrammazione. 1 Introduzione. Tutto per la gloria di Dio.
Programmazione Tutto per la gloria di Dio. 1 Introduzione Un programma è un piano di azione che deve essere eseguito da un esecutore, di solito uno strumento automatico, la maggior parte delle volte un
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
DettagliLezione 5. La macchina universale
Lezione 5 Algoritmi Diagrammi di flusso La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale=
DettagliModulo 1 Concetti di base della Tecnologia dell Informazione
Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette
DettagliINTERO INT(variabile numerica) Restituisce la parte intera di una certa variabile numerica. Il risultato è una variabile reale.
unità didattica 4 Le funzioni del Pascal 1. Le funzioni predefinite Il Pascal contiene una ricca biblioteca di funzioni predefinite, ovvero di calcoli effettuati su dati numerici o alfanumerici idonei
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
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
DettagliDal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione
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
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
Dettagliwhile Istruzione while Cicli ed iterazioni Istruzioni di ripetizione in C Comportamento del while
icli ed iterazioni Sintassi dell istruzione Esercizio Media aritmetica Esecuzione del programma icli while annidati Esercizio Quadrato 2 Istruzioni di ripetizione in Nel linguaggio esistono tre distinte
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
DettagliCorso 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
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
DettagliSviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:
Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)
DettagliIntroduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 10
Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 10 Anno accademico 2006-07 Titolare corso: Prof. Costanza Torricelli Docente: Dott.ssa Marianna Brunetti La
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
DettagliStrutture di controllo iterative
Capitolo 4 Strutture di controllo iterative ANDREA GINI Le strutture di controllo iterative permettono di impostare la ripetizione di un insieme di istruzioni per un determinato numero di volte. In Java
DettagliIL 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
DettagliPASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.
PASCAL standard Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. Nb: primi linguaggi furono: Fortran, Algol, Ada, Cobol (cfr testo)
DettagliCAPITOLO 11 - TECNOLOGIA ASP.NET - LINGUAGGIO VB.NET
INTRODUZIONE Visual Basic.NET (di seguito VB.NET) è un linguaggio semplice e potente, progettato per unire l intuitività di Visual Basic con la potenza del.net. Inizialmente scriveremo codice VB.NET associato
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
DettagliAlgoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative
Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli Formule iterative L algoritmo che, comunemente, viene presentato a scuola per l estrazione della radice quadrata è alquanto laborioso e di scarsa
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
DettagliSTRUTTURE DI CONTROLLO
STRUTTURE DI CONTROLLO - Strutture di controllo - 1 Algoritmo per il cambio della ruota Inizio chiama il meccanico V ruota di scorta bucata F solleva l auto svita un bullone tutti svitati V togli la ruota
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
Dettagli2. 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
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
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
Dettagliprint((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
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
DettagliGUIDA BASE DI PASCAL
1 GUIDA BASE DI PASCAL Un algoritmo, nel suo significato più ampio, è sequenza logica di istruzioni elementari (univocamente interpretabili) che, eseguite in un ordine stabilito, permettono la soluzione
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
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?
DettagliUTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE
Utilizziamo gli operatori matematici e commentiamo il codice Unità 4 UNITÀ DIDATTICA 4 UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE IN QUESTA UNITÀ IMPAREREMO... come utilizzare gli operatori
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
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)
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;
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
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
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.
Dettagli1 Fattorizzazione di polinomi
1 Fattorizzazione di polinomi Polinomio: un polinomio di grado n nella variabile x, è dato da p(x) = a n x n + a n 1 x n 1 + + a 1 x + a 0 con a n 0, a 0 è detto termine noto, a k è detto coefficiente
Dettagli3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi
0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore
DettagliCOSA 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ò
DettagliUniversità degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto
Il Pascal (continua) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Le procedure! Spesso, soprattutto
DettagliVBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
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
DettagliStrutture di controllo e cicli
Appendice B Strutture di controllo e cicli Le condizioni I cicli Le interruzioni A p p e n d i c e B Il microcontrollore della scheda Arduino, opportunamente programmato, è in grado di prendere decisioni
Dettagli4. Realizzare uno spezzone di programma Pascal che accetti da tastiera, per continuare, solo l Invio o il tasto ESC. (REPEAT)
1. Realizzare uno spezzone di programma Pascal che accetti da tastiera, per continuare, solo un carattere numerico. (REPEAT). until (w=> 0 ) and (w
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/ 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
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
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
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
DettagliArray in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica
Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo
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
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio 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
DettagliCORSO DI ELEMENTI DI INFORMATICA
CORSO DI ELEMENTI DI INFORMATICA Corso di Laurea Triennale in Ingegneria Gestionale della Logistica e della Produzione Area didattica Ingegneria Elettrica a.a. 2016/2017 Docente: Ing. Domenico Amalfitano
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliScelte ed alternative
Scelte ed alternative Esercizi proposti Esercizi sul calcolo del massimo Esercizio Equazione di secondo grado Esercizio Re e Regina 2 Esercizi proposti Esercizio Calcolo del massimo Si scriva un programma
DettagliUNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi
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
DettagliAnalisi e Programmazione
Algoritmi 1 Analisi e Programmazione I Calcolatori Elettronici si differenziano da altri tipi di macchine per il fatto che possono essere predisposti alla risoluzione di problemi di diversa natura. A tale
DettagliAPPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL
APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione
DettagliProgrammare in C. Esempio: Algoritmo del Risveglio
MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C (strutture di controllo) Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1
DettagliIndividuazione di sottoproblemi
Individuazione di sottoproblemi Quando il problema è complesso conviene partire con una individuazione di sottoproblemi Scriviamo un algoritmo contenente azioni o condizioni complesse per l esecutore che
DettagliInformatica 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
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
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
DettagliEvoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliA lezione sono stati presentati i seguenti passi per risolvere un problema:
Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi
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
DettagliMATLAB Elementi di grafica Costrutti di programmazione
MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per
DettagliPROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI
PROBLEMI E ALGORITMI prof.ssa VESPIA CATERINA LICEO CLASSICO AGLI ANGELI C O N T E N U T I Problemi. Concetto di algoritmo. Caratteristiche di un algoritmo. Descrizione di algoritmi - Diagrammi di flusso.
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
DettagliIl Concetto di Algoritmo Corso di Informatica Laurea in Fisica
Il Concetto di Algoritmo Corso di Informatica Laurea in Fisica prof. ing. Corrado Santoro A.A. 2010-11 Esempio: risolviamo le equazioni di secondo grado ax 2 + bx + c = 0 La formula risolutiva è: x= b±
Dettagli