1. U.D.A. 1: RIPASSO CONCETTI FONDAMENTALI DEL PROGRAMMA DI SECONDA

Documenti analoghi
LIBRO DI TESTO: INFORMATICA MULTIMEDIALE METODI E FONDAMENTI AUTORI: MARISA ADDOMINE DANIELE PONS CASA EDITRICE: ZANICHELLI

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica

Lab 08 Stringhe e strutture

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

LABORATORIO di INFORMATICA

Lab 08 Stringhe e strutture

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly

Parte 1: tipi primitivi e istruzioni C

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Laboratorio 26/09/2000

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

Esercizi 5 CICLI. Es.5(cicli)

FONDAMENTI DI INFORMATICA I

ESERCIZIO 1 ESERCIZIO 2

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA

strutture e file di testo/binari Esercizio - lettura/filtro/scrittura PEOPLE.TXT PARTNERS.DAT Due persone sono compatibili

13 Esercizi di Riepilogo

Esercizi di programmazione Fare almeno 5 esercizi per ogni tipologia proposta.

Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly

Esercitazione. Esercizio 1 Scrivere un programma che calcoli e visualizzi la somma degli interi pari da 2 a 1000 (estremi compresi)

Istruzioni. Ecco gli argomenti che ti chiediamo di ripassare:

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Fondamenti di Informatica T-1

Lab 04 Programmazione Strutturata"

Laboratorio di programmazione

Indice. Prefazione. 3 Oggetti e Java 53

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli

Fondamenti di Informatica T-1. Classi & vettori

Laboratorio 1. 15/16 marzo 2018

Prof. Marco Masseroli

PROGRAMMA EFFETTIVAMENTE SVOLTO

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

Introduzione al linguaggio C Dati aggregati

Fondamenti di Informatica T-1

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

Esercizi per il corso di Programmazione I

Esempi e esercitazioni sulle matrici e strutture

Dati aggregati. Violetta Lonati

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Laboratorio di programmazione

Fondamenti di Informatica T-1

Informatica (A-K) 5. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

I tipi strutturati e i record in C++

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

INTRODUZIONE ALLA PROGRAMMAZIONE

2. Completa scrivendo il numeratore o il denominatore mancante in modo da avere frazioni tutte equivalenti.

Fondamenti di Informatica

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

I tipi di dato strutturato sono dichiarabili in C tramite la parola chiave typedef

Programma di Matematica Anno Scolastico 2014/2015 Classe 3M

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi

6 Typedef, matrici e codifica

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.

Strutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici.

Esercitazione di Reti degli elaboratori

Laboratorio di algoritmi e strutture dati

Esercizi di MatLab. Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, A.A

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

laboratorio di python

Unità B1 Programmazione base

Basi della programmazione in Java

Fondamenti di Informatica T-1 Modulo 2

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Lezione 8 Struct e qsort

Quadrato Magico. Fondamenti di Programmazione

Alcune funzioni matematiche utili della libreria <math.h>:

Tutorato Elementi di Informatica 2018

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

I.T.I. E. MAJORANA SOMMA VESUVIANA PIANO DI LAVORO ANNUALE DEL DOCENTE ANNO SCOLASTICO 2017/2018

Corso sul linguaggio C

Laboratorio di algoritmi e strutture dati

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

VETTORI E MATRICI. Ing. Nicola Cappuccio 2014 U.F.5 ELEMENTI SCIENTIFICI ED ELETTRONICI APPLICATI AI SISTEMI DI TELECOMUNICAZIONI

Vettori di caratteri. Caratteri e stringhe. Stringhe in C. Vettori di caratteri. char saluto[10] ; B u o n g i o r n o 4. Esempio.

ISTITUTO D ARTE A.VENTURI (Modena) PROGRAMMA di MATEMATICA SVOLTO dalle classi 2^P a.s. 2013/2014

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

Fondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso

La programmazione ad oggetti: chiamate di metodi. Overloading. This

Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.

Introduzione al linguaggio C Primi programmi

Transcript:

