Calcolo su Polinomi ===================
|
|
- Carlo Pizzi
- 5 anni fa
- Visualizzazioni
Transcript
1 Calcolo su Polinomi =================== Descrizione Implementare la classe Monomio le cui istanze rappresentano generici monomi a valori reali del tipo: m(x) = c* x d ovvero monomi contenenti una sola variabile appartenente al campo dei numeri reali (che indicheremo con x), elevata a una potenza che è un valore reale (che indicheremo con d), e moltiplicata per un coefficiente appartenente al campo dei numeri reali (che indicheremo con c). La classe Monomio dovrà fornire tre costruttori: - un costruttore che non riceve argomenti, e crea il monomio null. - un costruttore che riceve come argomento solo un valore reale c che rappresenta il coefficiente del monomio. Tale costruttore crea un monomio di coefficiente pari a c, e grado d=0 ovvero crea una istanza che rappresenta la costante c=c*x^0 (una costante infatti è un monomio!). - un costruttore che riceve due valori reali, ovvero il coefficiente c del monomio e il valore della potenza d, e istanzia il monomio cx^d In aggiunta la classe dovrà implementare i metodi: getgrado() che restituisce il grado del monomio, ovvero il valore n; tostring() che restituisce una Stringa che rappresenta il monomio su cui viene invocato il metodo. La stringa restituita non utilizza alcun simbolo per indicare il prodotto, mentre l'elevamento a potenza viene indicato con il simbolo "^". Ad esempio, il monomio in cui c=3.5 e n=7 sarà visualizzato tramite la seguente stringa: "+ 3.5x^7" senza spazi né prima né dopo. Notate che: la stringa che visualizza un monomio in cui n=0 non deve contenere la potenza nulla di x (che è pari a 1), alternativamente, se n 0, ovvero per potenze non nulle, se c=+1 o -1 la Stringa risultante conterrà solo il simbolo "+" o "-" seguito dalla potenza di x, senza quindi il valore del coefficiente c. In ogni caso, se c=0 la Stringa risultante sarà la stringa vuota. Esempi: * se c=-4 e n=0 la stringa sarà "- 4" (notate anche il segno negativo del coefficiente e gli spazi dopo i simboli "+" e "-") * se c=-1 e n=0 la stringa sarà "- 1" * se c=-1 e n=7 la stringa sarà "- x^7" * se c=0 e n=qualsiasi la stringa sarà la stringa vuota "" La classe deve inoltre implementare i seguenti metodi: valuta(int v) che ha come argomento un valore reale v e restituisce il valore ottenuto valutando il monomio in v; prodotto(monomio m1, Monomio m2) è un metodo statico che restituisce il monomio m3(x) =m1(x)*m2(x); potenza(monomio m1, double pot) è un metodo statico che restituisce il monomio m2(x) =m1(x)^pot; divisione(monomio m1, Monomio m2) è un metodo statico che restituisce il monomio m3(x) =m1(x)/m2(x);
2 somma(monomio m1, Monomio m2) è un metodo statico; che calcola e restituisce il monomio m(x)=m1(x)+m2(x), se m1 e m2 hanno lo stesso grado, altrimenti il metodo restituisce il valore null altrimenti. sottrazione(monomio m1, Monomio m2) è un metodo statico; che calcola e restituisce il monomio m(x)=m1(x)-m2(x), se m1 e m2 hanno lo stesso grado, altrimenti il metodo restituisce il valore null altrimenti. Utilizzando la classe monomio, e i suoi metodi (!!!) implementare la classe Polinomio le cui istanze rappresentano generici polinomi a valori reali (sia i coefficienti che le variabili appartengono al campo dei reali). La classe Polinomio dovrà fornire due costruttori: - un costruttore che non ha argomenti e crea un polinomio SENZA monomi; - un costruttore che riceve come unico argomento una lista contenente un numero imprecisato di monomi (ovvero istanze della classe monomio!) e costruisce il polinomio che li contiene Ad esempio, il polinomio: p(x)= 3 + 5x + 2x^3 + 9x^4, sarà istanziato con una lista di 4 monomi m1= 3 m2= 5x m3= 2x^3 m4= 9x^4 Notate la lista di monomi non deve necessariamente essere ordinata a seconda dei gradi dei monomi! Ovvero la lista potrebbe contenere in sequenza: m1, m4, m3, m2 o alternativamente m4, m3, m1, m2. Inoltre la lista potrebbe contenere monomi con lo stesso grado! Nel polinomio da creare tali polinomi dovrebbero essere sommati! Ad esempio, il polinomio: p(x)= 3 + 5x + 2x^3 + 9x^4, potrebbe essere istanziato con una lista di 7 monomi m1= 2, m2= 2x, m3=1, m4= 7x^3, m5=3x, m6= - 5x^3, m7= 9x^4 Infatti= p(x)= m1+m2+m3+m4+m5+m6+m7 = 2+2x +1+ 7x^3+3x+ (- 5x^3) + 9x^4 = 3+5x+2x^3+9x^4. In aggiunta la classe dovrà implementare i metodi: getgrado() che restituisce il grado del polinomio, inteso come la potenza più alta tra tutti i monomi contenuti dal polinomio; tostring() che restituisce una Stringa che rappresenta il polinomio su cui viene invocato il metodo. La Stringa restituita non utilizza alcun simbolo per indicare il prodotto, mentre l'elevamento a potenza viene indicato con il simbolo "^". Quindi il polinomio i cui monomi sono 5x^1, 2x^3, 3, 9x^4 è rappresentato dalla Stringa: p(x) = 3 + 5x + 2x^3 + 9x^4 in cui i monomi sono riportati in ordine crescente di grado! Notate che i monomi contenuti nel polinomio vengono rappresentati seguendo le stesse regole utilizzate dal metodo tostring() della classe Monomio. Più precisamente: tutti i polinomi sono denominati p(x) il termine noto non è seguito dalla potenza nulla di x se n=1 e c 0 la variabile x viene inserita nella Stringa senza visualizzare la potenza pari a 1 se c=0 il monomio non corrispondente non viene inserito nella Stringa prima e dopo il simbolo "=" c'è uno spazio prima e dopo il simbolo "+" c'è uno spazio prima e dopo il simbolo "^" non ci sono spazi.
3 Come altro esempio, un polinomio il cui termine noto è nullo, ad esempio il polinomio i cui coefficienti sono [0, 5, 0, 2, 9] è stampato dalla linea: p(x) = + 5x + 2x^3 + 9x^4 Inoltre, se c=+1, c=-1 valgono le stesse regole date per la classe Monomio. Ad esempio il polinomio: p(x) = x - x^3 + 9x^4 valuta(intero v) che ha come argomento un valore intero v e restituisce il valore double ottenuto valutando il polinomio in v; somma (Polinomio p1, Polinomio p2) che è un metodo statico che calcola il polinomio p3(x) = p1(x) + p2(x), e restituisce il risultato ottenuto sotto forma di una nuova istanza della classe Polinomio. sottrazione (Polinomio p1, Polinomio p2) che è un metodo statico che calcola il polinomio p3(x) = p1(x) - p2(x), e restituisce il risultato ottenuto sotto forma di una nuova istanza della classe Polinomio. prodotto (Polinomio p1, Polinomio p2) che è un metodo statico che calcola il prodotto p3(x) = p1(x) * p2(x), e restituisce il risultato ottenuto sotto forma di una nuova istanza della classe Polinomio. potenzainterapositiva(polinomio p1, double pot) che è un metodo statico che calcola la potenza p2(x) = p1(x) ^ pot, dove pot è un valore intero positivo o nullo, e restituisce il risultato ottenuto sotto forma di una nuova istanza della classe Polinomio. E' richiesto infine di implementare la classe Calcolo_su_Polinomi, il cui metodo main riceve come argomenti da linea di comando due valori interi, che chiameremo c e v, e il nome di un file contenente i dati che descrivono due polinomi. Più precisamente, ogni polinomio è descritto tramite una lista imprecisata di monomi, ognuno rappresentato dalla coppia di valori: coefficiente e grado, e separate da <*> Un esempio di file è: <*> 0 3,7 <*> <*> 9 0 <*> <*> Tale file rappresenta i polinomi p1(x) = (= + 3*x^ *x^ * x^1 + 9*x^0 + 3*x^1=) = *x + 3*x^5.7 p2(x)= + 1*x^7-2.5 *x^4 Dopo aver istanziato p1 e p2 la classe Calcolo_su_Polinomi: - li stampa a video su due righe consecutive insieme ai loro gradi. - stampa il polinomio z ottenuto elevando p1 alla potenza nulla. - stampa il polinomio z ottenuto elevando p1 alla potenza uno. - stampa il polinomio z ottenuto elevando p1 alla seconda. - stampa il polinomio z ottenuto elevando p1 alla terza. - calcola il polinomio z ottenuto sommando p1 e p2 e lo stampa a video. - moltiplica il polinomio z per la costante c e lo stampa a video. - stampa a video il grado di z; - stampa a video, su una nuova riga, il valore double ottenuto valutando z in v. - moltiplica il polinomio z per p1 e stampa a video il polinomio risultante. Modificate poi la classe in modo che l output POSSA ESSERE salvato su un file in caso il nome di tale file sia passato come quarto argomento del metodo main. Se tale parametro non fosse fornito la stampa dovrebbe essere fatta a monitor.
4 Vincoli di output Ogni output richiesto va stampato su una unica riga, senza aggiungere righe prima, dopo o in mezzo e senza aggiungere spazi a inizio o a fine riga. Esempi d'esecuzione Eseguendo: > java Calcolo_su_Polinomi 4 1 polinomi.txt dove il file polinomi.txt contiene le seguenti linee 1 1 <*> <*> <*> -1 3 si otterrà in output >java Calcolo_su_Polinomi 4 1 polinomi.txt Polinomio p1 = + x^(-2.0) + x^(1.0) **** grado p1=1.0 Polinomio p2 = - x^(1.0) - x^(3.0) **** grado p2=3.0 Elevo z=p1^0: (+ x^(-2.0) + x^(1.0))^0 = + 1 Elevo z=p1^1: (+ x^(-2.0) + x^(1.0))^1 = + x^(-2.0) + x^(1.0) Elevo z=p1^2: (+ x^(-2.0) + x^(1.0))^2 = + x^(-4.0) + 2.0x^(-1.0) + x^(2.0) Elevo z=p1^3: (+ x^(-2.0) + x^(1.0))^3 = + x^(-6.0) + 3.0x^(-3.0) x^(3.0) Sommo z=p1+p2: + x^(-2.0) + x^(1.0) - x^(1.0) - x^(3.0) = = + x^(-2.0) - x^(3.0) Moltiplico z=z*p3: (+ x^(-2.0) - x^(3.0)) * (+ 4.0) = = + 4.0x^(-2.0) - 4.0x^(3.0) grado di z= 3.0 valuto z(1) = 0.0 Moltiplico z=z*p1: (+ 4.0x^(-2.0) - 4.0x^(3.0)) * (+ x^(-2.0) + x^(1.0)) = = + 4.0x^(-4.0) + 4.0x^(-1.0) - 4.0x^(1.0) - 4.0x^(4.0) Sottraggo z-p2: (+ 4.0x^(-4.0) + 4.0x^(-1.0) - 4.0x^(1.0) - 4.0x^(4.0)) - (- x^(1.0) - x^(3.0)) = = + 4.0x^(-4.0) + 4.0x^(-1.0) - 3.0x^(1.0) + x^(3.0) - 4.0x^(4.0) Alternativamente, eseguendo: > java Calcolo_su_Polinomi 2 1 polinomi1.txt In cui polinomi1.txt contiene le seguenti linee: 1 4 <*> -1 0 <*> <*> 2 5 <*> 2 3 <*> <*> 1 4 <*> 2 1 <*> <*> 1 0 si otterrebbe in output: >java Calcolo_su_Polinomi 3 7 polinomi1.txt
5 Polinomio p1 = x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0) **** grado p1=5.0 Polinomio p2 = x^(1.0) - 1.3x^(2.0) + x^(4.0) + 2.0x^(5.0) **** grado p2=5.0 Elevo z=p1^0: ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0))^0 = + 1 Elevo z=p1^1: ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0))^1 = x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0) Elevo z=p1^2: ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0))^ 2 = x^(1.0) x^(2.0) x^(3.0) x^(4.0) + 5.4x^(5.0) x^(6.0) + 8.0x^(7.0) + 9.0x^(8.0) + 4.0x^(9.0) x^(10.0) Elevo z=p1^3: ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0))^ 3 = x^(1.0) x^(2.0) x^(3.0) x^(4.0) x^(5.0) x^(6.0) x^(7.0) x^(8.0) x^(9.0 ) x^(10.0) x^(11.0) x^(12.0) x^(13.0) x^(14.0) + 8.0x^(15.0) Sommo z=p1+p2: x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0) x^(1.0) - 1.3x^(2.0) + x^(4.0) + 2.0x^(5.0) = = + 4.7x^(1.0) - x^(2.0) + 2.0x^(3.0) + 2.0x^(4.0) + 4.0x^(5.0) Moltiplico z=z*p3: (+ 4.7x^(1.0) - x^(2.0) + 2.0x^(3.0) + 2.0x^(4.0) + 4.0x^(5. 0)) * (+ 3.0) = = x^(1.0) - x^(2.0) + 6.0x^(3.0) + 6.0x^(4.0) x^(5.0) grado di z= 5.0 valuto z(7) = Moltiplico z=z*p1: ( x^(1.0) - x^(2.0) + 6.0x^(3.0) + 6.0x^( 4.0) x^(5.0)) * ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^ (5.0)) = = x^(1.0) x^(2.0) x^(
6 3.0) x^(4.0) x^(5.0) x^(6.0) x ^(7.0) x^(8.0) x^(9.0) x^(10.0) Sottraggo z-p2: ( x^(1.0) x^(2.0) x^(3.0) x^(4.0) x^(5.0) x^(6.0) x^(7.0) x^(8.0) x^(9.0) x^(10.0)) - ( x ^(1.0) - 1.3x^(2.0) + x^(4.0) + 2.0x^(5.0)) = = x^(1.0) x^(2.0) x^(3.0) x^(4.0) x^(5.0) x^(6.0) x^(7.0) x^(8.0) x^(9.0) x^(10.0) NOTATE CHE L ULTIMO OUTPUT E UN PO SGRADEVOLE! QUINDI ESTENDETE LA CLASSE MONOMIO IN MODO CHE SIA I GRADI d DELLE VARIABILI CHE I COEFFICIENTI, siano arrotondati alla seconda cifra decimale! Ovviamente questo permetterebbe di avere polinomi con monomi più gradevoli in stampa In tal modo con lo stesso input infatti otterrei: >java Calcolo_su_Polinomi 3 7 polinomi1.txt Polinomio p1 = x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0) **** grado p1=5.0 Polinomio p2 = x^(1.0) - 1.3x^(2.0) + x^(4.0) + 2.0x^(5.0) **** grado p2=5.0 Elevo z=p1^0: ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0))^0 = + 1 Elevo z=p1^1: ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0))^1 = x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0) Elevo z=p1^2: ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0))^2 = x^(1.0) x^(2.0) + 1.4x^(3.0) + 9.8x^(4.0) + 5.4x^(5.0) x^(6.0) + 8.0x^(7.0) + 9.0x^(8.0) + 4.0x^(9.0) + 4.0x^(10.0) Elevo z=p1^3: ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0))^3 = x^(1.0) x^(2.0) x^(3.0) x^(4.0) x^(5.0) x^(6.0) x^(7.0) x^(8.0) x^(9.0) x^(10.0) x^(11.0) x^(12.0) x^(13.0) x^(14.0) + 8.0x^(15.0) Sommo z=p1+p2: x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0) x^(1.0) - 1.3x^(2.0) + x^(4.0) + 2.0x^(5.0) = = + 4.7x^(1.0) - x^(2.0) + 2.0x^(3.0) + 2.0x^(4.0) + 4.0x^(5.0)
7 Moltiplico z=z*p3: (+ 4.7x^(1.0) - x^(2.0) + 2.0x^(3.0) + 2.0x^(4.0) + 4.0x^(5.0)) * (+ 3.0) = = x^(1.0) - x^(2.0) + 6.0x^(3.0) + 6.0x^(4.0) x^(5.0) grado di z= 5.0 valuto z(7) = Moltiplico z=z*p1: (+ 14.1x^(1.0) - x^(2.0) + 6.0x^(3.0) + 6.0x^(4.0) x^(5.0)) * ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0)) = = x^(1.0) x^(2.0) x^(3.0) x^(4.0) x^(5.0) x^(6.0) x^(7.0) x^(8.0) x^(9.0) x^(10.0) Sottraggo z-p2: (- 14.1x^(1.0) x^(2.0) x^(3.0) x^(4.0) x^(5.0) x^(6.0) x^(7.0) x^(8.0) x^(9.0) x^(10.0)) - ( x^(1.0) - 1.3x^(2.0) + x^(4.0) + 2.0x^(5.0)) = = x^(1.0) x^(2.0) x^(3.0) x^(4.0) x^(5.0) x^(6.0) x^(7.0) x^(8.0) x^(9.0) x^(10.0)5.0)) * ( x^(1.0) + x^(2.0) + 2.0x^(3.0) + x^(4.0) + 2.0x^(5.0)) = = x^(1.0) x^(2.0) x^(3.0) x^(4.0) x^(5.0) x^(6.0) x^(7.0) x^(8.0) x^(9.0) x^(10.0) Sottraggo z-p2: (- 14.1x^(1.0) x^(2.0) x^(3.0) x^(4.0) x^(5.0) x^(6.0) x^(7.0) x^(8.0) x^(9.0) x^(10.0)) - ( x^(1.0) - 1.3x^(2.0) + x^(4.0) + 2.0x^(5.0)) = = x^(1.0) x^(2.0) x^(3.0) x^(4.0) x^(5.0) x^(6.0) x^(7.0) x^(8.0) x^(9.0) x^(10.0) Infine, per stampare sul file output.txt basterebbe lanciare il comando >java Calcolo_su_Polinomi 4 1 polinomi.txt output.txt
LABORATORIO 7 ARRAY. ATTENZIONE: argomenti da linea di comando!!!
LABORATORIO 7 ARRAY Esercizio Minimo Massimo Media Scrivere un programma che chieda all'utente di inserire un numero intero n, e quindi chieda di inserire n numeri interi. Dopo aver salvato i numeri inseriti
DettagliEsercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici
DettagliLABORATORIO 9 UTILIZZO DI ArrayList
LABORATORIO 9 UTILIZZO DI ArrayList ESERCIZIO 1 Ricerca (case sensitive + NON case sensitive) di stringhe Scrivere un programma che legga dal flusso di input una lista di stringhe (parole). Le parole sono
DettagliLe classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:
Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata
DettagliEsame Laboratorio di Programmazione
Esame Laboratorio di Programmazione 20 Giugno 2014 NOA Non è possibile usare le classi del package prog.io del libro di testo L obiettivo è scrivere una applicazione che permette di costruire delle torri
DettagliClassi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array
Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a
DettagliLaboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly Scrivere il codice ARM che implementi le specifiche richieste e quindi verificarne il comportamento usando il simulatore
DettagliLABORATORIO 4 - Iterazioni
LABORATORIO 4 - Iterazioni Ripassiamo l utilizzo della classe Scanner Scrivete un programma che, chiede all utente di inserire un numero intero n e quindi chiede all utente di inserire n numeri interi
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Array Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 14 ARRAY (1) Un vettore (array) è un insieme
DettagliEsercizio Filtro Rombi di Lettere
Esercizio Filtro Rombi di Lettere Scrivere un programma che legga da linea di comando un intero n>=0 e quindi stampi un rombo di altezza 2n-1 composto da lettere maiuscole, come indicato negli esempi.
DettagliLaboratorio di Programmazione (Corso di Laurea in Informatica)
Laboratorio di Programmazione (Corso di Laurea in Informatica) ESAME del 13 Febbraio 2017 Avvertenze VERRANNO CORRETTI SOLO E SOLTANTO I COMPITI IL CUI ESERCIZIO FIL- TRO FUNZIONA PERFETTAMENTE I programmi
DettagliINPUT E OUTPUT DI VALORI NUMERICI
INPUT E OUTPUT DI VALORI NUMERICI FUNZIONI DI I/O PER NUMERI Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione (header file) denominato contiene la
DettagliLaboratorio di Programmazione (Corso di Laurea in Informatica)
Laboratorio di Programmazione (Corso di Laurea in Informatica) ESAME del 22 Giugno 2017 Avvertenze VERRANNO CORRETTI SOLO E SOLTANTO I COMPITI IL CUI ESERCIZIO FIL- TRO FUNZIONA PERFETTAMENTE I programmi
DettagliLaboratorio di Programmazione: Linguaggio C Lezione 21 del 19 maggio 2014
Laboratorio di Programmazione: Linguaggio C Lezione 21 del 19 maggio 2014 Damiano Macedonio Esercizio 1 Scrivere una funzione che riceve in ingresso un puntatore ad un array di interi e modifica tale array
DettagliLABORATORIO 12 CLASSE LIFE
CLASSE LIFE LABORATORIO 12 Life (vita, in inglese) è un automa cellulare inventato dal matematico John Conway per studiare un'emulazione elementare dei processi vitali. Life è diventato famoso dopo la
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Input/Output, Variabili, Tipi e Stringhe Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 26 TUTOR Angelo Feraudo
DettagliCorso di Laurea in Matematica Corso di Informatica Prova d Esame del 02/02/2010
Esercizio 1. Si deve modellare con una classe Java il contenuto di un portamonete, con delle opportune semplificazioni. Le monete da considerare sono di soli 4 tagli: 10, 20, 50 e 100 centesimi (cioè 1
DettagliInput/Output di numeri
Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Input/Output e Interi Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 19 TUTOR Angelo Feraudo Email: angelo.feraudo2@unibo.it
DettagliESERCIZIO 1 (FILE DI TESTO)
ESERCIZIO 1 (FILE DI TESTO) Scrivere su un file di testo righe inserite da console, fino a quando non viene inserita la linea vuota. Passare il nome del file come parametro al programma. Bisogna incapsulare
DettagliIl comando provoca il salvataggio dello stato e la terminazione dell esecuzione.
Scrivere un programma per la gestione di una videoteca. Il programma deve essere in grado di tenere traccia dello stato corrente (presente/in prestito a x/smarrito da x/danneggiato da x a livello nn) e
Dettagli//riferimento a una sequenza di oggetti della classe Importo
Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 29 novembre 2010 Negli esercizi fate riferimento alle
DettagliLaboratorio 26/09/2000
Laboratorio 26/09/2000 Note Il compilatore usato è il DJGPP, un compilatore C/C++ a 32 bit ANSI C. Documentato e supportato via Internet (www.delorie.com). Per compilare utilizzare un comando del tipo
DettagliMetodi statci. Dichiarazione e chiamata di metodi statci
Metodi statci Dichiarazione e chiamata di metodi statci Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un
DettagliE7 Esercizi sul Capitolo 7 Realizzazione di Classi
E7 Esercizi sul Capitolo 7 Realizzazione di Classi Esercizio 1 (esercizio 7.1 del libro di testo). Nella classe Studente definita di seguito indicare le variabili d istanza, le variabili di classe e le
DettagliProgrammazione. 20 novembre 2017
Programmazione (Vers. A) 20 novembre 2017 Cognome... Nome... Matricola... Anno di corso... Alcune delle seguenti domande riguardano il vostro numero di matricola. Scrivete il vostro numero nel seguente
Dettagli1 Le espressioni algebriche letterali
1 Le espressioni algebriche letterali DEFINIZIONE. Chiamiamo espressione algebrica letterale un insieme di numeri, rappresentati anche da lettere, legati uno all altro da segni di operazione. ESEMPI 2a
DettagliE17 Esercizi sugli Array in Java
E17 Esercizi sugli Array in Java Esercizio 1 (esercizio 9.1 del libro di testo). Implementare un metodo statico di nome stringacorta che prende come parametro un array di oggetti String e che restituisce
DettagliLaboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly
Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly Scrivere il codice ARM che implementi le specifiche richieste e quindi verificarne il comportamento usando il simulatore
Dettagli12 Function Handles e Ricorsione in MATLAB
1 Function Handles e Ricorsione in MATLAB Un function handle è una variabile il cui valore è una funzione. Data una funzione esistente, il suo function handle è dichiarato come handle = @nome dove nome
DettagliESERCIZIO 1 ESERCIZIO 1
Si crei un progetto Java che mappi un semplice sistema medico. Il progetto deve contenere tre classi: una per i pazienti, una per le patologie e una per il main. Inoltre si definiscano le seguenti eccezioni:
DettagliProgrammazione II Compitino (Vers. A)
Programmazione II Compitino (Vers. A) 17 dicembre 2015 Cognome... Nome... Matricola... Anno di corso... Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del
DettagliUniversità di Modena e Reggio Emilia Facoltà di Scienze MM.FF.NN. PROVA DI ALGEBRA LINEARE (esercitazione del 18 gennaio 2011)
Università di Modena e Reggio Emilia Facoltà di Scienze MM.FF.NN. PROVA DI ALGEBRA LINEARE (esercitazione del 18 gennaio 2011) ISTRUZIONI PER LO SVOLGIMENTO. Scrivere cognome, nome, numero di matricola
DettagliLaboratorio di programmazione
Laboratorio di programmazione 9 novembre 2016 Sequenze di Collatz Considerate la seguente regola: dato un numero intero positivo n, se n è pari lo si divide per 2, se è dispari lo si moltiplica per 3 e
DettagliCapitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61
Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2014 2015 Prof. Giovanni Pighizzini Note ed esercizi aggiuntivi 10. Ereditarietà, file di testo, gerarchia delle classi e gerarchia dei tipi Esercizio 10.1 Scrivete
DettagliProntuario degli argomenti di Algebra
Prontuario degli argomenti di Algebra NUMERI RELATIVI Un numero relativo è un numero preceduto da un segno + o - indicante la posizione rispetto ad un punto di riferimento a cui si associa il valore 0.
Dettagli- Esercitazione III Programmazione C Funzioni Alessandro Saetti
Elementi di Informatica e Programmazione - Esercitazione III Programmazione C Funzioni Alessandro Saetti (email: alessandro.saetti@unibs.it) Università degli Studi di Brescia 1 Esercizio 1 Acquisire da
DettagliClasse Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi:
Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi: Vettore(int n): crea un oggetto Vettore contente n elementi, inizializzati
DettagliVariabili e input/ Alessandra Giordani Lunedì 18 marzo
Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile
DettagliCALCOLO LETTERALE. Le espressioni letterali sono espressioni contenenti operazioni fra numeri e lettere:
CALCOLO LETTERALE Le espressioni letterali sono espressioni contenenti operazioni fra numeri e lettere: 5x. x + y ab + c, In generale le lettere rappresentano numeri generici. Ad esempio, se vogliamo convertire
DettagliLaboratorio di programmazione
Laboratorio di programmazione 5 novembre 5 Stampa a rovescio con vettori Scrivete un programma che legge da riga di comando un intero n, legge da tastiera n interi, li inserisce in un vettore di interi
DettagliProgrammazione II Compitino (Vers. A)
Programmazione II Compitino (Vers. A) 15 gennaio 2015 Cognome... Nome... Matricola... Anno di corso... Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del
DettagliCorso di Laurea Ingegneria Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Esercizi di ripasso Carla Limongelli Gennaio 2012 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia
DettagliMetodi statici. Dichiarazione e chiamata di metodi statici
Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un
DettagliLABORATORIO DI PROGRAMMAZIONE TURNO 3 (SERALE)
LABORATORIO DI PROGRAMMAZIONE 2007 2008 TURNO 3 (SERALE) 3XII2008 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min 1 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe Arrays
DettagliEsercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:
Esercizi su Python 14 maggio 2012 1. Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: 1. conti quanti elementi pari sono presenti nella lista; 2. conti quanti quadrati
DettagliESAME DI FONDAMENTI DI INFORMATICA T-2 del 2/07/2012 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX
ESAME DI FONDAMENTI DI INFORMATICA T-2 del 2/07/2012 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX NB: il candidato troverà nell archivio ZIP scaricato da Esamix anche il software Start Kit
DettagliFunzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti
Funzioni di I/O per numeri 2 Input e output di valori numerici Ver. 2.4.2 2012 - Claudio Fornaro - Corso di programmazione in C Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione
DettagliLABORATORIO DI PROGRAMMAZIONE TURNO 3 (SERALE)
LABORATORIO DI PROGRAMMAZIONE 2008 2009 TURNO 3 (SERALE) 22.X.2008 VINCENZO MARRA Indice Esercizio 1 1 Lunghezza di una stringa 1 2 Commento 1 2 Esercizio 2 2 Conversione in maiuscole e minuscole 2 2 Esercizio
DettagliFile ad accesso diretto funzioni Hash Parte3. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
File ad accesso diretto funzioni Hash Parte3 Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Sviluppo delle altre funzionalità La prima funzione che ci verrebbe in mente di implementare
DettagliProva d Esame Compito A
Prova d Esame 19.07.2005 Compito A Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private int counter;
DettagliIntroduzione all uso degli oggetti in Java (parte II) Walter Didimo
Introduzione all uso degli oggetti in Java (parte II) Walter Didimo Esercizio all uso di oggetti Nel corso viene fornita una classe i cui oggetti permettono di leggere dati immessi dalla tastiera la classe
DettagliCompito di Programmazione, 22 marzo 2007 INFORMATICI E MULTIMEDIALI
Compito di Programmazione, 22 marzo 2007 INFORMATICI E MULTIMEDIALI Esercizio 1 Si consideri la seguente classe che specifica liste di interi: public class List { private int head; private List tail; public
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Prova Intermedia Marzo 2011 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia La Prova Intermedia
DettagliE9 Esercizi sul Capitolo 9 Array
E9 Esercizi sul Capitolo 9 Array Esercizio 1 (esercizio 9.1 del libro di testo). Implementare un metodo statico di nome stringacorta che prende come parametro un array di oggetti String e che restituisce
DettagliLezione del dove a 1, a n e b sono numeri reali assegnati, detti coefficienti e termine noto dell equazione;
Le lezioni del 60 e 010 si riferiscono al Capitolo 1 Introduzione ai sistemi lineari Di seguito si elencano gli argomenti svolti, descrivendoli sinteticamente dando i riferimenti a tale capitolo, oppure
DettagliPassare argomenti al programma
Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di
DettagliProva d Esame Compito A
Prova d Esame 19.04.2005 Compito A Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private int counter;
DettagliAppunti di matematica per le Scienze Sociali Parte 1
Appunti di matematica per le Scienze Sociali Parte 1 1 Equazioni 1.1 Definizioni preliminari 1.1.1 Monomi Si definisce monomio ogni prodotto indicato di fattori qualsiasi, cioè uguali o diseguali, numerici
DettagliProgrammazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi
DettagliProva di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
Dettagliè un monomio 2b 4 a non sono monomi
Definizione e caratteristiche Un monomio è un espressione algebrica letterale nella quale: gli esponenti delle lettere sono solo numeri naturali fra le lettere ci sono solo operazioni di moltiplicazione
Dettagli13 Esercizi di Riepilogo
13.1 Esercizi Esercizio 13.1 Si consideri una versione semplificata della battaglia navale in cui le navi possono essere posizionate solo in orizzontale e ogni riga può contenere al massimo una nave. Il
DettagliFoglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
DettagliPreparazione allo Scritto di Programmazione
Preparazione allo Scritto di Programmazione Informatica / Comunicazione Digitale A.A. 2013/2014 1. Una riga di testo è detta numerica se e solo se contiene più cifre che caratteri di altro genere. Ad esempio,
DettagliI/O e strutture di controllo
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2009/2010 I/O e strutture di controllo La presente dispensa e da utilizzarsi
DettagliLABORATORIO DI INFORMATICA ESERCITAZIONE VIII
LABORATORIO DI INFORMATICA ESERCITAZIONE VIII Cercate di eseguire gli esercizi da soli. Se non ci riuscite, cercate di capire i messaggi di errore. Se non ci riuscite, provateci di nuovo. Poi chiamate
DettagliLEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015
1 LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI A. A. 2014/2015 PRIMI PASSI La più semplice sequenza di istruzioni che possiamo scrivere è quella costituita da un solo comando. come si fa a
DettagliSistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara
Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)
DettagliProgrammazione. 23 novembre 2016
Programmazione (Vers. A) 23 novembre 2016 Cognome... Nome... Matricola... Anno di corso... Alcune delle seguenti domande riguardano il vostro numero di matricola. Scrivete il vostro numero nel seguente
DettagliProgetti Algoritmi e Strutture Dati A.A Si intende realizzare una coda di priorità mediante un max-heap.
Progetti Algoritmi e Strutture Dati A.A. 2017-2018 Esercizio 1 Si intende realizzare una coda di priorità mediante un max-heap. Ogni singolo elemento della struttura è rappresentato da una coppia < categoria,
DettagliEsercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliMatLab - Testo pagina 1 di 5 101
MatLab - Testo pagina 1 di 5 101 8. FUNZIONI E SCRIPT IN MATLAB 801. Scrivere il listato di un file funzione MatLab alfa(x) che, dato un numero reale x dia come risultato la matrice p calcolata come segue:
DettagliLaboratorio di Informatica L-A
Compito d esame 19 Gennaio 2007...alcune.alcune leggende metropolitane dicono sia uno dei più tosti... 1 Avvertenze Prima di cominciare: si scarichi il file StartKit2.1.zip contenente il file di testo
DettagliGestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi
Fondamenti di Informatica T-1 modulo 2 Laboratorio 10: preparazione alla prova d esame 1 Esercizio 1 - Gestione degli impegni Gli impegni giornalieri dei dipendenti di un azienda devono essere aggiornati
DettagliLaboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:
Corso di Ingegneria Biomedica Corso di Ingegneria Elettronica Insegnamento di Informatica I a.a. 2007-08 Laboratorio 1 Durante le esercitazioni verra utilizzato il compilatore a riga di comando DJGPP,,
Dettaglia.a Codice corso: 21012
Esercizio 1 Si acquisisca da tastiera una sequenza (a priori illimitata) di caratteri terminata da '\n'. Per poter acquisire ed elaborare anche eventuali caratteri di spaziatura, è necessario utilizzare
DettagliMS Access: Tutorial Tabelle, Relazioni
Università Magna Graecia di Catanzaro Informatica MS Access: Tutorial Tabelle, Relazioni Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Microsoft Access Tutorial Tabelle,
DettagliProva di Laboratorio di Programmazione
Prova di Laboratorio di Programmazione 29 gennaio 2015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo Lo scopo è realizzare un programma che permetta di svolgere alcune
DettagliUn grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;
EXCEL Modulo 3 I Grafici Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro; Quando si crea un grafico ogni
DettagliEsercizio. Esercizi. semplici. memoria. y 12. Determinare il valore di x e y. #include <stdio.h> main() { int x,y; x=2; y=4; y=3*y; x=y+x;
Esercizi semplici 31 Esercizio Determinare il valore di x e y #include int x,y; x=2; y=4; y=3*y; x=y+x; printf("%d\n", x); printf("%d\n", y); memoria x 14 y 12 32 1 Esercizio Determinare i valori
DettagliImplementazione delle classi
Implementazione delle classi Abbiamo visto che, quando si istanzia un oggetto di una classe, è necessario chiamare il costruttore; Quando si implementa una classe è quindi sempre necessario progettare
DettagliInformatica 1. Prova di recupero 21 Settembre 2001
Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo
DettagliFOGLIO ELETTRONICO. Microsoft Office EXCEL. LibreOffice CALC CALC. E' un software che assegna come estensione ai propri file (foglio elettronico).ods.
FOGLIO ELETTRONICO Microsoft Office EXCEL LibreOffice CALC Viene anche definito: FOGLIO DI CALCOLO; CARTELLA DI LAVORO (perché è un file che può contenere più FOGLI DI LAVORO). FOGLIO ELETTRONICO o FOGLIO
DettagliEsercizio 1. Esercizio 2
Esercizio 1 Si scriva un programma C che realizza l'assegnazione ottima di un insieme di persone ad un insieme di città avente la stessa cardinalità. Ogni persona ha espresso una serie di preferenze, elencando
DettagliI POLINOMI. Si chiama POLINOMIO la somma algebrica di più monomi interi. Ad esempio sono polinomi: 3 x 2 +2x; 4 a 2 b 2 +b 3 ; ab+xy;
I POLINOMI Si chiama POLINOMIO la somma algebrica di più monomi interi Ad esempio sono polinomi: 3 x 2 +2x; 4 a 2 b 2 +b 3 ; ab+xy; 8x 2 +11x+4 a 2 b 2 +4 b 3 I POLINOMI Ogni monomio che compone il polinomio
DettagliImplementazione di DFA in C
Implementazione di DFA in C Dispensa di Laboratorio di Linguaggi di Programmazione Sommario Corrado Mencar, Pasquale Lops, Stefano Ferilli Questa dispensa fornisce le linee guida per l implementazione,
DettagliProgrammare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo
Programmare Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo Condizioni logiche Le condizioni logiche sono istruzioni che fanno uso di: operatori relazionali (servono a confrontare il valore
DettagliLo scopo. Il primo esperimento. Soluzione informale. Le variabili
Lo scopo 2 Il primo esperimento Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video Ver. 2.4
DettagliTEOREMA DEL RESTO E REGOLA DI RUFFINI
TEOREMA DEL RESTO E REGOLA DI RUFFINI ALCUNI TEOREMI IMPORTANTI Prendiamo una divisione intera tra numeri: 6 : 3 = 2. Il resto di questa divisione è 0, e questo significa che moltiplicando il quoziente
Dettagli