Dim a,b as integer
Private sub cmdcalcola_click()
A=val(…..)
B=val(…..)
…..
End Sub
PROBLEMA
 Diagrammi a blocchi
 Pseudocodifica
ALGORITMO
PROGRAMMA
LINGUAGGI di
PROGRAMMAZIONE
DEFINIZIONE
La successione ordinata di passi
elementari che portano alla soluzione di
un problema prende il nome di
ALGORITMO.
MA …
Un algoritmo, per essere definito tale, deve avere le seguenti caratteristiche:
1. deve possedere un numero finito di passi
2. deve essere comprensibile e non ambiguo per chi ne usufruisce
3. deve risolvere tutti i problemi di una specifica CLASSE
(si definisce CLASSE la totalità dei problemi con le stesse caratteristiche, p.e.
la somma di 2 numeri)
4. a parità di condizioni iniziali (ossia con gli stessi dati di input )
deve fornire gli stessi risultati ( ossia gli stessi dati di output)
Un algoritmo può essere costituito
da passi elementari
• Lettura dati / scrittura dati (operazioni di I/O)
• Operazioni di assegnazione/elaborazione
OPPURE
da passi strutturati (Complessi) / Strutture di Programmazione
• SEQUENZA
• SELEZIONE
• ITERAZIONE
La struttura sequenziale, detta anche
sequenza, è un passo elaborativo
costituito da una successione di passi
elementari di tipo I/O oppure
assegnazione/elaborazione.
In senso più generale si tratta di una
successione di passi elementari o
complessi.
...........
A=B+1
C=B*4
D=B mod 5
.........
La struttura selettiva, detta anche selezione,
è un passo elaborativo che prevede l’esecuzione
di istruzioni diverse
in base al valore di verità di una certa condizione.
Tale struttura può essere di 2 tipi:

a 1 via
 a 2 vie
Struttura selettiva a 1 via
IF condizione then
Istruzione 1
Istruzione 2
End if
Struttura selettiva a 2 vie
…
IF condizione then
Istruzione 1
Istruzione 2
else
istruzione 3
istruzione 4
End if
La struttura iterativa, detta anche ciclo o iterazione,
è un passo elaborativo che prevede la ripetizione
di un certo numero di istruzioni
fino a che una certa condizione cambia di stato.
Tale struttura può essere di 2 tipi:
a condizione finale
a condizione iniziale
 Struttura iterativa a condizione finale
Do
Istruzione 1
Istruzione 2
Istuzione 3
Loop until condizione
Struttura iterativa a a condizione iniziale
Do while condizione
Istruzione 1
Istruzione 2
Istuzione 3
Loop
In passato non venivano usate unicamente queste
strutture di programmazione ma, in particolare per
realizzare la struttura iterativa veniva usata una
istruzione “malefica”, la GOTO che permetteva di
saltare da una istruzione all’altra del programma
rendendo il programma stesso difficile da leggere e
da modificare.
Fu poi raccomandata la programmazione strutturata
che raccomandava l’uso di sole 3 strutture
fondamentali.
Il fondamento della programmazione strutturata risulta quindi
essere il teorema di Bohm e Jacopini formalizzato nel 1966
Il teorema di Bohm e Jacopini afferma che tutti gli algoritmi
possono essere scritti senza nessuna istruzione di salto
incondizionato (goto), utilizzando solo le strutture di controllo
sequenza, selezione e iterazione.
Un programma strutturato è più chiaro e quindi più facile
da leggere, da testare, da correggere e da modificare
Aumenta la leggibilità e la modificabilità dei programmi con
conseguente abbattimento dei costi legati alla manutenzione.
Inizio
Introdotti N numeri interi NUM;
visualizzare la loro somma 4 X 4.
k <---- 0 ; C<---- 0 ; S<---- 0
I
N
Es. 4 5 2 8 4
K <---- K + 1
C <---- C + 1
S <---- S + NUM
C=4 OR K=N
O
C <---- 0 ; S <---- 0
K=N
FINE
-2 0
4
I
NUM
S
9 2 12
Dim num, n, k, c, s As Integer
Dim s As Integer
Private Sub cmdcalcola_Click()
k=0
c=0
s=0
n = Val(InputBox("inserisci la quantità dei numeri da introdurre", "fase di
input"))
Do
Do
num = Val(InputBox("inserisci un numero", "fase di input"))
k=k+1
c=c+1
s = s + num
Loop Until c = 4 Or k = n
MsgBox "somma=" + CStr(s), vbInformation, "fase di output ***
somme parziali"
c=0
s=0
Loop Until k = n
End Sub
TIPI di DATI sono classificati in due categorie:
• tipi elementari (o tipi semplici) in cui i dati
non sono costituiti da altri dati, si tratta cioè di
dati atomici;
• tipi strutturati, in cui i dati sono rappresentati
da aggregazioni dalle quali è possibile estrarre i
singoli dati tramite appropriate operazioni.
Ogni linguaggio di programmazione prevede
alcuni tipi di dati
sia semplici che strutturati (tipi primitivi).
Per esempio in Visual Basic i TIPI ELEMENTARI o SEMPLICI sono:
INTERO
REALE
CARATTERE
BOOLEANO
(Dim A as integer)
(Dim A as single, Dim B as double)
(Dim A as char)
(DIm A as boolean)
Le VARIABILI SEMPLICI sono entità del tipo specificato associate
a una locazione di memoria la cui lunghezza è stabilita dal tipo con un NOME
e un CONTENUTO.
In Visual Basic i TIPI ELEMENTARI o SEMPLICI predefiniti sono:
INTERO
REALE
CARATTERE
BOOLEANO




Dim A as integer
Dim A as single, Dim B as double
Dim A as char
DIm A as boolean
Le VARIABILI SEMPLICI sono entità del tipo specificato associate
a una locazione di memoria la cui lunghezza è stabilita dal tipo con un NOME
e un CONTENUTO.
I dati strutturati (STRUTTURA di DATI)
corrispondono invece ad un raggruppamento di
dati organizzati in base a un criterio, così da poter
essere considerati come un unico oggetto.
In Visual Basic i TIPI di DATI STRUTTURATI predefiniti sono:
VETTORE (o ARRAY)
RECORD


Dim A(1 to 10) as integer
…………….
Un VETTORE o ARRAY (a una dimensione) è una struttura di dati di tipo
SEQUENZIALE, ossia gli elementi componenti sono disposti uno di fianco all’altro
costituita da un insieme di elementi OMOGENEI tra di loro
individuabili mediante un INDICE che indica la posizione del singolo elemento nella
struttura.
Il vettore ha un NOME COLLETTIVO mentre ogni elemento ha un NOME
INDIVIDUALE dato dal nome collettivo seguito tra parentesi da un indice.
DIM V(1 TO 10) as INTEGER
V
5
-2
0
5
13
-9
1
2
3
4
5
6
11
7
10
5
18
8
9
10
Ci si riferisce al singolo elemento con la sintassi
V(valore dell’indice)
V(1) contiene il dato intero 5
V(2) contiene il dato intero -2
V(3) contiene il dato intero ……..
V(4) contiene il dato intero ……..
V(5) contiene il dato intero ……..
V(6) contiene il dato intero ……..
V(7) contiene il dato intero ……..
V(8) contiene il dato intero ……..
V(9) contiene il dato intero ……..
V(10) contiene il dato intero ……..
Scarica

La programmazione strutturata