ALeXio'S INFo risorse per Nettuniani di Ingegneria Informatica

Posta | Ce.Te.M. | Gruppo | Forum
Mate 1 | Mate 2 | Mate 3 | Mate 4 | Calcolo | Teoria dei segnali | Elaborazione segnali | Automatica | Controlli automatici |
Fisica 1 | Fisica 2 | Chimica |
Info 1 | Info 2 | Algoritmi | Prog.a oggetti | Prog.ambienti distribuiti | Calcolatori | Arch.sistemi operativi | Arch.basi di dati |
Elettrotecnica 1 | Elettrotecnica 2 | Sistemi el. | Misure el. | El.per l'informatica | Disp.e circuiti el. | Circuiti digitali | Sistemi a microprocessore |
Reti telematiche | Reti di calcolatori | Reti radiomobili |
Lingue 1 | Lingue 2 | Scrittura tecnica | Filosofia | Economia | Sistemi di qualitą | Proprietą industriale |
News | Forum | Links | Download |

Programmazione a oggetti

JaVa ESeRCiZi

 

Scrivere un programma che legga un array di interi da tastiera, lo ordini in senso crescente utilizzando l'algoritmo di ordinamento per selezione, e lo stampi.
Soluzione

Scrivere un programma che legga un array di interi da tastiera, lo ordini in senso crescente utilizzando l'algoritmo di ordinamento per fusione (MergeSort), e lo stampi.
Soluzione

Realizzare un Tipo di Dato Astratto (TDA) che rappresenti una pila di numeri interi, e un programma che usi questa pila per leggere da tastiera un elenco di numeri e stamparli in ordine inverso.
Soluzione pila
Soluzione ordine inverso

Una terna pitagorica è formata da tre numeri naturali a, b, e c tali che a*a + b*b = c*c. Parte 1: Scrivere un programma che conti il numero di terne pitagoriche tali che
1 <= a < b < c <= 100. Parte 2: Scrivere un programma che stampi le terne pitagoriche con 1 <= a < b < c <= 100 tali che a sia un numero primo.
Soluzione 1
Soluzione 2

Scrivere un programma che che legga da tastiera una cartella della tombola, costituita da tre righe di cinque numeri tra 1 e 90; dopo l'inserimento della cartella, l'utente fornisce uno alla volta i numeri estratti, o inserisce 0 per indicare la fine del gioco. Ad ogni numero estratto, il programma deve controllare se sulla cartella è stato realizzato un terno, una quaterna, una cinquina o una tombola, e in caso affermativo stampare un messaggio corrispondente. Il messaggio deve essere stampato solo per la prima vincita di ciascun tipo, ovvero per il primo terno, la prima quaterna ecc. Suggerimento: si usi un array bidimensionale di interi per rappresentare la cartella, e un array bidimensionale di boolean per tenere traccia di quali dei numeri della cartella sono già usciti.
Soluzione

Scrivere un programma che realizzi un calendario perpetuo, ovvero calcoli il giorno della settimana corrispondente a una certa data, sapendo che il 1 gennaio 1900 è stato un lunedì. Suggerimento: Calcolare il numero di giorni
trascorsi dal 1/01/1900 alla data richiesta, e valutare con l'operatore % il resto della divisione per 7 di tale numero. Se il resto è 0, il giorno è lunedì, se 1 è martedì e così via.
Soluzione

Il gioco della torre di Hanoi è costituito da una piattaforma con 3 pioli A, B e C. Sui pioli sono inseriti dei dischi forati di diverse dimensioni. Il gioco consiste nello spostare tutti i dischi dal piolo A, dove sono inseriti inizialmente, sul piolo C, osservando le seguenti regole: * è possibile spostare un solo disco per volta * si può spostare un disco solo se non ha altri dischi sopra di sé * non è possibile inserire un disco al di sopra di un altro disco di dimensioni più piccole. Scrivere un programma che stampi la sequenza di passi necessaria per risolvere il gioco. Suggerimento: l'ipotesi di induzione da usare è che l'algoritmo sviluppato funzioni per spostare N-1 dischi, dove N è il numero totale dei dischi nel gioco.
Soluzione
Soluzione grafica

Si realizzi un programma che legge da tastiera un elenco di voti, e alla fine visualizzi un istogramma orizzontale in cui ciascuna barra è formata da tanti asterischi ('*') quante sono le volte che il voto corrispondente è stato ottenuto,
come nel seguente esempio: Voto 18: ** Voto 19: *** ...... Voto 30: *************
Soluzione
Soluzione grafica

Lo scopo di questo esempio è di illustrare i vantaggi del polimorfismo. Il programma è formato da una classe GraficoFunzione, in grado di visualizzare il grafico di una qualsiasi funzione di una variabile. La funzione viene specificata attraverso un oggetto della classe Funzione, a cui spetta il compito di calcolare il valore della y a partire dalla x. In realtà, il main passerà a GraficoFunzione un'istanza di una classe derivata da Funzione, in cui sarà opportunamente ridefinito il metodo di calcolo. In questo modo, la classe GraficoFunzione potrà visualizzare il grafico di una funzione diversa senza bisogno di modificare o ricompilare il suo codice. A titolo di esempio, sono fornite alcune funzioni "classiche", che il main, contenuto nella classe CreaGrafici crea e passa a GraficoFunzione.
Lo studente può estendere il programma, supportando nuove funzioni mediante la creazione delle classi opportune, e la modifica del main.
Questa classe rappresenta una generica funzione in grado di calcolare il valore della y a partire dal valore della x
Questa classe rappresenta oggetti in grado di visualizzare il grafico di una funzione
Questo programma crea i grafici di alcune funzioni, usando le classi precedenti
Questa classe descrive oggetti in grado di calcolare la funzione 'seno'
Definisce oggetti in grado di calcolare la funzione 'sinc'
Descrive oggetti in grado di calcolare il logaritmo

 

 

 

Siete tutti invitati a collaborare segnalandomi errori, inviando materiale, suggerimenti e tutto ciò che vi è stato utile per preparare e superare gli esami.

Il sito cresce ed è utile grazie a voi!

 

 

 

 

 

 

About Me | Site Map | Privacy Policy | Contact Me | ©2009 AL desiGN