PROGRAMMA EFFETTIVAMENTE SVOLTO Disciplina: INFORMATICA Docente: SALVATORE D URSO L. S. Scienze Applicate - Classe: TERZA - Sezione: O - Anno Scolastico 2014/2015 SUPPORTO DIGITALE: CORSO SUL LINGUAGGIO C++ AUTORE: GIOVANNI CALABRESE Durante l anno scolastico è stato fornito materiale didattico dall insegnante. 1. U.D.A. 1: RIPASSO CONCETTI FONDAMENTALI DEL PROGRAMMA DI SECONDA Le strutture di controllo; L ambiente di programmazione C++; Progettazione di algoritmi e loro realizzazione in C++; Le funzioni; Le variabili static e le funzioni ricorsive; I Vettori; 2. U.D.A. 2: STRUTTURE DATI, ALGORITMI E GESTIONE DELLE STRINGHE I vettori ad una o più dimensione; Gestione dati con i vettori paralleli; Algoritmi di ordinamento: Ordinamento per selezione; Ordinamento per inserzione; Bubble sort; Quick sort (cenni sui puntatori); Algoritmi di ricerca: Ricerca sequenziale; Ricerca binaria (dicotomica); Funzioni per la gestione delle stringhe; Utilizzo delle funzioni della libreria <string.h> per la gestione delle stringhe Le funzioni: printf, scanf, gets e puts; Le struct in C++; I vettori di struct; 1

3. U.D.A. 3: CONCETTI DI BASE SULLA OOP Introduzione; Definizione di classi, membri di una classe: attributi e metodi; Incapsulamento e l information hiding; Definizione di oggetti (istanze); Metodi speciali: Costruttori; Costruttore di copia; Distruttore (cenni); L operatore di assegnazione fra istanze; Metodi Get e Set; Variabili locali e variabili ad istanza; Accessibilità e visibilità (scope) di attributi e metodi: pubblici e privati; Il metodo main (): il programma principale; Classi con all interno altre classi. 4. U.D.A. 4: IL LINGUAGGIO HTML Introduzione al linguaggio HTML; Siti internet, pagine web, link, browser; Principali tag di HTML: HTML, HEAD, BODY, P, BR, HR, BGCOLOR, BACKGROUND, ALIGN, MARGIN. Le tabelle, i link, le immagini, sfondi, suoni e video; Esercitazione attraverso l editor Notepad++ ed il blocconote. Bergamo, lì Gli studenti Il Docente 2

LAVORO ESTIVO CLASSE 3O IL LAVORO ESTIVO DEVE ESSERE FATTO DA TUTTA LA CLASSE. PER COLORO CHE HANNO AVUTO LA SOSPENSIONE DEL GIUDIZIO IN INFORMATICA, IL LAVORO DOVRÀ ESSERE CONSEGNATO IL GIORNO DELL'ESAME SCRITTO. PER TUTTI GLI ALTRI, IL LAVORO DOVRÀ ESSERE CONSEGNATO IL PRIMO GIORNO DI SCUOLA. LA PUNTALITÀ NELLA CONSEGNA, L'ORDINE, LA QUALITÀ E LA QUANTITÀ DEL LAVORO SVOLTO RIENTRERANNO TRA GLI ELEMENTI CHE SARANNO PRESI IN CONSIDERAZIONE PER LA VALUTAZIONE FINALE. PER OGNI ESERCIZIO, RIPORTARE IL NUMERO E IL TESTO ALL INIZIO DELL EDITOR DI TESTO USATO (DEVC++) E IL COMMENTO DEL CODICE. Studiare e ripassare i capitoli riguardanti la parte teorica del programma svolto dal libro digitale e dagli appunti forniti dall insegnante. Consultare gli appunti dati a lezione. Fare gli esercizi e i problemi di fine capitolo dal libro di testo per le parti trattate, aiutandosi con gli esercizi svolti in classe dal docente. Svolgere i seguenti esercizi: 1. Scrivi una funzione in C++ che data una richiesta di conversione di temperatura da Kelvin o in Celsius o viceversa (usando una funzione SCEGLI), restituisca in uscita il valore in gradi Celsius o Kelvin rispettivamente (TC=TK-273 e TK=TC-273). Richiamare le funzioni nel main. COMMENTARE OPPORTUNAMENTE IN 2. Scrivi una funzione in C++, che dato in input un numero intero n lo trasformarmi in binario, richiama la funzione nel main. COMMENTARE OPPORTUNAMENTE IN 3. Dato un valore di raggio e di altezza di un cono, scrivere le seguenti funzioni in C++: o Funzione per il calcolo della circonferenza. o Funzione per il calcolo dell area del cerchio. o Funzione per il calcolo della superficie laterale del cono. o Funzione per il calcolo della superficie totale del cono. o Funzione per il calcolo del volume cono. o Funzione per il calcolo del peso specifico in g/cm3 (Ps=P/V) il peso deve essere fornito in grammi (g) nel main. Richiamare le funzioni nel main. COMMENTARE OPPORTUNAMENTE IN 3

