Upload
ilaria-valente
View
216
Download
2
Embed Size (px)
Citation preview
Unità Didattica
Dall’Algoritmo al Programma
Cacciatore Rosa
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
Realizzato da:
Prerequisiti
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Conoscenze basilari delle configurazioni HW e SW1
Nozioni generali sul sistema operativo DOS2
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
3
Competenze
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSAUNITA’ DIDATTICA 3: DALL’ALGORITMO AL
PROGRAMMA
Organizzare un programma rispettandone la struttura generale1
Definire costanti, variabili e istruzioni secondo la sintassi del linguaggio adottato (Pascal)
2
Utilizzare le istruzioni di I/O per permettere al calcolatore di interagire con l’esterno
3
Riconoscere le diverse fasi del lavoro di programmazione4
Realizzare un programma seguendo cinque fasi distinte: descrizione del problema, definizione dei dati, pseudocodifica del programma, diagramma a blocchi, programma Pascal
5
Abilità
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
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
1
Descrivere un algoritmo con una struttura sequenziale utilizzando il diagramma a blocchi e la pseudocodifica
2
Saper distinguere nel lavoro di programmazione le fasi di editing, compilazione, link e di esecuzione
3
Produrre documentazione esaustiva e coerente4
Strumenti
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Libro di testo1
Appunti del docente per integrare il testo adottato2
Lavagna3
Laboratorio multimediale4
Attività didattiche
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Lezione frontale1
Esercitazioni in laboratorio2
Tempi
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sono previste 30 ore così suddivise:
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
1 10 ore lezione frontale
2 15 ore Esercitazione
3 5 ore Chiarimenti ed eventuali potenziamenti
Valutazione (1)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
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
Valutazione (2)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
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.
Il lavoro di programmazione
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Linguaggio di programmazione : Pascal
Dall’astratto al concreto
esecutoreprogrammatoreprogramma utente
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Le basi del linguaggio (1)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Linguaggio di programmazione
Programmatore
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Pascal (Wirth del Politecnico di Zurigo, inizi anni ’70, dal filosofo francese Blaise
Pascal)
Programma
Dati Istruzioni
Le basi del linguaggio (2)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Esempio: Somma di due numeri
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
INPUT: A, B
+A BS =
OUTPUT: S
ISTRUZIONI: SOMMA
NUMERI VARIABILI
Le basi del linguaggio (3)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Lessico: insieme di parole riconosciute dal linguaggio
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Sintassi: le modalità per scrivere le frasi in modo corretto
Identificatori: insieme dei nomi che il programmatore assegna alle variabili e alle costanti
Le basi del linguaggio (4)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
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
CACCIATORE ROSA
Struttura generale di un programma Pascal
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Programma Pascal
PROGRAM somma;
VAR a, b, s : integer;
BEGIN
READLN(a, b);
s := a + b;
WRITELN(s)
END.
Struttura generale di un programma Pascal
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Programma Pascal
Intestazione
PROGRAM somma;
VAR a, b, s : integer;
BEGIN
READLN(a, b);
s := a + b;
WRITELN(s)
END.
Program Nome prg
Struttura generale di un programma Pascal
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Programma Pascal
PROGRAM somma;
VAR a, b, s : integer;
BEGIN
READLN(a, b);
s := a + b;
WRITELN(s)
END.
Intestazione Zona dichiarazione
Program Nome prg USES Const, Var
Nome, valore, tipo
Struttura generale di un programma Pascal
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Programma Pascal
PROGRAM somma;
VAR a, b, s : integer;
BEGIN
READLN(a, b);
s := a + b;
WRITELN(s)
END.
Intestazione Zona dichiarazione
USES Const, VarProgram Nome prg
Nome, valore, tipo
Sezione esecutiva
Begin, end
I Dati
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
COSTANTI o VARIBILI
NUMERICI o ALFANUMERICI
Sui dati numerici+ addizione
- sottrazione
* moltiplicazione
/ divisione reale
DIV divisione tra numeri interi
MOD resto della divisione tra interi
Statement
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
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 …..
Dichiarazione delle costanti
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
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.
Dichiarazione delle variabili(1)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
VAR Nome : Tipo
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
TIPI STANDARD
Dichiarazione delle variabili(2)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Esempio:
VAR contatore : integer;
statura : real;
risposta : char;
nome : string[30];
trovato : boolean;
Frasi di commento
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Esempio:
VAR eta : integer; {età di una persona}
{ } (* *)
Assegnazione dei valori alle variabili(1)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
nomevariabile := valore
- Acquisendo valori da tastiera
- Utilizzando l’istruzione di assegnazione
Per valore si intende: un numero, una stringa di caratteri o il risultato di una espressione.
Assegnazione dei valori alle variabili(2)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
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
Assegnazione dei valori alle variabili(3)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Esempio
Area := raggio * raggio *3.14;
Lingua := ‘Spagnolo’;
Resto : = a mod b;
Ipot : = sqrt( sqr(cat1) + sqr(cat2));
Assegnazione dei valori alle variabili(4)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Problemi di incompatibilità
A : integer;
B : real
B :=A; istruzione corretta
A:=B; istruzione non corretta
A:integer; A:=B
B: string[10] B:=AIstruzione non corretta
Gli operatori di relazione e logici(1)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Operatori di confronto
> per maggiore
< per minore
= per uguale
<= per maggiore o uguale
>= per minore o uguale
<> per diverso
Operatori logici
AND congiunzione (e)
OR disgiunzione (o)
NOT negazione
Gli operatori di relazione e logici(2)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Esempio
A >C
B <D
F <>G
(A <C) AND (C =3)
(A=5) OR (A=7)
NOT (A >5)
Le istruzioni di ingresso e uscita
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
READLN ISTRUZIONE DI INGRESSO
READLN(NOME)
WRITE O WRITELN ISTRUZIONE DI USCITA
WRITELN(AREA)
Esempio di programma (1)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
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
Esempio di programma (2)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
PseudocodificaProgramma cambio
chiedi(importo in euro)
leggi (euro)
chiedi (cambio)
leggi (cambio)
dollari euro/cambio
scrivi (dollari)
INIZIO
FINE
Diagramma a blocchi
INIZIOINIZIO
chiedi euro, cambio chiedi euro, cambio
leggi euro, cambioleggi euro, cambio
dollari <-euro/cambiodollari <-euro/cambio
scrivi dollariscrivi dollari
FINEFINE
Esempio di programma (3)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Programma PascalPROGRAM 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.
Le fasi della programmazione
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
CODIFICA
EDITOR
PROGRAMMA SORGENTE
1
COMPILAZIONE
COMPILATORE
PROGRAMMA OGGETTO
2
LINKING (COLLEGAMENTO)
LINKER
PROGRAMMA ESEGUIBILE
3
L’ambiente Turbopascal
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Editor
Compilatore
Debugger
Memoria centrale
Memoria di massa
open
save
Save as
Documentazione (1)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
Cinque passi basilari:
Descrizione del problema1
Definizione dei dati2
3 Diagrammi a blocchi
4 Pseudocodifica
5 Programma Pascal
Documentazione (2)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
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
Documentazione (3)
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA
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;
Fine
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA
Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
CACCIATORE ROSA