EP 10/11 - PBLezione 2-21 Elementi di Programmazione Tipi di Dati Conversioni Istruzioni di controllo del flusso.

Slides:



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

INFORMATICA Strutture condizionali
if (condizione.) { blocco_istruzioni } else
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
SQL applicato a SQL Server
Selezione A. Ferrari.
I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE
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. 11 (11/12) - PBElementi di Programmazione1 Lezione 11 Esercizi.
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 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
EP 11/12 - PBLezione 21 Elementi di Programmazione Interazione con lutente Tipi di Dati, Variabili, Espressioni.
Elementi di Programmazione
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.
EP 12/13 - PBLezione 21 Elementi di Programmazione Interazione con lutente Tipi di Dati.
Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Lez. 7 (11/12) - PBElementi di Programmazione1 Lezione 7 Tipi String e Date.
Elementi di Programmazione
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Recupero lez.4.
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
EP 13/14Lezione 21 Elementi di Programmazione Interazione con lutente Tipi di Dati, Variabili, Espressioni.
Programmazione Procedurale in Linguaggio C++
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.
Algebra di Boole ed elementi di logica
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
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)
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
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.
Istruzioni Decisionali
Strutture di controllo in C -- Flow Chart --
Dichiarazioni e tipi predefiniti nel linguaggio C
Analisi di Immagini e Dati Biologici
Java base I: Sintassi e tipi di dati
Java base II: Strutture di Controllo
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
CODIFICA Da flow-chart a C++.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
In molti casi è utile assegnare a degli identificatori dei valori che restino costanti durante tutto il programma e che non possano essere cambiati nemmeno.
Programmare in Visual Basic
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e stringhe Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Lz. 3 (13/14)Elementi di Programmazione1 Istruzioni (strutture) di controllo 1.
Introduzione a Javascript
Vettori (a una dimensione)
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
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
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
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
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Transcript della presentazione:

EP 10/11 - PBLezione 2-21 Elementi di Programmazione Tipi di Dati Conversioni Istruzioni di controllo del flusso

EP 10/11 - PBLezione 2-22 Principali Tipi di VBA Byte Boolean True False Integer Long Single -3, , , Double -1, , , , Currency , ,5807 Date 01/01/ /12/9999 String (sequenza ordinata di caratteri) –Possono essere: Lunghezza variabile da 0 a 2 31 caratteri. Lunghezza fissa da 1 a 2 16 caratteri.

EP 10/11 - PBLezione 2-23 Tipo Variant quando non viene dichiarato il tipo si assume che sia Variant –Per dati numerici come Double –Per dati non numerici come String di lunghezza variabile

EP 10/11 - PBLezione 2-24 Problemi con la lettura La lettura dei dati dal foglio elettronico impone il tipo della cella La lettura dei dati da InputBox restituisce un tipo String Esistono delle funzioni specifiche per convertire unespressione in uno dei tipi di VB –In caso di impossibilità è generato un errore

EP 10/11 - PBLezione 2-25 Funzioni di conversione CBool(espr) converte in Boolean CByte(espr) converte in Byte CDate(espr) converte in Date CDbl(espr) converte in Double CInt(espr) converte in Int CLong(espr) converte in Long CSing(espr) converte in Single CStr(espr) converte in String CVar(espr) converte in Variant

EP 10/11 - PBLezione 2-26 Problemi con i tipi di dati Proviamo a leggere da inputBox un numero Creiamo un bottone Nel codice di gestione del click creiamo una inputBox e leggiamo un dato Il dato lo convertiamo in una variabile numero di tipo integer Scriviamo numero in una casella

EP 10/11 - PBLezione 2-27 Problemi con i tipi di dati Private Sub CommandButton1_Click() Dim numero As Integer Dim str_in As String str_in = InputBox("Dato") numero = CInt(str_in) Range("E5") = numero End Sub

EP 10/11 - PBLezione 2-28 Controllo delle conversioni di Tipo Alcune funzioni che permettono di evitare errori di conversione IsNumeric(espr) True se espr è compatibile con un numero (decimale o intero) IsDate(espr) True se espr è compatibile con un formato data

EP 10/11 - PBLezione 2-29 Istruzioni di controllo del flusso Nei linguaggi di programmazione imperativi (come VBA, C, Pascal) lordine 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

EP 10/11 - PBLezione Istruzioni di selezione Ogni linguaggio di programmazione possiede unistruzione che permette di scegliere fra due strade in base ad una condizione Listruzione VBA è: If condizione Then istruzioni quando condizione è vera Else istruzioni quando condizione è falsa End If

EP 10/11 - PBLezione Istruzione di selezione La seconda parte (ramo Else ) è facoltativa, non è facoltativa listruzione 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

EP 10/11 - PBLezione Istruzioni condizionali Nella forma più generale listruzione è: If condizione Then istruzioni ElseIf condizione Then istruzioni Else istruzioni End If

EP 10/11 - PBLezione 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 luso di molti rami ElseIf in ceri casi è preferibile usare listruzione Select Case Le istruzioni If possono essere nidificate

EP 10/11 - PBLezione 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

EP 10/11 - PBLezione Istruzione di selezione Esempio complesso: determiniamo di che tipo sono le soluzioni (radici) di unequazione di secondo grado a*(X^2) + b*X + c = 0

EP 10/11 - PBLezione 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 dellequazione (si usa un bottone per attivare lelaborazione)

EP 10/11 - PBLezione 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

EP 10/11 - PBLezione Istruzioni condizionali Select Case espressione Case espressioneConfronto Istruzioni CaseElse Istruzioni End Select

EP 10/11 - PBLezione 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 Listruzione 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 listruzione 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

EP 10/11 - PBLezione 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: >, =,

EP 10/11 - PBLezione 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

EP 10/11 - PBLezione Istruzioni condizionali Lesempio con Select non rispecchia lesempio analogo fatto con listruzione 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

EP 10/11 - PBLezione 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

EP 10/11 - PBLezione Esempio Data una equazione di secondo grado stabile usando la regola dei segni di Cartesio il segno delle radici reali distinte –il cambiamento di segno fra due coefficienti consecutivi produce una radice positiva, la permanenza una radice negativa a*(X^2) + b*X + c = 0

EP 10/11 - PBLezione Esempio permanenze -> 2 negative permanenze -> 2 negative variazioni -> 2 positive variazioni -> 2 positive var, 1 perm -> 1 pos, 1 neg perm, 1 var -> 1 neg, 1 pos

EP 10/11 - PBLezione 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