Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-09-2013, 17:48   #1
Vul
Senior Member
 
Iscritto dal: Nov 2006
Messaggi: 6851
Problema stupido fortran scolastico

Allora, devo fare un programma in linguaggio fortran che faccia una sommatoria da un numero a ad un numero b di numeri naturali dove i numeri glieli do io.

Esempio la sommatoria da 3 a 7 dovrebbe venire: 3+4+5+6+7 = 25

Il programma che ha fatto un mio collega, ma non viene è il seguente
  • program sommatoria fra due numeri
  • integer i
  • write (*,*) 'inserire due numeri a e b (con b>a)'
  • read (*,*) a,b
  • S=a
  • do i=a+1,b
  • S=S+1
  • enddo
  • write (*,*) 'la somma dei numeri compresi fra a e b è',S
  • pause
  • end

Il programma non funziona e onestamente non mi è nemmeno chiaro come funzioni l'indicizzazione.
Vul è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2013, 18:17   #2
[Kendall]
Senior Member
 
L'Avatar di [Kendall]
 
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
Quote:
Originariamente inviato da Vul Guarda i messaggi
Allora, devo fare un programma in linguaggio fortran che faccia una sommatoria da un numero a ad un numero b di numeri naturali dove i numeri glieli do io.

Esempio la sommatoria da 3 a 7 dovrebbe venire: 3+4+5+6+7 = 25

Il programma che ha fatto un mio collega, ma non viene è il seguente
  • program sommatoria fra due numeri
  • integer i
  • write (*,*) 'inserire due numeri a e b (con b>a)'
  • read (*,*) a,b
  • S=a
  • do i=a+1,b
  • S=S+1
  • enddo
  • write (*,*) 'la somma dei numeri compresi fra a e b è',S
  • pause
  • end

Il programma non funziona e onestamente non mi è nemmeno chiaro come funzioni l'indicizzazione.
Il Fortran l'ho fatto milioni di anni fa, però il problema in questo caso è dell'algoritmo.
Guada la riga che ti ho messo in evidenza: lui in realtà per ogni valore dell'intervallo preso in considerazione non va a sommare il valore stesso (come il concetto di sommatoria prevede) ma va a incrementare semplicemente di 1 il valore di S.
Quella riga deve essere sostituita con questa:

S = S + i
[Kendall] è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2013, 18:22   #3
Vul
Senior Member
 
Iscritto dal: Nov 2006
Messaggi: 6851
wow, che schiappa che sono.

Ma la cosa bella non era il mio amico che aveva sbagliato ma io che ho letto un 1 al posto di una i....
Vul è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2013, 20:20   #4
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Quote:
Originariamente inviato da Vul Guarda i messaggi
wow, che schiappa che sono.

Ma la cosa bella non era il mio amico che aveva sbagliato ma io che ho letto un 1 al posto di una i....
Scrivere con una formattazione degli spazi da cristiani avrebbe aiutato ad evitare questo strafalcione (e aiuterà in futuro a evitarne a palate, soprattutto visto che il FORTRAN è un linguaggio in cui i tipi delle variabili sono controllati MOLTO debolmente).

Codice:
program sommatoria fra due numeri
integer i

write(*,*) 'inserire due numeri a e b (con b > a)'
read(*,*) a, b

S = a
do i = a + 1, b
    S = S + i
enddo

write(*,*) 'la somma dei numeri compresi fra a e b è', S
pause

end
Consiglio uno stile simile: ben indentato, spazi tra gli operatori, con line break tra le parti di codice in cui si fanno compiti differenti.
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2013, 21:45   #5
Vul
Senior Member
 
Iscritto dal: Nov 2006
Messaggi: 6851
grazie
Vul è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2013, 13:55   #6
Shirov
Senior Member
 
Iscritto dal: May 2004
Messaggi: 431
Però fatto così, con un ciclo do, mi pare una roba fortemente inefficente... se la somma riguardasse decine di milioni di numeri è troppo lento... normalmente la somma dei numeri da 1 a n si calcola con:

(n * (n + 1)) / 2

(es: la somma dei numeri da 1 a 6 non si fa come 1 + 2 + 3 + 4 + 5 + 6 ma (6 * 7) / 2)
quindi non è difficile arrivare ad una soluzione più efficiente anche ponendo di partire da un valore diverso da 1....
__________________
--In Siberia non sono tutte gnocche... ma tante si...
Shirov è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2013, 17:18   #7
Storti
Junior Member
 
Iscritto dal: Sep 2013
Messaggi: 24
Penso che in questo caso lo scopo fosse trovare l'algoritmo più che la formula.
Storti è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2013, 01:27   #8
Vul
Senior Member
 
Iscritto dal: Nov 2006
Messaggi: 6851
Si infatti, sono solo esercitazioni per farci imparare.
Vul è offline   Rispondi citando il messaggio o parte di esso
Old 27-09-2013, 13:44   #9
andythesniper
Member
 
L'Avatar di andythesniper
 
Iscritto dal: Dec 2012
Messaggi: 97
@shivor credo che la soluzione più efficace sia
Codice:
(n_iniziale + n_finale) * ((n_finale - n_iniziale + 1) / 2)
__________________
CPU: Intel I7 2600K RAM: 4x4GB Crucial Ballistix Tactical Tracer (DDR3 1866mhz) VGA: Sapphire HD 7950 Vapor-X Ali: Corsair TX850 HDD: 6x WD2500YS (raid 0 {S.O.} raid 1+0 {Data})
CASE: AeroCool xPredator Evil Green Edition Work In Progress...

Ecco tutte le mie trattative: QUI
Se dovessi avere i PM pieni, mandatemi una e-mail, quella è la prima cosa che leggo e che vedo tramite cellulare
andythesniper è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Sembra ormai certo: la prossima Xbox sar...
“Solutions Beyond Displays”: la strategi...
La società europea The Exploratio...
Dalle auto ai robot umanoidi: Faraday Fu...
Vodafone annuncia la dismissione di un s...
Stiga lancia i nuovi robot tagliaerba co...
Bullismo e cyberbullismo, Keenetic lanci...
Con AI Skills Checker Bitdefender mette ...
E-bike giapponese con 1.000 km di autono...
Un eVTOL con cui basta saper andare in b...
Dal mercato cinese al mondo: HONOR firma...
Sovranità digitale: l'UE sperimen...
Accesso alla memoria su Windows 11 solo ...
iPhone 18 Pro Max con batteria da oltre ...
Windows 11, cali di prestazioni sulle GP...
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: 02:55.


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