Ir para conteúdo
Fórum Script Brasil

Sir John Doe

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Posts postados por Sir John Doe

  1. 15 minutos atrás, ArteEN disse:

    talvez ajude

    Sou estudante de psicologia e a todo momento tenho que fazer tabelas de distribuição. Creio que sim, seu video será de grande ajuda. Obrigado.

    outra dúvida cruel para uma pessoa que não é da área, uso para compilar e executar meu prg o site https://www.onlinegdb.com/

     

    Como fazer  isso no meu pc sendo que posso ver a qualquer momento? 

    Sem depender da web

  2. Primeiro programa python e primeira vez com orientacao a objeto, como melhorar pegando os dados de uma arquivo txt/cvs

     

    import math
    import matplotlib.pyplot as plt

    class Tabela:
        
        def __init__ (self): 
            print ("Tabela de Distribuicao") 
        
        
        rol =[10, 20, 30, 40, 50, 60, 70, 80, 90, 100] 
        n = len(rol) 
        li = rol[0] 
        Li = rol[n - 1] 
        AT = Li - li 
        K = int( (1+3.3*math.log10(n))  )+1
        h = int((AT / K))+1

        fi = 0 
        xi = 0 
        fac = 0 
        fpi = 0 

        de = li
        ate = li+h

        def exibeRol (self): 
            return self.rol 

        def getTam (self): 
            return self.n 

        def getli (self): 
            return self.li 

        def getLi (self): 
            return self.Li 

        def getAT (self): 
            return self.AT 

        def getK (self): 
            return self.K 

        def geth (self): 
            return self.h 

        def corpoTabela(self):
            
            de  = self.getli()
            ate = self.getli()+self.h
            
            print("-"*58) 
            print ("{:<15} {:<10} {:<10} {:<10} {:<10}".format('Grupo','fi','xi','fac','fpi'))
            print("-"*58)
            
            fac = 0 
            per = 0
            fi = 0
            for grupos in range(self.getK()):
                for todos in range(self.getTam()):
                    if self.rol[todos] >= de and self.rol[todos] < ate :
                       fi += 1    
                fac = fac + fi
                xi  = (ate + de)/2
                fpi = 100 * fi / self.n

                
                print ("{:<4}- {:<10} {:<10} {:<10} {:<10} {:<10}".format(de, ate, fi, xi, fac, fpi) )
                fi  = 0
                per = per + fpi
                de  = ate
                ate = ate + self.h

        
            print("-"*58) 
            print ("{:<15} {:<10} {:<11} {:<9} {:<9}".format('',self.n,'', '',per))
            return         

            
    tabela = Tabela() 
    print ("Rol:",tabela.exibeRol()) 
    print ("  n:",tabela.getTam()) 
    print (" li:",tabela.getli()) 
    print (" Li:",tabela.getLi()) 
    print (" AT:",tabela.getAT()) 
    print ("  K:",tabela.getK()) 
    print ("  h:",tabela.geth())

    tabela.corpoTabela()


     

  3. Nunca programei em nada na vida, sou estudante de pscologia e cansado de fazer tabela de distribuicao, fiz esse programa que so funcionou com um rol.

    Creio que seja por desconhecer como faz calculo com os categorias de variareis float, double, string.

    Alguém pode me ajudar?

     

    #include <stdio.h> 
    #include <stdlib.h> 
    #include <math.h> 

    #define TAM_MAX 10


    void  imprimirRol( double vetor[TAM_MAX]){
        int i;
        printf("Rol:");
        for(i=0; i!=TAM_MAX; i++){
            printf("%5.2f,", vetor[i] );
        }
        printf("\n");
    }

    float menor(double tam, double vetor[TAM_MAX]){
        int i;
        double menor = 9999999;
        for(i=0; i!=tam; i++){
            if(vetor[i] < menor){
                menor=vetor[i];
            }
        }
        return menor;
    }

    float  maior(double tam, double vetor[TAM_MAX]){
        int i;
        double maior;
        for(i=0; i!=tam; i++){
            if(vetor[i] > maior){
                maior=vetor[i];
            }
        }
        return maior;
    }

    double pontoMedio(double a, double b){
        return (a+b)/2;
    }

    double percentualFrequencia(int contador){
        return 100*contador/TAM_MAX;
    }


    int main(){ 
        int i,j,cont=0,acum, tam; 
        
        double soma, somaPercentual=0, percentualClasse;
        double nro_menor, nro_maior, AT, h, K,lim1, lim2;
        double vet[TAM_MAX] = {1,4,24,25,30,33,39,46,57,60};

        soma=0;
        nro_menor = menor(TAM_MAX, vet);
        nro_maior = maior(TAM_MAX, vet);
        
        AT = nro_maior - nro_menor;
        K  = ceil(1+3.3*log10(TAM_MAX));

        h  = round(AT/K);

        printf("Resultados\n\n");
        imprimirRol(vet);
        printf("limite inferior li: %.2f  \n", nro_menor);
        printf("limite superior Li: %.2f  \n", nro_maior);
        printf("Amplitude total AT: %.2f  \n", AT);
        printf("Número total de Classes  K: %.2f \n", K);
        printf("Incremento de classe  h: %.2f \n\n", h);

        lim1=vet[0];
        lim2=h+lim1;
        
        printf("Tabela de Distribuição\n");    
        printf("Idade da familia Oliveira\n");        
        printf("-----------------+-----------+-----------+-----------+------------\n");        
        printf("     idade       |     fi    |     xi    |    fac    |    fpi     \n");    
        printf("-----------------+-----------+-----------+-----------+------------\n");    
        
        acum=0;
        for(i=0; i != K; i++){
            cont=0;
            for (j=0; j != 10; j++){
                if( vet[j] >= lim1 && vet[j] < lim2){
                    cont++;
                }
            }
            acum = acum + cont;
            soma = soma + cont;
            
            percentualClasse = percentualFrequencia(cont);
            somaPercentual = somaPercentual + percentualClasse;

            printf("%3.0f  |=  %3.0f     |    %3d    |   %5.2f   |    %3d    |   %5.2f%%  \n", lim1, lim2, cont, pontoMedio(lim1,lim2), acum, percentualClasse) ;        
            lim1=lim2;
            lim2=lim2+h;
            percentualFrequencia(cont);

        }
        printf("-----------------+-----------+-----------+-----------+------------\n");    
        printf("                 |    %3.0f    |           |           |  %5.2f%%    \n", soma, somaPercentual);    
        printf("-----------------+-----------+-----------+-----------+------------\n");    
        printf("Fonte: aula prof. Geraldo Magela 24/03/2022\n");    

    tente com esse rol:    

    double vet[TAM_MAX] = {1,3,18,26,28,31,33,39,46,57,60};

    altere a constante #define TAM_MAX 11

×
×
  • Criar Novo...