Fondamenti di Informatica

Slides:



Advertisements
Presentazioni simili
Prof. Rebecca Montanari Anno accademico 2011/2012
Advertisements

Esercizio Usate il ciclo repeat until (controllo post condizionale) per simulare il prodotto N x M con M somme di N. Esempio: 5 x 3 equivale a fare 5 +5.
Classe III A A.s – 2010 Programma di Informatica
Classe III A A.s – 2011 Programma di Informatica 5 ore settimanali (3 laboratorio) Docenti –Prof. Alberto Ferrari –Prof. Alberto Paganuzzi.
LS Tron Classe 4TC – as 2006/07 LORGANIZZAZIONE DEI PROGRAMMI UD. 8 p. 282.
PROGRAMMARE IN PASCAL (le basi)
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Fondamenti di Informatica Prof. Cantone
Dall’Algoritmo al Programma
Fondamenti di Informatica
Fondamenti di Informatica
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Iterazione enumerativa (for)
Informatica Problema Algoritmo Programma
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Introduzione alla programmazione lll
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Unità Didattica 2 I Linguaggi di Programmazione
Algoritmi su Tipi Semplici
Istruzioni Decisionali
Istruzioni Iterative Nicola Fanizzi
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Elementi di Informatica
Elementi di Informatica
Da Problema a Programmazione
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Lezione 6 Strutture di controllo Il condizionale
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Si vuole che lesecutore coniughi non solo il presente indicativo ma anche limperfetto e il passato remoto Acquisisci tempo presente imperfetto passato.
IPOTESI DI LAVORO GRUPPO n° 3: LEO, RIBATTEZZATO, ROSSI, SCIANGUETTA
Lo sviluppo del software e i linguaggi di programmazione
Elementi di Informatica di base Dott.ssa Elisa Tiezzi
Problema: come dividere due numeri
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
Programma di Informatica Classi Prime
Ripasso : Algoritmi.
Programmazione Strutturata
Corso di Visual Basic 6.0 OBBIETTIVI
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
GLI ALGORITMI DI RICERCA
ALGORITMI Un algoritmo (detto anche procedura, prescrizione, processo, routine, metodo) è un insieme di regole (dette anche direttive o istruzioni) che,
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
1 Parte 2 Fondamenti di programmazione. 2 Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Sorrentino, Corvino, Palumbo, Credendino, Salzano, Ponticiello Caso di studio 2 Gruppo 7 Materia : Informatica- progetto ABACUS Scuola: ITIS indirizzo.
Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto.
Interpreti e compilatori
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
C++:Strutture di Controllo
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Problemi, algoritmi e programmazione
Progettazione degli algoritmi
LICEO SCIENTIFICO STATALE “J. DA Ponte”
Programmazione dei Calcolatori Elettronici
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Unità di apprendimento 6 Dal problema al programma.
PROGETTO «DIRITTI A SCUOLA» MATEMATICA I.I.S. L. DA VINCI – G. GALILEI di NOCI sede I.T.I G. GALILEI GIOIA DEL COLLE CLASSI II A.S. 2012/2013 PROF. ssa.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Fondamenti di Informatica Prof. D. Cantone

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

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

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

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

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

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

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

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

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

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

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

Metodologie Lezione frontale Discussione guidata

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

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

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

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

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

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

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.

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;

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.

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

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.

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

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

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.

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

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

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

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.

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.

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

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.

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

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.

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

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

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.

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

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.

FINE