Istruzioni Condizionali

Похожие документы
Matlab. Istruzioni condizionali, cicli for e cicli while.

Introduzione agli Algoritmi

PROGRAMMAZIONE STRUTTURATA

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Laboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011. Prof. Raffaele Nicolussi

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

PROGRAMMAZIONE: Le strutture di controllo

Introduzione alla programmazione

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1

Rappresentazione degli algoritmi

Indice. Prefazione. 3 Oggetti e Java 53

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

Fondamenti di Informatica

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007

Formalismi per la descrizione di algoritmi

Algoritmi e soluzione di problemi

Esercizi sugli Algoritmi numerici

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

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

Costrutti condizionali e iterativi

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1

Strutture di controllo in C++

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Algoritmi e diagrammi di flusso versione biennio

5 - Istruzioni condizionali

Introduzione alla programmazione strutturata

INFORMATICA. Strutture iterative

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Lezione 6 Introduzione al C++ Mauro Piccolo

Strutture di controllo decisionali

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

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

Le strutture di controllo in C++

Definizione di classi

Algoritmi e diagrammi di flusso

Laboratorio di Python

osservazione: 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

Cosa si intende con stato

1 Esercizi in pseudocodice

Diagrammi a blocchi 1

Le strutture di controllo

LABORATORIO DI INFORMATICA

Lezione 5. La macchina universale

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

Diagrammi a blocchi 1

STRUTTURE DI CONTROLLO DEL C++

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

PROGRAMMAZIONE DISCIPLINARE

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Problemi, algoritmi, calcolatore

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

10 STRUTTURE DI CONTROLLO REPEAT E WHILE. Strutture di controllo e variabili strutturate

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

Laboratorio di Programmazione Laurea in Bioinformatica

Le basi del linguaggio Java

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica

Introduzione alla programmazione Esercizi risolti

Programmazione strutturata

Laboratorio di Python

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Транскрипт:

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 1

Contenuti Classificazione delle istruzioni in Java Introduzione alle istruzioni di controllo Istruzione di selezione if-else Blocco (istruzione composta) http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 2

Prerequisiti Questo capitolo presuppone la conoscenza degli argomenti già trattati nelle precedenti lezioni di questo corso e del corso di Laboratorio di Informatica con particolare riferimento a: Sintassi e semantica dei linguaggi Metalinguaggi per la descrizione della sintassi (EBNF) Predicati http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 3

Una classificazione delle principali istruzioni di Java La classificazione delle istruzioni Java si trova nella fig. 6.4. del libro di testo http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 4

Istruzioni strutturate o di controllo Ogni istruzione strutturata, pur essendo composta da più istruzioni, viene considerata sintatticamente una singola istruzione questo consente la composizione delle istruzioni Semantica delle istruzioni strutturate è definita con riferimento alle sue componenti istruzioni e condizioni http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 5

Introduzione alla programmazione strutturata I linguaggi di programmazione, oltre alle istruzioni semplici, definiscono delle istruzioni strutturate o di controllo permettono di controllare il flusso di esecuzione di altre istruzioni Teorema di Iacopini Böhm Qualunque algoritmo può essere implementato utilizzando tre sole istruzioni: sequenza selezione iterazione http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 6

Istruzione di selezione Seleziona una determinata sequenza di istruzioni da eseguire sulla base di una condizione se (il pneumatico è sgonfio) allora se (è bucato) allora sostituiscilo altrimenti gonfialo In Java: istruzione if-else http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 7

Istruzione if-else: sintassi if ( <condizione> ) <istruzione-parte-if> [ else <istruzione-parte-else> ] Dove <condizione> <istruzione-parte-if> <istruzione-parte-else> ::= <espressione-booleana> ::= <istruzione> ::= <istruzione> <istruzione> ::= <istruzione-semplice> <istruzione-strutturata> http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 8

Istruzione if-else: semantica... valuta il valore v espressione della condizione il valore v espressione può essere true (la condizione si è verificata, è vera) oppure false (la condizione non si è verificata, è falsa) se il valore v espressione vale true, allora esegui l istruzione parte-if se invece il valore v espressione vale false, allora esegui l istruzione parte-else http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 9

... semantica La semantica dell istruzione if-else può essere descritta graficamente mediante il seguente diagramma di flusso true condizione false parte if parte else istruzione if-else http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 10

Esempio Si riferisce al listato 13.1 del paragrafo 13.2 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 11

Esercizi Maggiore tra tre numeri Verifica che un dato anno sia bisestile Soluzione delle equazioni della forma ax 2 + bx +c http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 12

Sequenza Per la sequenza (istruzione blocco) si faccia riferimento a tutto il paragrafo 13.3. del libro di testo http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 13

Blocco: sintassi <blocco> ::= { { <istruzione> }* } <istruzione> ::= <istruzione-semplice> <istruzione-strutturata> http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 14

Esercizio Scrivere un frammento di codice che incrementa la variabile zeri se la variabile numero vale zero se numero non vale zero allora non bisogna fare niente... se numero vale zero incrementa zeri... if (numero==0) zeri++; http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 15

Esercizio Si consideri il problema di calcolare il maggiore tra tre numeri interi a, b e c dati Per la spiegazione dell esercizio si faccia riferimento al paragrafo 13.8 del libro di testo. http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 16

Una cascata di istruzioni if-else Per la cascata di istruzioni if-else si faccia riferimento al paragrafo 13. 6 insieme ai relativi esercizi http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 17

Il problema dell else mancante Il problema dell else mancante è descritto nel paragrafo 13.7 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 18

Maggiore tra tre numeri Per l esercizio maggiore tra tre numeri, relativo all uso di predicati complessi, vedi tutto il par. 13.8 del libro di testo http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 19

Esercizi Dato un numero N, calcola il segno di N, che vale 0 se N vale zero 1 se N è positivo -1 se N è negativo Completa il seguente frammento di codice /* calcola il tipo del triangolo * i cui lati sono a, b e c */ if (... ) System.out.println("scaleno"); else if (... ) System.out.println("equilatero"); else System.out.println("isoscele"); http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 20

Esercizio Tre numeri interi non sempre rappresentano i lati di un triangolo tre numeri interi rappresentano i lati di un triangolo se sono tutti positivi, e ciascuno dei numeri è minore della somma degli altri due numeri scrivere un frammento di codice che dati tre numeri interi, che dovrebbero rappresentare le lunghezze dei lati di un triangolo, visualizza un messaggio che dice se il triangolo è equilatero, isoscele o scaleno oppure che i tre numeri non rappresentano i lati di un triangolo http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 21

Errori comuni Si faccia riferimento al paragrafo 13.10 del libro di testo. http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 22

Cosa abbiamo imparato Sintassi e semantica delle istruzioni Condizionali (if-else) Blocco http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 23

Riferimenti al libro di testo Per lo studio di questi argomenti si fa riferimento al libro di testo, e in particolare al Capitolo 13 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali 24