Programmare in Visual Basic

Slides:



Advertisements
Presentazioni simili
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.
Advertisements

Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
Informatica 22/03/2012.
PROGRAMMARE IN PASCAL (le basi)
Lez. 11 (11/12) - PBElementi di Programmazione1 Lezione 11 Esercizi.
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.
Elementi di Programmazione
EP 10/11 - PBLezione 2-21 Elementi di Programmazione Tipi di Dati Conversioni Istruzioni di controllo del flusso.
EP 11/12 - PBLezione 31 Elementi di Programmazione Tipi di Dati e Conversioni Istruzioni di controllo del flusso.
Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi.
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.
Dipartimento di Matematica
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Fondamenti di Informatica
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.
Iterazione enumerativa (for)
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,
Uso dei cicli y t =c+ty t-1 +e Un uso dei cicli può essere quello di creare una serie storica per cui y t =c+ty t-1 +e dove poniamo c e t scalari ed e~N(0,1).
Introduzione alla programmazione lll
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)
Istruzioni Iterative Nicola Fanizzi
Strutture di controllo in C -- Flow Chart --
CAPITOLO 6.
Fondamenti di Informatica Algoritmi
Gli algoritmi.
Il linguaggio ASP Lezione 3 La connessione al database con ASP
Lezione 2 Programmare in ASP
Corso di PHP.
File I record.
Lezione 6 Strutture di controllo Il condizionale
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.
Un modem, una scheda di rete, o comunque una unità di comunicazione tra calcolatori elettronici, trasmettendo uninformazione, a causa di disturbi esterni,
Problema: come dividere due numeri
Algoritmo Ordinamento di 3 Numeri
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 -.
Lz. 3 (13/14)Elementi di Programmazione1 Istruzioni (strutture) di controllo 1.
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.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
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.
Lez.6 (13/14)Elementi di Programmazione1 Lezione 6 Funzioni Passaggio di parametri.
PRIMI ELEMENTI DI PROGRAMMAZIONE
Interpreti e compilatori
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
C++:Strutture di Controllo
Informatica e Informatica di Base
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.
Programmazione: Iterazione Esistono tre tipi di iterazione fondamentali e vedremo la corrispondenza dei relativi diagrammi a blocchi e la loro traduzione.
DAL DIAGRAMMA AL CODICE
A = InputBox("Immetti un numero")
Transcript della presentazione:

Programmare in Visual Basic Istruzione SE Contatori Ciclo di ripetizione

Testo del problema Per ciascuno degli N prodotti acquistati da un cliente in un negozio sono noti: il prezzo unitario e la categoria merceologica (due tipi di categorie, supponiamo A e B). Determinare (cioè calcolare): Il numero di prodotti di categoria A Il numero di prodotti di categoria B L’importo totale dovuto dal cliente prima dello sconto L’importo totale scontato sapendo che lo sconto è del 3% sul totale.

Facciamo un esempio immaginiamo… Un negozio Il nostro carrello Una cassa

Noi che dobbiamo fare il programma, dove stiamo? Noi ci dobbiamo immaginare di essere dentro la cassa!

E che ci facciamo li dentro?

Dobbiamo fare lo scontrino! E per farlo dobbiamo vedere tutti i prodotti, controllare di quale categoria sono e il loro prezzo

Ma attenzione! C’è solo una piccola differenza. Rispetto ad una cassa vera noi abbiamo bisogno di sapere prima quanti prodotti ci sono nel carrello .

Quindi partiremo così: Quanti articoli ci sono nel carrello?

Poi possiamo partire a fare il lavoro per tante volte quanti sono gli articoli nel carrello

Dati in input NP = numero prodotti P = prezzo CM = categoria merceologica

Dunque…abbiamo risposto a quello che chiedeva il testo del problema? Dati in Output ITOT: Importo totale CONTB: Numero prodotti di categoria A CONTA: Numero prodotti di categoria B ISCONT: Importo scontato Dunque…abbiamo risposto a quello che chiedeva il testo del problema?

