Ideia da construção do bloco do infinito. Como é necessário o uso do comando , é interessante que esta parte seja apresentada após o comando .
!contador inteiro n=0 do n = n + 1 !(o que se deseja calcular) !(condicao de parada e saida do "do implicito") if ("condicao satisfeita") exit end do
Vamos contruir novamente o programa para o cálculo de 4 fatorial,
(3.5.2) |
Escreva um programa que calcule o fatorial de um número, agora com o infinito. O exemplo acima é simples, mas e se tivéssemos que calcular , você pode fazer o programa utilizando o infinito. Escreva o programa prog6b.f90
program prog6b implicit none ! integer :: i,n,fatorial ! fatorial = 1 n = 4 i=0 ! do i = i + 1 fatorial = fatorial * i if ( i == n ) exit end do ! write(*,*) 'Fatorial de',n,'=',fatorial ! stop end program prog6b
o programa acima calcula o fatorial da variável n, então esse valor pode ser alterado quantas vez for necessário, lembrando que para cada valor o programa tem que ser compilado novamente.
A estrutura do do infinito não impõe nenhum condição inicial e/ou final como no caso do do explícito (que impõe condição inicial e final) e o do while (que impõe somente um condição qeu pode ser atingida a qualquer momento dependendo da estrutura do programa).
program dw implicit none ! integer:: i, n ! i=1; n=5 ! do write(*,*) i i=i+1 if(i > n)exit end do ! stop end program dw
O fluxograma pode ser construído de mais de uma forma para exemplificar algo mais próximo do do infinito, uma forma é a apresentada na figura 3.4