4. Scrivi un programma in C++ per il calcolo delle soluzioni di un equazione di secondo grado, usare le seguenti funzioni da richiamare opportunamente nel main: o Funzione inserimento coefficienti (puoi farlo con passaggio per riferimento oppure dichiarando le variabili globali prima del main). o Funzione calcolo determinante. o Funzione calcolo e visualizzazione delle soluzioni, contemplare i casi equazione impossibile ed indeterminata. o Funzione calcolo dell equazione di primo grado, solo se il coefficiente del termine quadratico è nullo (a=0), contemplare i casi equazione impossibile ed indeterminata. Richiamare le funzioni nel main. COMMENTARE OPPORTUNAMENTE IN 5. Scrivi un programma in C++ che risolva un sistema di due equazioni in due incognite, usando il metodo di Cramer. Contemplando il caso di sistema impossibile (Δ=0) ed indeterminato. a x + b y = c { a x + b y = c Usare le seguenti funzioni da richiamare opportunamente nel main: o Funzione inserimento coefficienti (puoi farlo con passaggio per riferimento oppure dichiarando le variabili globali prima del main). o Funzione che calcoli in delta (Δ). o Funzione che calcoli la soluzione. o Funzione stampa per stampare a video la soluzione. COMMENTARE OPPORTUNAMENTE IN CODICE E DARE OPPORTUNI MESSAGGI INPUT-OUTPUT. 6. Scrivi un programma in C++ che, dati in input tre numeri qualsiasi, calcoli la somma dei tre numeri, il maggiore, il minore e se tali numeri possono essere i lati di un triangolo. Usare le seguenti funzioni da richiamare opportunamente nel main: o Funzione inserimento dei numeri (puoi farlo con passaggio per riferimento oppure dichiarando le variabili globali prima del main). o Funzione somma, che restituisca al main la somma dei tre numeri. o Funzione maggiore, che restituisca al main il maggiore dei tre numeri. o Funzione minore, che restituisca al main il minore dei tre numeri. o Funzione triangolo, che restituisca al main una variabile di tipo bool con vero se i tre numeri rappresentano un triangolo e falso in caso contrario. (stampare a video un opportuno messaggio di segnalazione). COMMENTARE OPPORTUNAMENTE IN CODICE E DARE OPPORTUNI MESSAGGI INPUT-OUTPUT. 7. Scrivi una funzione in C++ che, dato in input un intero N, stampi a video i primi N caratteri del codice ASCII. Usare la seguente funzione da richiamare opportunamente 4

nel main. COMMENTARE OPPORTUNAMENTE IN CODICE E DARE OPPORTUNI MESSAGGI INPUT-OUTPUT. 8. Scrivi una funzione in C++ che, letti da tastiera una serie di caratteri minuscoli chiusi dal carattere zero, stampi a video i caratteri in maiuscolo. Usare la seguente funzione da richiamare opportunamente nel main. COMMENTARE OPPORTUNAMENTE IN 9. Riempire due vettori di lunghezza differente con numeri qualsiasi attraverso la funzione randomica e determinare il minimo, il massimo e la media complessiva dei due vettori, usando tre diverse funzioni da richiamare nel main. COMMENTARE OPPORTUNAMENTE IN CODICE E DARE OPPORTUNI MESSAGGI INPUT- OUTPUT. 10. Far visualizzare le prime n righe del triangolo di Tartaglia: 1 1 1 2 1 1 3 3 1 1 4 6 4 1....... La prima riga è costituita da due uno, il primo e ultimo numero di ogni riga è sempre 1, ogni altro numero è uguale alla somma di due numeri della riga precedente: quello che si trova proprio sopra il numero da determinare e quello immediatamente a sinistra. COMMENTARE OPPORTUNAMENTE IN CODICE E DARE OPPORTUNI MESSAGGI INPUT-OUTPUT. 11. Fare un programma che, assegnata una frase, isoli e metta in un vettore tutte le parole in essa contenute. COMMENTARE OPPORTUNAMENTE IN CODICE E DARE OPPORTUNI MESSAGGI INPUT-OUTPUT. 12. Fare un programma per caricare un testo in un vettore di stringhe. COMMENTARE OPPORTUNAMENTE IN CODICE E DARE OPPORTUNI MESSAGGI INPUT- OUTPUT. 13. Dato un vettore ordinare gli elementi di posto dispari in ordine crescente e quelli di posto pari in ordine decrescente. COMMENTARE OPPORTUNAMENTE IN 14. Dati due vettori numerici ordinati, riunirli in un terzo sempre ordinato (fusione). COMMENTARE OPPORTUNAMENTE IN CODICE E DARE OPPORTUNI MESSAGGI INPUT-OUTPUT. 5

15. Si realizzi un programma in C++ che legga da utente i dati relativi ad alcuni corsi. In particolare, per ogni corso vengono dati: o Denominazione del corso: una stringa di 20 caratteri che riporta il nome del corso; o Cognome del docente: una stringa di 15 caratteri che rappresenta il cognome del docente del corso; o Iscritti: un intero che indica il numero di studenti che frequentano il corso. Scrivere (COMMENTANDO OPPORTUNAMENTE IL CODICE) la funzione main () del programma che preveda la gestione di 10 differenti corsi e che utilizzi le seguenti funzioni, con il vettore dei corsi e la sua dimensione sempre presenti tra i parametri: a) Funzione INSERIMENTO per l inserimento dei dati nel vettore di struct. b) Funzione VISUALIZZAZIONE per la visualizzazione dei dati della struttura dati. c) Funzione che ordini per alfabeto sul campo Denominazione del Corso il vettore di struct e stampi a video il risultato. d) Funzione che, stampi la denominazione del corso e il cognome del docente relativi a tutti i corsi che hanno il numero di iscritti maggiore o uguale alla media aritmetica degli iscritti (calcolata su tutti i corsi). e) Funzione che, data una soglia minima di iscritti ai corsi, stampi a video corso per corso (compreso il cognome del docente) se il corso verrà tenuto o meno. 16. Si realizzi un programma in C++ che legga una serie di dati e li memorizzi in un vettore SQUADRE (di dimensione 10) contenente strutture (struct squadra) del tipo: o nome squadra (stringa di lunghezza 20) o goal fatti (intero) o goal subiti (intero) Scrivere (COMMENTANDO OPPORTUNAMENTE IL CODICE) la funzione main () del programma che utilizzi le seguenti funzioni, con il vettore dei corsi e la sua dimensione sempre presenti tra i parametri: a) Funzione INSERIMENTO per l inserimento dei dati nel vettore di struct. b) Funzione VISUALIZZAZIONE per la visualizzazione dei dati della struttura dati. c) Funzione che, stampi a video tutti i nomi delle squadre che hanno fatto un numero di goal maggiore del numero dei goal subiti. d) Funzione che, dato il nome di una squadra, stampi a video i goal fatti e i goal subiti della squadra in questione. e) Funzione che, ordini da quella che ha una maggiore differenza reti a quella che ne ha di meno e stampi a video il nome delle squadre del vettore di struct. 6

