Strutture di Controllo IF-ELSE

Documenti analoghi
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori

Dall algoritmo al programma

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

AREA RETTANGOLO LIRE IN EURO

Esercitazione 2. Espressioni booleane Il comando if-else

Descrizione di un algoritmo

Sviluppo di programmi

Caratteristiche di un calcolatore elettronico

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Costrutto if. Come utilizzare il costrutto condizionale if

Nozioni fondamentali su Algoritmi e programmazione

Programmazione Procedurale in Linguaggio C++

VBA Principali Comandi

Istruzioni Condizionali

Valori Alfanumerici. Informatica di Base -- R.Gaeta 1

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

Linguaggio C++ 5. Strutture cicliche

Istruzioni Condizionali

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Risoluzione di un problema

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

2 Operatori matematici e costrutto if

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1)

Scelte ed alternative

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

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

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

ISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse.

Istruzioni condizionali di diramazione in Fortran 90

Strutture di controllo

Programmazione con il linguaggio LibreOffice Basic

Fondamenti di Informatica

Fondamenti di Informatica

Rappresentazione con i diagrammi di flusso (Flow - chart)

28/02/2014 Copyright V. Moriggia

Fondamenti di Informatica T-1. Selezione

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

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

Programmazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr.

Sviluppo di programmi

Strutture di controllo condizionali in Matlab

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

ELEMENTI DI LOGICA. Siano p e q le due proposizioni: p: 3 è un numero primo q: 20 è divisibile per 5 Enunciare le proposizioni p q, p q.

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Strutture di Controllo

Modulo 1 Concetti di base della Tecnologia dell Informazione

DAL DIAGRAMMA AL CODICE

CAPITOLO 3 - ALGORITMI E CODIFICA

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Espressioni booleane. Esempio: temperatura <= 0 velocita > velocita max

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

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

MODULO 4: LE STRUTTURE ITERATIVE: FOR, WHILE E DO LOOP UNTIL

Laboratorio di Informatica I

PROGRAMMAZIONE STRUTTURATA

Strutture di controllo decisionali

Linguaggi algoritmici A. Ferrari

I flow chart. Informatica Generale 14/15 Scienze della comunicazione. cristina gena.

Scelte. Costrutto condizionale. Il costrutto if. Il costrutto if. Rappresentazione con diagramma a blocchi. Il costrutto if

PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 21 Gennaio 1998

Linguaggio C. Condizioni composte (operatori logici)

Rappresentazione degli algoritmi

Dichiarazione di variabili

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome

Corso di Laboratorio di Sistemi Operativi

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Caratteristiche generali del linguaggio Visual Basic

Laboratorio di Programmazione

Istruzione if/else. Espressioni booleane

Strutture di Controllo

5 - Istruzioni condizionali

COSA SONO I FLOW CHART

Problema Posto s = n 2 a) calcolare la somma s per n=30 b) determinare il più piccolo intero n tale che s>30000

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

Controllo di flusso negli script: if-then-else

Elementi di Informatica e Programmazione

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Programmazione Procedurale in Linguaggio C++

Costrutti condizionali e iterativi

Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI

Colloquio di informatica (5 crediti)

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Progetto continuità LAVORO ESTIVO DI MATEMATICA. Per studenti che si iscrivono alla prima superiore

Fondamenti di Informatica A. A. 2018/19

Diagrammi di flusso (Flow Chart)

Formalismi per la descrizione di algoritmi

Laboratorio2 : introduzione al Python

Algoritmi e soluzione di problemi

Transcript:

Strutture di Controllo IF-ELSE

Come viene eseguito un programma? Un programma viene eseguito rispettando l ordine in cui le istruzioni vengono scritte dal programmatore: Si parte dalla prima istruzione (riga di codice), successivamente si esegue la seconda e così via fino a quando non si raggiunge l ultima istruzione.

