I.S.I.S. “B.VARCHI” LICEO SCIENTIFICO-CLASSICO-ARTISTICO -IPSSCTA R. MAGIOTTI Viale Matteotti, 50 - 52025 MONTEVARCHI Tel. 055 9102774 – 0559103434 – fax 055 9103252 C.F. 81004290516 e-mail: [email protected] Materia/e: Informatica ANNO SCOLASTICO 2015/2016 Classe: 4 B Scienze Applicate (LICEO “B.VARCHI”) Prof./ssa Marco La Grassa PROGRAMMA SVOLTO Testo adottato: Corso di Informatica Linguaggio C e C++ Volume 2° ARGOMENTI SVOLTI LINGUAGGIO C++ • Ambiente Di sviluppo • Istruzioni di input e output cin, cout Funzioni • Definizione di funzioni in un programma c++ • Funzioni che restituiscono un valore e funzioni tipo void • Passaggio dei parametri, parametri per indirizzo o per valore. • Visibilità delle variabili • Utilizzo delle funzioni nei programmi • Funzioni ricorsive. Struct (record) • Definizione di una struct nel programma • Operazione sui record • Vettori di struct • Archiviazione dei dati attraverso vettori di struct • Operazioni con numeri complessi, utilizzando dei record • Libreria Cmath, funzioni sqrt(), pow(), cos(), sin(),atan() Puntatori • Definizione di puntatore • Utilizzo dei puntatori • Allocazione dinamica della memoria • Vettori dinamici (vettori e puntatori) Programmazione ad Oggetti • Classi, e oggetti • attributi • Metodi void , metodi che restituiscono dei valori, • Passaggio dei parametri ai metodi • UML: rappresentazione grafica di classi e istanze • Incapsulamento • Costruttore senza parametri, costruttore con parametri 1 • • • • Accesso pubblico e privato ai membri Istanziare gli oggetti Chiamata di un metodo Operazioni con numeri complessi, utilizzando le classi DATABASE • • • • • • • Definizioni di database e di DBMS Modellazione dei dati: modello concettuale, logico, fisico Modello E/R: entità, attributi, associazioni Tipi di associazione: 1:1, 1:N, N:N Regole di lettura delle associazioni Il modello relazionale Regole di derivazione delle relazioni dal modello E/R ACCESS • • • • Caratteristiche generali Tabelle: creazione, immissione dei dati e tipo di dati Definizione delle associazioni: applicazione della proprietà referenziale Realizzazione di semplici database e interrogazioni attraverso query LINGUAGGIO SQL • • • • Comando SELECT…FROM…WHERE… Congiunzione tra tabelle Funzioni di aggregazione Raggruppamenti funzioni Group by , Query nidificate PROGRAMMAZIONE LABORATORIO (tipologie di programmi effettuati in laboratorio) Programmi che utilizzano le STRUCT • Somma di numeri complessi in coordinate cartesiane (con vettori di struct) • Prodotto di numeri complessi in coordinate polari (con vettori di struct) • Trasformazioni di numeri complessi da coordinate polari a cartesiane e viceversa • Archiviazione dei dati in vettori di struct (es. alunni di una classe, clienti) • vettori dinamici con puntatori Programmi Classi Oggetti • Esercizio Classe rettangolo • Esercizio classe punto • Esercizio classe numero complesso DataBase • Access • Database Alunno Voti:_informatica Query • Database Clienti Acquisti e query Data: 14/06/2016 Gli allievi ___________________________ Il Docente Marco La Grassa ________________________ 2 OBBIETTIVI MINIMI STRUCT E PUNTATORI • • • • Definizione di struct Archiviazione dei dati attraverso vettori di struct Definizione di puntatori Vettori dinamici CLASSI ED OGGETTI • • • • • Definizione di classe Attributi e metodi Istanziare degli oggetti Richiamare dei metodi Esercizi oggetti classe punto, oggetti classe complesso DATABSE • • Definire semplici database con 2, 3 tabelle Effettuare delle semplici Query di ricerca Si allegano Testi di compiti : 3 4Bs compiti 23/10/2015 Fila A Alunno Classe a) Una squadra di atleti è composta da 4 atleti , i campi che interessano sono: Cognome, nome, punteggio (float) 1) Stampare “punto 1”, caricare gli elementi da tastiera indicando gli elementi che vengono caricati (caricare nomi e cognomi con possibilità di inserire spazio) 2) Stampare “punto 2” calcolare la media di tutti i punteggi e stamparla. Contare quanti sono gli atleti con un punteggio minore della media,stampare tutti i campi degli atleti con un punteggio minore della media. 3) Stampare “punto 3” Stampare nome e cognome dell’atleta con il punteggio più alto 4) Stampare “punto 4” verificare se è presente “rossi” “mario” o “luca” b) 1) Caricare una serie denominata B di n°4 vettori di forze con coordinate x, y, numeri caricati da tastiera, indicare l’elemento caricato. (utilizzare vettori di strutture) 2) Stampare “punto 2” calcolare la risultante in coordinate x, y, . indicare in quale quadrante del piano si trova la risultante. 3) Stampare “punto 3” trasformare la risultante in coordinate cartesiane in coordinate polari , modulo e angolo (espresso in gradi) 4) Stampare “punto 4” estrarre in maniera random una forza inserita e stampare le sue componenti c) Caricare b[] e c[] vettori di interi di 10 elementi con numeri random da 0 a 10 Con l’utilizzo delle funzioni 1) Trovare il min di b[] 2) Calcolare c[]= c[]-a[]; Stampare tutti i risultati 4 Fila A Gennaio a) Una classe è composta da un numero n di elementi , i campi che interessano sono: Cognome, punteggio (float), sesso 1) Stampare “punto 1 fila a”, dichiarare e definire gli elementi necessari , caricare da tastiera i dati indicando i campi caricati., con la possibilità di inserire gli spazi ( inserire cin.ignore() ogni volta che inserisco un numero con cin). Caricare i dati in un vettore dinamico di strutture, stampare tutti i dati una volta inseriti. 2) Stampare “punto 2 a” Inserire un cognome da tastiera e verificare se presente nel vettore di strutture. 3) Stampare “punto 3 a” contare gli alunni di sesso “maschile” e sesso “femminile”, stampare il risultato 4) Stampare “punto 4 a” trovare il campo con il punteggio max, stampare il valore max e l’indice corrispondente 5) Stampare “punto 5 a” copiare il record precedentemente trovato, in un nuovo record b) Definire una struttura punto con i seguenti campi : (float x, float y) 1) Stampare “punto 1a ”, Inserire da tastiera n punti ed inserirli in un vettore dinamico di strutture , stampare tutti i dati una volta inseriti. 2) Stampare “punto 2 a” stampare l’angolo in gradi del primo elemento 3) Stampare “punto 3 a” contare quanti sono i punti con x=y (componente x=componente y) 4) Stampare “punto 4 a ” calcolare la risultante dei punti (somma della componente x e somma della componente y, interpretare i punti come delle forze) stampare il risultato 5) Stampare “punto 5 a ” contare i punti interni al cerchio di raggio 5 5 Fila A 4B Marzo Compito di Informatica Esercizio 1 Equazione2 -a: float -b: float -c: float ATTRIBUTI: a: coefficiente di x2 b: coefficiente di x c: termine noto + equazione2() con le seguenti condizioni + equazione2(float, float, float) a≠0 (a non può essere uguale a 0) +set_eq(float,float,float): void a+print_eq(): ≠ 0 ( a non può essere uguale a =0) void +delta():f loat METODI : +isReale(): bool Costruttore equazione2 di default( associare i parametri,a,b,c) +soluzione1(): float Costruttore equazione2, con parametri +soluzione2(): float Set_eq: per assegnare i valori +visualizza(): void Print_eq() : stampa i parametri dell’equazione +somma(Equazione2):Equazion delta: restituisce il discriminante e2 isReale: verifica se un’equazione ammette soluzioni reali soluzione1 : restituisce il valore della prima soluzione reale soluzione2 : restituisce il valore della seconda soluzione reale visualizza: visualizza le soluzioni reali dell’equazione specificando se sono reali distinte o reali coincidenti somma: restituisce l’equazione ottenuta dalla somma delle due equazioni 1) Implementare la classe Equazione2 in C++ 2) Testare la classe Equazione2 con un main : a) creare le istanze di due equazioni con parametri inseriti da tastiera, creare un oggetto risultato b) stabilire se le due equazioni ammettono soluzioni reali o complesse c) visualizzare le soluzioni reali (se esistono) d) sommare le due equazioni e mettere il valore su risultato e) visualizzare le soluzioni reali (se esistono) dell’equazione ottenuta Esercizio 2 Rispondere alle seguenti domande (max 5 righe) 1. Che differenza c’è tra classe e oggetto? 6 4B Fila A maggio Un’azienda vuole organizzare le informazioni relative ai propri rappresentanti, ai clienti, e alle fatture emesse ai clienti. Ogni rappresentante gestisce molti clienti ma ogni cliente è seguito da un solo rappresentante. Dato il seguente grafico di “modello logico” a) Realizzare le tabelle riportando almeno 4 record per ogni tabella Si richiede di scrivere le query che permettono di: 1 Numero dei clienti affidati al rappresentante con il campo idrappresentante=5 2 Per ogni cliente della regione”Toscana” ,individuato dal campo RagioneSociale, • contare il numero delle fatture emesse • sommare l’importo delle fatture emesse 3 RagioneSociale del cliente e data di emissione per la fattura con importo massimo 4 Riportare l’elenco dei rappresentanti con le fatture emesse ai propri clienti con importo >1000 Stampare il campo Cognome, Nome , importo e dataFattura 5 Somma degli importi dei clienti delle regioni lazio e toscana 6 Per ogni regione calcolare l’importo totale e il numero delle fatture 7 riportare il risultato della query 5 e query 6 6 Cosa si intende per prodotto cartesiano tra due tabelle, spiegare anche attraverso un esempio. 7 Riportare il modello E/R e il tracciato di record della seguente situazione: Ogni atleta può partecipare a più gare, ad ogni gara possono partecipare più atleti. 7