F90: Gerador de lista de exercício de equação do segundo grau
From AdonaiMedrado.Pro.Br
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 + SQRT(delta))/(2.0 * a) x2 = (-b - SQRT(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