Area di un Rettangolo Sub Area( ) Dim Base as Integer Dim Altezza as Integer Dim Area as Integer End Sub Base = InputBox("Dammi base") Altezza = InputBox( Dammi altezza ) Area = Base*Altezza Print Area = ; Area Flusso di esecuzione (diagramma di flusso del programma) Il computer deve seguire le frecce e non può andare in altre direzioni

Strutture di controllo In base al verificarsi o meno di una certa condizione, l istruzione da eseguire potrebbe variare. Modificare il programma precedente in modo che venga stampata l area solo se la base inserita è maggiore di 0.

Area Rettangolo con controllo START Leggi base, altezza Sub Area( ) Dim Base as Integer Dim Altezza as Integer Dim Area as Integer Vero base> 0 Falso Base = InputBox("Dammi base") Altezza = InputBox( Dammi altezza ) area = base*altezza Stampa area Stampa «Base non valida» IF Base > 0 Then Area = Base*Altezza Print Area = ; Area ELSE Print Base non valida END IF STOP End Sub

Strutture di controllo: if-else if (SE) Viene affiancato da una condizione. Se la condizione è vera allora vengono eseguite tutte le istruzioni successive fino alla parola chiave «END IF» oppure fino alla parola chiave «ELSE» else (ALTRIMENTI) Non prende nessuna condizione esplicita. Viene eseguito solo se la condizione all interno dell if è falsa. Non può esistere ELSE se prima non c è IF.

Area Rettangolo con controllo Sub Area() Dim Base as Integer Dim Altezza as Integer Dim Area as Integer SIMULARE ESECUZIONE PROGRAMMA Base = InputBox("Dammi base") Altezza = InputBox( Dammi altezza ) IF Base > 0 Then Area = Base*Altezza Print Area = ; Area ELSE Print Base non valida END IF SIMULARE ESECUZIONE PROGRAMMA End Sub

Area Rettangolo con controllo Sub Area() Dim Base as Integer Dim Altezza as Integer Dim Area as Integer Base = InputBox("Dammi base") Altezza = InputBox( Dammi altezza ) IF Base > 0 Then Area = Base*Altezza Print Area = ; Area ELSE Print Base non valida END IF End Sub Base = 3 Altezza = 4 if (3 > 0) VERO THEN { Area = 3*4; Stampa 12; } else { IGNORATA } Base= -3 Altezza = 4 if ( -3 > 0) FALSO Then { IGNORATA } else { Stampa base non valida }

Area Rettangolo con controllo START Leggi base, altezza Sub Area() Dim Base as Integer Dim Altezza as Integer Dim Area as Integer Vero area = base*altezza base> 0 Falso Base = InputBox("Dammi base") Altezza = InputBox( Dammi altezza ) Stampa area IF Base > 0 Then Area = Base*Altezza Print Area = ; Area END IF STOP End Sub

Quali condizioni posso inserire nell IF? X > Y VERO solo se: X è un valore maggiore di Y X=3, Y=4, 3>4 FALSO -- X=4, Y=1, 4>1 VERO -- X=3, Y=3, 3>3 FALSO X >= Y VERO solo se: X è un valore maggiore o uguale a Y X=3, Y=4, 3>=4 FALSO -- X=4, Y=1, 4>=1 VERO -- X=3, Y=3, 3>=3 VERO X < Y VERO solo se: X è un valore minore di Y X=3, Y=4, 3<4 VERO -- X=4, Y=1, 4<1 FALSO -- X=3, Y=3, 3<3 FALSO X <= Y VERO solo se: X è un valore minore o uguale a Y X=3, Y=4, 3<=4 VERO -- X=4, Y=1, 4<=1 FALSO -- X=3, Y=3, 3<=3 VERO X = Y VERO solo se: X è un valore uguale a Y X=3, Y=4, 3=4 FALSO -- X=4, Y=1, 4==1 FALSO -- X=3, Y=3, 3==3 VERO X <> Y VERO solo se: X è un valore DIVERSO a Y X=3, Y=4, 3<>4 VERO -- X=4, Y=1, 4<>1 VERO -- X=3, Y=3, 3<>3 FALSO

