Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-10-2003, 22:08   #1
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
[C] Funzioni ricorsive

mi sto grattando la testa con queste funzioni ricorsive.. è 2 gg che cerco di fare questa funzione..ve la spiego.
Dato un reddito inziale ed un reddito finale devo calcolare in quanti anni riesco a raggiungere il reddito finale con l'interesse del 3.5% ed una tassazione del 12.5%.
Iterativamente non ci sono problemi,ma chi sa aiutarmi con la ricorsiva?
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 00:07   #2
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Ti va bene un link esplicativo oppure non è sufficiente?:

http://www.in-f-or.it/informatica/c/cap55.html

E poi potresti dire con quale metodo?(ricerca,fibonacci,dicotomica..)
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 07:04   #3
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
io a scuola ho fatto la ricorsiva solo con il fattoriale,la ricerca e fibonacci,ma x questa esercitazione nn sa da che parte cominciare..
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 08:55   #4
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Dovresti spiegare quali sono le regole per l'applicazione dell'interesse e della tassazione.

E poi non penso sia il "reddito finale" quanto il "capitale finale", mi sbaglio?

In tal caso

potresti provare con:

Codice:
int quantocimetto(int reddito,int parziale, int finale, int step)
{
   parziale = parziale * 1.035 + reddito * 0.875;
   printf("\n%i",parziale);
   step++;
   if (parziale<finale) step = nuovoanno(reddito,parziale,finale,step);
   return step;
}
Da usare così:

Codice:
anniperarrivarci = quantocimetto(mio_reddito,0,capitale_finale,0);
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo

Ultima modifica di lombardp : 17-10-2003 alle 09:07.
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 09:20   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
IMHO:

capitale_iniziale += capitale_iniziale * 0.035 * 0.875;

Almeno di solito la tassa statale del 12,5% è sugli interessi maturati
Codice:
int quantocimetto(int iniziale, int finale)
{
   if (iniziale < finale) //solo per controllo di errori nei parametri
     return 0;

   iniziale += iniziale * 0.035 * 0.875;
   printf("\n%i", iniziale);
   if (iniziale > finale)
      return 1;

   return 1 + quantocimetto(iniziale, finale);
}

Ultima modifica di cionci : 17-10-2003 alle 09:25.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 14:08   #6
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
vi scrivo tutto il testo dell'esercitazione ok?

Una banca offre ai propri clienti la seguente formula per la gestione del capitale:
- l'interessa annuo è costante e corrisponde al 3.5%
- ogni guadagno è sottoposto ad una tassazione del 12,5%

Costruire 2 funzioni ricorsive in grado di rispondere alle seguenti domande del potenziale cliente :

1.investendo un determinato capitale inziale, quanti anni occorreranno affinchè il capitale risulti raddoppiato o comunque corrispondente ad una cifra finale diversamente specificata?

2. partendo da un capitale inziale specificato,quale sarà il valore disponibile dopo un certo numero di anni?

Dopo aver implementato le suddette specifiche, realizzare un codice in grado di visualizzare graficamente l'andamento dell'investimento e predisporre il programma per la possibilità di ricevere i dai d'ingresso da un file di testo specificato dall'utente e ridirezionare il risultato dell'elaborazione su un ulteriore file specificato.
Modellare la realtà proposta in modo accurato e fornire una dettagliata documentazione della soluzione proposta.
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 14:09   #7
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
Quote:
Originariamente inviato da cionci

printf("\n%i", iniziale);

[/code]
cosa vuol dire quel %i?
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 14:19   #8
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
ho provato entrambi i codici,il primo funziona il secondo mi da sempre risultato zero,x quella condizione posta subito all'inizio..
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 15:20   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sì...scusa... iniziale > finale
Codice:
int quantocimetto(int iniziale, int finale)
{
   if (iniziale >= finale)
     return 0;

   iniziale += iniziale * 0.035 * 0.875;
   printf("\n%i", iniziale);

   return 1 + quantocimetto(iniziale, finale);
}
Va bene anche così...l'altro controllo era superfluo...

