 
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://adonaimedrado.pro.br/wiki/index.php?action=history&amp;feed=atom&amp;title=F90%3A_Programa_de_estat%C3%ADstica_b%C3%A1sica</id>
		<title>F90: Programa de estatística básica - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://adonaimedrado.pro.br/wiki/index.php?action=history&amp;feed=atom&amp;title=F90%3A_Programa_de_estat%C3%ADstica_b%C3%A1sica"/>
		<link rel="alternate" type="text/html" href="https://adonaimedrado.pro.br/wiki/index.php?title=F90:_Programa_de_estat%C3%ADstica_b%C3%A1sica&amp;action=history"/>
		<updated>2026-05-27T06:19:48Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://adonaimedrado.pro.br/wiki/index.php?title=F90:_Programa_de_estat%C3%ADstica_b%C3%A1sica&amp;diff=905&amp;oldid=prev</id>
		<title>Adonaimedrado: New page: Este código foi desenvolvido pelos alunos Ana Carolina. Essia Cassia, Fabiana Pereira, Gabriela Isabel, Jéssica Santos, Jurandi Prazeres, Otávio Neto, Roberto Joaquiim e Rogerio Oliveir...</title>
		<link rel="alternate" type="text/html" href="https://adonaimedrado.pro.br/wiki/index.php?title=F90:_Programa_de_estat%C3%ADstica_b%C3%A1sica&amp;diff=905&amp;oldid=prev"/>
				<updated>2008-12-04T22:55:24Z</updated>
		
		<summary type="html">&lt;p&gt;New page: Este código foi desenvolvido pelos alunos Ana Carolina. Essia Cassia, Fabiana Pereira, Gabriela Isabel, Jéssica Santos, Jurandi Prazeres, Otávio Neto, Roberto Joaquiim e Rogerio Oliveir...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Este código foi desenvolvido pelos alunos Ana Carolina. Essia Cassia, Fabiana Pereira, Gabriela Isabel, Jéssica Santos, Jurandi Prazeres, Otávio Neto, Roberto Joaquiim e Rogerio Oliveira durante a disciplina Processamento de Dados (UFBA 2008.2). Data da apresentação: 25/11/2008. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;fortran&amp;quot;&amp;gt;&lt;br /&gt;
PROGRAM Estatistica&lt;br /&gt;
  IMPLICIT NONE&lt;br /&gt;
  LOGICAL::L&lt;br /&gt;
  CHARACTER (LEN=300)::Caminho, caminho2&lt;br /&gt;
  INTEGER:: i, n&lt;br /&gt;
  REAL::AUX&lt;br /&gt;
  REAL, DIMENSION (:), ALLOCATABLE :: v&lt;br /&gt;
  WRITE(*,*)&amp;quot;QUANTOS NUMEROS TEM O SEU BANCO DE DADOS?&amp;quot;&lt;br /&gt;
  READ(*,*) n&lt;br /&gt;
  ALLOCATE (v(1:n))&lt;br /&gt;
  WRITE (*,*) &amp;quot;DIGITE O CAMINHO DO SEU BANCO DE DADOS,&amp;quot;, &amp;amp;&lt;br /&gt;
    &amp;quot; CASO JÁ O TENHA DIGITADO EM FORMATO &amp;quot;&amp;quot;.TXT&amp;quot;&amp;quot;, &amp;quot;, &amp;amp;&lt;br /&gt;
    &amp;quot;Exemplo:C:\Meus documentos\entrada.txt, &amp;quot;,&amp;amp;&lt;br /&gt;
    &amp;quot;CASO CONTRÁRIO DIGITE &amp;quot;&amp;quot;NAO&amp;quot;&amp;quot;.&amp;quot;&lt;br /&gt;
  READ (*,*) Caminho&lt;br /&gt;
  IF (Caminho/=&amp;quot;nao&amp;quot;)THEN&lt;br /&gt;
    OPEN (UNIT=10, FILE=Caminho)&lt;br /&gt;
    READ (10,*)(v(i), i=1,n)&lt;br /&gt;
    CLOSE (10)&lt;br /&gt;
  ELSE   &lt;br /&gt;
    WRITE (*,*) &amp;quot;Digite seu banco de dados&amp;quot;   &lt;br /&gt;
    READ (*,*)(v(i), i=1,n)&lt;br /&gt;
  END IF&lt;br /&gt;
  DO&lt;br /&gt;
    L=.False.&lt;br /&gt;
    DO i=1,(n-1)&lt;br /&gt;
      IF (v(i)&amp;gt;v(i+1)) THEN&lt;br /&gt;
        AUX=v(i)&lt;br /&gt;
        v(i)=v(i+1)&lt;br /&gt;
        v(i+1)=AUX&lt;br /&gt;
        L=.true.&lt;br /&gt;
      END IF&lt;br /&gt;
    END DO&lt;br /&gt;
    IF(.not.L) THEN&lt;br /&gt;
      EXIT &lt;br /&gt;
    END IF&lt;br /&gt;
  END DO&lt;br /&gt;
  CALL MenuPrincipal(v)&lt;br /&gt;
  DEALLOCATE(v)&lt;br /&gt;