17. Si realizzi un programma in C++ che legga una serie di dati e li memorizzi in un vettore contenente strutture (struct esami) del tipo: o nome esame (stringa di lunghezza 20) o voto esame (intero) o crediti esame (intero) Scrivere (COMMENTANDO OPPORTUNAMENTE IL CODICE) la funzione main() del programma che preveda la gestione di 25 esami e che utilizzi le seguenti funzioni, con il vettore degli esami e la sua dimensione sempre presenti tra i parametri: a) Funzione INSERIMENTO per l inserimento dei dati nel vettore di struct. b) Funzione VISUALIZZAZIONE per la visualizzazione dei dati della struttura dati. c) Funzione che ordini per alfabeto sul campo nome esame il vettore di struct e stampi a video il risultato. d) Funzione che calcoli la media pesata degli esami sostenuti. La media pesata si calcola moltiplicando il voto dell esame per i crediti dell esame e sommando questi contributi bisogna dividere la somma per i crediti totali. e) Funzione che dato il nome di un esame restituisca il voto e i crediti dell esame in questione. Se l esame non è presente nel vettore di strutture, la funzione deve fornire un messaggio di errore. 18. Un alunna, esperta in informatica e in particolar modo del linguaggio C++, vuole creare un vettore di strutture dati con all interno i seguenti campi relativi alle materie che sta frequentando e studiando: o Nome materia: una stringa di 20 caratteri che riporta il nome della materia; o Cognome docente della materia: una stringa di 15 caratteri che rappresenta il cognome del docente del corso; o Voto materia: un numero qualsiasi che indica il voto della materia. Scrivere (COMMENTANDO OPPORTUNAMENTE IL CODICE) la funzione main () del programma che preveda la gestione di 10 differenti materie che utilizzi le seguenti funzioni, con il vettore della materie e la sua dimensione sempre presenti tra i parametri: a) Funzione INSERIMENTO per l inserimento dei dati nel vettore di struct. b) Funzione VISUALIZZAZIONE per la visualizzazione dei dati della struttura dati. c) Funzione che ordini per alfabeto sul campo Nome materia il vettore di struct e stampi a video il risultato. d) Funzione che, dato il Cognome del docente della materia visualizzi la materia che il docente insegna e il relativo voto. e) Funzione che, calcoli il numero di insufficienze della studentessa e visualizzi le materie insufficienti. 7

