Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-05-2005, 11:20   #1
thotgor
Senior Member
 
L'Avatar di thotgor
 
Iscritto dal: Jun 2001
Città: Treviso
Messaggi: 1158
una mano per il fortran 77

chi mi da una mano a convertire questo programma in fortran 90 a fortran 77?


Program gittata
!Programma per il calcolo della distanza percorsa da un proiettile
!sparato con una velocit iniziale ed un angolo theta rispetto al suolo.

IMPLICIT NONE

! Dichiarazione dei parametri
REAL, PARAMETER :: gradi_rad = 0.01745329 ! Da gradi a rad

! Dichiara le variabili
REAL :: gravity = -9.81 ! Accelerazione di gravità (m/s*s)
INTEGER :: max_degrees ! Angolo di massima gittata (gradi)
REAL :: max_range ! Massima gittata alla velocità vO (metri)
REAL :: range ! Gittata con un dato angolo (metri)
REAL :: radian ! Angolo iniziale (in radianti)
INTEGER :: theta ! Angolo iniziale (in gradi)
REAL :: v0 ! Velocità del proiettile (in m/s)


! Inizializza le variabili.
max_range = 0.
max_degrees = 0
v0 = 20.

! Calcolo ciclico per ogni angolo.
loop: DO theta = 0, 90

! Angolo in radianti.
radian = real (theta) * gradi_rad

! Calcola la gittata in metri
range = (-2.* v0**2 / gravity) * sin(radian) * cos(radian)

! Visualizza il valore della gittata per questo angolo.
WRITE (*,*) 'THETA= ' , theta, ' gradi; Gittata = ', range, ' metri '
! Confronta la gittata corrente con la gittata massima precedente.
! Se la gittata corrente è maggiore, salva il suo valore
! e l'angolo corrispondente.
IF ( range > max_range ) THEN
max_range = range
max_degrees = theta
END IF
END DO loop
! Lascia una riga vuota e visualizza la gittata massima
! e l'angolo corrispondente.
WRITE (*,*) ''
WRITE (*,*) 'Gittata massima = ', max_range, ' a' , max_degrees, ' gradi'

END PROGRAM


Grazie, vi giuro!
__________________
Non ho niente altro da offrire alle altre persone, se non la mia stessa confusione
something cold is creepin' around, blue ghost is got me, I feel myself sinkin' down
L'arte non insegna niente, tranne il senso della vita
thotgor è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2005, 21:18   #2
peter2
Senior Member
 
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
così dovrebbe andare...


Program gittata
!Programma per il calcolo della distanza percorsa da un proiettile
!sparato con una velocit iniziale ed un angolo theta rispetto al suolo.

IMPLICIT NONE

! Dichiarazione dei parametri
PARAMETER (gradi_rad = 0.01745329) ! Da gradi a rad

! Dichiara le variabili
REAL gravity ! Accelerazione di gravità (m/s*s)
INTEGER max_degrees ! Angolo di massima gittata (gradi)
REAL max_range ! Massima gittata alla velocità vO (metri)
REAL range ! Gittata con un dato angolo (metri)
REAL radian ! Angolo iniziale (in radianti)
INTEGER theta ! Angolo iniziale (in gradi)
REAL v0 ! Velocità del proiettile (in m/s)

gravity = -9.81

! Inizializza le variabili.
max_range = 0.
max_degrees = 0
v0 = 20.

! Calcolo ciclico per ogni angolo.
DO theta = 0, 90

! Angolo in radianti.
radian = float(theta) * gradi_rad

! Calcola la gittata in metri
range = (-2.* v0**2 / gravity) * sin(radian) * cos(radian)

