La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fondamenti di Informatica Prof. D. Cantone. Modulo LeTecniche della Programmazione: Strutture di controllo e strutture dati Modulo LeTecniche della Programmazione:

Presentazioni simili


Presentazione sul tema: "Fondamenti di Informatica Prof. D. Cantone. Modulo LeTecniche della Programmazione: Strutture di controllo e strutture dati Modulo LeTecniche della Programmazione:"— Transcript della presentazione:

1 Fondamenti di Informatica Prof. D. Cantone

2 Modulo LeTecniche della Programmazione: Strutture di controllo e strutture dati Modulo LeTecniche della Programmazione: Strutture di controllo e strutture dati Walter Fiorio

3 Terza classe di un Istituto Tecnico Industriale ad Indirizzo Informatico n Modulo 1: Premesse iniziali e formalizzazione dei problemi (6 sett.) –Unità 1: Nozioni di base –Unità 2: Dal problema allalgoritmo 1/3

4 Terza classe di un Istituto Tecnico Industriale ad Indirizzo Informatico n Modulo 2 Il Sistema di elaborazione:Architetture e risorse (11 sett.) –Unità 3: Gli Automi –Unità 4: Le risorse Hardware e Software –Unità 5: Dallalgoritmo al programma –Unità 6: Il sistema operativo Windows 2/3

5 Terza classe di un Istituto Tecnico Industriale ad Indirizzo Informatico n Modulo 3 LeTecniche della Programmazione (13 sett.): Strutture di controllo e strutture dati –Unità 7: Le strutture di controllo –Unità 8: I dati: tipi e strutture –Unità 9: Strutture dinamiche di dati n Modulo 4 La Comunicazione con il computer (3 sett.) –Unità 10 Reti e Internet 3/3

6 Modulo 3 LeTecniche della Programmazione: Strutture di controllo e strutture dati Obiettivi generali n Codificare e validare algoritmi effettuando le necessarie correzioni n Analizzare situazioni complesse scomponendo i problemi in parti n Realizzare procedure risolutive di parti e assemblarle per ottenere soluzioni 1/2

7 Modulo 3 LeTecniche della Programmazione: Strutture di controllo e strutture dati Obiettivi generali n Individuare la struttura dati più idonea in funzione del problema da risolvere n Produrre unefficace documentazione contestualmente allo sviluppo del progetto 2/2

8 Unità 7: Le strutture di controllo n Tempo necessario n Prerequisiti richiesti n Competenze n Metodologie n Strumenti

9 Tempo necessario n 4 settimane (24 ore) n Lezione frontale – 8 ore n Laboratorio – 8 ore n Verifiche e valutazioni – 4 ore n Recupero e/o potenziamento – 4 ore

10 Prerequisiti richiesti n Generali –Capacità di decodifica del testo n Specifici –Saper realizzare semplici programmi di tipo sequenziale, individuando: dati di input, dati di output, variabili di lavoro, sequenza delle azioni da compiere –Conoscere la sintassi delle istruzioni fondamentali di un linguaggio –Saper lavorare in un ambiente di programmazione

11 Competenze da acquisire n Applicare correttamente i principi della programmazione strutturata n Costruire algoritmi strutturati n Rappresentare le strutture fondamentali e quelle derivate: –in pseudocodifica –con i diagrammi a blocchi –in Pascal

12 Competenze da acquisire n Codificare e validare algoritmi effettuando le necessarie correzioni n Individuare le strutture di controllo più idonee per la soluzione di un problema n Compilare un programma individuando e correggendo gli errori di compilazione più frequenti

13 Metodologie n Lezione frontale n Discussione guidata

14 Strumenti n Libro di testo n Schede di verifica e/o monitoraggio n PC e ambiente di programmazione

15 La programmazione strutturata La programmazione strutturata è la progettazione, la realizzazione e il collaudo di un programma costituito da parti che dipendono luna dallaltra secondo un ben definito modello organizzativo 1/2

16 La programmazione strutturata Qualsiasi algoritmo può essere espresso usando esclusivamente le strutture di sequenza, di selezione e di iterazione. (Teorema di Bohm- Jacopini ) 2/2

17 Le strutture di controllo 1/11 Sequenza Istruz. 1 z Istruz. 3 z Istruz. 2 z Istruzione 1 Istruzione 2 Istruzione 3

18 Le strutture di controllo 2/11 Alternativa Istruz. 1 z Istruz. 2 z Condiz. SE condizione ALLORA istruzione 1 ALTRIMENTI istruzione 2 VF

19 Le strutture di controllo 3/11 Ripetizione Istruz. 1 z Condiz. RIPETI istruzioni FINCHE condizione F V

20 Le strutture di controllo 4/11 La sequenza si rappresenta costruendo un blocco di istruzioni, ognuna terminante con il punto e virgola, delimitato allinizio dalla parola BEGIN e alla fine dalla parola END con il punto e virgola.

21 Le strutture di controllo 5/11 Esempio: calcolo dello sconto del 30% sul prezzo di un articolo: BEGIN ClrScr; Write (Chiedi prezzo e descrizione); Readln (prezzo, descrizione); sconto:= prezzo*30/100; prezzo:=prezzo- sconto; Writeln (descrizione, prezzo:7:2); Readln END;

22 Le strutture di controllo 6/11 La struttura If..Then…Else.. costituisce una istruzione unica: pertanto davanti a Else non si mette il punto e virgola. Esempio – Prodotti in offerta 3x2 Se di un prodotto vengono acquistati 3 pezzi, si deve pagare limporto pari a 2 pezzi. Per le quantità inferiori a tre il prezzo resta invariato. Non sono ammesse quantità maggiori di tre.

