Ir ao conteúdo
  • Cadastre-se

Ivander

Membro Pleno
  • Posts

    26
  • Cadastrado em

  • Última visita

posts postados por Ivander

  1. -------------------------------------------------
       -- Leitura do vetor de estimulos fornecido pelo arquivo
       --inputSignal.dat gerado no Octave.
       PROCESS
          FILE     fid1    : TEXT;
          VARIABLE line1   : LINE;
          VARIABLE sinalAD : std_logic_vector(7 downto 0);
          VARIABLE sinalAD_conv: std_logic_vector(7 downto 0);
       BEGIN
          file_open(fid1,"inputSignal.dat",READ_MODE);
          sinal_in <= (OTHERS => '0');
          wait until reset='0';
          WHILE NOT endfile(fid1) LOOP
            
             wait until rising_edge(clk);
             readline(fid1,line1);
             read(line1, sinalAD);
            sinalAD_conv(7) := not sinalAD(7);
            sinalAD_conv(6 downto 0):= sinalAD(6 downto 0);
             sinal_in <= sinalAD_conv;
         
          END LOOP;
       END PROCESS;


    Estou tentando verificar se o arquivo encerrou em uma leitura de arquivos no VHDL utilizando o endfile(), se utilizo TRUE como argumento do while o arquivo código roda, se utilizo endfile(fid1) como argumento do while da o seguinte erro:

    # ** Error: (vsim-3341) Cannot open file "inputSignal.dat"; it is already open.
    #    Time: 870 ns  Iteration: 0  Instance: /tbfir

    não sei porque estou abrindo o arquivo duas vezes como informado no erro; meu intuito era apenas verificar se o fim do arquivo chegou para encerrar o loop, alguém pode me ajudar me explicando meu erro?

  2. package vetorteste;
    
    import java.util.Scanner;
    
    public class VetorTeste 
    {
    
        public static void main(String[] args) 
        {
       
            int linha=0;
            int coluna=0;
            int matriz[][] = new int[coluna][linha];
            
            Scanner teclado = new Scanner(System.in);
            
            System.out.println("Digite a quantidade de colunas da matriz : ");
            linha = teclado.nextInt();
            System.out.println("Digite a quantidade de linhas da matriz : ");
            coluna = teclado.nextInt();
            
            for (int i=0; i<=coluna; i++)
            {
                for (int j=0; j<=linha; j++)
                {
                   System.out.printf("Digite o valor [%d][%d] ", +i+j); // Esta linha possuí erro.
                   matriz[i][j] = teclado.nextInt(); // Esta linha possuí erro.
                }
            }
            
                for (int i=0; i<=coluna; i++)
                {
                    for (int j=0; j<=linha; j++)
                    {
                        System.out.printf("[%d][%d] ",+i+j+": "+matriz[i][j]); // Esta linha possuí erro.
                    }
                        System.out.println(" ");
                }  
        }  
    }

    Galera, estou aprendendo a linguagem Java e estou sofrendo para algumas adptações da família C ao qual estou familiarizado.
    Comentei no código onde minha IDE indica erro, pois retirando essas linhas, o programa roda . 

    Gostaria de pedir que alguém me explique por favor onde esta meu erro, para que eu entenda os detalhes que diferenciam JAVA de C, assim como entender melhor como funciona a linguagem.

    Tenho o palpite de que seja a sintaxe ao trabalhar com vetores e matrizes.

    Desde já , grato!

    ERRO APRESENTADO: 

     

    Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%d'
        at java.util.Formatter.format(Formatter.java:2519)
        at java.io.PrintStream.format(PrintStream.java:970)
        at java.io.PrintStream.printf(PrintStream.java:871)
        at vetorteste.VetorTeste.main(VetorTeste.java:37)

    • Curtir 1
  3. Boa noite companheiros do Clube do Hardware. 

     

    Este é meu primeiro post se tratando de Java! 

    Estou procurando aprender a linguagem via foruns, cursos, videos pela internet.

     

    Estou acompanhando um curso em que o JavaFX não está integrado ao Netbeans, gosto muito do professor e foi também um dos poucos de qualidade grátis que encontrei.
    Procurei sobre o assunto na internet e não consegui encontrar algo que me oriente. 

    Durante a abertura de um novo projeto em JavaFX FXML aparece a seguinte mensagem: 

    "Acesse o Platform Manager, crie uma plataforma Java SE não padrão e, em seguida, acesse a guia JavaFX, ative o JavaFX e preencha os caminhos para validar o JavaFX SDK e o Java FX Runtime."

    alguém poderia por favor me auxiliar com um tutorial online ou me orientar com como posso proceder?

    • Curtir 1
  4. #include <stdio.h>
    #include <math.h>
    #define PI 3.14
    
    main ()
    {
    	
    float raio, area, perimetro;
    
    printf	("\t\tCALCULA A AREA E PERIMETRO DE UMA CIRCUNFERENCIA \n\n");
    
    printf ("Digite o valor do raio :");
    scanf ("%f", &raio);
    
    area = PI*pow(2,raio);
    perimetro = 2*PI*raio;
    
    printf ("A area eh: %.2f \n", area);
    printf ("O perimetro eh: %.2f", perimetro );
    	
    
    	
    return 0;
    }

    Normalmente como o devair disse, não postamos códigos . 
    Sugere-se que poste o que você realizou e assim o pessoal tira as dúvidas . 

    esse é um exemplo de como poderia ficar o seu código do exercício 2, espero que faça bom uso estudando.
     

    • Curtir 1
  5. #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    
    main ()
    {
    int n, i, j;
    int vet[n], min, max;
    
     system("color F1");
    printf ( " \t\t  ORGANIZA VETOR BINARIO DE N posições \n\n");
    
    printf ("Digite o tamanho do vetor desejado: ");
    scanf ("%d",&n);
    
    
    	for ( i=0; i<n; i++)
    	{
     		ini:
     		printf ("Digite o elemento [%d] : ", i+1);
     		scanf ("%d", &vet[i]);
     		fflush(stdin);
     
     		if ( vet[i]>1 )
     		{
     			system("cls");
     			printf ("por favor digite 0 ou 1 nos elementos dos vetores.");
     			getch();
     			system("cls");
     			goto ini;
     		}
    	}
    
    			for (i=0; i<n; i++)
    			{
    				for(j= i+1; j<n; j++)
    				{
    					if (vet[j]<vet[i])
    					{	
    						min = vet[j];
    						max = vet[i];
    						vet[i]= min;
    						vet[j]= max;	
    					}
    				}
    			
    			}
    
    	
    system ("cls");
    
    for (i=0; i<n; i++)
    	{
    	printf ("%d", vet[i]);
    	}	
    	
    return 0;
    }

    No caso, acredito que o objetivo de seu professor seja que você tenha familiaridade com os métodos conhecidos de seleção.
    Existem vários métodos de seleção e caso você consiga desenvolver um pode ser interessante também. 
    Cada método possui suas vantagens, uns são mais eficientes outros mais diretos etc.

    no caso, escolhi o selection sort, gosto dele por comparar posição por posição e já ir organizando como desejo, porém ele não é tão eficiente como um buble sort.

    • Obrigado 1
  6. #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <math.h>
    
    void soma	(float a, float b);
    void sub	(float a, float b);
    void mul	(float a, float b);
    void div	(float a, float b);
    
    // Função principal
    main ()
    {
    float a, b;
    char operacao;
    
    printf("Digite o primeiro valor: ");
    scanf ("%f", &a);
    
    printf ("Qual operacao deseja realizar? \n '+' soma.\n '-' subtracao.\n '*' multiplicacao.\n '/' divisao.\n\n operacao:");
    scanf ("%c", &operacao);
    
    printf("Digite o segundo valor: ");
    scanf ("%f", &b);
    
    
    
    system("cls");
    
    	switch (operacao) 
    	{
    		ini:
    		
    		case '+' : 
    			soma(a,b);
    			break;
    		case '-' :
    			sub(a,b);
    			break;
    		case '*' :
    			mul(a,b);
    			break;
    		case '/' :
    			div(a,b);
    			break;
    	
    		default : printf("Opcao invalida!");
    		goto ini;
    	}
    }
    
    
    //Função Soma
    void soma(float a, float b)
    {
    float result=0;
    result=a+b;
    printf("%.2f + %.2f = %.2f", a, b, result);	
    }
    
    //Função Subtração
    void sub(float a, float b)
    {
    float result=0;
    result=a-b;	
    printf("%.2f - %.2f = %.2f", a, b, result);
    }
    
    //Função Multiplicação
    void mul(float a, float b)
    {
    float result=0;
    result=a*b;	
    printf("%.2f * %.2f = %.2f", a, b, result);
    }
    
    //Função Divisão
    void div(float a, float b)
    {
    float result=0;
    result=a/b;	
    printf("%.2f / %.2f = %.2f", a, b, result);
    }

    Olá boa tarde, alguém poderia me ajudar por favor? este é meu código. 
    Estou tentando usar a função void para determinar cada operação de uma calculadora. (+ , -, *, /).

    O programa não da erro para compilar, porém enquanto esta rodando após solicitar a operação que desejo ele roda diretamente a função somar e ainda não solicita o segundo valor da operação, sempre somando com zero. 

    agradeço caso alguém possa me esclarecer. 
    att.

    adicionado 9 minutos depois

    Resolvido. 

    Apenas alterando a chamada da função de 'c' char, para 's' string; funcionará tudo ok.

    • Curtir 1
  7. #include<stdio.h>
    #include<math.h>
    #include<conio.h>
    #include<stdlib.h>
    main()
    {
    struct raiz
    {
    float a, b, c, delta, x1, x2;
    char mensagem;
    };
    struct raiz quad[5];
       	
    float a, b, c, delta, x1, x2, i=0, cont=0;
    char resp;
    
    do 
    {
    	while(cont<=5)
    	{
    	
    printf  ("\t\t\tCALCULO DE RAIZ PARA UMA EQ. DO SEGUNDO GRAU\n\n\n");
    
    	printf  ("Insira o valor do coeficiente 'A':");
    	scanf   ("%f", &a);
    fflush(stdin);
    	
    		printf  ("Insira o valor do coeficiente 'B':");
    		scanf   ("%f", &b);
    fflush(stdin);
    
    			printf  ("Insira o valor do coeficiente 'C':");
    			scanf   ("%f", &c);			
    fflush(stdin);
    
    delta = pow(b,2)-4*a*c;
    x1=((-b)+sqrt(delta))/(2*a);
    x2=((-b)-sqrt(delta))/(2*a);
    				
    
    
    				if ( delta>0 && delta!=0)
    				{
    				mensagem[i]=AETDRR; //A equacao tem duas raizes reais
    				quad[i].a=a;
    				quad[i].b=b;
    				quad[i].c=c;
    				quad[i].delta=delta;
    				quad[i].x1=x1;
    				quad[i].x2=x2;
    				}
    						
    				if ( delta<0 && delta!=0)
    				{
    				mensagem[i]=AENTRR; //A equacao nao tem raizes reais
    				quad[i].a=a;
    				quad[i].b=b;
    				quad[i].c=c;
    				quad[i].delta=delta;
    				quad[i].x1=x1;
    				quad[i].x2=x2;
    				}
    				
    				if ( delta==0)
    				{
    				mensagem[i]=AETDRI; // A equacao tem duas raizes reais iguais
    				quad[i].a=a;
    				quad[i].b=b;
    				quad[i].c=c;
    				quad[i].delta=delta;
    				quad[i].x1=x1;
    				quad[i].x2=x2;
    				}
    				
    printf("Deseja realizar mais um calculo de raiz quadrada? S/ N/ : ");
    scanf ("%c", &resp);
    printf("\n\n");
    system("cls");
    cont++;
    i++;
    }
    goto mid;
    }
    while( resp=='s' || resp=='S');	
    
    mid:
    resp=0;
    printf ("\nDeseja imprimir os calculos realizados? S/ N/");
    scanf	("%c",&resp);
    if(resp=='s' || resp=='S')
    {
    printf(" LEGENDA: \n AETDRR = A equacao tem duas raizes reais\n AENTRR = A equacao nao tem raizes reais\n AETDRI = A equacao tem duas raizes reais iguais\n\n ");	
    	for (i=0;i<5;i++)
    	{
    	printf("%s", quad[i].mensagem);
    	printf("%.0f", quad[i].a);
    	printf("%.0f",quad[i].b);
    	printf("%.0f",quad[i].c);
    	printf("%.0f",quad[i].delta);
    	printf("%.0f",quad[i].x1);
    	printf("%.0f",quad[i].x2);
    	}
    }else{ goto fim;
    }
    fim:
    system("PAUSE");									
    return 0;
    
    }

    Boa noite, 

    tenho uma dúvida, ao compilar este código esta dando erro referente a declaração de escopo. 
    Alguém pode me ajudar ?

    A ideia é realizar até 5 calculos de raiz quadrada, após isso o programa irá perguntar se desejo imprimir a matriz (relatório) referente a todos os calculos realizados.

    • Amei 1
  8. #include<stdio.h>
    #include<math.h>
    main()
    {
       	
    	float montante, taxadejuros, valorinicial;
    	int periodo;
    	
    	printf ("CALCULO DE JUROS COMPOSTOS\n\n\n");
    	printf ("Qual o valor inicial de deposito?\n");
    	scanf  ("%.2f", &valorinicial);
    	
    	fflush(stdin);
    	
    			printf ("\n\nPor quanto tempo pretende calcular os juros? ( em meses )\n");
    			scanf  ("%d", &periodo);
    	
    	fflush(stdin);
    			
    					printf ("\n\nQual a taxa de juros vigente de seu banco?\n");
    					scanf  ("%.2f", &taxadejuros);
    					
    	fflush(stdin);				
    
    montante = valorinicial*pow((1+taxadejuros), periodo);
    
    printf ("\n\nO valor acumulado no periodo de %d eh : %.2f", periodo, montante);
    
    return 0;
    }

    Boa tarde, possuo uma dúvida referente ao meu programa abaixo em Linguagem C. 

    o compilador não acusa nenhum erro, a leitura de cada variável esta acontecendo corretamente e com a formatação float esperada, porém ao retornar o resultado, independente dos valores inseridos sempre retorna "zero". 

    alguém poderia por favor me trazer uma luz? 
    acredito que o erro esteja na fórmula ou ao printar o resultado final.
     

    • Curtir 1
  9. Boa tarde, desde já, aviso que sou iniciante.
    estou com uma dúvida.
    escrevi todo o código utilizando funções.
    o programa roda, realiza a leitura de cada elemento da matriz, porém na hora de printar a separação dos elementos do triangulo superior e inferior; não printa nada.

    segue o algoritmo.

    <

    #include<stdio.h>
    #include<conio.h>

    /*Funcao que faz a leitura da dimensao e dos elementos de uma matriz*/
    void leitura(int *n, int matriz[100][100]){
         int i, j; /*Declaracao de variaveis*/
         
         printf("Digite a dimensao da matriz quadrada: ");
         scanf("%d", n); /*Leitura da dimensao*/
         
         printf("Digite os elementos da matriz[%d][%d]:\n", *n,*n);
         for(i = 0; i < *n; i++){
               for(j = 0; j < *n; j++)
                    scanf("%d", &matriz[j]); /*Leitura dos elementos*/
         }
    }

    /*Funcao que separa valores da matriz tringular superior   ---  i<j*/
    void triangularsuperior(int matriz[100][100]){
         int *n, i, j; /*Declaracao de variaveis*/
         
         for(i = 0; i < j; i++){
               for(j = 0; j < *n; j++)
                    printf("matriz triangular superior : [%d][%d]", i,j); /*Separação valores pertencentes a matriz superior*/
         }
    }

    /*Funcao que separa valores da matriz tringular inferior   ---  i>j*/
    void triangularinferior(int matriz[100][100]){
         int *n, i, j; /*Declaracao de variaveis*/
         
         for(i = 0; i > j; i++){
               for(j = 0; j < *n; j++)
                    printf("matriz triangular superior : [%d][%d]", i,j); /*Separação valores pertencentes a matriz inferior*/
         }
    }


    int main(){
        
        int matriz[100][100], n; /*Declaracao de variaveis*/
        
        leitura(&n, matriz); /*Chama a funcao que le a matriz*/
        triangularsuperior(matriz);
        triangularinferior(matriz);
        
        return 0;
    }

    • Obrigado 1

  10. Faça um programa que determine e escreva:
    (a) A maior idade dos habitantes;
    (b) A porcentagem entre os indivíduos do sexo masculino/feminino cuja idade está entre 18 e 30 anos,
    inclusive; que tenham olhos verdes e cabelos loiros.
    Utilize o comando switch no programa.

     

     

    ------------------------DÚVIDA--------------------------------

     

    Pessoal, não estou conseguindo entender muito bem onde errei, meu programa não esta realizando o cálculo de porcentagem, alguém poderia me ajudar?

    pensei em realizar toda coleta, e , baseado no sexo apenas testar dentro do case se satisfaz os valores que busco para o cálculo de porcentagem dos olhos azuis e cabelos loiros.

    Não há bug na compilação, a maior idade aparece normalmente, apenas as porcentagens não aparecem.

     

     

    //-----------------------------------------------------------------------------------------------------------
    //  Programa   : Cadastro de Pessoas
    //  Utilidade   : Lê um numero n de habitantes e os classifica por sexo, idade, olhos, cabelos. 

    //                     da uma porcentagem de homens/mulheres de olhos azuis e cabelos loiros.
    //  Autor      : Ivander 
    //  Codificada : Dev-C++
    //
    //-----------------------------------------------------------------------------------------------------------
     
    #include<stdio.h>
    #include<conio.h>
     
    //*entradas
    int numhab, sexo, corolhos, corcabelos, idade;

    //*process
    int i;
    int contadorH, contadorM;
    //*saidas
    int maioridade,porcentagemH,porcentagemM;


    int main()
    {
    printf ("Quantos habitantes voce ira cadastrar?\n");
    scanf  ("%d", &numhab);

            for (i=0; i<=numhab; i++)
            {
                printf ( "qual a idade do habitante?\n");
                scanf  ("%d", &idade);
                
                    idade>maioridade?maioridade=idade:maioridade=maioridade;
            
                printf ( "qual o sexo do habitante?\n 1-Homem \n 2-Mulher\n");
                scanf  ("\n%d", &sexo);
                
                printf ( "qual a cor dos olhos do habitante?\n 1-Azul \n 2-Verde \n 3-Castanho \n");
                scanf  ("%d", &corolhos);
                
                printf ( "qual a cor dos cabelos do habitante?\n 1-Loiro \n 2-Castanho \n 3-Preto \n");
                scanf  ("%d", &corcabelos);
                    
                switch ( sexo )
                    {
                    
                        case 1 :
                        if(18<=idade<=30);
                        if(corolhos==2);
                        if(corcabelos==1);
                        
                         contadorH++;
                        break;

                        case 2 :
                        if(18<=idade<=30);
                        if(corolhos==2);
                        if(corcabelos==1);
                         
                         contadorM++;
                        break;
                            
                        default :
                        printf ("Valor invalido!\n");
                        
                    }
                        
                    
            }
            
    porcentagemH=contadorH/numhab*100;
    porcentagemM=contadorM/numhab*100;    

        printf ("\n Maior idade fornecida:%d", maioridade);
        printf ("\n porcentagem de Homens loiros com olhos verdes:%d", porcentagemH);
        printf ("\n porcentagem de Mulheres loiras com olhos verdes:%d", porcentagemM);
    }

        

        


        
        

  11. Boa tarde. 
    Minha dúvida é de utilização da ferramenta DEV++

     

    Em um momento, escrevi um código um pouco maior.
    Para visualizar melhor, retirei a barra de indicação de erros que esta localizada na parte inferior da tela!

    alguém poderia indicar o caminho para inserir esta barra novamente?

      "Exemplo: quero procurar meu computador sem ser pela área de trabalho. Iniciar>>Meu Computador".
    Pesquisei em alguns sites sem sucesso, sobre alguma questão parecida ou que satisfizesse.

    Obs: desinstalando e instalado volta as configurações originais; consequentemente voltando à barra inferior.

    • Curtir 1
  12. estou fazendo apenas o lançamento aleatório de uma moeda, onde cara é 1 e coroa é 0.

    utilizei o "if" para definir, se for 1, contador++, se for 0, contador1++ . 

    porém, 
    o programa roda , efetua as jogadas aleatórias e também a contagem; mas a contagem da um valor inconcebível. 

    por exemplo: 
    Houve 100 jogadas... 
    55 cara

    70 coroa

    Segue o código:


     


    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h> 
    #include<time.h>
    #include<string.h>
    #include<math.h>


    main ()

    {
    int contador=0;
    int contador1=0;

            int i, cara, coroa;
            srand(time(NULL));
            
            printf("cara=1 \n coroa=0 \n", RAND_MAX);
            
                for(i=1; i<=100; i++)
                {
                    
                        printf("Jogada %d: %d\n", i , rand()%2);
                        
                        if  (rand()%2==1)
                        {
                        contador++;    
                        }    
                        if  (rand()%2==0)
                        {
                        contador1++;    
                        }        
                }    
    cara=contador;
    coroa=contador1;
    printf("CARA:%d\n", cara);
    printf("COROA:%d\n", coroa);
    }
        

    • Amei 1
  13. REALIZEI UMA CORREÇÃO, PORÉM SEGUE NÃO REALIZANDO A CONTAGEM DE QUANTOS "1" HOUVERAM NO RANDOM.

     


    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h> 
    #include<time.h>
    #include<string.h>
    #include<math.h>


    main ()

    {
            int i, cara=0, coroa=0;
            srand(time(NULL));
            
            printf("cara=1 \n coroa=0 \n", RAND_MAX);
            
                for(i=1; i<=100; i++)
                {
                    
                        printf("Jogada %d: %d\n", i , rand()&2);
                        
                        
                while(i==1)    
                {
                coroa+=i;
                cara==100-coroa;
                printf("%d%d\n", cara, coroa);
                    
                }    
                }
            
        
    }

    • Obrigado 1
  14. O programa esta rodando, porém não esta executando uma função.

    Quando escrevo  

     

    if (rand()==1)
            {
            coroa+=rand()%2;

     

    desejaria que a variável coroa, sempre que rand der 1, somasse +1 à variável coroa. 
    Como há apenas 100 jogadas, não estou me preocupando com equações matemáticas de porcentagem.
    Apenas desejo que à coroa some as jogadas que der 1, quando eu subtrair à coroa de 100 (100-coroa), encontraria um valor para cara.

    Sendo 100 jogadas, esses valores representariam a porcentagem que cada variável "caiu".
    Porém sempre que rodo o código; 
    as jogadas são executadas aleatoriamente conforme previsto, porém ao fim, os valores de cara e coroa em "porcentagem" são sempre 0 e 1, sem somas.

    Como posso resolver esta falha por favor?
    Segue o código

    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h> 
    #include<time.h>
    #include<string.h>
    #include<math.h>

    main()
    {

    int i,cara,coroa;
    srand(time(NULL));

        printf("cara=0\ncoroa=1\n\n", RAND_MAX);
                
        for(i=1; i<=100; i++)
        {
        
            printf("Jogada %d: %d\n", i,rand()%2);
        
            if (rand()==1)
            {
            coroa+=rand()%2;
            
            }
        }
        
    printf ("%d%d\n", cara, coroa);        
    }

    • Amei 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!