Per ciascuna domanda abbiamo una risposta! Per ciascuno degli N prodotti acquistati da un cliente in un negozio sono noti: il prezzo unitario e la categoria merceologica (due tipi di categorie, supponiamo A e B). Determinare (cioè calcolare): Il numero di prodotti di categoria A (CONTA) Il numero di prodotti di categoria B (CONTB) L’importo totale dovuto dal cliente prima dello sconto (ITOT) L’importo totale scontato sapendo che lo sconto è del 3% sul totale (ISCONT).

Dati elaborazione Cont: numero totale di prodotti acquistati

Quanti articoli ci sono nel carrello? Inizio ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A Quanti articoli ci sono nel carrello? NP! NP i CONT=0 CONTA=0 CONTB=0 ITOT=0 v F P;CM Cont=cont+1 CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 ITOT=ITOT+P CONT=NP Questo è il ciclo. Cioè le istruzioni ripetute NP volte. i FINE v A

Anche questa è una elaborazione. Però è fuori dal ciclo. Infatti viene svolta dopo che sono passati tutti i prodotti dalla cassa. Calcolo dello sconto! ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A Finalmente esce lo scontrino con - Importo totale Importo scontato - Quanti prodotti di tipo A E quanti di tipo B FINE

E in Visual Basic, come si traduce? Cominciamo dall’inizio. Le prime operazioni di input. Inizio NP i TextBox Nome: txtNP Command Nome: cmdPassaAllaCassa

Per adesso è facile. Ma il ciclo? Calma, calma. Adesso inizia il codice ma…. Option Explicit ' Dati di input Dim Np As Integer Dim P As Double Dim CM As String ' Dati di elaborazione Dim Cont As Integer ' Dati di OutPut Dim ContA As Integer Dim ContB As Integer Dim ITot As Double Dim Iscont As Double Un passo per volta! Prima dichiariamo le variabili!

Il codice da scrivere deve essere eseguito alla pressione del pulsante cmdPassaAllaCassa

Leggendo il diagramma a blocchi, cominceremo a scrivere qui! Option Explicit ' Dati di input Dim Np As Integer Dim P As Double Dim CM As String ' Dati di elaborazione Dim Cont As Integer ' Dati di OutPut Dim ContA As Integer Dim ContB As Integer Dim ITot As Double Dim Iscont As Double Private Sub cmdPassaAllaCassa_Click() End Sub Leggendo il diagramma a blocchi, cominceremo a scrivere qui!

Option Explicit ' Dati di input Dim Np As Integer Dim P As Double Dim CM As String ' Dati di elaborazione Dim Cont As Integer ' Dati di OutPut Dim ContA As Integer Dim ContB As Integer Dim ITot As Double Dim Iscont As Double Private Sub cmdPassaAllaCassa_Click() NP = txtNP.text End Sub NP i

Elaborazione Private Sub cmdPassaAllaCassa_Click() NP = txtNP.text End Sub ‘ Azzeramento variabili Cont=0 ContA = 0 ContB = 0 Itot=0 CONT=0 CONTA=0 CONTB=0 ITOT=0

Cominciamo a tradurre le istruzioni La prima istruzione del CICLO non si vede ma c’è! L’ultima istruzione del ciclo è quella da dove parte la freccia che torna indietro per RIPETERE v F P;CM Cont=cont+1 CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 ITOT=ITOT+P CONT=NP Questo è il ciclo. Cioè le istruzioni ripetute NP volte.

Tra la REPEAT e la LOOP metteremo le altre istruzioni Elaborazione Private Sub cmdPassaAllaCassa_Click() NP = txtNP.text End Sub Infatti si scrivono le istruzioni che rappresentano l’INIZIO e la FINE del ciclo ‘ Azzeramento variabili Cont=0 ContA = 0 ContB = 0 Itot=0 ‘Inizio Ciclo Repeat Loop Until CONT = NP Tra la REPEAT e la LOOP metteremo le altre istruzioni

