Ir ao conteúdo

Simon Viegas

Membro VIP
  • Posts

    3.940
  • Cadastrado em

Tudo que Simon Viegas postou

  1. Olá @Alice Braga, tudo bem? Alguns pontos (mais a baixo detalho cada um): Inicie frases no português com letras Maiúsculas; Assim como no português, sugiro dar "espaços" após as vírgulas; Sugiro utilizar valores aleatórios para preencher a matriz. É pouco produtivo ficar digitando valores. Sobre o 1 e 2 Em vez de: para coluna de 1 ate 10 faca para linha de 1 ate 10 faca escreva("digite um valor para a posicao",linha,",",coluna," :") leia (M10[coluna,linha]) fimpara fimpara Prefira algo como: para coluna de 1 ate 10 faca para linha de 1 ate 10 faca escreva("Digite um valor para a posição", linha, ",", coluna, " :") leia (M10[coluna, linha]) fimPara fimPara Repare que não tem problema algum utilizar acentuação no VisualG... Obs.: ali na matriz meio que ficaria mais flexível. Acho que poderia até ficar sem o espaço depois da vírgula (eu recomendo usar)... mas ali no escreve(), recomendo que use o espaçamento mesmo. Com o tempo verás como fica mais agradável a leitura. Se gostar, colocar as coordenadas entre "[]": escreva("Digite um valor para a posição [", linha:2, ",", coluna:2, "]: ") Sobre o 3 Tem duas formas: Definindo quais "leia()" e quais faixas de valores vão ser preenchidos. Exemplo: ALEATORIO 1, 50 para coluna de 1 ate 10 faca para linha de 1 ate 10 faca escreva("Digite um valor para a posição", linha, ",", coluna, " :") leia (M10[coluna, linha]) fimPara fimPara ALEATORIO off O aleatório poderia ficar apenas encobrindo o leia(). Deixei assim antes e depois do para/fimPara para ficar menos custoso... não precisa ficar "ativando/desativando/reativando.....". Mas resumidamente é isso: todo leia() entre esse comando vai ser preenchido automaticamente. Outra forma seria ativar um recurso do programa do VisualG, vide: Pode ativar por este botão também: Ao rodar o programa, o dados vão ser preenchidos automaticamente da mesma forma, só que para todos os leia() que eventualmente existam. Sobre: Você precisa entender o quê está acontecendo. Rode o programa (por favor, gerando automaticamente as entradas, rs) e suponha o que está ocorrendo... sugiro identificar UM problema de cada vez, e corrija. Por exemplo: está gerando a matriz corretamente? Parece que sim... Beleza! Está exibindo os valores menores corretamente? Opa! Tem algo errado ali... Entenda o que está ocorrendo!!! A partir do resultado, tente supor o comportamento do programa e vá no ponto onde você acha que deveria está ocasionando esse problema! Tente sempre entender ANTES o problema, a partir daí, vai para tentar solucioná-lo... ADENDO: Entenda o problema e tente resolver o problema... a ideia é que você faça algo como... "Vi que está ocorrendo X ali naquele trecho... aí fiz isso e aquilo resolveu"... OU "Está ocorrendo o problema X, fiz isso e aquilo e não resolveu"... mas a ideia que você entenda que dar para entender o que está ocorrendo... e o foco vai ser apenas na parte em como resolver (que você mesmo pode conseguir, ou se precisar, tirar dúvidas sobre). No aguardo.
  2. @gabriel kasper, tudo bem? A mensagem acima trata-se apenas de uma mensagem padrão... não tem problema... Poste o que já conseguiu fazer e onde está com dúvidas. A partir do que já conseguiu fazer, nós, colaboradores do fórum, podemos te ajudar melhor. No aguardo.
  3. Olá. Sobre: @jeonjungkook, antes de verificar a implementação, seria interessante revisar a lógica que está tentando implementar... temos 2 pontos distintos: Definição da lógica criada para solucionar o problema; Implementação da lógica definida. Não adiantaria tentar corrigir a implementação do código, se a lógica escolhida não for satisfatória, ou seja: no máximo estaria criando um código certo para um algoritmo errado... não adiantaria! Entende? O que adiantaria fazer um delicioso hambúrguer se o cliente pediu um cachorro-quente? Apenas como uma outra referência, reindentei o código: Obs.: o é o "mesmo" código, apenas arrumei o "texto" de outra forma e inserir outros pequenos detalhes que não influenciam na lógica. {$CODEPAGE UTF8} //uma forma de tentar conseguir imprimir palavras acentuadas program EX2; uses CRT; //necessário em alguns compiladores var A: array[1..10] of integer; B: array[1..10] of integer; i, j, k, d, cont: integer; begin for i:=1 to 10 do begin writeln('Digite o valor da posição ', i, ' do vetor: '); readln(A[i]); end; j := 1; for i:=1 to 10 do begin B[i]:=0; end; for k:=1 to 10 do begin if (A[k] = A[i]) then cont := cont+1; for d:=1 to 10 do begin if (B[d] = A[k]) then cont:=-1; end; if (cont>1) then begin B[j]:=A[k]; j:=j+1; writeln('O número ', A[k], ' aparece ', cont, ' vezes.'); end; end; ReadKey; end. Veja: NÃO analisei a lógica do que você está tentando implementar, mas já podemos ter um problema, por exemplo, aqui: if (A[k] = A[i]) then cont := cont+1; O valor de i estaria fixo, ou seja: estaria comparando sempre com a mesma posição... parece suspeito. O que você definiu como estratégia para solucionar esse problema? Tente descrever o que você está tentando fazer. Daí analisamos e, só após, tenta implementar um código. Obs.: sugiro que poste uma pelo menos uma explicação, e caso deseje, também já pode tentar implementar enquanto discutindo sobre o que foi proposto, mas acho que é necessário entendermos o que quer fazer. No aguardo.
  4. @andreferreira481, trata-se da sequência de Fibonacci. Dê uma pesquisada sobre o tema e depois tente implementar um algoritmo em VisualG ou na linguagem de programação escolhida. Qualquer dúvida é só perguntar.
  5. Não entendi... você já tem uma lógica. O que não está funcionando? Precisa de ajuda em qual parte?
  6. O que não está executando corretamente? Além disso, poste o enunciado completo para analisarmos melhor.
  7. Caro usuário, Seja bem-vindo ao Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware
  8. Caro usuário, Seja bem-vindo ao Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware
  9. Caro usuário, Seja bem-vindo ao Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware
  10. Qual erro está dando? Mas vamos lá... aqui tem pelo menos um: Não tem esse "." nem as essas "aspas duplas". Ex.: escreval("mais os anos trabalhados é ", salarioH:1:2)
  11. @Pablo Br HUE das quebradas, você precisaria ver o que está errado, para então tentar resolver o problema. Use uma equação conhecida, ou seja: que já sabe a resposta. Daí comece verificando o valor de Delta. O programa está calculando corretamente? Depois o resultado dos cálculos das raízes. Está dando correto? Identifique e corrija. Dica: quando você vai executando o programa, os valores das variáveis aparecem no canto direito do VisualG. Exemplo: No aguardo.
  12. Creio que o tema geral está sendo abordado neste tópico: Como trataria-se do mesmo contexto, estou atuando para fechar esse tópico e interagirmos apenas no tópico supracitado. Obrigado.
  13. @Pluto Thayph, pelo que eu entendi, você precisaria associar o número com a opção correspondente. Como citado por @arfneto. Eu não manjo de C, mas acho que seria algo assim: Por exemplo, na primeira linha tem: char* t = [1] + [2] - 1; Acho que poderia preencher com algo como: [1] s [ ] t [2] len [ ] s [ ] - [ ] 1 [ ] t Que seria equivalente a: char* t = s + len - 1; t seria um ponteiro auxiliar; s é o ponteiro que apontaria para o início da string que quer inverter. Foi recebido lá no parâmetro da função. Então, creio que as posições da string ficam em sequência.. um após o outro, ou seja: em C, uma string seria como um "conjunto de caracteres". len seria o tamanho (quantidade de caracteres) dessa string; Daí, essa linha estaria fazendo t apontar para última posição da string. Já que ele pegaria o resultado da posição de "s somada de "len" posições - 1" para frente, resultando assim com a posição de memória que está apontando para o fim da string. Entende? Faltaria associar o que seria o 3, 4, 5, 6 e 7.. Cada número seria substituído por alguma coisa. Creio que seja algo por aí. Se tiver dúvidas, sugiro dar uma pesquisa sobre algo como "gerenciamento de ponteiros em C". Veja aulas e exemplos de exercícios resolvidos.... Qualquer coisa posta o que já conseguiu fazer e onde está com dúvidas.
  14. Segue uma fatoração: {$CODEPAGE UTF8} //uma forma de tentar conseguir imprimir palavras acentuadas program Q10; //Rian V. Santos 6813 var nota1, nota2: real; media, mediaGeral, somaMedias: real; qtdAlunos, qtdAprovados: integer; resp: char; begin //Obs.: aqui no programa principal não precisa "zerar" as variásive, mas não custa nada qtdAlunos := 0; qtdAprovados := 0; repeat Inc(qtdAlunos); writeln; write ('Informe a nota da primeira avaliação: '); readln(nota1); writeln; write ('Informe a nota da segunda avaliação : '); readln(nota2); writeln; media := (nota1 + nota2) / 2; writeln('A média do aluno é: ', media:1:2); writeln; somaMedias := somaMedias + media; if (media >= 6.0) then Inc(qtdAprovados); write ('Calcular a media de um novo aluno? [S]im [N]ao: '); readln(resp); until (UpCase(resp) <> 'S'); mediaGeral := somaMedias/qtdAlunos; writeln; writeln('Quantidade de alunos aprovados: ', qtdAprovados); writeln('E a média geral da turma é: ', mediaGeral:1:2); readln; end.
  15. @Miquéias Moreira, sobre o algoritmo: Tirando a questão do Fibonacci começar com 0 ou não, precisaria rever essa lógica para calcular os próximos termos... Veja: O Termo 2 é POSTERIOR ao Termo 1, logo, não faz sentido o Termo 2 ser igual ao Termo 1. Seria o contrário... O resultado pode até está saindo certo, mas fórmula está errada. Precisaria ajustar a fórmula e ajustar o código para dar a resposta correta. adicionado 14 minutos depois ADENDO: Só para ficar mais claro... ao entrar no para/faca, o Termo Novo logo em seguida já é o 3ª número da sequência (considerando que o primeiro foi o 0 e o segundo foi o 1). Daí, você está imprimindo o 3ª termo na tela, e está exibindo ele como se fosse o primeiro. No final, vai gerar uma falsa lista.... tanto pela questão que considerou o 0 como sendo o primeiro, e exibiu como iniciando com 1. Tanto pela fórmula de gerar os próximos que está errada...
  16. Como o enunciado sugere, após escolher um item, adicione o valor do item ao total do valor do pedido.
  17. @Aline Bastos, primeiro pare para definir a estrutura de dados do programa. Enunciado: São 20 clientes e, cada um deles, tem 10 notas... ou seja: são 200 registros de dados!!! Precisa ver como vai estruturar o programa. Vamos lá: Já adianto que o VisualG não aceita definição de vetores para items de um registro. (Pelo menos eu nunca vi) Exemplo: algoritmo "semnome" tipo CadProduto = registro nomeCliente: vetor [1..20] de caractere valorNota: vetor [1..10] de real valorTotal: real fimRegistro inicio fimAlgoritmo Daí teria que pensar eu outra forma. Poderia ser algo assim: Teria um vetor para ter o nome dos clientes e outro para ter o valor de cada nota de cada cliente. algoritmo "Cadastro" var vetNomeCliente: vetor [1..20] de caractere vetCliente_Nota: vetor [1..20, 1..10] de real inicio fimAlgoritmo No caso, a primeira coordenada do segundo vetor seria o código do cliente (a posição onde está o nome) e a segunda coordenada seria o código da cada uma de suas notas, ou seja: são 10 notas para cada um dos 20 clientes. Exemplo de teste dessa estrutura: RESUMINDO: Reveja primeiro a questão da estrutura... não tente implementar o programa ainda. No caso vai ser necessário utilizar registros? Se poste como você acha que poderia ficar. No aguardo.
  18. @Aline Bastos, qual programa utiliza para rodar o código? qual erro está dando?
  19. Como as coordenadas são específicas, não precisa utilizar "números". Poder escrever como caracteres mesmo, exemplo: escreval("Digite um nome para a posição: [1,1]") leia(matriz_nomes[1,1]) escreval("Digite um nome para a posição: [1,2]") leia(matriz_nomes[1,2]) adicionado 49 minutos depois @Leonardo pinheiro, é possível gerar os nomes automaticamente no VisualG. Recurso bem bacana. Veja: Como não tinha uma lista ainda, apenas criei uma nova. Para utilizar, os leia() que estão entre o ALEATORIO on e ALEATORIO off vão ser automaticamente preenchidos. O comando lista "nomes" serve para indicar qual lista o VisualG vai usar como referência. É possível modificar a lista que vai usar quantas vezes quiser, por exemplo: poderia ter além de uma lista de nomes, ter uma lista de sobrenomes, aí só indicar qual lista quer usar em cada momento... como é a mesma lista para todos os leia(), apenas deixe a mesma (não precisa ficar indicando novamente para cada um).
  20. Sobre: Seria sobre esta citação abaixo? No caso foi o @devair1010. Seria apenas um modo de falar... "pegue o Termo2 e coloque no Termo1" = copie o valor da variável Termo2 para variável Termo1, ou seja: Termo1 vai ser igual ao Termo2. Idem para os outros 2... Termo2 vai ser igual ao TermoNovo. Foi o que você fez no teu código @Miquéias Moreira, sempre poste também o texto do código. Desta forma dá para copiar e também ser indexado pelos robôs da internet. Sobre o teu código, agora não está aparecendo os 2 primeiros termos... a quantidade está certa, mas os números da sequência não.
  21. Nesse caso, vai lá e faz isso... Então, o segredo para resolver um problema é basicamente entender o problema!!! Pare para entender o que está sendo solicitado... daí vai precisar de um misto de experiências anteriores com criatividade. Exemplo: Então, entendo que vai "ir somando os 3 valores" e, quando um deles for 0, sai". algoritmo "atividade" var n1 , n2 , n3: inteiro inicio repita escreval("") escreval("Digite o primeiro numero:") leia(n1) escreval("Digite o segundo numero:") leia(n2) escreval("Digite o terceiro numero:") leia(n3) escreval("A soma do numeros são", n1 + n2 + n3) ate ((n1 = 0) ou (n2 = 0) ou (n3 = 0)) fimAlgoritmo adicionado 2 minutos depois É comum utilizar outra variável para armazenar a soma.. exemplo: algoritmo "atividade" var n1 , n2 , n3: inteiro soma: inteiro inicio repita escreval("") escreval("Digite o primeiro numero:") leia(n1) escreval("Digite o segundo numero:") leia(n2) escreval("Digite o terceiro numero:") leia(n3) soma <- n1 + n2 + n3 escreval("A soma do numeros são", soma) ate ((n1 = 0) ou (n2 = 0) ou (n3 = 0)) fimAlgoritmo
  22. @KloZee, utilize esse código como base. Qualquer coisa vai redefinindo os items do menu e vai implementando uma coisa de cada vez. Qualquer dúvida é só perguntar. Obs.: NÃO implemente mais de uma coisa ao mesmo tempo. Escolha um detalhe simples e implemente... faça testes e veja se está funcionando... caso tenha erros, vá ajustando até fica mais ou menos bom... só não tente fazer muito coisa de vez... o segredo é sempre deixar o código rodável... (não confundir com pronto ou funcionando, mas apenas que não tenha erros de sintaxe)
  23. Só complementado... Uma forma simples de entender seria que "precisa deixar cada sub-sentença isolada", ou seja: entre "()". Exemplo: se (n1 = 0) ou (n2 = 0) ou (n3 = 0) entao escreval("Zero é numero invalido!") senao escreval("A soma do numeros são", n1 + n2 + n3) fimSe Outra forma comum é deixar a sentença principal também entre parênteses... se ((n1 = 0) ou (n2 = 0) ou (n3 = 0)) entao Fica mais elegante. Obs.: em outras linguagem é comum ser obrigatório ter esses "()" mais externo. Funciona assim: cada sub-sentença sempre retorna VERDADEIRO ou FALSO. Sempre um se tem uma sentença principal, que no caso é o resultado final das operações entres as sub-sentenças. No teu exemplo, existem essas 3 sub-sentenças... cada uma também resultam sempre em VERDADEIRO ou FALSO. Algo assim: se ((FALSO) ou (VERDADEIRO) ou (FALSO)) entao Daí, a sentença final vai ser o resultado dessa sentença maior... Como tem um monte de "ou", significa na prática que "basta um ser VERDADEIRO para a sentença ser VERDADEIRO... por aí vai. Um pouco sobre os operadores: https://www.apoioinformatica.inf.br/produtos/item/09-operadores
  24. @KloZee, qual a dúvida?
  25. Olá, alguns pontos: 1# Validação da senha Duas formas: se pass = "1234" entao escreval ("Acesso permitido, bem-vindo") senao escreval("Acesso Negado!") fimAlgoritmo fimSe ou se pass != "1234" entao escreval("Acesso Negado!") senao escreval ("Acesso permitido, bem-vindo") //aqui continua o programa fimSe Uma outra forma apresentado no código abaixo... 2# Conceito de menu Isso é meio que padrão... dê uma pesquisada no Google. Para dar um exemplo mais específico, segue um código: algoritmo "atividade" var //pass: inteiro pass: caractere produtos: vetor[1..5] de caractere preco: vetor[1..5] de real opcao: caractere pause: caractere inicio escreval("Digite a senha de acesso:") leia(pass) se pass <> "1234" entao escreval("Acesso Negado!") //fimAlgoritmo fimse escreval("Acesso permitido, bem-vindo") leia(pause) //apenas para aguardar um ENTER ser pressionado repita limpaTela escreval("[1] - Lista de produtos") escreval("[2] - Valor do pedido ") escreval("[3] - Finalizar pedido ") escreval("[0] - Sair ") leia(opcao) escolha opcao caso "1" escreval("------------- INFO EXPRESS -------------") escreval(" 1- Monitor LED UHD 24' - $46,00 ") escreval(" 2- Mouse Steel Razer Series - $15,00 ") escreval(" 3- Teclado Razer RGB - $25,00 ") escreval(" 4- Ryzen 9 3900X - $100,00 ") escreval(" 5- GTX 3080 Super OC - $75,00 ") escreval("----------------------------------------") leia(pause) caso "2" escreval("Em construção") caso "3" escreval("Em construção") caso "0" escreval("") outrocaso escreval("Opcao inválida") fimEscolha leia(pause) //apenas para aguardar um ENTER ser pressionado ate opcao = "0" fimAlgoritmo Daí só ir implementando... Qualquer dúvida é só perguntar.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!