Advertisement
zrhans

demo-lacos.f95

Sep 28th, 2014
1,021
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ! Questoes a serem investigadas:
  2. !  + Por que ha varias versoes do comando DO?
  3. !  + Quais as diferencas entre elas?
  4. ! _______________________________________________________
  5. !
  6. program demo_lacos
  7. implicit none
  8. integer :: i, nmax = 5
  9.  
  10. print*,'Usando o comando DO:'
  11. ! SINTAXE:
  12. ! do label var = expr1, expr2 [,INCREMENTO]
  13. !    comandos
  14. !label continue
  15.  
  16. print*,'Primeira versão (usando rotulos) - DO'
  17. do 100 i = 1, nmax
  18.     print*,i
  19. 100 continue
  20.  
  21.  
  22. ! SINTAXE:
  23. ! do var = expr1, expr2 [,INCREMENTO]
  24. !    comandos
  25. ! enddo
  26.  
  27. print*,'Segunda versão - DO'
  28. nmax = 5
  29. do i = 1, nmax
  30.     print*,i
  31. enddo
  32.  
  33. print*,'Usando o comando DO WHILE'
  34.  
  35. ! do while (expressão lógica)
  36. !    comandos
  37. ! enddo
  38.  
  39. nmax = 1
  40. do while ( nmax < 5 )
  41.     print*,nmax
  42.     nmax = nmax + 1
  43. enddo
  44.  
  45. print*,'Usando o comando GO TO'
  46.  
  47. !
  48. ! go to label
  49. !
  50.  
  51. print*,'Primeira versão GO TO'
  52. nmax = 1
  53. 101 if ( nmax < 5 ) then
  54.         print*,nmax
  55.         nmax=nmax+1
  56.         goto 101
  57.     endif
  58.  
  59. print*,'Segunda versão GO TO'
  60. nmax = 1
  61.     do
  62.         print*,nmax
  63.         nmax=nmax+1
  64.         if ( nmax > 5 ) goto 102
  65.     enddo
  66. 102 continue
  67.  
  68. print*,versão While'
  69. !do while
  70. !   if (expr-true) exit
  71. !   bloco-de-comandos
  72. !enddo
  73.  
  74. stop '>>> Programa Finalizado.'
  75. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement