Lz. 3 (13/14)Elementi di Programmazione1 Istruzioni (strutture) di controllo 1.

Slides:



Advertisements
Presentazioni simili
Lez. 12 (10/11) - PBElementi di Programmazione1 Lezione 12 Esercizi.
Advertisements

1 I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI.
INFORMATICA Strutture condizionali
Lezione 8 Anno accademico Titolare corso: Prof. Costanza Torricelli
Selezione A. Ferrari.
Procedure e funzioni ricorsive
LS Tron Classe 4TC – as 2006/07 LORGANIZZAZIONE DEI PROGRAMMI UD. 8 p. 282.
Lez. 6 (10/11) - PBElementi di Programmazione1 Lezione 6 Parametri Facoltativi Matrici Matrici di parametri.
Lez. 8 (10/11) - PBElementi di Programmazione1 Lezione 8 Date Valutazione di espressioni File di testo sequenziali.
Lez. 8 (11/12) - PBElementi di Programmazione1 Lezione 8 Date Valutazione di espressioni File di testo sequenziali.
Lez. 11 (11/12) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Elementi di Programmazione
Lez. 7 (10/11) - PBElementi di Programmazione1 Lezione 7 Matrici di Celle Tipi String e Date.
Lez 4 (11/12)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Lez. 10 (10/11) - PBElementi di Programmazione1 Lezione 10 Funzioni e Moduli Macro Analisi del flusso Esercizi.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Elementi di Programmazione
Elementi di Programmazione
EP 10/11 - PBLezione 2-21 Elementi di Programmazione Tipi di Dati Conversioni Istruzioni di controllo del flusso.
Oggetti Form e Controlli Registratore di Macro
EP 11/12 - PBLezione 31 Elementi di Programmazione Tipi di Dati e Conversioni Istruzioni di controllo del flusso.
Lez. 5 (10/11 - PB)Elementi di Programmazione1 Lezione 5 Procedure Funzioni Passaggio di parametri.
Lez. 5 (11/12- PB)Elementi di Programmazione1 Lezione 5 Procedure Funzioni Passaggio di parametri.
Lez. 9 (10/11) - PBElementi di Programmazione1 Lezione 9 Oggetti Moduli e Controlli Registratore di Macro.
Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Lez. 6 (11/12) - PBElementi di Programmazione1 Lezione 6 Matrici Matrici di parametri.
Lez. 7 (11/12) - PBElementi di Programmazione1 Lezione 7 Tipi String e Date.
EP 11/12-PBLezione 11 Elementi di Programmazione Presentazione Corso Ambiente VBA Interazione con lutente Tipi di Dati, Variabili, Espressioni.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Recupero lez.4.
Algoritmi e Programmazione
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
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.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
EQUAZIONI.
Il linguaggio Fortran 90: 2. Istruzioni di Controllo
Introduzione alla programmazione lll
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,
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Laboratorio di Linguaggi di Programmazione 2007/2008 Marco Antoniotti Giuseppe Vizzari.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Si vuole che lesecutore coniughi non solo il presente indicativo ma anche limperfetto e il passato remoto Acquisisci tempo presente imperfetto passato.
Programmare in Visual Basic
Riepilogo Foglio elettronico Excel - Base
Regola di Cartesio Consideriamo l’equazione di secondo grado
Algoritmo Ordinamento di 3 Numeri
CALCOLO LETTERALE Perché?
Anno accademico Le istruzioni di controllo in C.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
RISOLUZIONE DI EQUAZIONI
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
Il linguaggio Fortran 90: 3. Procedure e Funzioni
Lez. 10 (13/14)Elementi di Programmazione1 Lezione 10 Oggetti Moduli e Controlli.
Lez. 5 (13/14)Elementi di Programmazione1 Lezione 5 Procedure.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Lez. 8 (13/14)Elementi di Programmazione1 Lezione 8 Tipi String e Date.
Elementi di Programmazione
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”

Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Lez 4 (13/14)Elementi di Programmazione1 Strutture di controllo 2.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Lez. 12 (13/14)Elementi di Programmazione1 Lezione 12 Esercizi.
Lez. 11 (13/14)Elementi di Programmazione1 Lezione 11 Esercizi.
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Lez.6 (13/14)Elementi di Programmazione1 Lezione 6 Funzioni Passaggio di parametri.
Laboratorio Informatico
Sistema lineare con foglio polaris office Programma creato ed eseguito con foglio elettronico polaris office Registrato come file.xls e aperto con excel.
Classe II a.s. 2010/2011 Prof.ssa Rita Schettino
Transcript della presentazione:

Lz. 3 (13/14)Elementi di Programmazione1 Istruzioni (strutture) di controllo 1

Lz. 3 (13/14)Elementi di Programmazione2 Istruzioni di controllo del flusso Nei linguaggi di programmazione imperativi (come VBA, C, Pascal) l’ordine di esecuzione è strettamente sequenziale. Molto spesso questo modo di eseguire i programmi non è sufficiente per gestire tutte le necessità. Esistono dei modi per variare questo ordine: –Istruzioni condizionali –Istruzioni cicliche –Richiamo di sottoprogrammi/funzioni –Esiste anche un quarto modo in disuso: istruzioni di salto

Lz. 3 (13/14)Elementi di Programmazione3 Istruzioni di selezione Ogni linguaggio di programmazione possiede un’istruzione che permette di scegliere fra due strade in base ad una condizione L’istruzione VBA è: If condizione Then istruzioni quando condizione è vera Else istruzioni quando condizione è falsa End If

Lz. 3 (13/14)Elementi di Programmazione4 Istruzione di selezione La seconda parte (ramo Else ) è facoltativa, non è facoltativa l’istruzione End If. Supponiamo di voler verificare se il valore della cella D3 è positivo scrivendo un opportuno messaggio nella cella F3: Private Sub CommandButton1_Click() If Range("D3") > 0 Then Range("F3") = "positivo" Else Range("F3") = "NON positivo" End If End Sub

Lz. 3 (13/14)Elementi di Programmazione5 Istruzione di selezione Il codice che segue, attivato con un bottone, calcola quoziente e resto della divisione fra il contenuto di A1 con B1. Se B1 vale 0 scrive un messaggio di errore: Private Sub Divisione_Click() If Range("B1") = 0 Then Range("C1") = "Impossibile" Else Range("C1") = Range("A1") / Range("B1") Range("D1") = Range("A1") Mod Range("B1") End If End Sub

Lz. 3 (13/14)Elementi di Programmazione6 Istruzione di selezione Il codice che segue calcola il valore assoluto del numero in D3 e lo scrive in F3 (si attiva con un bottone) Private Sub ValoreAssoluto_Click() If Range("D3").Value < 0 Then Range(“F3").Value = -Range("D3") Else Range(“F3").Value = Range("D3") End If End Sub

Lz. 3 (13/14)Elementi di Programmazione7 Istruzioni condizionali Nella forma più generale l’istruzione è: If condizione Then istruzioni ElseIf condizione Then istruzioni Else istruzioni End If

Lz. 3 (13/14)Elementi di Programmazione8 Istruzioni condizionali I rami ElseIf ed Else sono facoltativi. Ci possono essere più rami ElseIf ma un sol ramo Else –Ciascun ramo può valutare una condizione diversa –Per evitare l’uso di molti rami ElseIf in certi casi è preferibile usare l’istruzione Select Case Le istruzioni If possono essere nidificate

Lz. 3 (13/14)Elementi di Programmazione9 Istruzione di selezione Il codice che segue viene mandato in esecuzione per stabilire il contenuto della cella D3: Private Sub commento() If Range("D3") > 0 Then Range("F3").Value = "POSITIVO" Else If Range("D3") < 0 Then Range("F3") = "NEGATIVO" Else Range("F3") = "Nullo" End If End Sub

Lz. 3 (13/14)Elementi di Programmazione10 Istruzione di selezione Il codice che segue presume che nelle celle A5, B5 e C5 ci siano i coefficienti di una equazione di secondo grado. Nella cella D5, in base al valore di delta, scrive il numero di radici dell’equazione (si usa un bottone per attivare l’elaborazione)

Lz. 3 (13/14)Elementi di Programmazione11 Istruzione di selezione Private Sub Eq2Grado_Click() Delta = Range("B5") ^ 2 Delta = Delta - 4 * Range("A5") * Range("C5") If Delta > 0 Then Range("D5") = "2 radici reali" Else If Delta = 0 Then Range("D5") = "radici reali coincidenti" Else Range("D5") = "coniugate complesse" End If End Sub

