Strutture di Controllo

Slides:



Advertisements
Presentazioni simili
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
Advertisements

in un programma Assembler
PROGRAMMARE IN PASCAL (le basi)
3TC – 5/11/2010 Cicli while e do.. While Contatori e Totalizzatori.
Sviluppo di programmi strutturati
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Strutture di controllo Ing.
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Strutture di controllo Ing. Simona Colucci.
Ottimizzazione statica del codice per processori pipelined Canella Matteo & Miglioli Filippo.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Il linguaggio Fortran 90: 2. Istruzioni di Controllo
Introduzione alla programmazione lll
APPUNTI SUL LINGUAGGIO C
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Somma = A + B start Stampa Somma Leggi A,B stop Sub SOMMA( ) Dim A, B as Integer A = InputBox("Immetti un numero") B = InputBox(Immetti un secondo numero)
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
Codifica di algoritmi linguaggio macchina vs programmazione strutturata Lab Programmazione - turno /2006.
Selezione (=scelta) con “if-else”
2000 Prentice Hall, Inc. All rights reserved. Capitolo 3 (Deitel) Lo sviluppo di programmi strutturati Indice degli argomenti Introduzione 3.2 -
INFORMATICA MATTEO CRISTANI.
CODIFICA Da flow-chart a C++.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Lezione 6 Strutture di controllo Il condizionale
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Architettura degli Elaboratori II (canale P-Z) Istruzioni di controllo Dott. Franco Liberati.
Introduzione al linguaggio assembly del microprocessore a parte
Problema: come dividere due numeri
Capitolo 4 (Deitel) Le strutture di controllo in C
Università degli Studi di Napoli “Federico II” Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni.
Programmazione Strutturata
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
TURBOPASCAL L’iterazione - prof. V. Riboldi -.
Il ciclo while.  Permette di ripetere un blocco di istruzioni fino a quando non si verifica un determinato evento  Il ciclo while può essere realizzato.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
L’esecuzione dei programmi
Interpreti e compilatori
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
C++:Strutture di Controllo
Diagrammi a blocchi.
Ciclo for nei linguaggi di programmazione. Nei linguaggi di programmazione, il ciclo for è una struttura di controllo iterativa che determina l'esecuzione.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
Strutture di controllo
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Vari e semplici programmi.
Transcript della presentazione:

Strutture di Controllo Permettono di alterare la naturale sequenza delle istruzioni Condizionali Permettono la selezione fra due alternative diverse A contatore Cicli A controllo in testa Permettono la ripetizione di un gruppo di istruzioni A controllo in coda Salti Salti incondizionati Strutture elementari utilizzate da linguaggi non strutturati per realizzare le altre due strutture Salti condizionati

Salti Non sono più utilizzati nei moderni linguaggi di programmazione. Tuttavia la traduzione delle strutture complesse viene risolta per mezzo di queste istruzioni. Salti incondizionati Sono istruzioni che permettono di modificare la sequenza naturale del programma indipendentemente dal risultato di operazioni precedenti. Salti condizionati Sono istruzioni che permettono di modificare la sequenza naturale del programma in funzione del risultato di operazioni precedenti.

Salti incondizionati In assembler queste istruzioni si presentano nella forma: JMP <etichetta> Dove <etichetta> è un nome simbolico assegnato alla istruzione cui bisogna cedere il controllo. L’effetto di questa istruzione è quello di assegnare al registro IP l’indirizzo dell’istruzione contrassegnata da <etichetta> Es 1: MOV AX,pippo JMP oltre MOV BX,felix ADD AX,BX Oltre: MOV CX,20 Es 2: MOV AX,pippo Oltre: MOV BX,felix ADD AX,BX JMP oltre MOV CX,20

Salti condizionati In assembler queste istruzioni si presentano nella forma: Jxx <etichetta> Dove <etichetta> è un nome simbolico assegnato alla istruzione cui bisogna cedere il controllo. “xx” sono una o due lettere che indicano la condizione che deve verificarsi affinché avvenga il salto. Es.: JNZ nozero Effettua un salto all’etichetta nozero se l’operazione precedente ha dato un risultato diverso da 0. Questa istruzione può essere utilizzata sia da sola, che in combinazione con l’istruzione CMP (Compare): CMP op1,op2 JNE diversi Salta a diversi se op1 e op2 non sono uguali

Salti condizionati Es 1: Es 2: MOV AX,num CMP sesso,”M” MOV CH,pippo MOV BH,felix SUB CH,BH JZ oltre DIV CH Oltre: MOV CX,20 Es 2: CMP sesso,”M” JNE donna MOV milit,”S” JMP oltre Donna: MOV milit,”N” Oltre: MOV BX,felix ADD AX,BX MOV CX,20

Strutture Condizionali PASCAL IF <condizione> then <istruzioniF1> else <istruzioni F2> V F <condizione> ASSEMBLY ; blocco di selezione J <condizione> Allora ; blocco altrimenti <istruzioni F2> JMP Finesel Allora: ; blocco allora <istruzioni F1> Finesel: ; prosecuzione programma F1 F2 (Es)

Cicli a Contatore c = n c = c-1 c = 0 PASCAL FOR c = 1 TO n DO BEGIN <istruzioni F1> END c = n ASSEMBLY ; blocco di iterazione MOV CX, n Ciclo: <istruzioni F1> LOOP Ciclo ; prosecuzione programma F1 c = c-1 F c = 0 (Es) V

Cicli a Controllo in testa PASCAL WHILE <condizione> DO BEGIN <istruzioni F1> END <istruzioni F2> F Cond. V ASSEMBLY ; blocco di iterazione Ciclo: CMP <condizione> JNE FineCiclo <istruzioni F1> JMP Ciclo FineCiclo: ; prosecuzione programma <istruzioni F2> F1 F2 (Es)