Dall’Algoritmo al Programma 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 Conoscenze basilari delle configurazioni HW e SW 1 Nozioni generali sul sistema operativo DOS 2 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 Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA CACCIATORE ROSA Competenze Organizzare un programma rispettandone la struttura generale 1 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 programmazione 4 Realizzare un programma seguendo cinque fasi distinte: descrizione del problema, definizione dei dati, pseudocodifica del programma, diagramma a blocchi, programma Pascal 5 Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA CACCIATORE ROSA Abilità 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 coerente 4 Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA CACCIATORE ROSA Strumenti Libro di testo 1 Appunti del docente per integrare il testo adottato 2 Lavagna 3 Laboratorio multimediale 4 Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA CACCIATORE ROSA Attività didattiche Lezione frontale 1 Esercitazioni in laboratorio 2 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 esecutore utente programmatore programma Sissis – Indirizzo2 – Classe 42A 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 VARIABILI Sissis – Indirizzo2 – Classe 42A 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 a, b, s : integer; BEGIN READLN(a, b); s := a + b; WRITELN(s) END. Programma Pascal 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 a, b, s : integer; BEGIN READLN(a, b); s := a + b; WRITELN(s) END. Programma Pascal 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 a, b, s : integer; BEGIN READLN(a, b); s := a + b; WRITELN(s) END. Programma Pascal Intestazione Zona dichiarazione Program 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 a, b, s : integer; BEGIN READLN(a, b); s := a + b; WRITELN(s) END. Programma Pascal Intestazione Zona dichiarazione Sezione esecutiva Program Nome prg USES Const, Var 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 o VARIBILI NUMERICI o ALFANUMERICI Sui dati numerici + 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; {età di una persona} Sissis – Indirizzo2 – Classe 42A 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 Istruzione non corretta Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA CACCIATORE ROSA Gli operatori di relazione e logici(1) 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 Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA CACCIATORE ROSA Gli operatori di relazione e logici(2) Esempio A >C B <D F <>G (A <C) AND (C =3) (A=5) OR (A=7) NOT (A >5) Sissis – Indirizzo2 – Classe 42A 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 Diagramma a blocchi INIZIO chiedi euro, cambio leggi euro, cambio dollari <-euro/cambio scrivi dollari FINE Programma cambio INIZIO chiedi(importo in euro) leggi (euro) chiedi (cambio) leggi (cambio) dollari euro/cambio scrivi (dollari) FINE Sissis – Indirizzo2 – Classe 42A 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 CODIFICA EDITOR PROGRAMMA SORGENTE 1 COMPILAZIONE COMPILATORE PROGRAMMA OGGETTO 2 LINKING (COLLEGAMENTO) LINKER PROGRAMMA ESEGUIBILE 3 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 Memoria di massa open save Save as Sissis – Indirizzo2 – Classe 42A Catania 28/11/2002
UNITA’ DIDATTICA 3: DALL’ALGORITMO AL PROGRAMMA CACCIATORE ROSA Documentazione (1) Cinque passi basilari: Descrizione del problema 1 Definizione dei dati 2 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