-
Posts
3.940 -
Cadastrado em
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Simon Viegas postou
-
VisualG Onde está o erro?
Simon Viegas respondeu ao tópico de luasocorromeajudem em Programação - iniciantes
@luasocorromeajudem , quais símbolos está utilizando para identificar se um assento está ocupado ou não? . No caso, usando "X" para ocupado e "" para disponível, correto? São caracteres (números são outra coisa). Daí, o vetor precisa ter uma estrutura capaz de armazenar esse tipo de dado... Ou seja: mude o tipo do vetor para caractere. Só isso. -
C Como posso ordenar uma lista encadeada simples pelo serial do produto?
Simon Viegas respondeu ao tópico de NhemonF em C/C#/C++
@arfneto, seria Selection Sort, não? Do que eu entendi... imaginemos ordenar um baralho. No Insert Sort, eu vou pegando qualquer carta e vou inserindo na posição correta. O foco é a inserção; (Vou criando um vetor ordenado inserindo um dado novo na posição que o vetor continue ordenado. O que é mais natural no dia a dia); No Select Sort, eu vou selecionar uma carta e vou posicionando em sequência. O foco é a seleção. (Escolho o maior (ou menor) dado e insiro no fim (ou no início) do vetor.) Correto? -
VisualG VisualG - exercício pilhas - FILO
Simon Viegas respondeu ao tópico de joshuayuuki em Programação - iniciantes
Sobre: @devair1010, creio que não tenha problema fazer isso... Vai funcionar normalmente e sem erros lógicos (eu acho, rs). Um pouco mais sobre: @joshuayuuki, sobre: Tá! Mas está travado em qual ponto? Qual a sua dificuldade? Está dando algum erro ou alguma parte não está funcionando? Fazendo uma analogia... seria como chegar com um carro numa oficina e dizer pro mecânico: "Meu carro está com problema. Tome aqui a chave". Entende? Para tentar adiantar... ainda fazendo uma analogia, vou passar um scanner para ver se acho algo: Vamos lá: Um probleminha que já encontrei seria esse: Esse comando não deveria servir para esse propósito de "finalizar o programa na marra"... Entendo que o programa deveria seguir o seu fluxo natural. O programa não dá erro simplesmente porque o VisualG é problemático . Além do mais a estrutura do código já está correta... basta apagar essa linha!!! Veja: Observe que, ao utilizar o "fimEnquanto" o programa "estoura" na hora... logo, essa condição acima nunca seria verificada, o que por si só não faz sentido. (Acaba se tornando uma tautologia para o contexto - sempre o resultado será verdadeiro.) Ah! a expressão aí no enquanto vai funcionar de boa, mas mesmo assim ela está ERRADA. Deveria ser E no lugar do OU. ADENDO: a não ser que tenha alguma literatura ou alguém com algum argumento mais plausível, esse comando fimAlgoritmo só deveria ser usando uma vez no programa. Um outro problema é na hora de listar... o código está exibindo todo o vetor*, mas acho que deveria exibir apenas os elementos cadastrados, ou seja: se cadastrou 2, só deveria aparecer 2 valores e não os 2 mais 0 e 0. *vetor = nome mais simples para a tal da "estrutura homogênea" -
Portugol Calcular desconto produto por peça
Simon Viegas respondeu ao tópico de DAVILLA CRISTIANO em Programação - iniciantes
@DAVILLA CRISTIANO, está com dúvida em qual parte? Poste QUALQUER COISA... mas tente fazer algo... mesmo que não tenha muito a ver com o possível resultado final. Posta o código que conseguiu fazer e em qual parte está com dúvidas. -
VisualG Exercício com vetores e para
Simon Viegas respondeu ao tópico de luasocorromeajudem em Programação - iniciantes
@luasocorromeajudem, um detalhe no segundo código: a função não está utilizando o parâmetro recebido, logo não faz sentido receber algum valor. Basta tirar o parâmetro, segue: Bônus: inseri um recurso para gerar números aleatórios... dê também uma analisada. algoritmo "COM O []" var n: vetor[1..7] de inteiro c, pares, impares: inteiro tt: caractere funcao vet(): caractere inicio se (n[c] % 2 = 0) entao pares <- pares + 1 retorne (" --> PAR") senao impares <- impares + 1 retorne (" --> IMPAR") fimSe fimFuncao inicio para c <- 1 ate 7 faca escreva("Digite o ", c:1, "° número: ") ALEATORIO 1,10 leia(n[c]) ALEATORIO OFF tt <- vet() escreval(tt) fimPara escreval("") escreval("A quantidade de números impares digitados é: ", impares:1) escreval("A quantidade de números pares digitados é : ", pares:1) fimAlgoritmo Qualquer dúvida é só perguntar. -
VisualG Menor número digitado no Visualg
Simon Viegas respondeu ao tópico de FreeBsd em Programação - iniciantes
Sobre: De certo modo foi uma pergunta retórica... Veja: O texto está indicado o "maior" valor. Logo, seria para utilizar a variável que tem esse dado... que no caso é a variável maior. Observe que o n é "um" número digitado (não "o"). Utilizando essa variável lá no final, como está, vai sempre mostrar o último valor digitado. Experimente ir executando o código pressionando F8... aí vai acompanhando os valores das variáveis lá na Áreas das variáveis de memória (Globais e Locais) que fica no canto direito do VisualG. -
VisualG Menor número digitado no Visualg
Simon Viegas respondeu ao tópico de FreeBsd em Programação - iniciantes
Sobre: Faria mais sentido inicializar o maior com o menor valor possível. Talvez inicializar com 0 já seja suficiente. Sobre: Ali na segunda linha, no lugar de n, não seria maior? Outros pontos: prefira deixar a virgula sem espaço a esquerda e com um espaço à direita, assim como usamos no Português; os números no VisualG já são impressos com um espaço a esquerda, dessa forma, não precisa deixar um espaço lá o texto. (Caso contrário ficará com 2 espaço - fica esteticamente estranho.) Segue um exemplo: Como está atualmente: Removendo os espaço: escreval("O resultado da soma é:", soma) escreval("O maior valor digitado foi:", maior) escreval("O menor valor foi:", menor) Outra forma é utilizando um comando para formatação: escreval("O resultado da soma é: ", soma:1) escreval("O maior valor digitado foi: ", maior:1) escreval("O menor valor foi: ", menor:1) Neste caso, esse ":x" após a variável está configurando para o VisualG reservar x espaços a esquerda, ou seja: ao colocar 1, apenas estaria indicando para o número não reservar espaços, já que todo número ocupa pelo menos 1 espaço... daí, o espaço original da esquerda some... Perceba que nesse caso o espaço foi colocado lá no texto. Caso contrário ficaria colado com os ":". Eu prefiro dessa forma acima... Uma outra forma seria alinhar: escreval("O resultado da soma é :", soma:1) escreval("O maior valor digitado foi:", maior:1) escreval("O menor valor foi :", menor:1) Vai da necessidade e/ou gosto. -
VisualG Erro de sintaxe linha 117
Simon Viegas respondeu ao tópico de Thiago Cuter Dos Santos em Programação - iniciantes
O problema é que você está iniciando o programa no lugar errado... veja: Daí, de um modo geral, você meio que estaria definindo outras coisas dentro do programa principal (entre o inicio e fimAlgoritmo), o que não funciona no VisualG. Era para dar diversos outros erros, mas o interpretador ("compilador") do VisualG é bem limitado mesmo. Aí tem que ir identificando os problemas com a experiência mesmo. @Thiago Cuter Dos Santos, sugiro ir fazendo o programa por etapas e ir testando a medida que vai implementando. A depender, vai salvando as versões diferentes. Por exemplo: algoritmo "Ordenação_Bubblesort" // Disciplina : SA5 – Atividade 1 – Algoritmo de Ordenação - Bubblesort // Turma : Turma da Manhã - Sábado SENAI 602 // Professor : Gelson Luiz MoraesGelson Luiz Moraes // Descrição : Aqui você descreve o que o programa faz! (função) // Autor(a) : Thiago Cuter dos Santos // Data atual : 19/03/2021 procedimento cadastrar() inicio escreval("Teste") fimProcedimento var opc: caractere aux: caractere //auxiliar utilizado para dar um pause inicio repita escreval("Cadastro de senhas") escreval("==================") escreval("1.Cadastrar") escreval("2.Ordenar") escreval("3.Listar") escreval("4.Sair") escreval("") escreva ("=> ") leia(opc) escolha opc caso "1" cadastrar() caso "2" //ordenar() caso "3" //listar() fimEscolha leia(aux) limpaTela() ate(opc = "4") fimAlgoritmo Salva. Deixa lá a versão 1. Nesse exemplo acima, tive o objetivo de apenas criar o menu... nesse processo, foi ocorrendo diversos problemas... mas fui testando e corrigindo. Por exemplo: defini o opc como caractere, mas o escolha estava comparando com números. O comportamento é estranho... identifiquei e ajustei para comparar com caracteres (usando as aspas duplas). Depois inseri um mecanismo para dar um "pause", no caso colocando para "ler alguma coisa", fazendo assim o VisualG parar antes de limpar a tela (ali no leia(aux)). Daí vai implemento mais algumas coisas, por exemplo, o cadastrar mesmo: procedimento cadastrar() var i: inteiro inicio para i de 0 ate 4 faca escreva("Digite a senha", i+1, ": ") leia(senhas[i]) fimPara fimProcedimento var senhas: vetor[0..4] de inteiro opc: caractere aux: caractere //auxiliar utilizado para dar um pause E vai testando, testando... até ficar de uma forma que fique agradável. Esse código acima não necessariamente surge de primeira. Vai fazendo os ajustes e vendo como ffca. Só depois, aí parte para fazer outra coisa. Por aí vai..... com o tempo, começa já fazer de uma forma relativamente boa e cada vez menos precisando fazer testes... mas no início, vá alterando e testando para ver como fica!!! Sugiro fazer isso... refaça o código... pode usar o meu como referência ou mesmo ir copiando tudo... mas no mínimo reescreva! Implemente o listar e somente o listar e posta o código aqui. Qualquer dúvida é só postar. -
VisualG VisualG Modelo Bubble - sort Fila FIFO - as demais funções não são chamadas
Simon Viegas respondeu ao tópico de Thiago Cuter Dos Santos em Programação - iniciantes
Tem esses dois pontos ainda: O que significa FIFO? Então, não me faz muito sentido querer ordenar! Concorda? Você não poderia ordenar uma fila, afinal, ela é uma FIFO. A estrutura que você postou não é um Bubble Sort. Precisaria também corrigir. -
VisualG VisualG Modelo Bubble - sort Fila FIFO - as demais funções não são chamadas
Simon Viegas respondeu ao tópico de Thiago Cuter Dos Santos em Programação - iniciantes
Sobre: O que significa FIFO? Então, não me faz muito sentido querer ordenar! Concorda? Sobre: O método de ordenação contido nos códigos NÃO é um Bubble Sort. Dê também uma revisada. Sobre: Qual versão do VisualG está utilizando? -
VisualG Retorno para o menu
Simon Viegas respondeu ao tópico de NeTTo9338 em Programação - iniciantes
@NeTTo9338, obverse que você já "tentou" usar ele...: Como observado, foi usado de modo "incorreto". Então, isso é comum quando iniciante, mas a ideia é que antes você entenda do que se trata... Não é algo nada avançado... desse modo, sugiro dar uma pesquisada sobre esse comando. Veja exemplos. Tente entender um pouco mais. Daí, ajuste o seu código e poste aqui o que conseguiu fazer. No aguardo. -
VisualG Erro Visualg "esperava encontrar ENTAO"
Simon Viegas respondeu ao tópico de MariScr em Programação - iniciantes
Falta as " (aspas duplas) para os caracteres a serem comparados. Exemplo: se (sexo = "F") e (idade >= 25) e (idade <= 30) e (cabelo = 3) entao mulher <- mulher + 1 fimSe -
VisualG Retorno para o menu
Simon Viegas respondeu ao tópico de NeTTo9338 em Programação - iniciantes
@NeTTo9338, o trecho que você quer que repita, precisa ficar entre o enquanto/faca e o fimEnquanto. E ali, depois do leia(opcao), seria um se/entao. -
VisualG O VisualG não reconhece a variável
Simon Viegas respondeu ao tópico de Felipe_Fernandes em Programação - iniciantes
@Felipe_Fernandes, você está utilizando um sintaxe não válida para VisualG. Veja: O comando var não usa o inicio... Seria algo assim: algoritmo "variáveis especiais" var numerico:cep,fone,data_nasc,rg,grauo literal:nome,cidade,uf,pai,mae Certo? Aí entra outro ponto: no VisualG, o tipo vem depois.. e não antes. Seria algo assim: algoritmo "variáveis especiais" var cep,fone,data_nasc,rg,grau:numerico nome,cidade,uf,pai,mae:literal Certo? Aí entra outro ponto: numerio e literal não são tipo usado no VisualG. Aqui usaria respectivamente inteiro e caractere. Seria algo assim: algoritmo "variáveis especiais" var cep,fone,data_nasc,rg,grau:inteiro nome,cidade,uf,pai,mae:caractere Por aí vai... Esse código aqui já seria uma "correção" do seu código: -
VisualG O VisualG não reconhece a variável
Simon Viegas respondeu ao tópico de Felipe_Fernandes em Programação - iniciantes
@Felipe_Fernandes, qual erro está apresentando? Me parece que você estaria misturando a sintaxe para VisualG com a sintaxe para Portugol Studio... cada "programa" tem as suas características. Para VisualG, poderia fica com algo assim: algoritmo "Variáveis especiais" var cep, fone, data_nasc, rg, grau: inteiro nome, cidade, uf, pai, mae: caracter inicio escreval("Qual é o nome do aluno?") leia(nome) escreva("O nome do aluno é ", nome) fimAlgoritmo Então, uma dica inicial que dou seria tentar ir fazendo o programa aos poucos... e ir testando. Exemplo: -
VisualG Remover usuário da estrutura de dados
Simon Viegas respondeu ao tópico de joshuayuuki em Programação - iniciantes
@joshuayuuki, entendo que para "pensar em excluir", precisaria antes organizar melhor como cadastrar. A forma que vai acessar os dados, e também excluir, depende diretamente de como os dados serão armazenados. Alguns pontos: vai utilizar vetores ou matrizes? Pode utilizar registros? os cadastros devem ser feitos todos de uma vez ou um a um? pode ter nomes iguais no cadastro? O que faz se tiver nome iguais? etc A ideia é que só poderia pensar no "segundo" após o "primeiro" está encaminhado. Sugiro postar o enunciado completo do primeiro exercício + o código completo desse exercício. Diversos pontos são definidos no próprio enunciado... e, por via de regra, todas os requisitos devem ser seguidos. -
@raidenxyz, segue sugestão do mesmo código reindentado e apenas um detalhe deixando a nomenclatura do vetor no plural: program Pzim; var total, i: integer; compras: array [1..4] of integer; begin for i:=1 to 4 do begin writeln('Digite o valor das compras feitas: '); readln(compras[i]); total := total + compras[i]; end; for i:=1 to 4 do begin writeln('O valor da ', i, ' compra é ', compras[i]); end; writeln('O valor total é ', total); readkey(); end.
-
VisualG alguém poderia me ajudar com esse código, por gentileza?
Simon Viegas respondeu ao tópico de amdauf em Programação - iniciantes
Olá. a média só precisa ser calculada uma vez (fora do loop); feche o se da maioridade. O fimse está fora do lugar; tem variáveis declaradas que não foram usadas. Precisa dar uma reorganizada na lista ADENDO: Acredito que esta estrutura não seja válida: O comando fimAlgoritmo deve ser inserido apenas no fim do programa... no caso, o programa não dá erro seria simplesmente um bug. -
Portugol Como contar os caracteres de um nome, e verificar se é maior que 3?
Simon Viegas respondeu ao tópico de Matheus Dutra em Programação - iniciantes
@Matheus Dutra, por favor, poste seu código atual para poder ser analisado e também poder servir de base para outros visitantes. -
Outro comparaçao de preço ente alcool e gasolina
Simon Viegas respondeu ao tópico de Fernanda Santos em Programação - iniciantes
Olá @Fernanda Santos, seja bem vinda ao Fórum do Clube do Hardware. Qual a sua dúvida? É sobre criar algoritmos em JavaScript ou está no entendimento do problema? Comece um código, poste ele (o texto) aqui e informa em qual parte está com dúvidas. -
VisualG Visualg não reconhece PROCEDIMENTO
Simon Viegas respondeu ao tópico de Tanai em Programação - iniciantes
@Karen Beltcher, procure seguir um padrão para nomenclaturas das variáveis. Exemplo: algoritmo "Idade média da família" var idadePai, idadeMae: real idadePrimeiraFilha, idadeSegundaFilha: real idadeSobrinho: real idadeMedia: real inicio idadePai <- 45 idadeMae <- 64 idadePrimeiraFilha <- 27 idadeSegundaFilha <- 27 idadeSobrinho <- 11 idadeMedia <- (idadePai + idadePai + idadePrimeiraFilha + idadeSegundaFilha + idadeSobrinho) / 5 escreval("A Idade Media Familiar é: ", idadeMedia:1:2) fimAlgoritmo Uma forma comum para organizar seria separar a soma. Exemplo: algoritmo "Idade média da família" var idadePai, idadeMae: real idadePrimeiraFilha, idadeSegundaFilha: real idadeSobrinho: real somaIdade: real mediaIdade: real inicio idadePai <- 45 idadeMae <- 64 idadePrimeiraFilha <- 27 idadeSegundaFilha <- 27 idadeSobrinho <- 11 somaIdade <- idadePai + idadePai + idadePrimeiraFilha + idadeSegundaFilha + idadeSobrinho mediaIdade <- somaIdade / 5 escreval("A Idade Media Familiar é: ", mediaIdade:1:2) fimAlgoritmo -
VisualG Visualg não reconhece PROCEDIMENTO
Simon Viegas respondeu ao tópico de Tanai em Programação - iniciantes
@Karen Beltcher, Sobre: A implementação de uma solução, vai depender de qual problema está propondo... por exemplo: se o que estaria solicitando seja que os "valores já ficam pré-definidos", poderia ser algo assim: algoritmo "Idade média da família" var idadePai, idadeMae, idadePrimeiraFilha, idadeSegundaFilha, idadeSobrinho: real inicio idadePai <- 40 idadeMae <- 34 idadePrimeiraFilha <- 18 idadeSegundaFilha <- 15 idadeSobrinho <- 10 fimAlgoritmo Dessa forma, a idade já seria atribuída a cada variável em tempo de execução. Caso não seja isso, poderia explicar melhor e dar exemplos? -
VisualG Problema com de Visualg!!
Simon Viegas respondeu ao tópico de laklek em Programação - iniciantes
-
VisualG Lógica de programação exercício pseudocódigo
Simon Viegas respondeu ao tópico de melopark em Programação - iniciantes
Qual erro? Seria bom citá-lo. Vamos lá: Testei aqui e deu esse erro: Se for esse o problema, é que deveria utilizar "<-", em vez de "<=". Segue: Atual: Correto: media <- (n1 + n2 + n3 + n4) / 4 Outro problema análogo está no se/entao. Em vez de: Usar algo como: se media >= 6 entao @Matheus Dutra, seu código é para Portugol Studio, né? São "sistemas diferentes". O código do @melopark é para VisualG. Ambos utilizam "Portugol", mas as sintaxes são diferentes entre si. -
VisualG Problema com de Visualg!!
Simon Viegas respondeu ao tópico de laklek em Programação - iniciantes
@laklek, poste o que já conseguiu fazer e em qual parte está com dúvidas.
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