elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Top 20 herramientas Hacking más populares de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Duda sobre Fortran
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre Fortran  (Leído 3,974 veces)
Charderak

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Duda sobre Fortran
« en: 4 Mayo 2010, 19:29 pm »

Buenas, estoy empezando a programar Fortran en la facultad y tengo problemas con este programa. El programa es el típico programita chorra para calcular los divisores de un número y decirte cuáles son. El código fuente que he hecho es el siguiente:

Código
  1. PROGRAM PRACTICA3
  2. OPEN (UNIT=1, FILE='Divisores.txt')
  3. OPEN (UNIT=2, FILE='Divisores Pares.txt')
  4. OPEN (UNIT=3, FILE='Divisores Impares.txt')
  5. 100 FORMAT (/, I10)
  6. INTEGER n, i, j, k, d, a, b
  7. PRINT *, 'Introduzca un número'
  8. READ *, n
  9. DO d=1, n/2
  10. a=MOD(n, d)
  11. IF (a==0) THEN
  12. WRITE (1, 100) d
  13. i=i+1
  14. END IF
  15. b=MOD(d,2)
  16. IF (b==0) THEN
  17. WRITE (2, 100) d
  18. j=j+1
  19. ELSE
  20. WRITE (3, 100) d
  21. k=k+1
  22. END IF
  23. END DO
  24. CLOSE (1)
  25. CLOSE (2)
  26. CLOSE (3)
  27. PRINT *, 'Hay ', i, ' divisores ', j, ' pares ', k, ' impares'
  28. STOP
  29. END


El error que me sale es el siguiente: error FOR2588: Type declaration statement cannot occur here; me he metido en el Help pero no entiendo exactamente a qué se refiere, sólo que está dentro del DO.

A ver si alguien me puede ayudar, que seguro que luego es una chorrada de fallo. Muchas gracias!


« Última modificación: 5 Mayo 2010, 19:39 pm por Novlucker » En línea

biribau

Desconectado Desconectado

Mensajes: 181


Ver Perfil
Re: Duda sobre Fortran
« Respuesta #1 en: 5 Mayo 2010, 19:23 pm »

No tengo ni papa de Fortran,pero voy a intentarlo, parece un error un poco típico de cualquier lenguaje: no será que no puedes declarar variables después de usar sentencias?
INTEGER n, i, j, k, d, a, b
debería ir entonces justo después de program
A ver si te funciona así


En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.668


www.killtrojan.net


Ver Perfil WWW
Re: Duda sobre Fortran
« Respuesta #2 en: 5 Mayo 2010, 19:35 pm »

Citar
No tengo ni papa de Fortran,pero voy a intentarlo, parece un error un poco típico de cualquier lenguaje: no será que no puedes declarar variables después de usar sentencias?
INTEGER n, i, j, k, d, a, b
debería ir entonces justo después de program
A ver si te funciona así

No, eso no es, el Fortran e sun lenguaje que despues hizo una deriva en modula y después en pascal, en pascal o modula el orden es el siguiente:

Program XXXX
Units
{Librerias declaradas}
Var
{Declaracion de variables}
Begin
{Codigo}
End.

Deberías decirnos exactamente la línea que te marca eso, no tengo compilador de Fortran...
En línea

Killtrojan Syslog v1.44: ENTRAR
Charderak

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Duda sobre Fortran
« Respuesta #3 en: 7 Mayo 2010, 15:56 pm »

Era lo que decía biribau, las variables hay que declararlas al principio, antes de los OPEN. Muchas gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines