-
Posts
3.940 -
Cadastrado em
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Simon Viegas postou
-
VisualG matriz, calcular a soma das linhas e colunas
Simon Viegas respondeu ao tópico de Alice Braga em Programação - iniciantes
@Alice Braga, sobre: Qual resultado está algumas vezes dando correto, mas outras vezes não? Poste exemplos de resultados errados, e quais deveriam ser os resultados corretos. No aguardo. -
VisualG algoritmo que permita entrar com o salário bruto e o valor da prestação
Simon Viegas respondeu ao tópico de Guilherme candido em Programação - iniciantes
Antes de qualquer coisa: que erro? Perceba que você apenas informou que "não está funcionando". Seria necessário informar o quê está ocorrendo aí.. @Guilherme candido, temos alguns problemas no teu código... assim como o VisualG tem os seus próprios problemas. Além do uso do incorreto do "<-" (você tentou inserir um "<=" ?), temos outros errinhos... Então, para simplificar um pouco, segue um resumo: a separação da casa decimal no código é representada por um ".", não por uma ",". Obs.: quando o programa está rodando, tanto faz usar "." (ex.: 1350.60), quanto "," (ex.: 1350,60). Mas no código tem que ser ".". prefira nomenclatura de variáveis mais sugestíveis; o VisualG não permite que o entao fique na linha abaixo do se, nem que os comandos venham depois do entao e do senao. Tem que ficar na ordem certa. Mais a baixo demonstro. Segue um esboço: algoritmo "Validação para empréstimos" //A prefeitura de Contagem abriu uma linha de crédito para os funcionários //estatutários. O valor máximo da prestação não poderá ultrapassar 30% do //salário bruto. Fazer um algoritmo que permita entrar com o salário bruto //e o valor da prestação, e informar se o empréstimo pode ou não ser concedido. var salarioBruto, valorPrestacao: real inicio escreva ("Digite o valor do salário : R$") leia(salarioBruto) escreva ("Valor da prestação: R$") leia(valorPrestacao) //apenas para ter uma rerefência (pois não foi pedido no enunciado) escreval("") escreval("Valor máximo para prestação: R$", salarioBruto * 0.30:1:2) escreval("") se valorPrestacao <= salarioBruto * 0.30 entao escreval( "Emprestimo Concedido!") senao escreval ("Emprestimo Negado!") fimSe fimAlgoritmo Adendo: a ordem dos tratores não alteram o viaduto... poderia ser assim também: salarioBruto * 0.30 entao >= se valorPrestacao São expressões equivalentes. (Tem o mesmo valor lógico.) Qualquer dúvida ou comentário é só postar. -
Portugol Faça um algoritmo que leia valores inteiros para um vetor A de 10 posições
Simon Viegas respondeu ao tópico de thetafps em Programação - iniciantes
@thetx, já conseguiu desenvolver? Está com dúvidas em qual parte? -
VisualG Algoritmo para Fechamento Combinatório
Simon Viegas respondeu ao tópico de Joelson21 em Programação - iniciantes
Faz sentido... ADENDO: só ficou meio estranho essa "!". Ficou parecendo que é fatorial, rs. -
VisualG Função Se em Visualg
Simon Viegas respondeu ao tópico de gabriel_castiel em Programação - iniciantes
Você que precisa dizer... o que está dando errado? @gabriel_castiel, acredito você precisaria focar no problema (o quê é para ser feito), e não na solução (criar um código que satisfaça o quê é para ser feito). Nesse momento, O QUÊ é para ser feito? Por hora, esqueça que vai precisar criar um código... o quê que a tarefa está pedindo para resolver? É necessário digerir totalmente o enunciado... imagine que você tem um carro, e você se deparou com essa necessidade descrita no problema que foi pedido no enunciado... você precisaria criar um programa para resolver? Não né? Ou seja: o programa serviria meio que para uma automação... poder reutilizar para várias viagens diferentes, por exemplo. O código não é uma solução, mas apenas uma implementação para uma automação de uma (solução), logo, é preciso entender o problema antes. Inclusive, lá mesmo tem: Criar um algoritmo em VisualG seria uma etapa final... e a parte "mais fácil", mas é algo POSTERIOR. Não dar para fazer um código que ainda eventualmente não se sabe o que é para ser feito, sacou? Crie um exemplo... daí faça os cálculos no papel e depois demonstre aqui o que você conseguiu fazer. Informe os dados utilizados e quais resultados você chegou. Daí, quando for implementar um código em Portugol, o programa deverá trazer os mesmos resultados que foram encontrados quando fez no papel. Na hora de implementar, pode ter problemas ou dificuldades, é normal, mas o foco será apenas em "como fazer tal coisa", ou seja: você saberia o que é para fazer, mas não tem domínio da linguagem de programação. O que não pode confundir com o "o que deve fazer" junto na hora de implementar..., ou seja: se começou a implementar, é porque já tem uma boa base antes (por isso tentar fazer o exercício no papel). Essa pelo menos seria a minha sugestão. No aguardo. -
VisualG Bug de resposta triplicada
Simon Viegas respondeu ao tópico de Iago Anjos em Programação - iniciantes
Oi. Não, o código (imagem) que você postou seria apenas um exemplo de demonstração de como funciona os operadores citados (E, OU e NÃO). Veja meu complemento abaixo, depois dê novas pesquisas. Se aprofunde no entendimento dessa questão. Será útil não só para esse tema em si, mas para ideia de entender temas em si... ou seja: aprender a aprender. A solução é relativamente bem simples. Mas a ideia é que acostume a entender os problemas, interpretar as orientações (que nem sempre serão tão boas, como as minhas) e vestir a "roupa de sapo". Vá treinando a capacidade de interpretação (dos problemas, e das orientações, rs). Vamos lá... nos baseamos nesse trecho: Temos 3 estruturas de seleções ("3 se"). Um se basicamente vai verificar se a sentença que está entre o se e o entao resulta em verdadeiro ou não. Não importa o que significa para o contexto... ou que tem lá! SEMPRE vai resultar em VERDADEIRO ou FALSO. Se for verdadeiro, vai executar o que vem depois até encontrar o fimSe. Caso seja falso, vai para próximo linha após o fimSe. Até aqui tudo normal, né? Então, se o IMC deu 21 (não importa o cálculo em si, apenas que o valor a ser comparado é esse), o VisualG vai calcular: - "21 é maior que 25?". Não, logo vai pular para o fim desse se; - "21 é maior que 20?". É, logo vai executar o que está dentro desse se; - "21 é maior que 16?". É, logo vai executar o que está dentro desse se; Entende? Desses 3 trechos, 2 foram verdadeiros. Isso vale para cada um dos se. Todos que forem verdadeiro, vai executar o que está dentro... é isso que está lá no código! Lembre-se: o VisualG vai executando da esquerda para direita, de cima para baixo. De um modo geral, ele vai apenas fazer o que está escrito lá. Daí, um possível problema estaria nas condições desses se... as "perguntas" que estão sendo feitas não estão satisfazendo o que você precisa!!! É preciso assimilar que o computador não entende contexto, entende apenas instruções! Ele não faz ideia o que é IMC... você poderia chamar de banana ou fahfaraegre e o programa se comportaria exatamente da mesma forma. "Vamos a parte que interessa": Em vez de: Faria algo como: se (imc <=30) E (imc > 25) entao escreva("Seu IMC é de:",imcint," você está com sobrepeso") fimse Observe que além do "operador lógico E", precisou-se inserir uns "()". Isso é apenas para não bugar o VisualG. Faz parte da sintaxe do contexto... Ou poderia ficar assim: se ((imc <=30) E (imc > 25)) entao escreva("Seu IMC é de:",imcint," você está com sobrepeso") fimse Dá na mesma. Em outras linguagem é mais comum (senão obrigatório) ter esses parênteses mais externos. Ou seja: não basta ser maior que 25, tem que ser também menor ou igual a 30. Sacou? A condição precisa ser restrita ao caso. Para 40, não importa o valor máximo, apenas se é maior que 40. É basicamente isso! Basta fazer o mesmo para todas as sentenças. (Da segunda em diante, é claro). Tente aí. ADENDO: lembre-se de posta o texto do código, em vez de uma imagem. ADENDO 2: após conseguir implementar, pesquise novamente sobre "Operadores lógicos". Entenda o que significa e reforce esse entendimento. Qualquer dúvidas é só postar. -
VisualG Função Se em Visualg
Simon Viegas respondeu ao tópico de gabriel_castiel em Programação - iniciantes
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 -
VisualG Bug de resposta triplicada
Simon Viegas respondeu ao tópico de Iago Anjos em Programação - iniciantes
Nops! Não houve triplicações, pois as respostas não são iguais. Apenas o IMC resultante foi válido para 3 condições lá nos se. Pense assim: o VisualG não sabe do que se trata o programa... ele apenas vai executando linha a linha... da esquerda para direita, de cima para baixo. No caso, para cada se ele vai verificar se a expressão resulta em verdadeiro.. no exemplo do IMC dando 21, as três primeiras vão resultar em falso (o IMC não é o maior que o valor comparado), logo não exibindo a resposta que está dentro. Já as três últimas vão resultar em verdade, logo exibindo a resposta de cada um. Se fosse 35, apenas o primeiro vai ser falso, e o resto vai ser verdadeiro. Se for algum IMC maior que 40, todas as respostas vão ser exibidas! Etc. Dê uma pesquisa sobre "Operadores Lógicos no VisualG". Veja exemplos... você vai entender o que está acontecendo e o que falta fazer para corrigir o teu código. No aguardo. -
VisualG Bug de resposta triplicada
Simon Viegas respondeu ao tópico de Iago Anjos em Programação - iniciantes
@Iago Anjos, por favor, poste o texto de código completo. Desta forma facilita para os membros copiarem. No aguardo. -
VisualG Erro em pseudo código
Simon Viegas respondeu ao tópico de Alcemir Pinto em Programação - iniciantes
Pode ser que o erro seja aqui: Faltou um operador lógico entre as sentenças. Exemplo: se (J1 = 2) E (J2 = 0) entao -
VisualG Exercício de calendário de vacinação
Simon Viegas respondeu ao tópico de Davi Dutra em Programação - iniciantes
Complementando:: O VisualG funcionaria mais ou menos assim: Por padrão, ele vai executando cada linha da esquerda para direita, de cima para baixo. Primeiramente ele criaria as variáveis e definiria um valor padrão para cada uma delas. Depois vai executando cada linha... um a um... Ao chegar nessas linhas: Qual o valor de idade que você definiu? 19!. 19 é menor ou igual a 10? Sim, logo vai "entrar" no primeiro se e executar o que tem lá. Após, 19 é menor ou igual a 20? Também é! Logo, vai também entrar no segundo se. Para ajudar a entender melhor, experimente ir pressionando F8 ("Rodar Passo a Passo") e vá acompanhando cada uma das linhas. Ao lado direito o VisualG vai também mostrando o valor de cada variável em cada momento... -
VisualG Estrutura de Repetição - Marcar os divisíveis por 4
Simon Viegas respondeu ao tópico de T.A.L em Programação - iniciantes
Em relação ao espaçamento dos números entre os colchetes: se (c mod 4 = 0) entao escreva (" [", c:1, "]") senao escreva (c) fimse Observe que se faz também necessário um espaço antes do "[". ou se (c mod 4 = 0) entao escreva (" [", c:1, "]") senao escreva (" ", c:1) fimse O VisualG insere um espaço automaticamente nas variáveis do tipo inteiro. Para removê-lo, definiria que quer reservar apenas um dígito. Como os números tem 2, não vai ter espaço extra. -
Python Erro por divisão por zero
Simon Viegas respondeu ao tópico de rickuchiha em Programação - outros
Sobre o código: No trecho: Esse if não tem qualquer utilidade.. O resultado será sempre falso (é uma contradição - ou seria possível em algum momento 1 ser igual a 0?), logo não faz sentido existir. Chama logo o print(). Além disso, as variáveis poderiam ficar dentro da função. Segue um código refatorado: def media(): n = 1 soma = 0 cont = 0 while n != 0: n = int(input()) if n == 0: break soma += n cont += 1 if cont != 0: return soma / cont else: return "Nenhum valor foi inserido!"; def main(): print(media()) if __name__ == '__main__': main() ou poderia ser assim: def media(): n = 1 soma = 0 cont = 0 while n != 0: n = int(input()) if n == 0: break soma += n cont += 1 if cont == 0: return "Nenhum valor foi inserido!"; return soma / cont def main(): print(media()) if __name__ == '__main__': main() Só complementando... Creio que não seja bem assim... De um modo geral, "Impossível" é uma palavra muito forte... Na matemática, a divisão por zero poderia ser classificada de duas formas: ou é indefinida (quando o numerador é diferente de 0), ou é indeterminada (quando o numerador também é 0). Observação: são duas coisas distintas e devem ser levadas em consideração. No primeiro caso, poderiam-se até dizer "impossível entre os números". Mas não poderia generalizar, pois existe um caso que "pode". De qualquer forma, o cerne aí é que não era nem para dividir, pois se foi digitado 0 logo de cara, nenhum número foi inserido. Sobre: Creio que se faz necessário chamar o main(), caso contrário o trecho não é executado. O uso desse if seria uma funcionalidade do Python para evitar que os eventuais mains de alguma biblioteca importada também seja executada, ou seja: esse trecho faz com que apenas o main do próprio escopo seja executado. Nesse contexto, não precisaria dessa linha... (Mas acho tanto faz.) -
Pascal Contador de caracteres em um nome
Simon Viegas respondeu ao tópico de Fábio Júnior Miranda em Programação - outros
Qual problema? adicionado 8 minutos depois Por favor, também poste o enunciado completo. -
Outro Algoritmos I - Atividades - Variáveis funções
Simon Viegas respondeu ao tópico de Angelmandy em Programação - iniciantes
Oi, @Angelmandy. Tudo bem? Você só postou uma lista de exercício, e não comentou mais algo. Qual linguagem de programação deseja implementar? Escolha um exercício e tente fazer algo. Daí poste onde e no o quê está com dúvida. Ex.: -
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
-
Portugol Iniciando na programação - No Portugol
Simon Viegas respondeu ao tópico de Eduarda Silva em Programação - iniciantes
@Eduarda Silva, olá. Tente responder a esse problema sem relacionar com um código... apenas tente entender o problema e tente resolvê-lo como se fosse numa prova. Qual seria a resposta? Se tiver dúvidas, é só perguntar. Em relação ao implementar um código (que só deve ser verificado APÓS saber responder a pergunta acima), estaria com dúvidas em qual parte? -
VisualG Mensagem erro no leia VisuAlg
Simon Viegas respondeu ao tópico de Cátia Cristina de Souza em Programação - iniciantes
@Cátia Cristina de Souza, Vamos lá: Antes de qualquer coisa, seria necessário encontrar o contexto do problema. O que foi feito antes de dar esse erro? Foi logo após compilar ou após executar o programa e inserir algum dados? Vamos tentar simular: Ao abrir o programa, deve ter aparecido lá a tela preta e um "cursor do teclado" piscando. Isso indicaria que o programa está aguardando a entrada de dados via teclado. Vejamos lá o código: Na primeira linha, você mandou definir à variável n1 o valor 1.5, após mandou definir o valor 3.99 para a variável n2. Certo? Na próxima linha, pediu para ler do usuário (via teclado) um novo valor para n1 e outro valor para n2. É nesse momento que o programa ficou lá "parado" esperando o usuário digitar um valor para n1. No caso, essas variáveis n1 e n2, são do tipo "real", logo, só aceitarão número reais... daí, provavelmente, você inseriu um valor não válido, ou seja: um valor "não real", como por exemplo uma letra, ou um caractere especial, ou deu um ENTER sem inserir algo antes, ou até mesmo inseriu números separados por espaços, o que também não serve no VisualG. Logo, a variável NÃO receberia um valor válido e o programa daria erro mesmo... Segue um demonstrativo: Já se der apenas um ENTER ou inserir algo que não seja uma valor válido, vai dar erro. Vou inserir um texto: Ou seja: esse erro não estaria no algoritmo em si ou no VisualG 2.0, mas sim no uso do programa que foi criado. Seria uma "falha do usuário que usou o programa*". (Obs.: daí talvez caberia tentar evitar esses erros.. explico mais no adendo lá em baixo). RESUMINDO: Você provavelmente inseriu um valor não válido para a variável, daí o VisualG gerou um erro. Insira número reais separados por um ENTER (obs.: que inclui número inteiros) que o programa deve funcionar normalmente. ADENDO: Sobre o código, tem alguns probleminhas: Nas duas primeiras linhas, você atribuiu um valor para as variáveis (diretamente no código. Isso é OK), mas logo depois está pedindo um valor novo do usuário (inserido via teclado)... Veja: nesse caso, o valor que foi definido no código seria logo substituído por um novo, daí não fazendo muito sentido ter definido esse valor inicial (já que ele seria logo perdido, pois seria substituído por um novo). Poderia ser algo assim: inicio leia(n1, n2) soma <- n1 + n2 escreval("A soma dos números é: ", soma) fimalgoritmo Ou se quer usar valores fixos, retire o leia(). Um outro detalhe, que está relacionado ao problema que ocorreu, é que não tem algo que indique o que deveria ser digitado lá quando o programa é executado. Está ficando apenas uma ela preta!. Poderia colocar uma instrução. Exemplo: inicio escreval("Insira os valores reais para N1 e N2 (separe cada número por um ENTER)") leia(n1, n2) soma <- n1 + n2 escreval("A soma dos números é: ", soma) fimalgoritmo Por aí vai. Qualquer dúvida ou comentário é só postar. No aguardo. -
Portugol PORTUGOL - Exercício de programação
Simon Viegas respondeu ao tópico de dkfeira em Programação - iniciantes
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 -
Excel Formatar campo data após importacao
Simon Viegas respondeu ao tópico de DECOVIOTI em Microsoft Office e similares
Já tentou formatar a coluna de origem e/ou a coluna de destino? Aqui estou com o LibreOffice... uma opção seria algo assim: ou Ou veja se tem alguma configuração na Macro para definir o "idioma" ou a formatação adequada. adicionado 1 minuto depois Dar para definir manualmente também: Ou DD/MM/AAAA -
VisualG Mostrar aluno com melhor nota
Simon Viegas respondeu ao tópico de Lucas Renato Swoboda em Programação - iniciantes
Os dados não estão sendo salvos pois logo após obter os dados de um aluno, a verificação já é feita, ou seja: se esse aluno é ou não melhor até o momento. Daí o programa lerá outro aluno... isso até ler todos. No final, terá o nome e a maior nota, assim como desejado. Sobre: No caso, esse Cont1 estaria sendo usado para contar quantos alunos estão sendo lidos. Daí foi "inicializado" com 1. -
Portugol hipotenusa no python ou visualg
Simon Viegas respondeu ao tópico de leonardo mangolin em Programação - iniciantes
@leonardo mangolin, poste o que conseguiu fazer e onde está com dúvidas. -
Java Em javascript, “Desenvolva a classe Triangulo, com todos os seus métodos:”
Simon Viegas respondeu ao tópico de math13 em Java/Android SDK
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
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