Lez 4 (11/12)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.

Slides:



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

Esercizio Usate il ciclo repeat until (controllo post condizionale) per simulare il prodotto N x M con M somme di N. Esempio: 5 x 3 equivale a fare 5 +5.
Iterazione while – do while - for.
Iterazione A. Ferrari.
PROGRAMMARE IN PASCAL (le basi)
3TC – 5/11/2010 Cicli while e do.. While Contatori e Totalizzatori.
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.
Lez. 7 (10/11) - PBElementi di Programmazione1 Lezione 7 Matrici di Celle Tipi String e Date.
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
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.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Recupero lez.4.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Informatica Generale Marzia Buscemi
EP 13/14Lezione 21 Elementi di Programmazione Interazione con lutente Tipi di Dati, Variabili, Espressioni.
INFORMATICA Strutture iterative
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Esercizio 1 1)      Un collegamento end-to-end è formato da tre tratte, la prima AB con la velocità di 5 Mb/s, la seconda BC di 20 Mb/s e la terza CD di.
Esercizio 4 Data una stringa P di lunghezza m e definita sullalfabeto, scrivere un programma PERL per calcolare la seguente funzione: PREFIX_FUNCTION:
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
Introduzione alla programmazione lll
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
Informatica? Scienza della rappresentazione e dell’elaborazione dell’informazione ovvero Studio degli algoritmi che descrivono e trasformano l’informazione.
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)
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Istruzioni Iterative Nicola Fanizzi
Strutture di controllo in C -- Flow Chart --
Lezione 2 Programmare in ASP
Laboratorio di Linguaggi di Programmazione 2007/2008 Marco Antoniotti Giuseppe Vizzari.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Programmare in Visual Basic
Programmazione Strutturata
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
TURBOPASCAL L’iterazione - prof. V. Riboldi -.
Lez. 10 (13/14)Elementi di Programmazione1 Lezione 10 Oggetti Moduli e Controlli.
Lz. 3 (13/14)Elementi di Programmazione1 Istruzioni (strutture) di controllo 1.
Lez. 5 (13/14)Elementi di Programmazione1 Lezione 5 Procedure.
Lezione 13 Riccardo Sama' Copyright  Riccardo Sama' Excel: formule e funzioni.
Lez. 8 (13/14)Elementi di Programmazione1 Lezione 8 Tipi String e Date.
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.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
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.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Laboratorio Informatico
ALGORITMI Dal problema al programma Definizione di algoritmo
Strutture di controllo
Ordinamento. Introduzione Una delle operazioni che si possono eseguire sui vettori, è quella di ordinare gli elementi del vettore in ordine crescente.
Luca Chichisola1 Dal problema al programma LUCA CHICHISOLA.
A = InputBox("Immetti un numero")
Transcript della presentazione:

Lez 4 (11/12)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2

Lez 4 (11/12)Elementi di Programmazione2 Istruzioni Cicliche VBA presenta diversi tipi di istruzioni cicliche alcune con condizione di permanenza ( While ) altre con condizioni di uscita ( Until ) –Per evitare complicazioni si presenteranno solo quelle con condizione di permanenza –Le considerazioni sui cicli con condizione duscita sono duali a quelle per i cicli con condizione di permanenza

Lez 4 (11/12)Elementi di Programmazione3 Istruzioni Cicliche : While Do While condizione Istruzioni Loop Do Istruzioni Loop While condizione Per uscire da questi cicli in anticipo si usa Exit Do

Lez 4 (11/12)Elementi di Programmazione4 Istruzioni Cicliche – esempio 1 Sub prova() Dim v As Integer, q As Integer v = 10 q = 20 Do While v > 0 And q > 5 v = v - 1 q = q - 1 Loop Range("D1") = v Range("D2") = q End Sub v q …

Lez 4 (11/12)Elementi di Programmazione5 Istruzioni Cicliche – esempio 2 Option Explicit Sub prova() Dim v As Integer v = 4 Do While True v = v + 1 Range("F1") = v Loop Range("D1") = v End Sub v : 32767

Lez 4 (11/12)Elementi di Programmazione6 Istruzioni Cicliche : While Option Explicit Sub provaPre() Dim DoPre As Integer Dim par1 As Integer par1 = 10 DoPre = 0 Do While par1 > 10 DoPre = DoPre + par1 par1 = par1 - 1 Loop Range("A1") = par1 Range("A2") = DoPre End Sub Option Explicit Sub provaPos() Dim DoPos As Integer Dim par2 As Integer par2 = 10 DoPos = 0 Do DoPos = DoPos + par2 par2 = par2 - 1 Loop While par2 > 10 Range("B1") = par2 Range("B2") = DoPos End Sub Risultato: 10 0 Risultato: 9 10

Lez 4 (11/12)Elementi di Programmazione7 Istruzioni Cicliche Provando provaPre() –Se par1 = 5 allora DoPre = 0 Il ciclo non viene eseguito –Se par1 = 20 allora DoPre = 155 Provando la funzione provaPos() –Se par2 = 5 allora DoPos = 5 Il ciclo è sempre eseguito almeno una volta –Se par2 = 20 allora DoPos = 155