Quali condizioni posso inserire nell IF? Operatori booleani binari: AND && Date due condizioni P e Q l operatore AND permette di costruire una nuova condizione P AND Q che sarà VERA solo se P e Q sono entrambe vere. base >= 0 alt >= 0 Base >= 0 && altezza >=0 V V V V F F F V F F F F

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Quali dei seguenti valori per le variabili X, Y e Z rendono VERA l espressione booleana: (X = Y) && (Y>Z) A) X=5; Y=6; Z=7 B) X=5; Y=4; Z=12 C) X=2; Y=2; Z=0 D) X=6; Y=6; Z=7

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Quali dei seguenti valori per le variabili X, Y e Z rendono VERA l espressione booleana: (X = Y) && (Y>Z) A) X=5; Y=6; Z=7 B) X=5; Y=4; Z=12 C) X=2; Y=2; Z=0 D) X=6; Y=6; Z=7

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Quali dei seguenti valori per le variabili X, Y e Z rendono VERA l espressione booleana: (X >= Y) && (Y>=Z) A) X=5; Y=6; Z=7 B) X=5; Y=4; Z=12 C) X=2; Y=2; Z=0 D) X=6; Y=6; Z=7

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Quali dei seguenti valori per le variabili X, Y e Z rendono VERA l espressione booleana: (X >= Y) && (Y>=Z) A) X=5; Y=6; Z=7 B) X=5; Y=4; Z=12 C) X=2; Y=2; Z=0 D) X=6; Y=6; Z=7

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Scrivere un programma che calcoli l area di un rettangolo solo se sia la base che l altezza sono maggiori o uguali a 0.

Area Rettangolo con controllo START Leggi base, alt Sub Area() Dim Base as Integer Dim Alt as Integer Dim Area as Integer Vero Falso Base = InputBox("Dammi base") Alt = InputBox( Dammi altezza ) STOP End Sub

Area Rettangolo con controllo START Sub Area() Leggi base, alt Dim Base as Integer Dim Alt as Integer Dim Area as Integer Vero Base >= 0 AND Alt >=0 Falso Base = InputBox("Dammi base") Alt = InputBox( Dammi altezza ) Area = Base*Alt Stampa Area STOP Base o altez. non valida IF (Base>=0 AND Alt>=0) Then Area = Base*Alt Print Area = ; Area ELSE Print Base o altezza non valida" END IF End Sub

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Scrivere un programma che stampi il massimo fra tre numeri

Quali condizioni posso inserire nell IF? Scrivere un programma che stampi il massimo fra tre numeri Sub Area() Dim Num1, Num2, Num3 As Integer Num1 = InputBox("Dammi Numero 1") Num2 = InputBox( Dammi Numero 2 ) Num3 = InputBox("Dammi Numero 3") IF Num1>=Num2 AND Num2>=Num3 Then Print Max = ; Num1 END IF IF Num2>=Num1 AND Num2>=Num3 Then Print Max = ; Num2 END IF IF Num3>=Num1 AND Num3>=Num1 Then Print Max = ; Num3 END IF End Sub

Area Rettangolo con controllo START Leggi n1, n2, n3 Stampa n1 Vero n1 > n2 AND n1> n3 Vero n3 > n1 AND n3> n2 Stampa n2 Vero n2 > n1 AND n2> n3 Stampa n2 STOP

Quali condizioni posso inserire nell IF? Scrivere un programma che stampi il massimo fra tre numeri Sub Area() Dim Num1, Num2, Num3 As Integer Num1 = InputBox("Dammi Numero 1") Num2 = InputBox( Dammi Numero 2 ) Num3 = InputBox("Dammi Numero 3") IF Num1>=Num2 AND Num2>=Num3 Then Print Max = ; Num1 ELSE IF Num2>=Num3 Then Print Max = ; Num2 ELSE Print Max = ; Num3 END IF END IF End Sub