19. Si realizzi un programma in C++ che, crei una matrice bidimensionale NxM, con M e N inseriti da tastiera dall utilizzatore, di numeri random da 0 a 90, e determini la somma di tutti i suoi elementi. COMMENTARE OPPORTUNAMENTE IL CODICE. 20. Si realizzi un programma in C++ che, crei una matrice bidimensionale quadrata NxN, con N inserito da tastiera dall utilizzatore, in cui tutti gli elementi della diagonale principale siano posti ad 1. COMMENTARE OPPORTUNAMENTE IL CODICE. 21. Si realizzi un programma in C++ che, crei una matrice bidimensionale NxM, con M e N inseriti da tastiera dall utilizzatore, di numeri random da 0 a 90. Fatto ciò allocare un vettore di dimensione NxM che contenga tutti i numeri random della matrice di partenza. COMMENTARE OPPORTUNAMENTE IL CODICE. 22. Si realizzi un programma in C++ che, crei una matrice bidimensionale NxM, con N (=numero di righe) ed M (=numero colonne) inseriti da tastiera dall utilizzatore, di numeri random da 0 a 100, e determini la somma di ogni riga ponendola in un vettore di dimensione N. COMMENTARE OPPORTUNAMENTE IL CODICE. 23. Si realizzi un programma in C++ che, crei una matrice PITAGORICA bidimensionale quadrata NxN, con N compreso fra 10 e 15 ed inserito da tastiera dall utilizzatore. COMMENTARE OPPORTUNAMENTE IL CODICE. 24. Si realizzi un programma in C++ che, crei una matrice bidimensionale NxM, con M e N inseriti da tastiera dall utilizzatore, di numeri random da 0 a 10, che dato un numero di indice (K) inserito da tastiera con K<=M, elimini la colonna corrispondente all indice dato. COMMENTARE OPPORTUNAMENTE IL CODICE. 25. Si realizzi un programma in C++ che, crei una matrice bidimensionale NxM, con M e N inseriti da tastiera dall utilizzatore, di numeri random da 0 a 10, che dato un numero di indice (K) inserito da tastiera con K<=N, elimini la riga corrispondente all indice dato. COMMENTARE OPPORTUNAMENTE IL CODICE. 26. Si realizzi un programma in C++ che, crei una matrice quadrata di ordine N, con N inserito da tastiera dall utilizzatore, di numeri random da 0 a 100, e successivamente si determini la somma degli elementi sulla diagonale principale. COMMENTARE OPPORTUNAMENTE IL CODICE. 8

