Unità Didattica
Dall’Algoritmo al Programma
Realizzato da:
Cacciatore Rosa
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Prerequisiti
1
Conoscenze basilari delle configurazioni HW e SW
2
Nozioni generali sul sistema operativo DOS
3
Saper definire algoritmi di tipo sequenziale con i dati di input, i
dati di output, le variabili di lavoro, la sequenza delle azioni da
compiere
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Competenze
1 Organizzare un programma rispettandone la struttura generale
2 Definire costanti, variabili e istruzioni secondo la sintassi del
linguaggio adottato (Pascal)
3 Utilizzare le istruzioni di I/O per permettere al calcolatore di
interagire con l’esterno
4 Riconoscere le diverse fasi del lavoro di programmazione
5 Realizzare un programma seguendo cinque fasi distinte:
descrizione del problema, definizione dei dati, pseudocodifica
del programma, diagramma a blocchi, programma Pascal
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Abilità
1
Analizzare un problema distinguendo i dati di input e di output
e le operazioni necessarie per arrivare al risultato atteso a
partire dai dati disponibili
2
Descrivere un algoritmo con una struttura sequenziale
utilizzando il diagramma a blocchi e la pseudocodifica
3
Saper distinguere nel lavoro di programmazione le fasi di
editing, compilazione, link e di esecuzione
4
Produrre documentazione esaustiva e coerente
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Strumenti
1
Libro di testo
2
Appunti del docente per integrare il testo adottato
3
Lavagna
4
Laboratorio multimediale
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Attività didattiche
1
Lezione frontale
2
Esercitazioni in laboratorio
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Tempi
Sono previste 30 ore così suddivise:
1
10 ore
lezione frontale
2
15 ore
Esercitazione
3
5 ore
Chiarimenti ed eventuali
potenziamenti
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Valutazione (1)
Nelle attività legate ad una didattica moderna i dati
informativi sull’apprendimento, relativi ad ogni intervento,
devono essere ricondotti a tre momenti fondamentali:
prima dell’intervento 
valutazione diagnostica
durante l’intervento

valutazione formativa
dopo l’intervento

