Ir ao conteúdo

Simon Viegas

Membro VIP
  • Posts

    3.940
  • Cadastrado em

Tudo que Simon Viegas postou

  1. @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.
  2. @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?
  3. 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"
  4. @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.
  5. @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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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?
  11. @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.
  12. 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
  13. @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.
  14. @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:
  15. @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:
  16. @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.
  17. @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.
  18. 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.
  19. @Matheus Dutra, por favor, poste seu código atual para poder ser analisado e também poder servir de base para outros visitantes.
  20. 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.
  21. @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
  22. @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?
  23. 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.
  24. @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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!