27. Scrivere un programma contenente la seguente classe: class Frazione { // Attributi public: int numeratore; int denominatore; // Costruttori Frazione (); Frazione (int numeratore, int denominatore); //Metodi...valido (?); // indica se è valido, den!=0...getnumeratore (?) // restituisce il numeratore...getdenominatore (?) // restituisce il denominatore...setnumeratore (?) // imposta il numeratore...setdenominatore (?) // imposta il denominatore...reale (?); // restituisce il valore della frazione come numero reale... inverti (?); // inverte la frazione. es: 7/4 4/7... eleva (?); // eleva la frazione ad un dato esponente... confronta (?); // restituisce -1, 0, 1 a seconda dell'esito del confronto con un'altra frazione... stampa (?);... incrementa (?); // incrementa di uno numeratore e denominatore... decrementa (?);// decrementa di uno numeratore e denominatore addiziona(?); // il mio oggetto frazione ad un numero (provate anche il caso di addizionare due oggetti di tipo frazione) }; Richiamare i metodi nel main (), COMMENTARE OPPORTUNAMENTE IN 28. Scrivere un programma contenente la seguente classe: class Segmento Sapendo che un segmento è caratterizzato dal punto iniziale e dal punto finale individuare gli attributi scrivere i costruttori (sul costruttore di default è lasciata ampia autonomia) metodi: set/get stampa, che visualizza sullo schermo la "scheda" del segmento nullo, indica se è un segmento nullo lunghezza del segmento distanza del punto medio dall'origine orizzontale, indica se il segmento è orizzontale 9

coincide, che verifica se il segmento coincide con un altro segmento (*) confronta, che confronta il segmento con un altro segmento in termini di lunghezza connesso, che verifica se il segmento è connesso per uno dei suoi estremi ad un altro segmento (*) (*) si tenga conto che di un segmento è arbitrario l ordine con cui si stabilisce quale sia il punto iniziale e quello finale. Richiamare i metodi nel main (), COMMENTARE OPPORTUNAMENTE IN 29. La classe Posteggio consente di gestire un posteggio di automobili, contenente fino a 350 autovetture. Ad ogni Automobile verranno attribuiti i seguenti attributi privati: Targa Categoria (utilitaria, berlina, station wagon, monovolume, fuoristrada) Minuto di arrivo (minuto, non fare controlli) Ora di arrivo (ora, non fare controlli) Giorno di arrivo (giorno, non fare controlli) Mese di arrivo (mese, non fare controlli) Auto presenti. Il programma dovrà contenere i seguenti metodi: Posteggio(); //Costruttore: all inizio il posteggio è vuoto; impostare a zero tutti gli attributi. Funzioni get e set; //Per ingresso nuova automobile ed informazioni automobili presenti. Uscita automobile; costo da pagare; //In uscita automobile si dovrà calcolare il numero di minuti trascorsi dall ingresso dell auto nel posteggio (per semplicità si suppongono tutti i mesi di 30 giorni e si suppone di lavorare in un unico anno, es. 2015). Con le seguenti tariffe: TEMPO COSTO 1 minuto 1 centesimo Stampa elenco auto presenti nel seguente modo: N. Targa Categoria Ora arrivo Data arrivo --- ------ ------------ ------------ -------------- 1) AB123XY W 08:35 19/05 10

2) AE456CF B 16:24 20/05........... 224) BH987YT U 20:58 19/05 Richiamare i metodi nel main (), COMMENTARE OPPORTUNAMENTE IN CODICE E DARE OPPORTUNI MESSAGGI INPUT-OUTPUT. 30. Creare una pagina WEB, attraverso l HTML, che descriva un argomento di scienze a piacere. 11