ISIS “C. Facchinetti” Sede: via Azimonti, 5 - 21053 Castellanza Tel. 0331 635718 fax 0331 679586 [email protected] www.isisfacchinetti.it PROGRAMMA SVOLTO E RELAZIONE FINALE DEL DOCENTE Rev. 0 del 13/07/15 CONOSCENZE / CONTENUTI SVILUPPATI Studenti con giudizio sospeso per effettuare i corsi di recupero e prepararsi alla prova di settembre Studenti con sufficienza in Informatica ma promossi con lettera Nota1: la numerazione degli esercizi si riferisce a quella riportata dal testo digitale sull'iPad: 10 pagine più avanti della numerazione del libro cartaceo Nota2: il codice deve essere opportunamente commentato e ogni funzione opportunamente documentata Argomento funzioni in C definizione e prototipi chiamata e parametri attuali parametri: valore e riferimento visibilità ed ambiente di esecuzione funzioni e librerie struttura di un programma Strutture dati: vettori Array monodimensionali: dichiarazione, manipolazione, ricerca, ribaltamento Array e algoritmi classici Algoritmi di shift,rotazione Algoritmi di ordinamento: sele sort, bubble sort, insert sort Algoritmi di inserimento e cancellazione Algoritmo di ricerca sequenziale Argomento Array e algoritmi classici Algoritmo di ricerca dicotomica Algoritmi di ordinamento: quicksort e mergesort Strutture dati: matrici e struct Inizializzazione, visualizzazione, manipolazione di una matrice stringhe: operazioni e funzioni di manipolazione stringhe struct e operazioni; array di struct File File di testo, accesso sequenziale File binari, ad accesso diretto. Funzioni standard C: fopen, fclose, fscanf, fprintf, fgetc, fputc, fputs, fgets, fread, fwrite, fseek, ftell Memoria dinamica puntatori e array dinamici La grafica in C Principali problemi dell’interfaccia utente. Utilizzo della libreria grafica Castellanza, 14 giugno 2016 PRIMO PERIODO Pagine del libro /appunti teoria Modulo 6 - U.D. 1 Pagine del libro/altro per gli esercizi Pag. 277: tutti gli esercizi Pag. 278: tutti gli esercizi dispari Modulo 6 - U.D. 2 Pag. 288 - i primi 6 esercizi Pag. 289 - tutti i 4 esercizi Modulo 7 - U.D. 1 Pag. 318: tutti gli esercizi dispari Pag. 319: esercizi n. 1, 3, 5,7 Modulo 8 - U.D. 1 Pag. 383: tutti gli esercizi dispari Modulo 8 - U.D. 2 Pag. 390: esercizio n. 1 (fondo pag.) SECONDO PERIODO Pagine del libro/appunti Modulo 8 - U.D. 2 Pagine del libro/altro per gli esercizi Pag. 391: tutti gli esercizi dispari Modulo 8 - U.D. 3 Modulo 7 - U.D. 2 Pag. 331: esercizi 1, 3, 5, 9 Modulo 7 - U.D. 3 Pag. 340: esercizi 1, 3, 11, 13 Modulo 7 - U.D. 4 Pag. 348: esercizi 3, 5, 7 Modulo 7 - U.D. 5 Pag. 369: esercizi 1, 3, 9, 15 Modulo 9 - U.D. 1 Pag. 407: esercizi 5, 6, 7, 8 Modulo 9 - U.D. 2 Libreria grafica CodeBlocks Pag. 422: esercizi 1, 2, 11 Realizza un'interfaccia utente o una presentazione grafica per almeno uno dei programmi realizzati Firma dei docenti Enrica Lomazzi Loris Pagani PROGRAMMA SVOLTO E RELAZIONE FINALE DEL DOCENTE 3^ AI - per gli studenti sufficienti in informatica Per gli studenti promossi con il 6: svolgi almeno gli esercizi del SECONDO PERIODO Per gli studenti promossi con voto superiore a 6: svolgi gli esercizi della tabella sottostante Attenzione! Costruisci sempre file di testo "input.txt" (che sostituiscano la tastiera) da cui leggere gli input dei programmi e file di testo "output.txt" (che sostituiscano il video) su cui scrivere gli output dei programmi! Nota: la numerazione degli esercizi si riferisce a quella riportata dal testo digitale sull'iPad, che è sempre 10 pagine più avanti della numerazione del libro cartaceo Argomento Array e algoritmi classici Algoritmo di ricerca dicotomica Algoritmi di ordinamento veloci: quicksort e mergesort Memoria dinamica puntatori e array dinamici La grafica in C Principali problemi dell’interfaccia utente. Utilizzo della libreria grafica Per chi vuole cimentarsi in un progetto (facoltativo): Pagine del libro/appunti Modulo 8 - U.D. 2 Pagine del libro/altro per gli esercizi Pag. 391: tutti gli esercizi dispari; Modulo 8 - U.D. 3 Modulo 9 - U.D. 1 Pag. 407: esercizi 5, 6, 7, 8 Modulo 9 - U.D. 2 Libreria grafica CodeBlocks Pag. 422: esercizi 1, 2, 11 Realizza un'interfaccia utente grafica per almeno uno dei programmi realizzati (eventualmente sostituendola ai file di I/O) Dato un testo da file di testo di dimensione qualsiasi (potrebbe essere ad es. I Promessi Sposi) scrivi un progetto che visualizza tutte le frasi (da punto a punto) che soddisfano una qualsiasi espressione logica inserita in input.(a tua discrezione permettere qualsiasi livello di parentesi per racchiudere le espressioni logiche.) Es. inserendo casa && chiesa devo visualizzare tutte le frasi che contengono le due parole; inserendo casa || chiesa devo visualizzare tutte le frasi che contengono almeno una delle due parole; inserendo !casa devo visualizzare tutte le frasi che non contengono la parola. Attenzione! Prima di scrivere codice sarà necessario fare un’accurata analisi, decidere la struttura dati da utilizzare e la suddivisione del lavoro in sottoproblemi, quindi tutte le funzioni necessarie! Commenta il codice e documenta le funzioni ...e per i più coraggiosi, una sfida... all'ultimo sangue!!! Strutture dati dinamiche Strutture dinamiche: pile, code, liste Strutture dinamiche non lineari: alberi binari Principali operazioni: inserimento, cancellazione, ricerca Segui i video relativi alle strutture indicate (liste [pile, code], alberi), al link https://digit.cms.di.unipi.it/#/resources/algoritmi (guida ad algoritmi e strutture dati) Sul libro trovi questi argomenti sulle seguenti U.D. Modulo 9 - U.D. 3 Modulo 9 - U.D. 4 Modulo 10 - U.D. 2 2 Pag. 440: esercizi 4, 6 (tutti i punti) Pag. 456: esercizi 1, 4 Pag. 500: esercizi 1, 2, eventualmente altri a scelta