Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
Abbiamo provato per diverse settimane il nuovo Magic V5 di HONOR, uno smartphone pieghevole che ci ha davvero stupito. Il device è il più sottile (solo 4.1mm) ma non gli manca praticamente nulla. Potenza garantita dallo Snapdragon 8 Elite, fotocamere di ottima qualità e batteria in silicio-carbonio che garantisce un'ottima autonomia. E il Prezzo? Vi diciamo tutto nella nostra recensione completa.
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Google Pixel 10 Pro XL è il top di gamma della serie Pixel, presentando un ampio display Super Actua da 6.8 pollici insieme alle novità della serie, fra cui la ricarica wireless magnetica Pixelsnap e le nuove funzionalità AI avanzate. Il comparto fotografico include un sistema a tripla fotocamera con zoom Pro Res fino a 100x, mentre il processore Tensor G5 con 16GB di RAM garantisce prestazioni percepite molto elevate su Android.
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Forte della piattaforma Qualcomm Snapdragon X, il notebook Lenovo IdeaPad Slim 3 riesce a coniugare caratteristiche tecniche interessanti ad uno chassis robusto, con autonomia di funzionamento a batteria che va ben oltre la tipica giornata di lavoro. Un notebook dal costo accessibile pensato per l'utilizzo domestico o in ufficio, soprattutto con applicazioni native per architettura ARM
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-10-2003, 21: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 16-10-2003, 23: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, 06: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, 07: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 08:07.
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 08: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 08:25.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 13: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, 13: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, 13: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, 14: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 14:23.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2003, 14: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, 14: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, 14: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, 14: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, 14: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, 14: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, 14: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, 15: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, 15: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, 15: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, 16: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


HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli Recensione OnePlus Watch 3 43mm: lo smartwatch c...
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura BOOX Note Air4 C è uno spettacolo: il tab...
Roscosmos: RSC Energia smentisce la cris...
Da 309€ a 549€, fino a 32GB di RAM: ecco...
Beats mai così convenienti: sconti fino ...
Da 27,78€ a 56,99€: 5 accessori indispen...
3 minuti: è il tempo per vedere l...
Gli Amazfit sono ora gli smartwatch più ...
Rowenta alza la posta: scopa elettrica s...
6 robot per le pulizie completi in offer...
Friggitrice ad aria Cecofry Full InoxBla...
iPhone 16 Pro Max a 10€ in più del minim...
Una chiavetta USB, ma SanDisk Ultra Slid...
La bolla dell'AI: perché l'econom...
Lo smartphone dovrebbe essere usato solo...
SpaceX: i video e le foto dello spettaco...
Anche a Pescara si passa ai fatti: e-bik...
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: 00:59.


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