CONTAINS&lt;br /&gt;
  SUBROUTINE MenuPrincipal(VetorDeEntrada)&lt;br /&gt;
    REAL, DIMENSION (:), ALLOCATABLE, INTENT(in) :: VetorDeEntrada&lt;br /&gt;
    INTEGER :: C&lt;br /&gt;
    DO&lt;br /&gt;
      WRITE (*,*) &amp;quot;Escolha uma opção:&amp;quot;&lt;br /&gt;
      WRITE (*,*) &amp;quot;1- Moda&amp;quot;&lt;br /&gt;
      WRITE (*,*) &amp;quot;2- Média&amp;quot;&lt;br /&gt;
      WRITE (*,*) &amp;quot;3- Mediana&amp;quot;&lt;br /&gt;
      WRITE (*,*) &amp;quot;4- Variância&amp;quot;&lt;br /&gt;
      WRITE (*,*) &amp;quot;5- Desvio Padrão&amp;quot;&lt;br /&gt;
      WRITE (*,*) &amp;quot;6- Coeficiente de Variação&amp;quot;            &lt;br /&gt;
      WRITE (*,*) &amp;quot;7- Frequência&amp;quot;&lt;br /&gt;
      WRITE (*,*) &amp;quot;8- Amplitude Total&amp;quot;&lt;br /&gt;
      WRITE (*,*) &amp;quot;9- Tudo&amp;quot;&lt;br /&gt;
      WRITE (*,*) &amp;quot;10- Sair&amp;quot;&lt;br /&gt;
      READ (*,*) C&lt;br /&gt;
      IF (c/=10) THEN&lt;br /&gt;
        WRITE (*,*) &amp;quot;Para salvar o output,&amp;quot;,&amp;amp;&lt;br /&gt;
          &amp;quot;abra o bloco de notas e salve um arquivo em branco com nome desejado,&amp;quot;,&amp;amp;&lt;br /&gt;
          &amp;quot;em seguida digite o nome do caminho onde salvou o arquivo&amp;quot;,&amp;amp;&lt;br /&gt;
          &amp;quot;Exemplo:C:\Meus documentos\saida.txt&amp;quot;&lt;br /&gt;
        READ (*,*) caminho2&lt;br /&gt;
        OPEN (UNIT=11, FILE=caminho2, ACCESS=&amp;quot;APPEND&amp;quot;)&lt;br /&gt;
      END IF&lt;br /&gt;
      SELECT CASE (C)&lt;br /&gt;
        CASE (1)&lt;br /&gt;
          CALL Moda (VetorDeEntrada)&lt;br /&gt;
        CASE (2)&lt;br /&gt;
          WRITE (*,*) &amp;quot;A média é &amp;quot;, &amp;amp;&lt;br /&gt;
          Media(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;A média é &amp;quot;, &amp;amp;&lt;br /&gt;
          Media(VetorDeEntrada)&lt;br /&gt;
        CASE (3)&lt;br /&gt;
          WRITE (*,*) &amp;quot;A mediana é &amp;quot;, &amp;amp;&lt;br /&gt;
          Mediana(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;A mediana é &amp;quot;, &amp;amp;&lt;br /&gt;
          Mediana(VetorDeEntrada)      &lt;br /&gt;
        CASE (4)&lt;br /&gt;
          WRITE (*,*) &amp;quot;A variância é &amp;quot;, &amp;amp;&lt;br /&gt;
          Variancia(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;A variância é &amp;quot;, &amp;amp;&lt;br /&gt;
          Variancia(VetorDeEntrada)    &lt;br /&gt;
        CASE (5)&lt;br /&gt;
          WRITE (*,*) &amp;quot;O desvio padrão é &amp;quot;, &amp;amp;&lt;br /&gt;
          DesvioPadrao(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;O desvio padrão é &amp;quot;, &amp;amp;&lt;br /&gt;
          DesvioPadrao(VetorDeEntrada)        &lt;br /&gt;
        CASE (6)&lt;br /&gt;
          WRITE (*,*) &amp;quot;O coeficiente de variação é &amp;quot;, &amp;amp;&lt;br /&gt;
          CoeficienteDeVariacao(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;O coeficiente de variação é &amp;quot;, &amp;amp;&lt;br /&gt;
          CoeficienteDeVariacao(VetorDeEntrada) &lt;br /&gt;
        CASE (7)&lt;br /&gt;
          CALL Frequencia (v)&lt;br /&gt;
        CASE (8)&lt;br /&gt;
          WRITE (*,*) &amp;quot;A Amplitude Total é: &amp;quot;, &amp;amp;&lt;br /&gt;
          Amplitude(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;A Amplitude Total é: &amp;quot;, &amp;amp;&lt;br /&gt;
          Amplitude(VetorDeEntrada)       &lt;br /&gt;
        CASE (9)&lt;br /&gt;
          CALL Moda (VetorDeEntrada)&lt;br /&gt;
          WRITE (*,*) &amp;quot;A média é &amp;quot;, &amp;amp;&lt;br /&gt;
          Media(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;A média é &amp;quot;, &amp;amp;&lt;br /&gt;
          Media(VetorDeEntrada)&lt;br /&gt;
          WRITE (*,*) &amp;quot;A mediana é &amp;quot;, &amp;amp;&lt;br /&gt;
          Mediana(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;A mediana é &amp;quot;, &amp;amp;&lt;br /&gt;
          Mediana(VetorDeEntrada)&lt;br /&gt;
          CALL Frequencia (v)&lt;br /&gt;
          WRITE (*,*) &amp;quot;A variância é &amp;quot;, &amp;amp;&lt;br /&gt;
          Variancia(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;A variância é &amp;quot;, &amp;amp;&lt;br /&gt;
          Variancia(VetorDeEntrada)&lt;br /&gt;
          WRITE (*,*) &amp;quot;O desvio padrão é &amp;quot;, &amp;amp;&lt;br /&gt;
          DesvioPadrao(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;O desvio padrão é &amp;quot;, &amp;amp;&lt;br /&gt;
          DesvioPadrao(VetorDeEntrada)&lt;br /&gt;
          WRITE (*,*) &amp;quot;O coeficiente de variação é &amp;quot;, &amp;amp;&lt;br /&gt;
          CoeficienteDeVariacao(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;O coeficiente de variação é &amp;quot;, &amp;amp;&lt;br /&gt;
          CoeficienteDeVariacao(VetorDeEntrada)                       &lt;br /&gt;
          WRITE (*,*) &amp;quot;A Amplitude Total é: &amp;quot;, &amp;amp;&lt;br /&gt;
          Amplitude(VetorDeEntrada)&lt;br /&gt;
          WRITE (11,*) &amp;quot;A Amplitude Total é: &amp;quot;, &amp;amp;&lt;br /&gt;
          Amplitude(VetorDeEntrada)         &lt;br /&gt;
        CASE (10)&lt;br /&gt;
          STOP &amp;quot;Programa encerrado.&amp;quot;&lt;br /&gt;
      END SELECT&lt;br /&gt;
      IF (c/=10) THEN&lt;br /&gt;
        CLOSE (11)&lt;br /&gt;
      END IF&lt;br /&gt;
    END DO&lt;br /&gt;
  END SUBROUTINE MenuPrincipal&lt;br /&gt;
  SUBROUTINE Moda(Vetor)&lt;br /&gt;
    IMPLICIT NONE&lt;br /&gt;
    INTEGER::i=0,K=1,CONT,quant_max=1&lt;br /&gt;
    REAL, DIMENSION (:), ALLOCATABLE, INTENT(in) :: Vetor&lt;br /&gt;
    REAL::M(2,n)&lt;br /&gt;
    DO i = 1, n&lt;br /&gt;
      M(2,i) = 1&lt;br /&gt;
    END DO&lt;br /&gt;
    CONT=1&lt;br /&gt;
    i=1&lt;br /&gt;
    DO&lt;br /&gt;
      IF (Vetor(CONT)==Vetor(CONT+1)) THEN&lt;br /&gt;
        IF (i==1) THEN&lt;br /&gt;
          M(1,i) = Vetor(CONT)&lt;br /&gt;
          M(2,i) = M(2,i)+1&lt;br /&gt;
          i=i+1&lt;br /&gt;
        ELSE&lt;br /&gt;
          IF (M(1,i-1)==Vetor(CONT)) THEN&lt;br /&gt;
            M(2,i-1)=M(2,i-1)+1&lt;br /&gt;
          ELSE&lt;br /&gt;
            M(1,i)=Vetor(CONT)&lt;br /&gt;
            M(2,i)=M(2,i)+1&lt;br /&gt;
            i = i+1&lt;br /&gt;
          END IF&lt;br /&gt;
        END IF&lt;br /&gt;
      END IF&lt;br /&gt;
      CONT=CONT+1&lt;br /&gt;
      IF (CONT&amp;gt;=n) THEN&lt;br /&gt;
        EXIT&lt;br /&gt;
      END IF&lt;br /&gt;
    END DO&lt;br /&gt;
    DO&lt;br /&gt;
      IF(M(2,K)&amp;gt;quant_max) THEN&lt;br /&gt;
        quant_max = M(2,K)&lt;br /&gt;
      END IF&lt;br /&gt;
      K = K+1&lt;br /&gt;
      IF (K&amp;gt;=i) THEN&lt;br /&gt;
        EXIT&lt;br /&gt;
      END IF&lt;br /&gt;
    END DO&lt;br /&gt;
    K=1&lt;br /&gt;
    WRITE(*,*)&amp;quot;A moda é :&amp;quot;&lt;br /&gt;
    WRITE(11,*)&amp;quot;A moda é :&amp;quot;&lt;br /&gt;
    IF (quant_max==1) THEN&lt;br /&gt;
      DO&lt;br /&gt;
        WRITE(*,*)&amp;quot;-&amp;gt;&amp;quot;,Vetor(K)&lt;br /&gt;
        WRITE(11,*)&amp;quot;-&amp;gt;&amp;quot;,Vetor(K)&lt;br /&gt;
        K = K+1&lt;br /&gt;
        IF (K&amp;gt;n) THEN&lt;br /&gt;
          EXIT&lt;br /&gt;
        END IF&lt;br /&gt;
      END DO			&lt;br /&gt;
    ELSE&lt;br /&gt;
      DO&lt;br /&gt;
        IF(M(2,K)==quant_max) THEN&lt;br /&gt;
          WRITE(*,*)&amp;quot;-&amp;gt;&amp;quot;,M(1,K)&lt;br /&gt;
          WRITE(11,*)&amp;quot;-&amp;gt;&amp;quot;,M(1,K)&lt;br /&gt;
        END IF&lt;br /&gt;
        K = K+1&lt;br /&gt;
        IF (K&amp;gt;=i) THEN&lt;br /&gt;
          EXIT&lt;br /&gt;
        END IF&lt;br /&gt;
      END DO			&lt;br /&gt;
    END IF&lt;br /&gt;
  END SUBROUTINE&lt;br /&gt;
  REAL FUNCTION Media(VetorDeEntrada)&lt;br /&gt;
    REAL, DIMENSION (:), ALLOCATABLE, INTENT(in) :: VetorDeEntrada&lt;br /&gt;
    REAL:: Soma       &lt;br /&gt;
    Soma = 0&lt;br /&gt;
    DO i=1,SIZE(VetorDeEntrada)&lt;br /&gt;
      Soma = Soma + VetorDeEntrada(i)&lt;br /&gt;
    END DO &lt;br /&gt;
    Media = Soma / (SIZE(VetorDeEntrada) * 1.0)&lt;br /&gt;
  END FUNCTION Media&lt;br /&gt;
  REAL FUNCTION Variancia(VetorDeEntrada)&lt;br /&gt;
    REAL, DIMENSION (:), ALLOCATABLE, INTENT(in) :: VetorDeEntrada&lt;br /&gt;
    REAL, DIMENSION (:), ALLOCATABLE :: VetorSomatorio&lt;br /&gt;
    REAL :: MediaDosElementos&lt;br /&gt;
    INTEGER::Soma&lt;br /&gt;
    ALLOCATE (VetorSomatorio(1:n))       &lt;br /&gt;
    MediaDosElementos = Media(VetorDeEntrada)&lt;br /&gt;
    DO i=1,SIZE(VetorDeEntrada)&lt;br /&gt;
      VetorSomatorio(i) = (VetorDeEntrada(i)-MediaDosElementos)**2&lt;br /&gt;
    END DO   &lt;br /&gt;
    Soma = 0&lt;br /&gt;
    DO i=1,SIZE(VetorDeEntrada)&lt;br /&gt;
      Soma = Soma + VetorSomatorio(i)&lt;br /&gt;
    END DO   &lt;br /&gt;
    Variancia = Soma / (SIZE(VetorDeEntrada) * 1.0)       &lt;br /&gt;
    DEALLOCATE(VetorSomatorio)&lt;br /&gt;
  END FUNCTION Variancia&lt;br /&gt;
  REAL FUNCTION DesvioPadrao(VetorDeEntrada)&lt;br /&gt;
    IMPLICIT NONE&lt;br /&gt;
    REAL, DIMENSION (:), ALLOCATABLE, INTENT(in) :: VetorDeEntrada    &lt;br /&gt;
    DesvioPadrao = SQRT (Variancia(VetorDeEntrada))     &lt;br /&gt;
  END FUNCTION DesvioPadrao&lt;br /&gt;
  REAL FUNCTION CoeficienteDeVariacao(VetorDeEntrada)&lt;br /&gt;
    IMPLICIT NONE&lt;br /&gt;
    REAL, DIMENSION (:), ALLOCATABLE, INTENT(in) :: VetorDeEntrada &lt;br /&gt;
    CoeficienteDeVariacao = (DesvioPadrao(VetorDeEntrada)*1.0)  / &amp;amp;&lt;br /&gt;
      (Media(VetorDeEntrada)*1.0)      &lt;br /&gt;
  END FUNCTION CoeficienteDeVariacao&lt;br /&gt;
  SUBROUTINE Frequencia(V)&lt;br /&gt;
    IMPLICIT NONE&lt;br /&gt;
    REAL, DIMENSION (:), ALLOCATABLE, INTENT(in) :: V    &lt;br /&gt;
    INTEGER::i,f &lt;br /&gt;
    i=1&lt;br /&gt;
    Do&lt;br /&gt;
      f=1&lt;br /&gt;
      Do                    &lt;br /&gt;
        If (i/=n .and. V(i)==V(i+1)) then&lt;br /&gt;
          f=f+1&lt;br /&gt;
          i=i+1&lt;br /&gt;
        Else&lt;br /&gt;
          Write (*,*) &amp;quot;A frequência de&amp;quot;, V(i),&amp;quot;=&amp;quot;, f&lt;br /&gt;
          Write (11,*) &amp;quot;A frequência de&amp;quot;, V(i),&amp;quot;=&amp;quot;, f&lt;br /&gt;
          i=i+1&lt;br /&gt;
          EXIT&lt;br /&gt;
        End If               &lt;br /&gt;
      End Do                  &lt;br /&gt;
      If (i&amp;gt;=n) then&lt;br /&gt;
        If (i==n.and. V(i)/=V(i-1)) then      &lt;br /&gt;
          Write (*,*) &amp;quot;A frequência de&amp;quot;, V(i),&amp;quot;=&amp;quot;, 1&lt;br /&gt;
          Write (11,*) &amp;quot;A frequência de&amp;quot;, V(i),&amp;quot;=&amp;quot;, 1&lt;br /&gt;
        End if&lt;br /&gt;
        exit&lt;br /&gt;
      End if&lt;br /&gt;
    End Do&lt;br /&gt;
  END SUBROUTINE Frequencia &lt;br /&gt;
  REAL FUNCTION Amplitude(VetorDeEntrada)&lt;br /&gt;
    IMPLICIT NONE&lt;br /&gt;
    REAL, DIMENSION (:), ALLOCATABLE, INTENT(in) :: VetorDeEntrada&lt;br /&gt;
    Amplitude=(VetorDeEntrada(n)-VetorDeEntrada(1))&lt;br /&gt;
  END FUNCTION Amplitude&lt;br /&gt;
  REAL FUNCTION Mediana(VetorDeEntrada)&lt;br /&gt;
    REAL, DIMENSION (:), ALLOCATABLE, INTENT(in) :: VetorDeEntrada    &lt;br /&gt;
    IF (MOD(N,2)/= 0) THEN&lt;br /&gt;
      Mediana= VetorDeEntrada((N+1)/2)&lt;br /&gt;
    ELSE&lt;br /&gt;
      Mediana=(VetorDeEntrada(N/2)+VetorDeEntrada((N+2)/2))/(2*1.0)&lt;br /&gt;
    END IF&lt;br /&gt;
  END FUNCTION Mediana&lt;br /&gt;
END PROGRAM Estatistica&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adonaimedrado</name></author>	</entry>

	</feed>