Ir ao conteúdo
  • Cadastre-se

1hsouza1

Membros Juniores
  • Total de itens

    12
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Olá ! Preciso aprender como trabalhar com o GALS (emulador de análise léxica sintática para compiladores), mas na web não tem muita referência de como ensina a trabalhar com ele. Preciso fazer um algoritmo de fatorial com base na gramática na imagem do anexo: Um algoritmo bem simples de fatorial que fiz em C/C++ #include <stdio.h> int main(){ int valor = 5, fat = 1; while(valor > 0){ fat = fat * valor; valor = valor-1; } printf("%d",fat); }
  2. Já tive um problema com PC desligando a todo momento também (Sistema operacional Windows) , fiz restauração do sistema ei ele parou , formatando também resolve o problema.
  3. As formas de onda de entrada mostradas na figura 2 são aplicadas num somador de 2 bits. Determine as formas de onda para a soma e o carry de saída em relação às entradas construindo o diagrama de temporização. Minha resolução ficou da seguinte forma: Gostaria de saber se a minha resolução está correta , pois a minha dúvida é se é para fazer em relação a soma com A2 + B2 + Cin ou se é para fazer o gráfico em relação com A1 + B1 com Cin ou sem Cin.
  4. Dado o algoritmo abaixo incompleto do caso 4 e 5 faça a INSERÇÃO e REMOÇÃO de uma posição qualquer da lista. #include <stdio.h> #include <stdlib.h> #include <cstdlib> #include <iostream> using namespace std; typedef struct celulalista{ int informacao; struct celulalista *proximo; }celula; void initlista(celula *pRecebido); void insertlista(celula *pRecebido); void buscalistasimples(celula *pRecebido); void removeelementolistasimples(celula *pRecebido); int levalor(int *valorrecebido); int main() { //Declaracoes celula *pLista; int opcao=0; //pLista = (celula *)malloc(sizeof(struct celulalista)); pLista = new celulalista; initlista(pLista); for(;;) { cout<<"\n\t1 - Inserir : "; cout<<"\n\t2 - Consultar : "; cout<<"\n\t3 - Remover : "; cout<<"\n\t4 - INSERIR EM POSICAO QUALQUER : "; cout<<"\n\t5 - REMOVER EM POSICAO QUALQUER: "; cout<<"\n\t6 - Sair\n\t"; cin>>opcao; opcao = levalor(&opcao); switch(opcao) { case 1: insertlista(pLista); break; case 2: buscalistasimples(pLista); break; case 3: removeelementolistasimples(pLista); break; case 4: exit(0); } } return 0; } /* Inicializacao da lista encadeada */ void initlista(celula *pRecebido){ (pRecebido)->proximo = NULL; } /* Funcao para insercao no inicio */ void insertlista(celula *pRecebido){ //Declaracoes celula *temporario; int valor; //Instrucoes cout<<"\n\tInforme um valor a ser inserido : "; cin>>valor; temporario = (celula * )malloc(sizeof(celula)); temporario->informacao = valor; temporario->proximo = (pRecebido)->proximo; (pRecebido)->proximo = temporario; } /* Funcao para percorrer elementos */ void buscalistasimples(celula *pRecebido){ //Declaracoes celula *temporario; int i=0; //Instrucoes if((pRecebido)->proximo == NULL){ cout<<"\tLista Vazia!\n"; }else{ temporario = (celula * )malloc(sizeof(celula)); temporario = (pRecebido)->proximo; system("cls"); while(temporario!=NULL){ cout<<"\n\t["<<(i=i+1) <<"] Valor : "<<temporario->informacao<<"\n"; temporario = temporario->proximo; } } } /* Remove elemento da cabeca */ void removeelementolistasimples(celula *pRecebido){ //Declaracoes celula *temporario; //Instrucoes if((pRecebido)->proximo == NULL){ cout<<"\n\tLista Vazia!"; }else{ temporario = (pRecebido)->proximo; (pRecebido)->proximo = temporario->proximo; free(temporario); } } int levalor(int *valorrecebido){ //Declaracoes //Instrucoes while((*valorrecebido > 6 )|| (*valorrecebido<1)){ cout<<"\n\tOpcao Invalida. Informe novamente : \n"; scanf("%d", &(*valorrecebido)); } return (*valorrecebido); }
  5. Sim eu entendi no escopo, mas eu só não estou conseguindo fazer no algoritmo e não encontro referencias nos livros nem na web.
  6. Afs mano ! Seu código está muito confuso, tentei pegar um pouco do seu raciocínio mas não funcionou no meu.
  7. O objetivo é: 1 Inserir nó no final da lista 2 Remover nó no final da lista 3 Inserir nó em posição qualquer da lista; 4 Remoção de nó em posição qualquer da lista; A 1 e a 2 eu consegui fazer, mas não encontro referência de como inserir e remover nó em posição qualquer da lista. O meu algoritmo ficou da seguinte forma: #include <stdio.h> #include <stdlib.h> #include <cstdlib> #include <iostream> using namespace std; typedef struct celulalista{ int informacao; struct celulalista *proximo; }celula; void initlista(celula *pRecebido); void insertlista(celula *pRecebido); void buscalistasimples(celula *pRecebido); void removeelementolistasimples(celula *pRecebido); int levalor(int *valorrecebido); int main() { //Declaracoes celula *pLista; int opcao=0; //pLista = (celula *)malloc(sizeof(struct celulalista)); pLista = new celulalista; initlista(pLista); for(;;) { cout<<"\n\t1 - Inserir : "; cout<<"\n\t2 - Consultar : "; cout<<"\n\t3 - Remover : "; cout<<"\n\t4 - Sair : \n\t"; cin>>opcao; opcao = levalor(&opcao); switch(opcao) { case 1: insertlista(pLista); break; case 2: buscalistasimples(pLista); break; case 3: removeelementolistasimples(pLista); break; case 4: exit(0); } } return 0; } /* Inicializacao da lista encadeada */ void initlista(celula *pRecebido){ (pRecebido)->proximo = NULL; } /* Funcao para insercao no inicio */ void insertlista(celula *pRecebido){ //Declaracoes celula *temporario; int valor; //Instrucoes cout<<"\n\tInforme um valor a ser inserido : "; cin>>valor; temporario = (celula * )malloc(sizeof(celula)); temporario->informacao = valor; temporario->proximo = (pRecebido)->proximo; (pRecebido)->proximo = temporario; } /* Funcao para percorrer elementos */ void buscalistasimples(celula *pRecebido){ //Declaracoes celula *temporario; //Instrucoes if((pRecebido)->proximo == NULL){ cout<<"\tLista Vazia!\n"; }else{ temporario = (celula * )malloc(sizeof(celula)); temporario = (pRecebido)->proximo; system("cls"); while(temporario!=NULL){ cout<<"\n\tValor : "<<temporario->informacao<<"\n"; temporario = temporario->proximo; } } } /* Remove elemento da cabeca */ void removeelementolistasimples(celula *pRecebido){ //Declaracoes celula *temporario; //Instrucoes if((pRecebido)->proximo == NULL){ cout<<"\n\tLista Vazia!"; }else{ temporario = (pRecebido)->proximo; (pRecebido)->proximo = temporario->proximo; free(temporario); } } int levalor(int *valorrecebido){ //Declaracoes //Instrucoes while((*valorrecebido > 4 )|| (*valorrecebido<1)){ cout<<"\n\tOpcao Invalida. Informe novamente : \n"; scanf("%d", &(*valorrecebido)); } return (*valorrecebido); } Alguém poderia me ajudar nesse algoritmo de como ele ficaria ?
  8. Dada a imagem abaixo, faça um algoritmo que calcule sua raiz usando o método da bissecção. A variavél R é implicita. Onde q/q0 = 0,01 em t = 0,05s, L= 8 e C= 0,0001. "Fiz um algoritmo abaixo com uma função qualquer, mas está dando erro na geração de sua raiz. #include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> #include <iostream> /* float funcao(float variavel){ //float a, b; //return (a + b)/2; //Expressão da funcção int t = 0, L= 5, qz, R; float q0= 0.01, e= 2.7183, t2= 0.05, qt, Resistor= 5, C= 0.0001; int q1, q2; q1= q0*e*pow(-Resistor*t/2*L, 2); q2 = cos(sqrt((1/L*C) - pow(Resistor/2*L , 2)))*t ; return q1 * q2; }*/ float funcao(float variavel){ float x; return cos(x)-x; } int main(){ float a, b, aux, x,xx , xy, Resistor; int n; //printf("\nDigite o valor do resistor: "); //scanf("%f ", &resistor); do{ printf("\t\t\tALGORITMO DA BISSECCAO\n\n"); printf("\t\t\tAluno: Henrique \n"); printf("\n\n\tDigite o intervalo A: "); scanf("%f", &a);// ponto inicial printf("\n\tDigite o intervalo B: "); scanf("%f", &b);// ponto final aux = abs(funcao(a) * funcao(b));// recebendo o valor absoluto da função //if(funcao(a) * funcao(b)) printf("\n\tDigite o numero de Interacoes: "); scanf("%d",&n); }while(aux < 0 || n <= 0); // repitindo o laço enquanto o intervalo for menor que 0 //Numero de Interação desejada pelo usuario nesse bloco for(int i = 1; i <= n; i++){ x = ((a+b)/2); xx = abs(funcao(a) * funcao(x)); // coordenadas da iteração printf("\n\t%d %.4f %.4f %.4f", i, a, x, b); } // EXIBINDO OS RESULTADOS printf("\n\n\tNumero de Iteracoes desejada com 6 casas decimais Apos %d interacoes: Raiz = %f",n ,x); getch(); system("pause"); return 0; } Obs: Caso prefira pode fazer em outras linguagem de programação.
  9. 1hsouza1

    Eletrônica Digial

    teste adicionado 1 minuto depois Na verdade é uma atividade da faculdade, fiz 3 resolução, mas o prof disse que estava errada e os demais também não acertaram. Então fiquei muito tempo preso nessa atividade tentando resolver e deixava de estudar as outras disciplinas, ai me cadastrei nesse blog para saber se alguem consegue resolver ela.
  10. Considerando a tabela verdade a seguir, a qual descreve o comportamento de um circuito, encontre a expressão logica S que o descreve. Projete um circuito lógico para implementar essa expressão.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!