Software e programmazione
Indice
- Programma vs Algoritmo
- Diagrammi di flusso
- Software applicativo
Da un problema ad un programma
Problema
Algoritmo
Programma
Metodo
Risolutivo
Linguaggio
Programmazione
Programma
- Definisce una sequenza di istruzioni che devono essere eseguite per
risolvere un problema
- Scritto in un linguaggio di programmazione
- A basso livello
- Vicino al linguaggio macchina (poca astrazione)
- Direttamente eseguibili dal processore
- Esempio: Assembly
- Ad alto livello
- Orientati al programmatore
- Istruzioni simili al linguaggio umano (elevata astrazione)
- Il programma deve essere «trasformato» per essere eseguito dal processore
- Esempio: C/C++, Java, Python, ...
Algoritmo
- Un algoritmo è un insieme ordinato di passi che descrivono i dati che
devono essere utilizzati e determinano la sequenza di azioni
elementari che devono essere svolte per risolvere un problema
- Esempio: ricetta della besciamella
- Ingredienti -> dati
- Procedimento > sequenza di azioni
- Preparazione della besciamella -> problema
Tipologie di azioni
- Azioni elementari
- Operazioni che l'esecutore dell'algoritmo è in grado di compiere direttamente
- Azioni composte condizionali
- Si eseguono delle azioni solo se una condizione risulta essere vera. Se risulta
falsa se ne eseguono altre
se
allora < azioni>
altrimenti
- Azioni ripetitive
- Si eseguono delle azioni finché una condizione è vera. Quando risulta essere
falsa si termina la ripetizione
finché
ripeti
Esempio: ricetta besciamella
Ingredienti e strumenti (dati)
- 1/2 etto di burro, 1/2 etto di farina, 1/2 litro di latte, 1/2 cucchiaino di
sale, 5 grammi di pepe e noce moscata
- 1 casseruola, 1 setaccio, 1 coltello, 1 cucchiaio, 1 fornello
Preparazione (azioni)
- setaccia la farina
- metti la farina setacciata nella casseruola con 50 cc di latte freddo
- se il burro è in un pezzo unico allora taglia a pezzetti il burro
- aggiungi alla casseruola il burro e 300 cc di latte
- accendi il fuoco
- metti la casseruola sul fuoco
- finché non bolle ripeti mescola
- se vuoi piccante
allora finché non piccante ripeti aggiungi pepe
altrimenti aggiungi noce moscata
- aggiungi 150 cc di latte
- fai cuocere per 20 minuti
Diagramma di flusso
- Descrivono in modo grafico le azioni che compongono
un algoritmo e il loro flusso di esecuzione
- Ogni azione è rappresentata da un blocco
- I blocchi sono collegati tra loro da archi orientati
- Tipologia di blocchi
- Blocchi inizio/fine -> forma ellittica
Indicano il punto di inizio e di fine dell'algoritmo
- Blocchi azione -> forma rettangolare
Specificano azioni elementari che devono essere eseguite
- Blocchi condizionali -> forma romboidale
Differenziano il flusso di esecuzione in base al risultato della
valutazione di una condizione
- Blocchi input/output -> forma trapezoidale
Specificano azioni di input e output (come leggere e scrivere)
Tipo di blocco
Significato
START
inizio algoritmo
fine algoritmo
END
azione
blocco di azione:
azione elementare
che deve essere eseguita
T
F
condizione
VERA
FALSA
blocco di condizione:
condizione che
deve essere valutata;
flusso differenziato a
seconda che la condizione
sia vera o falsa
1/0
blocco di input/output:
operazione di input/output
da eseguire
Esempio
Ricetta besciamella
START
setaccia 50 g di latte
metti la farina in casseruola con 50 cc latte freddo
T
F
burro pezzo
unico
taglialo a pezzi
aggiungi burro e 300 cc latte
accendi fuoco
metti casseruola sul fuoco
F
non bolle
T
mescola
T
F
vuoi
piccante
agg. noce moscata
F
T
piccante
agg. pepe
aggiungi 150 cc latte
cuoci 20 minuti
END
Software applicativo
- Programma che nell'esecuzione crea
un ambiente virtuale fornendo
comandi specifici in base al compito
che deve svolgere
HW
SISTEMA OPERATIVO
SW APPLICATIVO
- Sviluppato in modo indipendente dalla macchina fisica
- Sfrutta le funzioni offerte dal sistema operativo
- Per lo stesso applicativo, versione diversa per sistemi operativi
diversi
- Esempio: pacchetto Microsoft Office
Esempio: basi di dati
- Insieme di informazioni strutturate archiviate elettronicamente in un
sistema informatico
- Gestiti da sistemi DBMS ( Data Base Management System)
- Memorizzano, in forma strutturata, grandi quantità di informazioni
- Permettono operazioni di modifica e reperimento delle informazioni
- L'interrogazione di una base di dati avviene tramite query
Esempi
- Elaborazione di testi
- Forniscono strumenti per scrivere, comporre, impaginare e stampare
documenti -> es. Microsoft Word
- Fogli elettronici (spreadsheet)
- Software che permettono elaborazioni matematiche e statistiche sui dati
- Permettono di realizzare grafici dai dati elaborati -> es. Microsoft Excel
Fine