Materiali Didattici Laboratorio (2006)   home


Seduta
Materiali base
Eventuali materiali ed esempi aula
Argomenti coperti - Note
Squadra 1
Squadra 2
1
Presentazione e cenni preliminari

17 marzo
24 marzo
Riferimenti docenti - Organizzazione attività - Pianificazione
Esempi ed esercizi di base Excel

Conoscenza ed utilizzo di un foglio elettronico (Microsoft Excel)
Il concetto di Foglio Elettronico o Spreadsheet.
Cartella di lavoro, fogli di lavoro (commutazione, inserimento, cambio nome, spostamento), celle, coordinate, operazioni taglia/copia/incolla/sposta/trascina anche fra fogli, ricopia in basso/a destra, serie aritmetiche, formule, riferimenti assoluti e relativi, formato celle (colore, colore testo, tipo, stile e dimensione testo, formati valuta, formato decimali), operatore SE(..), operatore PI.GRECO(), formattazione condizionale, strumento Ricerca obiettivo, inserimento di grafici XY, grafici a torta, grafici ad anello, istogrammi (singoli o multipli)
Analisi "what if" manuale o con uso di Ricerca Obiettivo (Goal Seek)
2
Esercizio HTML proposto; primi programmi C

Esempio di soluzione per esercizio HTML
31 marzo
7 aprile
HTML: presentazione interattiva dei principali tags HTML 3.2 e del loro effetto sul testo e sulla struttura del documento.
Realizzazione autonoma di un semplice sito su più pagine con presentazione di alcuni temi svolti.

C: avvio dell'ambiente di sviluppo C e primo programma C.

Un sintetico compendio dei principali tags HTML è proposto fra i materiali delle esercitazioni.
3
Esercizi C
21 aprile
28 aprile
Analisi su serie di numeri. Immagazzinamento in un vettore dei numeri letti da tastiera. Determinazione della primalità di un numero. Individuazione dei numeri pari e dispari. Decomposizione in fattori primi di un numero. Analisi di stringhe: ricerca di caratteri comuni e non comuni a due stringhe assegnate.
Tecniche impiegate:
Cicli for, accesso ad array, scanf e printf, divisione intera, resto della divisione intera, cicli innestati, istruzioni break e continue, funzione strlen, definizione di funzioni secondarie chiamate dal main. Dichiarazione di variabili scalari e di array.

Esempio di soluzione esercizio vettore numeri

Esempio di soluzione esercizio su numeri primi e decomposizione in fattori

Esempio di soluzione esercizio su analisi e confronto fra due stringhe
4
Esercizi C
19 maggio
26 maggio
Esperienza di costruzione modulare di programmi di media lunghezza mediante decomposizione in più funzioni.
Esercizi proposti: programma Calcolatrice (esempio di soluzione); programma Archivio dati anagrafici (esempio di soluzione).
Generazione e gestione di un menu di opzioni, con validazione della scelta, mediante funzione dedicata. Acquisizione dell'opzione da tastiera mediante gets o scanf. Uso di cicli per il rifiuto delle opzioni non valide e la reiterazione della richiesta.
Selezione dell'elaborazione in base all'opzione scelta, mediante costrutto switch.
Funzioni dedicate alle varie opzioni.
Esecuzione di operazioni comuni su stringhe mediante funzioni di libreria: copiatura (strcpy), confronto (strcmp), ricerca di sottostringhe (strstr).
Definizione di una struttura dati idonea a ospitare un archivio di dati anagrafici, mediante uso di strutture (anche nidificate) e stringhe. Scelta opportuna del tipo di dato per informazioni non strettamente numeriche, come il numero civico, o numeriche ma non ospitabili in normale variabile intera per incompatibilità di range, come il CAP.
Uso di operatori booleani per effettuare ricerche con condizioni multiple.
Uso di cicli a condizione finale o iniziale.
5
Esercizi C
9 giugno
16 giugno
Parametri passati al programma su riga di comando
Files
Puntatori, anche in combinazione con strutture (e passaggio parametri per indirizzo)
Ricorsione
Programmi esempio:
  • Conta vocali presenti in un file specificato su riga di comando
  • Notepad: accetta testo da tastiera e lo memorizza su un file specificato su riga di comando
  • Passaggio di parametri a funzione: per valore e per indirizzo
  • Determinazione della lunghezza di una stringa, sia con algoritmo iterativo sia con algoritmo ricorsivo, usando puntatori e non array