Quindi, si scrive dove inizia e dove finisce il ciclo… REPEAT v F P;CM Cont=cont+1 CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 ITOT=ITOT+P CONT=NP Questo è il ciclo. Cioè le istruzioni ripetute NP volte. LOOP UNTIL CONT=NP

A questo punto si passa alle istruzioni del CICLO Questa è una istruzione di INPUT. P;CM Fino ad adesso abbiamo imparato a tradurla con i TextBox. Cont=cont+1 CM=“A” F v CONTB=CONTB+1 CONTA=CONTA+1 Ma se siamo dentro un ciclo dobbiamo usare la InputBox, anzi due inputbox perché due sono le variabili (P e CM) ITOT=ITOT+P CONT=NP F

Attenzione!!Un simbolo e due istruzioni. P;CM ‘Inizio Ciclo DO P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Loop Until CONT = NP

Questa è facile! E’ una assegnazione. Cont=cont+1 ‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 Loop Until CONT = NP

E quando trovo una struttura condizionale la traduco con la se. CM=“A” F v ‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 IF CM=“A” THEN ELSE END IF Loop Until CONT = NP E quando trovo una struttura condizionale la traduco con la se. Scrivo tutta la se, compreso IF, THEN, ELSE e l’END IF, poi dentro metto le istruzioni

Stiamo conteggiando i prodotti per categoria F CM=“A” CONTA=CONTA+1 CONTB=CONTB+1 v ‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 IF CM=“A” THEN CONTA = CONTA+1 ELSE CONTB = CONTB+1 END IF Loop Until CONT = NP Le istruzioni della struttura condizionale (il se) le porto al posto giusto. In questo caso sono due assegnazioni Stiamo conteggiando i prodotti per categoria

Qui invece, sommo l’importo totale ‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 IF CM=“A” THEN CONTA = CONTA+1 ELSE CONTB = CONTB+1 END IF ITOT=ITOT+P Loop Until CONT = NP ITOT=ITOT+P Qui invece, sommo l’importo totale

DOVE SIAMO? P;CM Cont=cont+1 CM=“A” F v CONTB=CONTB+1 CONTA=CONTA+1 QUI!!! ITOT=ITOT+P CONT=NP F

Manca, poco… Il calcolo dell’importo scontato A L’Output dei risultati ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A L’Output dei risultati FINE

ISCONT=ITOT-(ITOT*3/100) ‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 IF CM=“A” THEN CONTA = CONTA+1 ELSE CONTB = CONTB+1 END IF ‘ calcolo importo totale ITOT=ITOT+P Loop Until CONT = NP ‘ Calcolo importo scontato ISCONT=ITOT-(ITOT*3/100) ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A FINE

ISCONT=ITOT-(ITOT*3/100) ‘Inizio Ciclo Do P = InputBox(“Dimmi il prezzo”) CM = InputBox(“Dimmi la categoria”) Cont = Cont + 1 IF CM=“A” THEN CONTA = CONTA+1 ELSE CONTB = CONTB+1 END IF ‘ calcolo importo totale ITOT=ITOT+P Loop Until CONT = NP ‘ Calcolo importo scontato ISCONT=ITOT-(ITOT*3/100) MsgBox “L’importo totale è “ & cstr(Itot) MsgBox “L’importo scontato è “ & cstr(Iscont) MsgBox “I prodotti di tipo A sono “ & cstr(ContA) MsgBox “I prodotti di tipo B sono “ & cstr(ContB) ISCONT=ITOT-(ITOT*3/100) ITOT,ISCONT, CONTA,CONTB o A FINE

Che aspettate a provare il programma?

Che succede se ho una struttura condizionale solo con il vero? Approfondimenti Che succede se ho una struttura condizionale solo con il vero? CM=“A” F v Come si traduce in VB? CONTA=CONTA+1 IF CM=“A” THEN CONTA = CONTA+1 END IF