Ir ao conteúdo
  • Cadastre-se

Ivander

Membro Pleno
  • Posts

    27
  • Cadastrado em

  • Última visita

Tudo que Ivander postou

  1. Resolvi retirando "file_open(fid1,"inputSignal.dat",READ_MODE);" Pois o endfile(fid1) como sintaxe do VHDL 1987 já abre um arquivo.
  2. ------------------------------------------------- -- 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?
  3. @devair1010 Muito obrigado por estar sempre me auxiliando no aprendizado aqui no fórum. abraço, entendi meu erro lógico.
  4. 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)
  5. 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?
  6. @Leo14nerd Sem problemas, esses métodos de seleção são formas simples de resolver o problema. não tive o intuito de dizer que esse programa terá problemas de RAM, mas sim que mesmo sendo um modelo este código, é algo que vale se pensar para algo mais complexo. Afinal é apenas um exercício ilustrativo sem problemas cotidianos.
  7. #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.
  8. #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.
  9. ENTITY ula IS PORT ( INPUT1 : IN BIT_VECTOR (2 DOWNTO 0); INPUT2 : IN BIT_VECTOR (2 DOWNTO 0); SELETOR : IN BIT_VECTOR (1 DOWNTO 0); OUTPUTF2 : OUT BIT_VECTOR (5 DOWNTO 0)); END ula; ARCHITECTURE teste OF ula IS SIGNAL e1 : BIT_VECTOR (2 DOWNTO 0); SIGNAL e2 : BIT_VECTOR (2 DOWNTO 0); SIGNAL s1 : INTEGER; SIGNAL s2 : INTEGER; SIGNAL sf1 : INTEGER; SIGNAL sf2 : BIT_VECTOR(5 DOWNTO 0); BEGIN sel <= SELETOR(0)&SELETOR(1); e1 <= INPUT1; e2 <= INPUT2; s1 <= to_integer(unsigned(e1)); s2 <= to_integer(unsigned(e2)); PROCESS (sel) BEGIN IF (sel="00") THEN --Soma CASE sel IS sf1 <= s1+s2; sf2 <= BIT_VECTOR(to_unsigned(sf1,sf2'length)); ELSIF (sel="01") THEN -- Subtração CASE sel IS sf1 <= s1-s2; sf2 <= BIT_VECTOR(to_unsigned(sf1,sf2'length)); ELSIF (sel="10") THEN -- Multiplicação CASE sel IS sf1 <= s1*s2; sf2 <= BIT_VECTOR(to_unsigned(sf1,sf2'length)); ELSIF (sel="11") THEN -- Divisão CASE sel IS sf1 <= s1/s2; sf2 <= BIT_VECTOR(to_unsigned(sf1,sf2'length)); ELSE END IF ; END PROCESS; END teste; Bom dia , estou tentando desenvolver uma calculadora em VHDL , Quartus II da Altera. estou utilizando casting, e estou com um erro específico na linha 34 onde ele sugere uma condicional, porém quando altero a condicional 'when' da mais erros. alguém poderia me ajudar a entender ?
  10. #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.
  11. @devair1010 Muito obrigado pela ajuda, quando estou programando acontece realmente no automático algumas atribuições em c++ ou c# e nem noto a diferença porque não tenho experiência em c. agradeço a ajuda e disposição, me ajudou muito . Resolveu o problema. adicionado 3 minutos depois resolvido
  12. #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.
  13. @MB_ Muito obrigado, apenas com a formatação correta do scanf já resolveu e a sugestão de multiplicação por 0.01 facilita o entendimento do usuário. obrigado!
  14. #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.
  15. 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; }
  16. muito obrigado @devair1010 ... top mesmo , imagem ultrapassa as expectativas !
  17. Nossa @giu_d , ninguém faz esse tipo de coisa ! Muito obrigado mesmo. Tenho todo cuidado para pedir ajuda, pois sei que não é justo pegar trabalho dos outros. irei aprender em seu código e não só reproduzi-lo. MUITO OBRIGADO! adicionado 11 minutos depois não só rodou, como teve várias correções; principalmente de apresentação e leitura de dados.
  18. muito obrigado pela atenção @giu_d corrigi os detalhes, porém ainda não calcula; muito obrigado pela atenção novamente.
  19. 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); }
  20. 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.
  21. 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); }
  22. 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); } } }

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!