Lez 4 (10/11)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.
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
Informatica 22/03/2012.
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 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.
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.
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.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
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.
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
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 --
CAPITOLO 7.
Fondamenti di Informatica Algoritmi
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.
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.
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.
PROVA INTERCORSO MOD.B a.a RICORSIONE ESERCIZI A1.1-A1.6.
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
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.
Programmazione: Iterazione Esistono tre tipi di iterazione fondamentali e vedremo la corrispondenza dei relativi diagrammi a blocchi e la loro traduzione.
A = InputBox("Immetti un numero")
Transcript della presentazione:

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

Lez 4 (10/11)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

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

Lez 4 (10/11)Elementi di Programmazione4 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 (10/11)Elementi di Programmazione5 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 (10/11)Elementi di Programmazione6 Istruzioni cicliche 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 (10/11)Elementi di Programmazione7 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 (10/11)Elementi di Programmazione8 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 DoPre = 5 Il ciclo è sempre eseguito almeno una volta –Se par2 = 20 allora DoPre = 155

Lez 4 (10/11)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 (10/11)Elementi di Programmazione10 Esempio 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 (10/11)Elementi di Programmazione11 Istruzioni Cicliche 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 (10/11)Elementi di Programmazione12 Istruzioni Cicliche For cont = valIni To valFin Step passo Istruzioni Next Equivale a: cont = valIni Do While (cont <= valFin) Istruzioni cont = cont + passo Loop

Lez 4 (10/11)Elementi di Programmazione13 Istruzioni Cicliche 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

Lez 4 (10/11)Elementi di Programmazione14 Istruzioni Cicliche 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

Lez 4 (10/11)Elementi di Programmazione15 Istruzioni cicliche 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 (10/11)Elementi di Programmazione16 Istruzioni Cicliche 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

Lez 4 (10/11)Elementi di Programmazione17 Istruzioni Cicliche 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

Lez 4 (10/11)Elementi di Programmazione18 Istruzioni Cicliche 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