Lz. 3 (13/14)Elementi di Programmazione12 Esempio Data una equazione di secondo grado stabile usando la regola dei segni di Cartesio il segno delle radici reali –il cambiamento di segno fra due coefficienti consecutivi produce una radice positiva, la permanenza una radice negativa

Lz. 3 (13/14)Elementi di Programmazione13 REGOLA DI CARTESIO negative (2 permanenze) positiva 1 negativa (1 permanenza 1 variazione) positiva 1 negativa (1 variazione 1 permanenza ) positive (2 variazioni)

Lz. 3 (13/14)Elementi di Programmazione14 Option Explicit Private Sub Radici_Click() Dim a As Double, b As Double Dim c As Double, delta As Double Dim permanenza As Integer a = Range("A5") b = Range("B5") c = Range("C5") delta = b ^ * a * c If delta < 0 Then Range("D5") = "coniugate complesse" ElseIf delta = 0 Then Range("D5") = "coincidenti" Else Range("D5") = "2 distinte" 'segno delle radici permanenza = 0 If a * b > 0 Then permanenza = permanenza + 1 End If If b * c > 0 Then permanenza = permanenza + 1 End If If permanenza = 2 Then Range("F5") = "2 radici negative" ElseIf permanenza = 0 Then Range("F5") = "2 radici positive" Else Range("F5") = "1 radice positiva ed 1 negativa" End If End Sub

Lz. 3 (13/14)Elementi di Programmazione15 Istruzioni condizionali Select Case espressione Case espressioneConfronto Istruzioni CaseElse Istruzioni End Select

Lz. 3 (13/14)Elementi di Programmazione16 Istruzioni condizionali Le parti Case e CaseElse sono facoltative Ci possono essere più rami Case ma di Case Else ve ne può essere uno solo L’istruzione valuta una sola volta espressione e quindi valuta questo risultato con ogni espressioneConfronto fino a trovare la prima per la quale è vera –Al primo caso in cui Case è vero termina l’istruzione Si comporta in modo differente dal C –Il ramo Case Else si utilizza per dare un risultato quando nessuna delle condizioni si è verificata –Può sostituire solo parzialmente If in quanto espressione è valutata solo una volta

Lz. 3 (13/14)Elementi di Programmazione17 Istruzioni condizionali –espressioneConfronto può essere Un solo valore Più valori separati da virgola Un intervallo di valori (inizio To fine) Operatori di confronto: –IS operatoreConfronto valore Operatori confronto: >, =,

Lz. 3 (13/14)Elementi di Programmazione18 Istruzioni condizionali Select Case par Case Is < 0 usoSelect = "negativo" Case 0 usoSelect = "ZERO“ Case 1, 2, 3, 4, 5, 6, 7, 8, 9 usoSelect = " una cifra" Case 10 To 99 usoSelect = "due cifre" Case Else usoSelect = "Più di due cifre" End Select If Not IsNumeric(par) Then Messaggi = "non è un numero" ElseIf par < 0 Then Messaggi = "Negativo" ElseIf par <= 9 Then Messaggi = "Una Cifra" ElseIf par < 100 Then Messaggi = "Due cifre" Else Messaggi = "piu' di 2 cifre" End If

Lz. 3 (13/14)Elementi di Programmazione19 Istruzioni condizionali L’esempio con Select non rispecchia l’esempio analogo fatto con l’istruzione If Il primo ramo If If Not IsNumeric(par) Then Messaggi = "non è un numero“ –Non può essere reso con Select Case perché usa una espressione condizionale diversa da quella usata negli altri rami Occorre usare un If con un Select Case in un ramo

Lz. 3 (13/14)Elementi di Programmazione20 Istruzioni condizionali If Not IsNumeric(par) Then usoSelectEqv = "non è un numero" Else Select Case par Case Is < 0 usoSelectEqv = "negativo" Case 0 usoSelectEqv = "ZERO" Case 1, 2, 3, 4, 5, 6, 7, 8, 9 usoSelectEqv = "cifra" Case 10 To 99 usoSelectEqv = "due cifre" Case Else usoSelectEqv = "Più di due cifre" End Select End If