valutazione sommativa
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Valutazione (2)
La valutazione diagnostica si occupa dell’accertamento e della
strutturazione dei prerequisiti cognitivi e affettivo-emozionali degli
allievi.
La valutazione formativa consentirà in itinere l'identificazione
dell'apprendimento e delle lacune dei singoli e quindi dei punti deboli
e quelli forti degli allievi come dell'approccio didattico seguito.
La valutazione sommativa riguarda il grado di conseguimento degli
obiettivi finali o intermedi per i quali l'intero processo didattico è
stato progettato o realizzato.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Il lavoro di programmazione
Linguaggio di programmazione : Pascal
Dall’astratto al concreto
programmatore
programma
Sissis – Indirizzo2 – Classe 42A
esecutore
utente
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Le basi del linguaggio (1)
Linguaggio di programmazione
Programmatore
Pascal (Wirth del Politecnico di Zurigo, inizi anni ’70, dal filosofo francese Blaise
Pascal)
Dati
Istruzioni
Programma
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Le basi del linguaggio (2)
Esempio: Somma di due numeri
S = A + B
INPUT:
A, B
OUTPUT:
S
ISTRUZIONI: SOMMA
NUMERI
Sissis – Indirizzo2 – Classe 42A
VARIABILI
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Le basi del linguaggio (3)
Lessico: insieme di parole riconosciute dal linguaggio
Sintassi: le modalità per scrivere le frasi in modo corretto
Identificatori: insieme dei nomi che il programmatore
assegna alle variabili e alle costanti
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Le basi del linguaggio (4)
PROGRAM somma;
VAR a, b, s : integer;
BEGIN
READLN(a, b);
s := a + b;
WRITELN(s)
END.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Struttura generale di un programma
Pascal
PROGRAM somma;
VAR
BEGIN
a, b, s : integer;
READLN(a, b);
s := a + b;
WRITELN(s)
Programma Pascal
END.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Struttura generale di un programma
Pascal
PROGRAM somma;
VAR
BEGIN
a, b, s : integer;
READLN(a, b);
s := a + b;
WRITELN(s)
Programma Pascal
END.
Intestazione
Program
Nome prg
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Struttura generale di un programma
Pascal
PROGRAM somma;
VAR
BEGIN
a, b, s : integer;
READLN(a, b);
s := a + b;
WRITELN(s)
Programma Pascal
END.
Intestazione
Program
Zona dichiarazione
Nome prg
USES
Const, Var
Nome, valore, tipo
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Struttura generale di un programma
Pascal
PROGRAM somma;
VAR
BEGIN
a, b, s : integer;
READLN(a, b);
s := a + b;
WRITELN(s)
Programma Pascal
END.
Intestazione
Program
Zona dichiarazione
Nome prg
USES
Const, Var
Sezione esecutiva
Begin, end
Nome, valore, tipo
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
I Dati
COSTANTI
NUMERICI
Sui dati numerici
o
o
VARIBILI
ALFANUMERICI
+
addizione
-
sottrazione
*
moltiplicazione
/
divisione reale
DIV
divisione tra numeri interi
MOD
resto della divisione tra interi
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Statement
Righe che rappresentano dichiarazioni di oggetti e risorse
utilizzate dal programma:
- commenti
- inizio e fine programma
- dichiarazioni di moduli sw esterni al programma …..
Righe che contengono istruzioni che governano l’elaborazione:
- frasi per rappresentare gruppi di istruzioni da ripetere
più volte
- controlli all’interno dell’algoritmo …..
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Dichiarazione delle costanti
CONST
Nome = Valore
Esempio:
CONST
pigreco =3.14;
Risposta =‘S’;
N.B : I valori costanti di tipo carattere o stringa sono racchiusi tra
apici e le cifre intere e decimali sono separate dal punto.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Dichiarazione delle variabili(1)
VAR
Nome : Tipo
TIPI STANDARD
integer
-32768
a
32767
real
1E-38
a
1E+38
char
un solo carattere
string[n]
una stringa di caratteri lunga n
Boolean
true / false
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Dichiarazione delle variabili(2)
Esempio:
VAR
contatore : integer;
statura : real;
risposta : char;
nome : string[30];
trovato : boolean;
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Frasi di commento
{ }
(* *)
Esempio:
VAR
eta : integer;
Sissis – Indirizzo2 – Classe 42A
{età di una persona}
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Assegnazione dei valori alle
variabili(1)
- Acquisendo valori da tastiera
- Utilizzando l’istruzione di assegnazione
nomevariabile := valore
Per valore si intende: un numero, una stringa di caratteri o il
risultato di una espressione.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Assegnazione dei valori alle
variabili(2)
Funzioni
SQR(X)
quadrato del numero X
SQRT(X)
radice quadrata del numero X
ROUND(X)
arrotondamento all’unità
TRUNC(X)
per ottenere un numero con la parte decimale
troncata
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Assegnazione dei valori alle
variabili(3)
Esempio
Area := raggio * raggio *3.14;
Lingua := ‘Spagnolo’;
Resto : = a mod b;
Ipot : = sqrt( sqr(cat1) + sqr(cat2));
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Assegnazione dei valori alle
variabili(4)
Problemi di incompatibilità
A : integer;
B : real
B :=A;
istruzione corretta
A:=B;
istruzione non corretta
A:integer;
A:=B
B: string[10]
B:=A
Sissis – Indirizzo2 – Classe 42A
Istruzione non corretta
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Gli operatori di relazione e logici(1)
Operatori di confronto
Operatori logici
>
per maggiore
AND congiunzione (e)
<
per minore
OR
=
per uguale
NOT negazione
<=
per maggiore o uguale
>=
per minore o uguale
<>
per diverso
Sissis – Indirizzo2 – Classe 42A
disgiunzione (o)
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Gli operatori di relazione e logici(2)
Esempio
A >C
(A <C) AND (C =3)
B <D
(A=5) OR (A=7)
F <>G
NOT
Sissis – Indirizzo2 – Classe 42A
(A >5)
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Le istruzioni di ingresso e uscita
READLN
ISTRUZIONE DI INGRESSO
READLN(NOME)
WRITE O WRITELN
ISTRUZIONE DI USCITA
WRITELN(AREA)
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Esempio di programma (1)
Testo del problema
Calcolo del valore in dollari corrispondente al cambio di
una cifra in euro
Dati in input
importo in euro
valore del cambio euro/dollari
Dati in output
importo in dollari
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Esempio di programma (2)
Pseudocodifica
Programma cambio
INIZIO
chiedi(importo in euro)
Diagramma a blocchi
INIZIO
chiedi euro, cambio
leggi (euro)
leggi euro, cambio
chiedi (cambio)
leggi (cambio)
dollari
euro/cambio
scrivi (dollari)
FINE
Sissis – Indirizzo2 – Classe 42A
dollari <-euro/cambio
scrivi dollari
FINE
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Esempio di programma (3)
Programma Pascal
PROGRAM cambio;
Uses CRT
VAR
(* input*)
euro,
(*importo in euro*)
cambio : real ;
(* quotazione del dollaro)
(* output*)
dollari : real;
(*importo in dollari*)
BEGIN
Clrscr; WRITE(‘Dammi l’importo in euro’); READLN(euro);
WRITE(‘Dammi il cambio del dollaro’); READLN(cambio);
dollari := euro/cambio;
WRITELN(‘Euro’:10, ‘Cambio’:10, ‘Dollari’:10);
WRITELN(euro:10:2, cambio:10:3, dollari:10:2);
END.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Le fasi della programmazione
1
CODIFICA
EDITOR
PROGRAMMA SORGENTE
2
COMPILAZIONE
COMPILATORE
PROGRAMMA OGGETTO
3
LINKING (COLLEGAMENTO)
LINKER
PROGRAMMA ESEGUIBILE
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
L’ambiente Turbopascal
Editor
Compilatore
Debugger
Memoria
centrale
Sissis – Indirizzo2 – Classe 42A
Memoria
di massa
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Documentazione (1)
Cinque passi basilari:
1
Descrizione del problema
2
Definizione dei dati
3
Diagrammi a blocchi
4
Pseudocodifica
5
Programma Pascal
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Documentazione (2)
Importante per :
far comprendere l’analisi del procedimento e l’algoritmo a una
persona diversa da quella che ha progettato
riuscire a capire il procedimento e le attività da svolgere anche
a distanza di tempo dal momento in cui è stato realizzato
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Documentazione (3)
Una buona documentazione si realizza attraverso alcuni
accorgimenti :
usare nomi significativi per le variabili;
esplicitare con precisione i tipi previsti;
organizzare gli algoritmi in modo strutturato;
inserire frasi di commento;
fornire manuali per l’utente;
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
CACCIATORE ROSA
Fine
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
Scarica

Unità Didattica