La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fondamenti di Informatica

Presentazioni simili


Presentazione sul tema: "Fondamenti di Informatica"— Transcript della presentazione:

1 Fondamenti di Informatica
Prof. D. Cantone

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

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

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

5 Terza classe di un Istituto Tecnico Industriale ad Indirizzo Informatico
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 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 Codificare e validare algoritmi effettuando le necessarie correzioni Analizzare situazioni complesse scomponendo i problemi in parti 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 Individuare la struttura dati più idonea in funzione del problema da risolvere Produrre un’efficace documentazione contestualmente allo sviluppo del progetto 2/2

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

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

10 Prerequisiti richiesti
Generali Capacità di decodifica del testo 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
Applicare correttamente i principi della programmazione strutturata Costruire algoritmi strutturati Rappresentare le strutture fondamentali e quelle derivate: in pseudocodifica con i diagrammi a blocchi in Pascal

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

13 Metodologie Lezione frontale Discussione guidata

14 Strumenti Libro di testo Schede di verifica e/o monitoraggio
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 l’una dall’altra 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. 1z Istruzione 1 Istruzione 2 Istruzione 3 Istruz. 2z Istruz. 3z

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

19 Le strutture di controllo 3/11
Ripetizione RIPETI istruzioni FINCHE’ condizione Istruz. 1z F Condiz. 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 all’inizio 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 l’importo 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. Nell’iterazione precondizionale si effettua il controllo sulla condizione, prima di eseguire le istruzioni. F condizione V istruzioni

29 Le strutture derivate 2/14
Nel linguaggio Pascal l’iterazione 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 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 F c<=max V istruzioni incrementa c

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 scrivi(max) FINE

36 Le strutture derivate 9/14
BEGIN ClrScr; Write (‘Quanti sono i dati? ‘); Readln (n); FOR i:=1 TO n DO Write (‘Inserisci il ‘, i ‘dato ‘); Readln (dato); IF i = 1 THEN max:=dato IF dato > max 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
La struttura di selezione multipla – Diagramma a blocchi V Var=val1 Istruz. 1 F V Var=val2 Istruz 2 F V Var =val n Istruz n F istruzioni

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 l’operazione +, -,*, / ‘); Readln (operatore); Errore:= false; CASE operatore OF ‘+’: risultato:=a+b ‘-’ : risultato:=a-b ‘*’ : risultato:=a*b ‘/’ : IF b<>0 THEN risultato:=a/b ELSE 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"

Presentazioni simili


Annunci Google