Difference between revisions of "F90: Gerador de lista de exercício de equação do segundo grau"
From AdonaiMedrado.Pro.Br
(New page: == Problema == Fazer um programa capaz de gerar N equações do segundo grau com suas respectivas respostas. == Soluções == <code lang="fortran"> PROGRAM aula1e7adv IMPLICIT NONE INTE...) |
(→Soluções) |
||
Line 12: | Line 12: | ||
WRITE (*,*) "Quantas equações deseja gerar?" | WRITE (*,*) "Quantas equações deseja gerar?" | ||
READ (*,*) n | READ (*,*) n | ||
− | WRITE (*,*) " | + | WRITE (*,*) "Quantidade máxima de equações sem solução real?" |
READ (*,*) nr | READ (*,*) nr | ||
Revision as of 05:22, 29 August 2008
Problema
Fazer um programa capaz de gerar N equações do segundo grau com suas respectivas respostas.
Soluções
PROGRAM aula1e7adv IMPLICIT NONE INTEGER :: a, b, c, n, nr, i REAL :: delta, x1, x2 INTEGER*4 :: v(3) WRITE (*,*) "Quantas equações deseja gerar?" READ (*,*) n WRITE (*,*) "Quantidade máxima de equações sem solução real?" READ (*,*) nr CALL ITIME(v) i = 0 a = RAND(v(3))*100 !Somente para iniciar seed. DO IF (i == n) EXIT DO a = RAND(0)*100 IF (a /= 0) EXIT END DO b = RAND(0)*100 c = RAND(0)*100 delta = b ** 2 - 4 * a * c IF (delta > 0 .OR. nr /= 0) THEN IF (delta < 0) THEN WRITE (*,*) & i+1,")", & a,"x² + ",b,"x + ",c," = 0", & " Não existe solução real." nr = nr - 1 ELSE x1 = (-b + delta)/(2.0 * a) x2 = (-b - delta)/(2.0 * a) WRITE (*,*) & i+1,")", & a,"x² + ",b,"x + ",c," = 0", & " DELTA=", delta, & " RAIZ X1=", x1, & " X2=", x2 END IF i = i + 1 END IF END DO END PROGRAM aula1e7adv