! Visualizza il valore della gittata per questo angolo.
WRITE (*,*) 'THETA= ' , theta, ' gradi; Gittata = ', range, ' metri '
! Confronta la gittata corrente con la gittata massima precedente.
! Se la gittata corrente è maggiore, salva il suo valore
! e l'angolo corrispondente.
IF ( range.GT.max_range ) THEN
max_range = range
max_degrees = theta
ENDIF
ENDDO
! Lascia una riga vuota e visualizza la gittata massima
! e l'angolo corrispondente.
WRITE (*,*)
WRITE (*,*) 'Gittata massima = ', max_range, ' a' , max_degrees, ' gradi'

stop
end
__________________
peter
peter2 è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2005, 13:30   #3
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Dunque dunque dunque... il Fortran 77 attribuisce un significato speciale alle colonne: le prime 5 sono per il numero di riga, la sesta per l'indicatore di prosecuzione di riga, quelle da 7 a 72 per il codice... i commenti sono su una riga sola che comincia con una "C" alla prima colonna... vediamo...
Codice:
      program gittata
c
c Programma per il calcolo della distanza percorsa da un proiettile
c sparato con una velocit iniziale ed un angolo theta rispetto al suolo.
c
      implicit none
c
c Dichiarazione dei parametri
c gradi_rad = conversione da gradi a radianti
c gravity = accelerazione di gravita'
c
      real gradi_rad,gravity
      parameter (gradi_rad=0.01745329,gravity=-9.81)
c
c Dichiarazione delle variabili
c max_degrees = angolazione massima, in gradi
c theta = angolo iniziale, in gradi
c max_range = gittata massima alla velocita' v0, in metri
c range = gittata con un angolo dato, in metri
c radian = angolo iniziale, in radianti
c v0 = velocita' iniziale, in m/s
c
      integer max_degrees,theta
      real max_range,range,radian,v0
c
c Inizializzazione variabili
c
      max_range=0
      max_degrees=0
      v0=20
c
c Calcolo ciclico per ogni angolo
c
      do 10 theta=0,90
c
c Angolo in radianti.
c
      radian=theta*gradi_rad
c
c Calcola la gittata in metri
c
      range=((-2.* v0**2)/gravity)*sin(radian)*cos(radian)
c
c Visualizza il valore della gittata per questo angolo.
c
      write(*,*) 'Theta= ',theta,' gradi; Gittata= ',range,' metri'
c
c Confronta la gittata corrente con la gittata massima precedente.
c Se la gittata corrente è maggiore, salva il suo valore
c e l'angolo corrispondente.
c
      if (range.gt.max_range) then
      max_range=range
      max_degrees=theta
      endif
10    continue
c
c Lascia una riga vuota e visualizza la gittata massima
c e l'angolo corrispondente.
      write(*,*) ''
      write(*,*) 'Gittata massima = ', max_range, ' a' , max_degrees, ' gradi'
c
c Fine programma
c
      stop
      end
Come avrai notato, gli operatori di confronto hanno una sintassi diversa; inoltre, se ricordo bene, come strutture di controllo ci sono solo if, goto, e for (con una sintassi simile a quella del goto).
Se trovo una guida sul Web, te la segnalo.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu

Ultima modifica di Ziosilvio : 19-07-2005 alle 14:17. Motivo: Ricordavo male come si mettono i commenti
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
Microsoft cede: la ricerca di Windows 11...
Dopo quasi 30 anni, l'originale Thief di...
ASML è l'azienda più prezi...
Microsoft conferma che Gears of War: E-D...
All'Xbox Games Showcase 2026, Metro 2039...
Il prossimo pieghevole di Vivo si svela ...
Meta ammette la falla IA su Instagram: v...
Bloober Team porta l'horror psicologico ...
L'IA sta prosciugando le riserve idriche...
Europa spaccata in due: Italia e Germani...
TOP 10 offerte Amazon del lunedì:...
State of Decay 3: trailer, data e la mos...
Iconico ed elegante: Samsung Galaxy S26 ...
Cybersecurity a misura di PMI: le soluzi...
Microsoft svela una speciale Xbox Series...
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: 12:59.


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