Ir ao conteúdo

Simon Viegas

Membro VIP
  • Posts

    3.940
  • Cadastrado em

Tudo que Simon Viegas postou

  1. @MidoraQuebraTudo, simplesmente pare para prestar mais atenção naquilo que está sendo pedido. Veja o enunciado: A primeira linha tem: Você entendeu o que foi solicitado? Em qual parte do teu código você está fazendo isso?
  2. @MidoraQuebraTudo, por favor, poste o que conseguiu fazer e onde está com dúvidas.
  3. @mateusramo, conseguiu evoluir? Por favor, poste seu código atual para analisarmos e também servir de base para futuros visitantes.
  4. @MidoraQuebraTudo, não era para sair assim? Testei seu código e saiu assim: Ou seja: não tá batendo. Tentou fazer ficar assim? Em relação a Adição, Subtração e Divisão, os resultados estão meios confusos... Veja exemplos na internet e compare os valores com o seu programa. @MidoraQuebraTudo, sugiro: ou tentar deixar como a imagem acima, tentado fazer apenas para multiplicação; ou a partir do teu código atual, ver exemplo de resultados na internet e fazer o seu programa gerar os mesmo valores do exemplo escolhido. Em fim, defina algum resultado... e implemente o resultado definido. Qualquer dúvida é só postar.
  5. @MidoraQuebraTudo, por favor, poste o código completo para poder ser analisado e também servir de base para outros visitantes.
  6. Faça as alterações e poste o código completo. Caso tenha dúvidas, informa em qual parte.
  7. @Bleick, vi que está criando novas postagens para o mesmo problema postado aqui. Por favor, reanalise o tópico... caso tenha dúvidas em alguma parte, é só postar.
  8. Entendi. Vamos lá: No teu código você colocou: Logo, iria ficar algo como: O resultado da Multiplicação é: 5 O resultado da Multiplicação é: 15 O resultado da Multiplicação é: 20 O resultado da Multiplicação é: 25 ... Entende? A tua explicação não bate com o que implementou... Então, primeiro é necessário entender o enunciado: Na sua interpretação, o "resultado" armazenado seria cada linha do tabuada correspondente, algo como salvar o texto "5x1= 5"? Ou salvaria apenas o resultado no vetor e montaria a linha da tabuada utilizando esse vetor? Por exemplo, eu entendi que ele quer que simplesmente exiba os valores de T, exemplo: algoritmo "Valores da tabuada (de multiplicação) de um número" var t: vetor[1..10] de real i: inteiro numero: inteiro inicio escreval("Digite valor inteiro de 1 a 10") leia(numero) para i de 1 ate 10 faca t[i] <- numero * i fimPara escreva ("T: ") para i de 1 ate 10 faca escreva (t[i], " ") fimpara fimAlgoritmo Vai sair algo assim: Oh! lá. Ele tá apresentando os elementos de T. Agora modifique esse código acima para ficar da forma que deseja. No caso aparecer com algo assim: Dica: (só abra após tentar fazer sozinho). PS: @MidoraQuebraTudo, pelo amor de d'us... não tente fazer as 4 operações de uma vez!!! Faça apenas para multiplicação. Após, caso queira incluir as outras 3 operações, aí você faz para mais uma, por exemplo, deixando com Adição e Multiplicação. Após insere a subtração e por fim a divisão. Qualquer dúvida é só perguntar.
  9. Se o usuário digitar 5. O que vai aparecer na tela? Por favor, demonstre o que você acha que deveria aparecer, por exemplo, apenas para a tabuada da multiplicação.
  10. @devair1010, e para qual utilidade precisaria dessa funcionalidade? Poderia exemplificar?
  11. @igorez, creio que se dermos muitas dicas, meio que acabaremos por responder por você. Vou tentar explicar pelo o que você fez: Aqui você está dizendo que o valor numa posição vai ser igual ao o valor que já tem lá nessa posição mais 5. Como no VisualG, nesse contexto, os vetores são "zerados" automaticamente, em todas as posições vão ter 0, logo, 0 + 5 = 5. Assim, todas as posições vão ficar com 5. Conclusão: o que você fez não serve. Entenda melhor lógica entre os valores que estão no enunciado e pense em outra forma de gerar (existem várias formas). Foque no problema. Entenda o que ele é. Tente fazer um esboço no papel... NÃO pense em como implementar em VisualG, mas sim no que é o problema em si... Veja: eu acredito que a sua dificuldade não estaria na sintaxe do VisualG, ou seja: em "como fazer". Estaria mais relacionado em "o que" fazer... Entendo que descobrir isso tem que vir de você. Vá tentando... uma hora sai.
  12. @lczx0129, tem também estes canais: Peixe Babel: https://www.youtube.com/c/PeixeBabel Universo Discreto: https://www.youtube.com/c/UniversoDiscreto Universo Programado: https://www.youtube.com/c/UniversoProgramado
  13. Para se resolver um problema qualquer, primeiro é necessário entender o problema... Você já entendeu o que é para ser feito? Obs.: estou perguntando o quê é para ser feito, e não o como. Por favor, explique o que você entendeu do que é para ser feito e o quê você acha que deveria aparecer na tela se o usuário informasse o número 5.
  14. só precisa declarar o type uma vez; você está repetindo o nome do tipo para cada variável do record, está redundante. Pode seria ser algo assim: type cliente = record cod: integer; nome: string; tel: integer; end; funcionario = record cod: integer; nome: string; tel: integer; end; produto = record cod: integer; nome: string; preco: real; end; venda = record cod: integer; codCli: integer; codFun: integer; codPro: integer; quant: integer; total: real; dia: integer; mes: integer; ano: integer; hora: integer; minuto: integer; end; Sobre: As posições de cada vetor não respectivamente relacionados... Basta utilizar as referências corretas. Por exemplo, no item 3: Poderia ser algo como: 3:begin ClrScr; writeln('Informe o codigo do funcionário em questão'); readln(funcR); writeln(''); writeln('Funcionário: ', funcVet[funcR].nome); for i:=1 to 5 do begin if vendVet[i].codFun = funcR then begin writeln('Cliente Atendido: ', cliVet[vendVet[i].codCli].nome); writeln('Produto: ', prodVet[vendVet[i].codProd].nome, ' Codigo do produto: ', vendVet[i].codProd, ' Quantidade: ', vendvet[i].quant); end; end; end; //3
  15. @SamuraiOcidental, por favor, poste o que já conseguiu para pode ser revisada e também servi de base para outros visitantes.
  16. @davi caruccio costa, comece calculando a determinante de uma matriz 2x2 e poste o código aqui. Aí depois para para pensar em como fazer para acessar as posições cruzadas para matriz 3x3 em diante.
  17. A primeira coisa é entender como funciona uma multiplicação de matrizes. Para facilitar os testes no algoritmo, utilize 2 matrizes quadradas 2x2... e siga lá as regras do processo de multiplicar. RESUMINDO: leia as duas matrizes; exiba as duas matrizes na tela. depois: crie a terceira matriz contendo o resultado da multiplicação; exiba a terceira matriz na tela. Poste o código completo do que já conseguiu fazer e caso tenha dúvidas, em qual parte.
  18. Você colocaria tudo que quer que repita dentro do repita... exemplo: algoritmo "victor" var menos25, mais50, idade: inteiro inicio repita escreva("Idade: ") leia(idade) se (idade >= 0) e (idade < 25) entao menos25 <- menos25 + 1 fimSe se (idade > 50) entao mais50 <- mais50 + 1 fimse ate idade < 0 escreval("Menores que 25: ", Menos25) escreval("Maiores que 50: ", Mais50) fimAlgoritmo Se quiser que fique exibindo a resposta, coloca a resposta dentro do laço também... aí vai dos requisitos e do gosto. O VisualG vai interpretando linha a linha do código... é como nossa leitura e escrita: da esquerda para direita, de cima para baixo. Aí, o comando repita vai funciona basicamente como um "marcador de posição"... aí, lá no ate vai verificar a condição, se for FALSO, o VisualG vai voltar para linha do repita. Se VERDADEIRO, vai para próxima linha após o ate. O repita é como o se. A diferença é que nesse último, se VERDADEIRO, ele executa o que está dentro do se, se FALSO, pula para depois linha o o fimSe (ou para o senao, caso tenha)... ou seja: só muda "para onde a execução pula" . Dicas: pressione Ctrl+G para identar o código; vá pressionando F8 para ir acompanhando linha a linha; no lado direito do VisualG dá para acompanhar os valores que estão nas variáveis.
  19. @Fazzioni, não tente fazer todo programa de uma vez. Vá fazendo por pequenas partes. Vá testando cada coisa nova que inserir no código. Exemplo: Então, aqui nem tá lendo o nome do vendedor... ou seja: se não conseguiria ler os dados do vendedor, como conseguiria fazer qualquer outra coisa? O problema está aqui: O nome da pessoa não é um número, mas sim um texto, logo estaria incorreto definir a variável correspondente como real, faz mais sentido utilizar string. Poderia ser algo assim: var nome: string; salario, vendas, comissao, salarioFinal: real; Agora já não deu mais erro: Mas como saber se leu corretamente? Uma forma seria imprimindo a variável na tela. Exemplo: Pronto, parece que tá funcionando... por aí vai... Tentando agora calcular o valor da comissão: program Pzim; var nome: string; salario, vendas, comissao, salarioFinal: real; begin writeln('--------- Sistema de Vendas ---------'); writeln('Digite o nome do vendedor'); readln(nome); writeln('Digite o salario'); readln(salario); writeln('Digite o tatal de vendas'); readln(vendas); comissao := vendas*0.15; //exibindo na tela apenas para testes. Ver se está lendo/calculando corretamente... //isso não vai para versão final do código writeln; writeln('Nome do vendedor: ', nome); writeln('Salário : ', salario); writeln('Comissão : ', comissao); end. Está dando certo? Veja se está dando o valor correto.. se não tiver, corrija, se tiver correto, dê continuidade. O código SEMPRE deve está compilável... se estiver com algum erro de compilação, vá lá e corrija. Após está compilando, veja se está funcionando corretamente (compilar corretamente é diferente de está funcionando corretamente)... se está lendo os valores corretamente, se está efetuando os cálculos certos.. vá testando tudo... mas EVITE ficar fazendo muito coisa de uma vez só... Sugiro que pegue esse último código acima e teste. Se estiver tudo OK, adicione mais uma coisa, por exemplo, o cálculo do salário final. Analise a estrutura atual... (você já deve ter percebido que NÃO se faz uma conta dentro do readln(), por exemplo). Vai implementando e testando... vá fazendo por etapas. RESUMINDO: poste o enunciado completo da questão; vá implementando até onde conseguir e poste o código atual e onde está com dúvidas. Só NÃO tente fazer muita coisa ao mesmo tempo... faz um coisa e testa, faz uma coisa e testa, faz uma coisa e testa...... não se assuste com o "retrabalho", a medida que vai ganhando experiência, vai precisar cada vez menos efetuar esses testes simples, mas por enquanto vá testando tudo mesmo.
  20. @Bleick, são diversos pontos que precisaria ser revistos. Para simplificar, segue um exemplo de código: program Pzim; var nome, nome_mais_velha, nome_mais_nova: string; idade, idade_mais_velha, idade_mais_nova: integer; i: integer; begin idade_mais_velha := 0; //incializa com um valor mínimo idade_mais_nova := 999; //inicializa com um valor máximo* for i:= 1 to 3 do begin //como tem mais de uma linha dentro do for, precisa do begin/end write ('Informe o nome da ', i, 'ª pessoa : '); readln(nome); write ('Informe a idade da ', i, 'ª pessoa: '); readln(idade); if (idade > idade_mais_velha) then begin //como tem mais de uma linha dentro do if, precisa do begin/end nome_mais_velha := nome; idade_mais_velha := idade; end; if (idade < idade_mais_nova) then begin //como tem mais de uma linha dentro do if, precisa do begin/end nome_mais_nova := nome; idade_mais_nova := idade; end; end; writeln('Mais velha: ', nome_mais_velha, ' com ', idade_mais_velha, ' anos'); writeln('Mais nova : ', nome_mais_nova, ' com ', idade_mais_nova, ' anos'); end. Compare com o seu código e tente entender as diferenças. Se tiver alguma dúvida é só postar.
  21. @lczx0129, por favor, poste o texto do código.
  22. @Bleick, o erro informado no PZim talvez realmente não ajude, o problema inicial está na sintaxe do for. Segue dicas: evite tentar fazer tudo de uma vez. Faça apenas partes do código; o código SEMPRE deve está rodável. Não precisa está correto em tudo, mas não pode ter erros de compilação. Por exemplo, o erro está na linha 7, mas você chegou a implementar quase 20 linhas. Isso não deveria acontecer. Mais abaixo um exemplo. Pesquise na internet como se faz um for em Pascal e ajuste seu código. Segue um exemplo de como eu sugiro que vá implementando: Faz uma base inicial: {$CODEPAGE UTF8} //uma forma de tentar conseguir imprimir palavras acentuadas em alguns compiladores (Não necessário no Pzim) program Pzim; var nome: string; idade :integer; begin end. Bota para rodar... não vai dar erro! Aí insere mais alguma coisa, por exemplo, o início do laço: {$CODEPAGE UTF8} //uma forma de tentar conseguir imprimir palavras acentuadas em alguns compiladores (Não necessário no Pzim) program Pzim; var nome: string; idade :integer; begin for i:=1 to begin writeln('informe a idade',i,'pessoa:'); readln(nome); writeln('informe a idade',i,'pessoa:'); readln(idade); end; end. Opa! deu erro: Então, nada adiantaria tentar fazer mais coisa... pois já existe um erro aqui.. Tá, mas que erro é esse? Tá estranho... O que estou tentando fazer agora? É adicionar uma estrutura for... logo, pode ser algo nele... daí, pesquisaria como funciona o for no Pascal. (E verás que está faltando alguma coisa.) Corrija e tente fazer mais alguma coisa... e o ciclo se repete!! tudo que adicionar de novo, tem que funcionar, não adianta tentar fazer mais coisas... Vá implementando, caso não consiga resolver os possíveis erros, poste o código completo atual e onde está com dúvidas.
  23. @Richardo890, edite o código e poste aqui o resultado... tanto para revisarmos, tanto para também servi de base para futuros visitantes. Qualquer dúvida é só postar.
  24. @Bleick, por favor, poste o texto do código. Favor utilizar a tag CODE clicando no botão "<>".
  25. @Richardo890, alguns pontos: o nome do aluno seria do tipo caractere; a quantidade de alunos é um valor inteiro, não real; você está misturando o "nome do aluno" com "a contador de aluno cadastrados" etc. De um modo geral, segue um exemplo de variáveis que poderiam ser utilizadas: var quant: inteiro nome: caractere nota1, nota2, nota3, nota4, nota5: real cont: inteiro Para cada loop, você ler todos os dados e faz as verificações necessárias. Segue uma base para o laço de repetição: cont <- 0 enquanto (quantA > cont) faca cont <- cont + 1 fimEnquanto Faças os ajustes no teu código e poste o que conseguiu fazer. Caso tenha dúvidas, é 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!