Dopo aver caricato in memoria centrale un array monodimensionale (vettore) di M elementi numerici interi, individuare l elemento maggiore ed il minore. Visualizzare il vettore iniziale ed i risultati dell elaborazione. Analisi dei dati di input e di output Esempi Input Output Semantica M Dimensione del vettore (numero elementi) V( ) Singolo elemento numerico del vettore MIN Elemento minore MAX Elemento maggiore N V( ) MIN MAX Note 7 14 5 4 2 10 11 15 2 15 5 1 10 5 7 8 1 10 8 1 4 7 0 0 4 7 2 4 7 PROGRAMMA PRINCIPALE INIZIO CARICA VISUALIZZA VISUALIZZA MIN, MAX FINE Flow-chart relativo all algoritmo risolutivo SOTTOPROGRAMMA VERO MAX = V(I) VERO MIN = V(I) INIZIO MAX = MAXINT* ( 1) MIN = MAXINT V(I) > MAX V(I) < MIN FINE I = 1, N FALSO FALSO
Note Esercizi sull elaborazione di strutture dati vettoriali (array) Il sottoprogramma CARICA è lo stesso di quello presentato nell esercizio n. 144. Il sottoprogramma VISUALIZZA è lo stesso di quello presentato nell esercizio n. 145. PROGRAM Eser147; USES WINCRT; VAR n,i,sw: INTEGER; v:array[1..100] of REAL; min,max: REAL; {SOTTOPROGRAMMA CARICA} PROCEDURE carica; Codifica in Turbo Pascal WRITELN('Digita la dimensione del vettore '); READLN(n); FOR i:=1 to N DO WRITELN('Digita l''elemento ',i,' del vettore '); READLN(v[i]); {SOTTOPROGRAMMA MIN _ MAX} PROCEDURE min _ max; max:=maxint; max:=max*(-1); min:=maxint; FOR i:=1 to N DO IF v[i] > max THEN max:=v[i]; IF v[i] < min THEN min:=v[i]; {SOTTOPROGRAMMA VISUALIZZA} PROCEDURE visualizza; FOR i:=1 to N DO WRITELN(v[i]:8:1); {PROGRAMMA PRINCIPALE} END. END. CLRSCR; WRITE('Esercizio 147 - Programma di calcolo del minimo e massimo in un vettore.'); WRITELN(' '); carica; min _ max; visualizza; WRITELN('Il maggiore è ',max:8:1); WRITELN('Il minore è ',min:8:1);
Implementazione in Visual Basic Interfaccia Note sull interfaccia: Rif. Tipo Proprietà Valore Form Name Form_Es147 CommandButton Name Cmd_Carvet Caricamento Vettore TabIndex 2 CommandButton Name Cmd_MaxMin Visualizzazione vettore, Maggiore e Minore TabIndex 3 Label Name lblvo Label Name lblmax Maggiore: MAX Textbox Name txtmax Text Locked True Label Name lblmin Minore: MIN Textbox Name txtmin Text Locked True CommandButton Name CmdReset Reset dati TabIndex 6 CommandButton Name CmdUscita Uscita TabIndex 7
Codice: Private Sub Form_Load() CmdReset.Enabled = False Cmd_Carvet.Enabled = True Cmd_Media.Enabled = False Private Sub Cmd_Carvet_Click() Carica_Vettore n, v() Cmd_Carvet.Enabled = False Cmd_Media.Enabled = True Private Sub Cmd_MaxMin_Click() Visual_Vettore n, v(), Strv Max_Min_Vettore n, v(), max, min Cmd_MaxMin.Enabled = False lblvo. = "Vettore: " & Strv lblvo.visible = True txtmax.text = CStr(max) lblmax.visible = True txtmax.visible = True txtmin.text = CStr(min) lblmin.visible = True txtmin.visible = True CmdReset.Enabled = True Cmd_MaxMin.Enabled = False Private Sub CmdReset_Click() lblvo.visible = False lblvo. = "" Strv = "" lblmax.visible = False txtmax.text = "" txtmax.visible = False lblmin.visible = False txtmin.text = "" txtmin.visible = False CmdReset.Enabled = False Cmd_Carvet.Enabled = True v(i) = 0 Private Sub CmdUscita_Click() End Esercizi sull elaborazione di strutture dati vettoriali (array)
Modulo Vettore Dim i As Byte Dim max, min As Integer Dim Strv As String Public Sub Carica_Vettore(n As Byte, v() As Integer) Do n = Val(InputBox("Digita la dimensione del vettore (max: 50) ",_ "Digitazione Dimensione Vettore")) Loop Until n > 0 And n <= 50 ReDim v(1 To n) v(i) = Val(InputBox("Inserisci il " & CStr(i) & " elemento",_ "Digitazione Elemento Vettore")) Public Sub Visual_Vettore(n As Byte, v() As Integer, Strv As String) Strv = Strv & v(i) & "; " Public Sub Max_Min_Vettore(n As Byte, v() As Integer, max As Integer, _ min As Integer) max = -32768 min = 32767 If v(i) > max Then max = v(i) If v(i) < min Then min = v(i) Note al codice Il programma in Visual Basic, conformemente al flow chart presentato, utilizza subroutine contenute nel modulo vettore ed in particolare: Carica_vettore Caricamento del vettore in memoria centrale Visual_vettore Visualizzazione del vettore nella stringa Strv Max_Min_vettore Determinazione del maggiore e del minore elemento del vettore
Dopo aver caricato in memoria centrale un array monodimensionale (vettore) di M elementi numerici interi, individuare l elemento maggiore ed il minore. Visualizzare il vettore iniziale ed i risultati dell elaborazione. Analisi dei dati di input e di output Esempi Input Output Semantica M Dimensione del vettore (numero elementi) V( ) Singolo elemento numerico del vettore MIN Elemento minore MAX Elemento maggiore N V( ) MIN MAX Note 7 14 5 4 2 10 11 15 2 15 5 1 10 5 7 8 1 10 8 1 4 7 0 0 4 7 2 4 7 PROGRAMMA PRINCIPALE INIZIO CARICA VISUALIZZA VISUALIZZA MIN, MAX FINE Flow-chart relativo all algoritmo risolutivo SOTTOPROGRAMMA VERO MAX = V(I) VERO MIN = V(I) INIZIO MAX = MAXINT* ( 1) MIN = MAXINT V(I) > MAX V(I) < MIN FINE I = 1, N FALSO FALSO
Note Esercizi sull elaborazione di strutture dati vettoriali (array) Il sottoprogramma CARICA è lo stesso di quello presentato nell esercizio n. 144. Il sottoprogramma VISUALIZZA è lo stesso di quello presentato nell esercizio n. 145. PROGRAM Eser147; USES WINCRT; VAR n,i,sw: INTEGER; v:array[1..100] of REAL; min,max: REAL; {SOTTOPROGRAMMA CARICA} PROCEDURE carica; Codifica in Turbo Pascal WRITELN('Digita la dimensione del vettore '); READLN(n); FOR i:=1 to N DO WRITELN('Digita l''elemento ',i,' del vettore '); READLN(v[i]); {SOTTOPROGRAMMA MIN _ MAX} PROCEDURE min _ max; max:=maxint; max:=max*(-1); min:=maxint; FOR i:=1 to N DO IF v[i] > max THEN max:=v[i]; IF v[i] < min THEN min:=v[i]; {SOTTOPROGRAMMA VISUALIZZA} PROCEDURE visualizza; FOR i:=1 to N DO WRITELN(v[i]:8:1); {PROGRAMMA PRINCIPALE} END. END. CLRSCR; WRITE('Esercizio 147 - Programma di calcolo del minimo e massimo in un vettore.'); WRITELN(' '); carica; min _ max; visualizza; WRITELN('Il maggiore è ',max:8:1); WRITELN('Il minore è ',min:8:1);
Dopo aver caricato in memoria centrale un array monodimensionale (vettore) di M elementi numerici interi, individuare l elemento maggiore ed il minore. Visualizzare il vettore iniziale ed i risultati dell elaborazione. Analisi dei dati di input e di output Esempi Input Output Semantica M Dimensione del vettore (numero elementi) V( ) Singolo elemento numerico del vettore MIN Elemento minore MAX Elemento maggiore N V( ) MIN MAX Note 7 14 5 4 2 10 11 15 2 15 5 1 10 5 7 8 1 10 8 1 4 7 0 0 4 7 2 4 7 PROGRAMMA PRINCIPALE INIZIO CARICA VISUALIZZA VISUALIZZA MIN, MAX FINE Flow-chart relativo all algoritmo risolutivo SOTTOPROGRAMMA VERO MAX = V(I) VERO MIN = V(I) INIZIO MAX = MAXINT* ( 1) MIN = MAXINT V(I) > MAX V(I) < MIN FINE I = 1, N FALSO FALSO
Note Esercizi sull elaborazione di strutture dati vettoriali (array) Il sottoprogramma CARICA è lo stesso di quello presentato nell esercizio n. 144. Il sottoprogramma VISUALIZZA è lo stesso di quello presentato nell esercizio n. 145. PROGRAM Eser147; USES WINCRT; VAR n,i,sw: INTEGER; v:array[1..100] of REAL; min,max: REAL; {SOTTOPROGRAMMA CARICA} PROCEDURE carica; Codifica in Turbo Pascal WRITELN('Digita la dimensione del vettore '); READLN(n); FOR i:=1 to N DO WRITELN('Digita l''elemento ',i,' del vettore '); READLN(v[i]); {SOTTOPROGRAMMA MIN _ MAX} PROCEDURE min _ max; max:=maxint; max:=max*(-1); min:=maxint; FOR i:=1 to N DO IF v[i] > max THEN max:=v[i]; IF v[i] < min THEN min:=v[i]; {SOTTOPROGRAMMA VISUALIZZA} PROCEDURE visualizza; FOR i:=1 to N DO WRITELN(v[i]:8:1); {PROGRAMMA PRINCIPALE} END. END. CLRSCR; WRITE('Esercizio 147 - Programma di calcolo del minimo e massimo in un vettore.'); WRITELN(' '); carica; min _ max; visualizza; WRITELN('Il maggiore è ',max:8:1); WRITELN('Il minore è ',min:8:1);
Implementazione in Visual Basic Interfaccia Note sull interfaccia: Rif. Tipo Proprietà Valore Form Name Form_Es147 CommandButton Name Cmd_Carvet Caricamento Vettore TabIndex 2 CommandButton Name Cmd_MaxMin Visualizzazione vettore, Maggiore e Minore TabIndex 3 Label Name lblvo Label Name lblmax Maggiore: MAX Textbox Name txtmax Text Locked True Label Name lblmin Minore: MIN Textbox Name txtmin Text Locked True CommandButton Name CmdReset Reset dati TabIndex 6 CommandButton Name CmdUscita Uscita TabIndex 7
Codice: Private Sub Form_Load() CmdReset.Enabled = False Cmd_Carvet.Enabled = True Cmd_Media.Enabled = False Private Sub Cmd_Carvet_Click() Carica_Vettore n, v() Cmd_Carvet.Enabled = False Cmd_Media.Enabled = True Private Sub Cmd_MaxMin_Click() Visual_Vettore n, v(), Strv Max_Min_Vettore n, v(), max, min Cmd_MaxMin.Enabled = False lblvo. = "Vettore: " & Strv lblvo.visible = True txtmax.text = CStr(max) lblmax.visible = True txtmax.visible = True txtmin.text = CStr(min) lblmin.visible = True txtmin.visible = True CmdReset.Enabled = True Cmd_MaxMin.Enabled = False Private Sub CmdReset_Click() lblvo.visible = False lblvo. = "" Strv = "" lblmax.visible = False txtmax.text = "" txtmax.visible = False lblmin.visible = False txtmin.text = "" txtmin.visible = False CmdReset.Enabled = False Cmd_Carvet.Enabled = True v(i) = 0 Private Sub CmdUscita_Click() End Esercizi sull elaborazione di strutture dati vettoriali (array)
Modulo Vettore Dim i As Byte Dim max, min As Integer Dim Strv As String Public Sub Carica_Vettore(n As Byte, v() As Integer) Do n = Val(InputBox("Digita la dimensione del vettore (max: 50) ",_ "Digitazione Dimensione Vettore")) Loop Until n > 0 And n <= 50 ReDim v(1 To n) v(i) = Val(InputBox("Inserisci il " & CStr(i) & " elemento",_ "Digitazione Elemento Vettore")) Public Sub Visual_Vettore(n As Byte, v() As Integer, Strv As String) Strv = Strv & v(i) & "; " Public Sub Max_Min_Vettore(n As Byte, v() As Integer, max As Integer, _ min As Integer) max = -32768 min = 32767 If v(i) > max Then max = v(i) If v(i) < min Then min = v(i) Note al codice Il programma in Visual Basic, conformemente al flow chart presentato, utilizza subroutine contenute nel modulo vettore ed in particolare: Carica_vettore Caricamento del vettore in memoria centrale Visual_vettore Visualizzazione del vettore nella stringa Strv Max_Min_vettore Determinazione del maggiore e del minore elemento del vettore