Lez 4 (11/12)Elementi di Programmazione8 Istruzioni Cicliche – esempio 3 Sub provaPre() Dim DoPre As Integer Dim par1 As Integer par1 = 15 DoPre = 0 Do While par1 > 10 DoPre = DoPre + par1 Range("A2") = DoPre MsgBox ("DoPre") par1 = par1 - 1 Range("A1") = par1 MsgBox ("par1") Loop End Sub DoPre par

Lez 4 (11/12)Elementi di Programmazione9 Problema Richiedere allutente un numero finché questo non è pari Input da utente –Conversione stringa-intero Ripetere finchè… Numero pari –Divisibile per 2 X div 2 resto 0

Lez 4 (11/12)Elementi di Programmazione10 Esempi di soluzioni Richiedere allutente un numero finché questo non è pari Option Explicit Sub provaPre() Dim val As Integer Do val = InputBox("dammi un intero pari: ") Loop While (val Mod 2 <> 0) Range("H2") = val End Sub OPPURE Option Explicit Sub provaPre() Dim val As Integer val = 7 'FORZO INGRESSO Do While (val Mod 2 <> 0) val = InputBox("dammi un intero pari: ") Loop Range("H2") = val End Sub

Lez 4 (11/12)Elementi di Programmazione11 Istruzioni Cicliche : For For cont = valIni To valFin Step passo Istruzioni Next Dove –cont è una variabile numerica –valIni è il valore iniziale di cont –valFin è il valore finale –passo è la quantità di cui incrementare ad ogni ciclo Se Step passo è omesso passo vale 1 Per uscire dal ciclo anzitempo si usa Exit For

Lez 4 (11/12)Elementi di Programmazione12 Istruzioni Cicliche : For For cont = valIni To valFin Step passo Istruzioni Next Equivale a: cont = valIni Do While (cont <= valFin) Istruzioni cont = cont + passo Loop

Lez 4 (11/12)Elementi di Programmazione13 Istruzioni Cicliche : For Option Explicit Sub provaFor() Dim val As Double, i As Integer i = 1 For val = 10.5 To 5.2 Step -0.8 Cells(i, 7) = val i = i + 1 Next End Sub

Esercizio Leggere dal foglio i valori Par1 dalla cella A1 e Par2 dalla cella A2 Sommare tutti i valori fra par1 e par2 con un incremento di 1.5 Scrivere il risultato nella cella B3

Lez 4 (11/12)Elementi di Programmazione15 Istruzioni Cicliche : For Sub EsempioFor() Dim Par1 As Double Dim Par2 As Double Dim tot As Double Dim ct As Double tot = 0 Par1 = Range("A1").Value Par2 = Range("A2").Value For ct = Par1 To Par2 Step 1.5 tot = tot + ct Next Range("A3") = tot End Sub Sommare tutti i valori fra par1 e par2 con un incremento di 1.5

Esercizio Leggere dal foglio i valori Par1 dalla cella A1 e Par2 dalla cella A2 Calcolare la somma di tutti i numeri interi compresi fra par1 e par2 Scrivere il risultato nella cella B3

Lez 4 (11/12)Elementi di Programmazione17 Istruzioni cicliche : For Calcolare la somma di tutti i numeri interi compresi fra par1 e par2 Sub sommaNumeri() Dim Par1 As Integer Dim Par2 As Integer Dim tp As Integer Dim tot As Integer Dim i As Integer Par1 = Range("A1").Value Par2 = Range("A2").Value If Par1 > Par2 Then tp = Par1 Par1 = Par2 Par2 = tp End If tot = 0 For i = Par1 To Par2 tot = tot + i Next Range("A3") = tot End Sub

Lez 4 (11/12)Elementi di Programmazione18 Istruzioni Cicliche : For Each Per gestire un ciclo su di un intervallo di valori si usa: For Each elemento In Gruppo istruzioni Next dove –Gruppo è un insieme di celle; si può indicare usando Range(cellaSupSx,cellaInfDx) per uscire dal ciclo prima del tempo si può usare Exit For

Esercizio Calcolare la somma di tutti gli elementi compresi fra le celle A1 e D5

Lez 4 (11/12)Elementi di Programmazione20 Istruzioni Cicliche : For Each Sub esempioForEach() Dim r As Range Dim tot As Double tot = 0 For Each r In Range("A1", "D5") tot = tot + r.Value Next Range("E1") = tot End Sub Calcolare la somma di tutti gli elementi compresi fra le celle A1 e D5

Esercizio Sommare tutti i valori di tipo numerico nelle celle da A1 ad F6 –La funzione IsNumeric() restituisce True se il valore della cella ha un formato numerico

Lez 4 (11/12)Elementi di Programmazione22 Istruzioni Cicliche : For Each Option Explicit Sub EsempioForEach() Dim x As Variant, som As Double For Each x In Range("A1", "F6") If (IsNumeric(x.Value)) Then som = som + x.Value End If Next Range("H3") = som End Sub Sommare tutti i valori di tipo numerico nelle celle da A1 ad F6 –La funzione IsNumeric() restituisce True se il valore della cella ha un formato numerico

Lez 4 (11/12)Elementi di Programmazione23 Istruzioni Cicliche : Esercizio Scrivere una tabella pitagorica di 20 per 20 elementi, riportando per ogni riga e per ogni colonna il valore dingresso Tabellina ….