Ultima modifica di cionci : 17-10-2003 alle 15:23.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 15:22   #10
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
peggio ancora..così ho due condizioni uguali..
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 15:24   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da leomagic
peggio ancora..così ho due condizioni uguali..
Il fatto di due condizioni uguali serviva per risparmiarte una ricorsione, ma ora ho aggiornato...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 15:27   #12
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
ho provato e sembra funzionare,così scritta xò mi da errore nel cacolo degli interessi,ma nn sarebbe opportuno usare un conto parziale come nella prima funzione?
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 15:31   #13
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
Quote:
Originariamente inviato da cionci
Sì...scusa... iniziale > finale
[code]int quantocimetto(int iniziale, int finale)
{
iniziale += iniziale * 0.035 * 0.875;
cosa è quel += ?
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 15:43   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Perchè usare un conteggio parziale ? Probabilmente è un problema legato agli interi ed agli arrotondamenti...

Non vedo perchè si debbano usare due variabili quando il totale degli interessi...

Fammi vedere come tu lo calcoli senza ricorsione...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 15:44   #15
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da leomagic
cosa è quel += ?
Equivale a "interessi = interessi + quello che segue"...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 15:47   #16
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
in flash funziona così
Codice:
calcolaAnni = function (capitaleIniziale, capitaleParziale) {
 anni++;
 if (capitaleParziale<(capitaleIniziale*2)) {
  capitaleParziale = capitaleParziale*1.035;
  // -----------------------------------| occhio a questo numero
  calcolaAnni(capitaleIniziale, capitaleParziale);
 } else {
  _root.risultato = "con un capitale Iniziale di "+capitaleIniziale+" il capitale raddoppia in anni "+anni+" circa "+capitaleParziale;
  anni = 0;
 }
};
ponendo che il finale sia il doppio di quello inziale e gli anni sono circa sempre 22,se lo fai a mano ti torna pressocche quegli anni..
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 16:03   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sì ma i tuoi numeri cosa sono float...double...interi ?
E' un questione di arrotondamenti...

Guarda questo... Ecco cosa succede usando i double:
Codice:
int quantocimetto(double iniziale, double finale)
{
   if (iniziale >= finale)
     return 0;

   iniziale += iniziale * 0.035 * 0.875;
   printf("\n%f", iniziale);
   
   return 1 + quantocimetto(iniziale, finale);
}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 16:14   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Il fatto è che se fai un calcolo preciso sugli interi...devi fare diversi arrotondamenti...

Supponendo che negli interi ci stiano i centesimi di Euro credo che un conto molto vicino a quello che avviene realmente sia:

Codice:
int round(double num)
{
   if((num-(int)num) < 0.5)
      return (int)num;
   return (int)num + 1;
}

int quantocimetto(int iniziale, int finale)
{
   if (iniziale >= finale)
     return 0;

   iniziale += round((double)round((double)iniziale * 0.035) * 0.875);
   printf("\n%f", iniziale);
   
   return 1 + quantocimetto(iniziale, finale);
}
Non sono sicuro sull'arrotondamento perchè non so se lo fanno veramente...o usano qualche arrotondamento particolare...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 16:35   #19
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
la seconda nn ho capito esattamente cosa esegue,cmq la prima che mi hai scritto ha funzionato finalmente,grazie x l'aiuto..che fatica che è stata!
ora ha da venire il peggio..
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 17:24   #20
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
per la seconda opzione devo fare il verso contrario,dati gli anni sapere a quanto ammonta il reddito ocn gil interessi,devo fare la stessa funzione solo che la condizione x cui deve uscire dalla ricorsione è diversa vero?x capirci..

Codice:
int cap_finale(double iniziale,int anni)
{
  	if (iniziale = 6);
   	return 0;
   iniziale = iniziale + iniziale * 0.035 * 0.875;
   printf("\n%f", iniziale);
   return 1 + cap_finale(iniziale,anni);
}
devo cambiare solo quell'if all'inzio(che adesso è messo a caso)?
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
Sora all'interno di ChatGPT: aumentano g...
L'Ufficio dell'Ispettore Generale ha ana...
Primo contatto con Volvo ES90: ammiragli...
La Cina potrebbe puntare con maggiore de...
Un clamoroso errore strategico: il nuovo...
Cos’è il nuovo cartello del "...
HP: gli attacchi con l'IA puntano su vel...
Acer compie 50 anni e si trasforma: dall...
La rete elettrica USA funziona solo a me...
La Corte Costituzionale albanese: 'Il ba...
Secondo trailer del nuovo anime di Ken i...
La guerra tra Russia e Ucraina arriva co...
KadNap: il botnet che ha infettato 14.00...
Il cloud è sempre più cent...
Lisuan svela la GPU gaming LX 7G106: deb...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v