ITIS MATTEI NOME: BELLAI MONICA FIRMA: DATA: 4/06/2021 PROGRAMMA SVOLTO MATERIA: Informatica anno scolastico: 2020-2021 CLASSE: 3A LSSA Codifica di algoritmi con la programmazione strutturata (ripasso del programma della classe seconda) Obiettivi specifici di apprendimento: Saper analizzare, risolvere problemi e codificare soluzioni con il linguaggio degli algoritmi Saper riconoscere i vari tipi di istruzioni che sono presenti in un algoritmo Saper rappresentare un algoritmo: con un diagramma a blocchi e con lo pseudo-linguaggio Saper rappresentare variabili e costanti nell’informatica Saper rappresentare il processo di valutazione di un’espressione matematica Contenuti: Le istruzioni di un algoritmo: classificazione per tipo Le istruzioni di inizio e fine e le istruzioni operative Le strutture di controllo (La programmazione strutturata e il teorema di Böhm-Jacopini) La sequenza La selezione L’algebra booleana e il suo ruolo nella programmazione strutturata o Proposizioni ed enunciati; o Enunciati atomici e composti; o I connettivi logici elementari; o Altri connettivi logici; o Gli operatori relazionali; o Regole di precedenza Il costrutto iterativo e la potenza di calcolo Il costrutto iterativo precondizionale e postcondizionale Il costrutto iterativo definito Sviluppo di algoritmi in un linguaggio di tipo strutturato (C++) (partendo dal ripasso del programma della classe seconda) Obiettivi specifici di apprendimento: Come scrivere un programma in C++ Conoscere l’alfabeto del linguaggio Saper dichiarare variabili e costanti Saper utilizzare gli operatori Saper effettuare conversioni aritmetiche Saper codificare le strutture di controllo Saper realizzare programmi validi ed efficaci Contenuti: Le basi del linguaggio C++ Dal problema all’algoritmo PLS_2° LSSA V.1 del 23.10.20 Pagina 1 di 7 ITIS MATTEI NOME: BELLAI MONICA FIRMA: DATA: 4/06/2021 PROGRAMMA SVOLTO MATERIA: Informatica anno scolastico: 2020-2021 CLASSE: 3A LSSA I linguaggi per descrivere gli algoritmi: il linguaggio ad alto livello e linguaggio a basso livello Linguaggio di programmazione e linguaggio macchina Dal codice sorgente al codice macchina: la compilazione Esecuzione di un algoritmo L’alfabeto del linguaggio C++: le parole chiave e gli identificatori La struttura di un programma I commenti, i tipi di dato, la dichiarazione di variabili e costanti Le istruzioni di input/output (cin, cout) Gli operatori aritmetici, unari, confronto, logici, assegnamento Le strutture di controllo in C++ Il costrutto di selezione: l’istruzione if…then….else Il costrutto iterazione: l’istruzione iterativa indefinita while, do/while, definita for. L’istruzione di selezione multipla: switch/case Le strutture dati in C++ Obiettivi specifici di apprendimento: Saper utilizzare tipi di dati strutturati Contenuti: I vettori: Aspetti implementativi dei vettori Dichiarazione di un vettore Operazioni con i vettori: caricamento, stampa, shift degli elementi Le stringhe e le operazioni con le stringhe (length, empty, concatenazione, at, insert, substr, erase, replace, find) Le matrici e le operazioni con le matrici Struct e array Le funzioni in C++ Obiettivi specifici di apprendimento: Realizzare algoritmi che fanno uso di procedure e funzioni Saper impostare funzioni parametrizzate Contenuti: Il modello top-down e bottom-up Programmi e sottoprogrammi Le procedure Ambiente locale e ambiente globale Il passaggio dei parametri (per valore) Le funzioni PLS_2° LSSA V.1 del 23.10.20 Pagina 2 di 7 ITIS MATTEI NOME: BELLAI MONICA FIRMA: DATA: 4/06/2021 PROGRAMMA SVOLTO MATERIA: Informatica anno scolastico: 2020-2021 CLASSE: 3A LSSA Materiale utilizzato Testo: Informatica app 2° biennio di Gallo e Sirsi – Minerva Scuola Altro: Slide, appunti, video tutorial forniti dalla docente Esercitazioni di programmazione in C++ Esercitazioni in C++ utilizzando l’applicativo DevC++ Firma studenti Firma docente ……………………….. ……….………………. ……………………….. PLS_2° LSSA V.1 del 23.10.20 Pagina 3 di 7 ITIS MATTEI NOME: BELLAI MONICA FIRMA: DATA: 4/06/2021 PROGRAMMA SVOLTO MATERIA: Informatica anno scolastico: 2020-2021 CLASSE: 3A LSSA COMPITI ESTIVI Identificare una possibile soluzione per risolvere i problemi sottoelencati e sviluppare la soluzione trovata in C++ Per ogni categoria scegliere almeno 3 esercizi. Generale: 1. Somma 10 numeri interi e comunica la somma dopo averli letti o quando viene inserito lo 0 2. Inserendo 10 numeri interi, calcola quanti numeri pari sono stati inseriti 3. A scelta dell'utente, calcola la somma di 10 numeri interi inseriti da tastiera o eleva un numero per un esponente inserito da tastiera 4. A scelta dell'utente, calcola il fattoriale di un numero, la somma dei primi N numeri pari (con N inserito da tastiera) o l'mcd tra due numeri 5. Restituisce il maggiore e il minore di una serie di numeri inseriti da tastiera 6. Dato un numero inserito da tastiera, comunica tutti i suoi divisori. Vettori/matrici: 7. Carica da tastiera un vettore di n elementi e lo stampa invertendo i suoi elementi. 8. Programma che, dato il numero di capi di abbigliamento comprati da 10 clienti in un negozio, determina il numero complessivo di capi venduti e la media per cliente. 9. Programma che permette di calcolare il fattoriale di un numero intero n>=0 ricorrendo a un array monodimensionale 10.L’utente legge da tastiera una lista di nomi (string) e l’età per ogni nome. Quando l’utente digita la parola "fine", il programma deve visualizzare in output il numero di maggiorenni letti. 11.Un’azienda memorizza gli stipendi dei propri dipendenti per ogni mese dell’anno. Esegui i seguenti punti: i) Carica i nome dei dipendenti in un vettore e gli stipendi di ogni mese nella matrice (dimensioni matrice: num dipendenti X 12) ii) Visualizza tutti gli stipendi di tutti i dipendenti (una listbox per i nomi dei dipendenti e una listbox con gli stipendi da gennaio a dicembre) iii) Visualizza la somma degli stipendi per ogni dipendente PLS_2° LSSA V.1 del 23.10.20 Pagina 4 di 7 ITIS MATTEI NOME: BELLAI MONICA FIRMA: DATA: 4/06/2021 PROGRAMMA SVOLTO MATERIA: Informatica anno scolastico: 2020-2021 CLASSE: 3A LSSA iv) Calcola e visualizza la somma degli stipendi dato un dipendente (letto da tastiera) v) Calcola e visualizza il dipendente che guadagna di più nel mese di dicembre vi) Aumenta tutti gli stipendi di tutti mesi del 5% (modifica della matrice) vii) Calcola la percentuale degli stipendi minore di 1500 euro nel mese di febbraio Stringhe: 12.Data una stringa di caratteri di lunghezza assegnata determinare quante volte un certo carattere (letto da tastiera) vi è contenuto. 13.Date due stringhe, la prima di lunghezza m e la seconda di lunghezza n (m>n) lette da tastiera, riconoscere se la seconda stringa è contenuta nella prima. 14.Data una stringa di lunghezza assegnata e letta da tastiera, costruirne altre due una coi caratteri di posto dispari (della prima) e l’altra coi caratteri di posto pari. Determinare il numero di caratteri delle due stringhe costruite. 15.Scrivere un programma Concatena che chiede all’utente di inserire tre singole parole e le ristampa interponendovi un trattino. Per esempio, se l’utente inserisce “mio”, “gatto” e “bello” il programma stamperà “mio-gatto-bello”. 16. Una "palindrome" è una parola che può essere letta nello stesso modo sia da destra verso sinistra che da sinistra verso destra, ad esempio: otto, Ada. Descrivere un algoritmo che, data una paro-la costituita da k lettere rappresentate come x1, x2, x3 ...,xk, stabilisce se la parola è una palindrome oppure no. Funzioni: 17.scrivere un programma con una funzione che riceve un numero intero e restituisce il suo più grande fattore primo e la sua molteplicità (ad esempio se il numero passato è 250 restituisce 5 e 3 perché 250=2*5*5*5 18.Creare una funzione che ricevuti tre valori sottrae al maggiore metà del valore del minore. 19.Creare una funzione che riceve tre numeri interi e restituisce la differenza tra il più grande e il più piccolo. 20.Creare una funzione che riceve una quantità di tempo in formato ore, minuti e secondi e la restituisce espressa solamente in secondi. 21.Creare un programma che, a scelta dell’utente, decida di trasformare un numero binario in decimale o un numero decimale in binario. Le due trasformazioni PLS_2° LSSA V.1 del 23.10.20 Pagina 5 di 7 ITIS MATTEI NOME: BELLAI MONICA FIRMA: DATA: 4/06/2021 PROGRAMMA SVOLTO MATERIA: Informatica anno scolastico: 2020-2021 CLASSE: 3A LSSA devono essere eseguite in due funzioni differenti. Opzionale: Per chi vuole provare a sviluppare semplici giochi: 1) Le zattere gioco che avevo assegnato in laboratorio tempo fa. Lo trovate svolto su web come “la palude in c++” o un titolo simile 2) Il gioco dell’impiccato. Anche in questo caso trovate varie soluzioni E per chi vuole provare qualcosa di diverso, ora che avete le basi, provate a sviluppare con Phyton, con sintassi molto simile a C++ ma che permette di utilizzare librerie grafiche per disegnare sullo schermo e sviluppare semplici giochi. Potete partire per esempio dalla piattaforma https://www.codingcreativo.it/python/ e creare qualche gioco dalla sezione Pygame. Buona estate a tutti Prof.ssa Bellai Monica PLS_2° LSSA V.1 del 23.10.20 Pagina 6 di 7 ITIS MATTEI NOME: BELLAI MONICA FIRMA: DATA: 4/06/2021 PROGRAMMA SVOLTO MATERIA: Informatica anno scolastico: 2020-2021 CLASSE: 3A LSSA PER GLI ALUNNI CON SOSPENSIONE DEL GIUDIZIO Svolgere gli esercizi assegnati come compito delle vacanze seguendo la scaletta: a. Individuare una possibile soluzione scritta con frasi semplici o se preferisci utilizzando lo pseudocodice b. Costruire uno o più casi di test (indentificare l’INPUT e l’OUTPUT atteso) Verificare che, applicando il caso di test, la soluzione trovata al unto a sia corretta c. Implementare la soluzione utilizzando il linguaggio C++. Eseguire il programma utilizzando i casi di test costruiti nel punto b Di seguito un valido corso per aiutarvi a ripercorrere tutti gli argomenti trattati. Vi riporto le lezioni da seguire. Ogni lezione ha una durata di meno di 10 minuti ed è corredato da tantissimi esercizi svolti spiegati passo passo. Nuovo Corso C++11 ITA del professor FCAMUSO – lo trovate su youtube https://www.youtube.com/watch?v=AehEtQ3XVV4&list=PL0qAPtx8YtJfZpJD7uFxAXglkiHSEhktG&index=1 Lezione 01 – introduzione Lezioni 07 e 08 – tipi di dati Lezioni 09 e 10 – definizioni di variabili e commenti Lezioni 20, 23, 24, 25, 26, 27, 28, 29, 30 - if…else e tanti, tanti esercizi svolti Lezioni 41, 42, 43, 44, 45 – ciclo while Lezioni 51, 52 – array Lezioni 53, 54, 55 - ciclo for Lezioni 66, 67, 68, 69, 70 – le funzioni Lezione 88 – matrici PLS_2° LSSA V.1 del 23.10.20 Pagina 7 di 7