3. Esercizio : Per ognuno degli N alunni di una classe, sono noti i voti riportati in ciascuna delle N materie del corso. Determinare per ogni alunno il suo voto medio e il numero delle insufficienze riportate. DATI OUTPUT : voto medio di ogni alunno e numero di insufficienze di ogni alunno. DATI INPUT : Numero degli alunni; numero materie, voto di ciascun alunno in ogni materia. A questo punto dobbiamo distinguere i DATI INPUT e i DATI OUTPUT :
4. Descrizione variabili L Numerico Contatore materie CONTM L Numerico Contatore alunni CONTA O Numerico Numero insuf. per alunno NI L Numerico Somma voti per alunni SV O Numerico Voto medio per alunno MED I Numerico Voto materie VM I Numerico Numero materie NM I Numerico Numero alunni NA I/O/L Tipo Contenuto Nome Variabile
5. INIZIO Leggi (NA;NM) CONTA=O Ripeti CONTM=0 SV=0 NI=0 CONTA=CONTA+1 Ripeti CONTM=CONTM+1 Leggi(VM) SV=SV+VM SE VM<6 ALLORA NI=NI+1 FINE SE FINO A CHE CONTM=NM MED=SV/NM Scrivi (MED;NI) FINO A CHE CONTA=NA FINE
6. INIZIO NA;NM CONTA=O CONTM=O SV=0 NI=0 CONTA=CONTA+1 CONTM=CONTM+1 VM SV=SV+VM VM<6? NI=NI+1 CONTM=NM ? MED=SV/NM MED;NI CONT=NA? FINE A A B B C C D D F F F V V V I I O
7. Name: txtNumeroalunni Name: txtNumeromaterie Name: cmdPremiqui Caption: &Premi qui Name: frmDoppioripeti Caption: Doppio Ripeti La E commerciale ( & ) serve per sottolineare la lettera che vogliamo appunto sottolineare, in questo caso la P
8. Descrizione variabili: DATI DI ELABORAZIONE: SV = Somma voti per alunno CONTA = Contatore alunni CONTM = Contatore materie DATI OUTPUT: MED = Voto medio per alunno NI = Numero insufficienze per alunno DATI INPUT: NA = Numero alunni NM = Numero materie VM = Voto materie
9. Adesso dobbiamo dimensionare le variabili: Option Explicit ‘ Dati Input Dim NA As Integer Dim NM As Double Dim VM As Double ‘ Dati Elaborazione Dim SV As Double Dim CONTA As Integer Dim CONTM As Integer ‘ Dati Output Dim MED As Double Dim NI As Integer
10. Dopo aver dimensionato le variabili bisogna iniziare a fare lo PSEUDOCODICE: Dopo vi verrà scritto Private Sub cmdPremiqui_Click() Ecco fatto ora possiamo tradurre lo pseudocodice. Dobbiamo cliccare su cmdPremiqui :
11. Come prima cosa dobbiamo fare: NA = txtNumeroalunni.Text NM = txtNumeromaterie.Text Successivamente dobbiamo azzerare la variabile CONTA (le altre le azzereremo dopo): CONTA = 0 FINALMENTE POSSIAMO PARTIRE!!! Ora metteremo le istruzioni all’interno del ripeti ma in questo caso ce ne sono due: Do (Ripeti) Do (Ripeti) Loop Until (Fino a che “istruzione”) Loop Until (Fino a che “istruzione”) Qui dentro ci metteremo le istruzioni
12. ‘ Input dati iniziali NA = txtNumeroalunni.Text NM = txtNumeromaterie.Text ‘ Azzeramento variabili 'Inizio ciclo studenti CONTA = 0 Do CONTA = CONTA + 1 SV = 0 NI = 0 ‘ ciclo materie CONTM = 0 ‘contatore materie Do CONTM = CONTM + 1 VM = Val(InputBox("Dimmi il voto " & CStr(CONTA))) SV = SV + VM ‘ Se insufficiente, lo conteggio If VM < 6 Then NI = NI + 1 End If Loop Until CONTM = NM ‘ Controllo se ho fatto tutte le materie MED = SV / NM MsgBox "La media è " & CStr(MED) MsgBox "Insufficienze " & CStr(NI) Loop Until CONTA = NA ‘ Controllo se ho contato tutti gli studenti Istruzione IF (SE) … Then (ALLORA) End If (FINE SE)