23 Le strutture di controllo 7/11 PSEUDOCODIFICA INIZIO chiedi (prezzo, quantità) leggi (prezzo,qta) SE qta =3 ALLORA qta <- 2 importo <- qta* prezzo scrivi (importo) FINE

24 Le strutture di controllo 8/11 BEGIN ClsScr; Write (Scrivi prezzo e quantità ); Readln(prezzo, qta); IF qta =3 THEN qta:=2; importo:= prezzo*qta; Writeln (Importo da pagare =,importo:10:2); Readln END.

25 Le strutture di controllo 9/11 La ripetizione è rappresentata in Pascal dal gruppo di istruzioni comprese tra REPEAT e UNTIL. Tali istruzioni vengono ripetute tante volte, fino a quando la condizione scritta dopo UNTIL diventa vera. Esempio: Calcolare il prodotto tra due interi utilizzando la sola operazione di somma

26 Le strutture di controllo 10/11 PSEUDOCODIFICA INIZIO chiedi (due numeri) leggi (a,b) prodotto <- 0 RIPETI prodotto <- prodotto + a b <- b-1 FINCHE b=0 scrivi (prodotto) FINE

27 Le strutture di controllo 11/11 BEGIN ClsScr; Write (Scrivi due numeri ); Readln(a, b); prod:=0 REPEAT prod:= prod+a; b:= b-1 UNTIL b=0; Writeln (prodotto =, prod); Readln END.

28 Le strutture derivate 1/14 E possibile considerare delle varianti della struttura di ripetizione già descritta. Nelliterazione precondizionale si effettua il controllo sulla condizione, prima di eseguire le istruzioni. istruzioni condizione V F

29 Le strutture derivate 2/14 Nel linguaggio Pascal literazione precondizionale si rappresenta con la struttura WHILE: WHILE condizione DO BEGIN istruzione; END; Esempio: Divisione tra interi usando le sottrazioni successive

30 Le strutture derivate 3/14 PSEUDOCODIFICA INIZIO chiedi (due numeri) leggi (a,b) quoz <- 0 MENTRE a >= b ESEGUI a <- a-b quoz <- quoz +1 scrivi (quoziente=,quoz) scrivi (resto =, a) FINE

31 Le strutture derivate 4/14 Quoziente della divisione tra interi (corpo del programma in Pascal): BEGIN ClrScr; Write (Scrivi due numeri ); Readln (a,b); quoz:= 0; WHILE a >= b DO BEGIN a:=a – b; quoz:=quoz + 1 END; Writeln (quoziente, quoz); Readln END.

32 Le strutture derivate 5/14 Altra struttura derivata dalla ripetizione è quella che permette di ripetere un certo gruppo di istruzioni per un numero di volte prefissato, cioè la ripetizione enumerativa. Il controllo viene effettuato su una variabile-contatore: la ripetizione si arresta quando il contatore supera un valore prefissato.

33 Le strutture derivate 6/14 La ripetizione enumerativa: diagramma a blocchi c <- min istruzioni incrementa c c<=max F V

34 Le strutture derivate 7/14 La ripetizione enumerativa in Pascal: FOR contatore:= valore_iniziale TO valore_finale DO BEGIN istruzioni END; Esempio: Data in input una serie di n numeri, determinare il massimo tra essi.

35 Le strutture derivate 8/14 PSEUDOCODIFICA INIZIO chiedi (il numero dei dati) leggi(n) PER i DA 1 A n ESEGUI chiedi (dato) leggi (dato) SE i = 1 ALLORA max <- dato SE dato > max ALLORA max <- dato scrivi(max) FINE

36 Le strutture derivate 9/14 BEGIN ClrScr; Write (Quanti sono i dati? ); Readln (n); FOR i:=1 TO n DO BEGIN Write (Inserisci il, i dato ); Readln (dato); IF i = 1 THEN max:=dato IF dato > max THEN max:=dato END; Writeln (Il valore massimo è:, max); Readln END.

37 Le strutture derivate 10/14 Più complessa della struttura alternativa a due vie è, infine, la struttura di selezione multipla. PSEUDOCODIFICA: CASO DI variabile= lista valori-1: istruzioni-1 lista valori-2: istruzioni-2... lista valori-n: istruzioni-n ALTRIMENTI istruzioni

38 Le strutture derivate 11/14 Var=val1 Var=val2 Var =val n Istruz. 1 Istruz 2 Istruz n istruzioni V V V F F F La struttura di selezione multipla – Diagramma a blocchi

39 Le strutture derivate 12/14 La struttura di selezione multipla in Pascal: CASE selettore OF 1: istruzione 1 2: istruzione 2 3: istruzione 3 ELSE istruzione END; Esempio: Simulazione di una calcolatrice che sia in grado di eseguire le 4 operazioni aritmetiche fondamentali.

40 Le strutture derivate 13/14 BEGIN ClrScr; REPEAT Write (Dammi due numeri ); Readln (a,b); Write (Indica loperazione +, -,*, / ); Readln (operatore); Errore:= false; CASE operatore OF +: risultato:=a+b - : risultato:=a-b * : risultato:=a*b / : IF b<>0 THEN risultato:=a/b ELSE BEGIN Writeln(Operazione impossibile); errore:=true END

41 Le strutture derivate 14/14 ELSE BEGIN Writeln (Tasto errato); errore:=true END END; IF NOT errore THEN Writeln (Il risultato è risultato); Write (Vuoi ripetere ? (s/n) ) Readln (risp) UNTIL risp= n END.

42 FINE


Scaricare ppt "Fondamenti di Informatica Prof. D. Cantone. Modulo LeTecniche della Programmazione: Strutture di controllo e strutture dati Modulo LeTecniche della Programmazione:"

Presentazioni simili


Annunci Google