Area Rettangolo con controllo START Leggi n1, n2, n3 Vero n1 > n2 AND n1> n3 Falso Stampa n1 Vero n2> n3 Falso Stampa n2 Stampa n3 STOP

Quali condizioni posso inserire nell IF? Operatori booleani binari: OR Date due condizioni P e Q l operatore OR permette di costruire una nuova condizione P OR Q che sarà FALSA solo se P e Q sono entrambe false. Base == 0 Alt == 0 Base == 0 Altezza ==0 V V V V F V F V V F F F

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Quali dei seguenti valori per le variabili X, Y e Z rendono VERA l espressione booleana: (X = Y) (Y>Z) A) X=1; Y=2; Z=0 B) X=2; Y=2; Z=0 C) X=5; Y=7; Z=6 D) X=5; Y=4; Z=5

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Quali dei seguenti valori per le variabili X, Y e Z rendono VERA l espressione booleana: (X = Y) (Y>Z) A) X=1; Y=2; Z=0 B) X=2; Y=2; Z=0 C) X=5; Y=7; Z=6 D) X=5; Y=4; Z=5

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Quali dei seguenti valori per le variabili X, Y e Z rendono VERA l espressione booleana: (X >= Y) (Y>=Z) A) X=1; Y=2; Z=0 B) X=2; Y=2; Z=0 C) X=4; Y=5; Z=7 D) X=5; Y=4; Z=3

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Quali dei seguenti valori per le variabili X, Y e Z rendono VERA l espressione booleana: (X >= Y) (Y>=Z) A) X=1; Y=2; Z=0 B) X=2; Y=2; Z=0 C) X=4; Y=5; Z=7 D) X=5; Y=4; Z=3

Quali condizioni posso inserire nell IF? Espressioni BOOLEANE Scrivere un programma che calcoli l area di un rettangolo solo se la base e l altezza sono maggiori di 0. Inoltre stampi area nulla se la base oppure l altezza sono pari a 0.

Area Rettangolo con controllo START Leggi Base, Alt Vero Base > 0 AND Alt >0 Falso Area = Base*Alt Vero Base == 0 OR Alt == 0 Falso Stampa area Area Nulla Base o altezza non validi STOP

Area Rettangolo con controllo Sub Area() Dim Base as Integer Dim Alt as Integer Dim Area as Integer Base = InputBox("Dammi base") Alt = InputBox( Dammi altezza ) IF Base>0 AND Alt>0 Then Area = Base*Alt Print Area = ; Area ELSE IF Base=0 OR Alt=0 Then Print Area Nulla ELSE Print BASE O ALTEZZA NON VALIDI END IF END IF End Sub

IF - ELSE Gestire il flusso del programma decidendo di eseguire una parte di codice oppure no (IF) Fare eseguire una parte di codice in alternativa ad un altra (IF - ELSE) Fare una scelta esclusiva tra più parti di codice (if - else if - else). if (espressione) istruzione1 else if (espressione) istruzione2 else istruzione3

Dire se un triangolo è equilatero, isoscele o scaleno Scrivere un programma che presi in input i lati di un triangolo stampa se il triangolo è equilatero, isoscele oppure scaleno

Dire se un triangolo è equilatero, isoscele o scaleno Sub Triangolo() Dim lato1, lato2, lato2 as Integer lato1 = InputBox("Dammi Lato 1") lato2 = InputBox("Dammi Lato 2") lato3 = InputBox("Dammi Lato 3") IF lato1=lato2 AND lato2=lato3 Then Print Tringolo Equilatero ; ELSE END IF End Sub IF lato1=lato2 OR lato2=lato3 OR lato1=lato3 Then Print Tringolo Isoscele ; ELSE Print Tringolo Scaleno END IF