Programma consuntivo di Informatica
Anno scolastico 2013 – 2014
Classe
TERZA A
Docente teorico
Lolita Tiriticco
Indirizzo
Docente tecnico pratico
Informatico
Massimiliano Patti
______________________________________________________________________
Obiettivi
L'obiettivo della materia nella terza classe è introdurre l’alunno alla programmazione evidenziando
l’esistenza di diversi modi di intenderla ed abituandolo a ragionare per modelli utilizzando le tecniche di
approccio alla soluzione dei problemi ( prevalentemente il top-down).
Al termine della terza classe gli studenti dovranno raggiungere i seguenti obiettivi:
 Analizzare correttamente un problema, rappresentarlo in forma astratta, individuando le strutture
dati più opportune.
 Impostare problemi, da un punto di vista procedurale.
 Risolvere problemi, indipendentemente da un linguaggio di programmazione.
 Verificare la correttezza di una soluzione.
 Leggere ed interpretare algoritmi risolutivi utilizzando un metalinguaggio convenzionale
(diagrammi a blocchi e linguaggio di progetto).
 Applicare correttamente la programmazione strutturata scomponendo un problema in
sottoproblemi secondo i canoni della metodologia Top-Down e della programmazione modulare.
 Usare e saper rappresentare con proprietà le strutture fondamentali di un linguaggio di
programmazione imperativo.
 Usare una interfaccia software per la programmazione imperativa conoscendo i principi della
compilazione e interpretazione dei linguaggi di programmazione.
 Essere in grado di realizzare programmi nel linguaggio prescelto, verificandone la correttezza e
producendo una idonea documentazione.
Obiettivi minimi per l’attribuzione della sufficienza:
 Possedere i contenuti minimi: Sapere la teoria dell’informatica: basi dei linguaggi di
programmazione, loro distinzione. Definizione di algoritmo, costrutti dei linguaggi di
programmazione, teorema di Bohm-Jacopini. Differenza tra compilatore ed interprete. Sapere
perché si usano e quanti sono i tipi predefiniti per i dati. Operazioni con esse. Struttura di un
programma con sottoprogrammi: differenze tra procedura e funzione e come si implementano.
Dati strutturati: gli array, e le basi del linguaggio C. Usare i diagrammi di flusso e la pseudo
codifica.
 Applicare le conoscenze acquisite per la soluzione di problemi (saper analizzare e risolvere
semplici problemi indipendentemente dal linguaggio di programmazione, saper sviluppare
semplici programmi strutturati e con array in linguaggio C ).
 Esprimersi in modo semplice ma con uso del linguaggio specifico della materia.
Contenuti:
Unità 1 – Introduzione all’informatica
 Informatica e sistemi di elaborazione






Hardware e Tipi di computer
Software e loro classificazione.
Cosa vuol dire programmare
I linguaggi di programmazione
La traduzione di un programma: compilatori ed interpreti, vantaggi e svantaggi.
I linguaggi imperativi ed altri linguaggi
Unità 2 – Primi elementi di programmazione









Definizione di algoritmo: progettare soluzioni
Componenti di un algoritmo: dati
Componenti di un algoritmo: istruzioni
Rappresentazione e verifica degli algoritmi
Dichiarazione dei dati
Istruzioni di I/O e loro gestione
La sequenza e l’assegnazione
Costanti e variabili
Variabili numeriche ed alfanumeriche
Unità 3 – La selezione
 La struttura di selezione
 Selezioni semplici






Selezioni ad una via
Selezioni in cascata
Selezioni annidate
Selezioni multipla
Concetti di logica
Utilizzo dei connettivi
Unità 4 – Struttura iterativa






Struttura iterativa
Uso delle diverse strutture iterative
Ciclo con uscita per risposta esplicita
Ciclo con contatore e sommatorie
Ciclo con uscita per condizione avverata
Cicli annidati
Unità 5 – La programmazione complessa




La complessità dei problemi.
Sottoprogrammi e funzioni.
Variabili locali e globali, parametri, passaggio dei parametri.
La ricorsione.
Unità 6 – Le strutture dati semplici




Vettori: caratteristiche, caricamento, visualizzazione.
Ricerca e ricerca dicotomica; shift-sinistro e destro; rotazione sinistra e destra.
Ordinamento per selezione e bubble sort.
Vettori paralleli. Il merge.
 Le stringhe ed i vettori di caratteri
Unità 7 – Le strutture dati complesse
 Matrice: visualizzazione, gestione, operazioni.
 Matrici quadrate e trasposte.
 Memorizzazione di strutture dati statiche: vettore di memoria, allocazione di array e matrici.
Unità 8 – Nuovi tipi per i dati
 Come si dichiara un nuovo tipo per i dati.
 Dichiarazione di nuovo tipo per le strutture dati.
Il Linguaggio C e l’ambiente DEV C++










La programmazione e le basi del linguaggio, la struttura di un programma in C.
Gli statement, dichiarazione di variabili e costanti
I tipi di dati del C ed il casting per la conversione di tipo
Gli operatori di relazione e logici
Input ed output formattati e la funzione Random.
La programmazione strutturata
La sequenza in C
La struttura di alternativa semplice e nidificata
La struttura di scelta multipla
La ripetizione: Precondizionale, Postcondizionale, Derivata.
Organizzazione dei programmi









Lo sviluppo top-down
Le funzioni
Funzioni con parametri
Passaggio dei parametri
Dichiarazione delle funzioni con i prototipi
Implementazione delle procedure
Gli array con le operazioni di scansione, caricamento, ricerca, selezione, shift , rotazione ed
ordinamento per selezione.
Le stringhe e la librerie string.h con le funzioni principali. Stringhe come vettore di char.
Typedef per le strutture e tipo enumerativo.
Laboratorio
Le ore di laboratorio sono state utilizzate per esercizi e verifiche pratiche.
Per l’implementazione abbiamo utilizzato l’interfaccia Dev C++.
Materiale didattico
 Libro di testo: : Iacobelli,Ajme,Marrone – EPROGRAM Tomo A – Juvenilia Scuola
 Appunti e codice forniti dall’insegnante.