Ir ao conteúdo
  • Cadastre-se

claudiocj

Membro Júnior
  • Posts

    18
  • Cadastrado em

  • Última visita

posts postados por claudiocj

  1. Em 06/11/2018 às 09:21, Simon Viegas disse:

     

    Você está com dúvida em qual parte?

     

    Poste o código completo com o exemplo já feito para ter uma base!!!... ou seja, utilizando o inverte(). Essa função já está pronta... é só usar. No caso, se informar exemplo, deverá retornar olpmexe.

     

    Depois vemos como ajustar para "troca em pares".

     

     

    No aguardo.

    Algoritmo "troca"
    Var
       palavra,troca: caractere
       t:inteiro
        v :inteiro
      funcao trocaPares (v:inteiro):caractere
      var
       c:inteiro
       palavra, aux:caractere
      inicio
      v <- compr(palavra)
      enquanto v > 0 faca  //letra ç
        aux <- aux + copia(palavra;v;1)
        v <- v-1
      fimenquanto
      palavra := aux
        retorne palavra
      fimfuncao
    
    Inicio
    escreva("Digite uma palavra: ")
       leia (palavra)
       escreval("Palavra Trocada é: ", troca)
    Fimalgoritmo

    fiz assim só não funciona.

    eu fiquei ate perdido já, queria testar no visualg ou no portugol esse algaritimo de troca de letras não inverte.

    • Curtir 1
  2. como faço para usar esse mesmo conceito só que usando par de letras,

    segue o código:

    algoritmo "ordenação"
    var
    vet: vetor [1..4] de inteiro
    i, j,aux : inteiro
    
    inicio
          Para i <- 1 ate 4 faca
               escreva("Digite um Valor: ")
               Leia (vet [i])
         FimPara
    
         para i <- 1 ate 3 faca
              para j <- i+1 ate 4 faca
                  se(vet[i] > vet[j]) Entao
                  aux <- vet[i]
                  vet[i] <- vet[j]
                  vet[j]<- aux
                  FimSe
              FimPara
         FimPara
         para i <- 1 ate 4 faca
         escreva("{",vet[i],"}")
         Fimpara
    fimalgoritmo

     

    • Curtir 1
  3. 11 horas atrás, devair1010 disse:

    @claudiocj    eh nesse caso daria erro , então para resolver  você pode colocar o valor que você quiser no vetor até 100 ou mais aí não daria problema .  então depois que a pessoa digitar a palavra você pega o tamanho dela usando o comando compr para usar no loop para indo de 1 até o tamanho da palavra e  coloca ela no vetor e depois pode fazer do jeito que está no seu código mesmo que funcionará bem .

    ixii agora fundiu meu cérebro kkkkk.. 

    vou postar aqui o que eu quero pra ver se fica melhor a compreensão.

     

     

    Em PETEQS uma string pode ser tratada como um vetor de caracteres. Observe por
    exemplo a função inverte(entradas: frase) a seguir que recebe uma string como
    parâmetro e retorna uma nova string que é o inverso da string original.

    função inverte(entradas: frase)
    início
    resultado  frase
    para i  1 até tamanho(frase)/2 faça
    aux  frase
    resultado  frase[tamanho(frase)-i+1]
    resultado[tamanho(frase)-i+1]  aux
    próximo i
    fim

    Na construção desse algoritmo, foi usada a função tamanho(entradas: frase) que
    retorna o número de caracteres em uma string.
    Considere o seguinte exemplo de uso:

    programa exemplo
    início
    imprima inverte("exemplo")
    imprima inverte("reviver")
    fim

    A saída do programa seria:

    olpmexe
    reviver


    Sua tarefa: Escreva o algoritmo da função trocaPares(entradas: frase) que
    recebe uma string como parâmetro e retorna uma nova string em que os pares de letras
    consecutivas na string original são invertidas. Se a string de entrada tiver um número
    ímpar de letras, a última letra deve permanecer inalterada. A seguir, você pode ver um
    exemplo de teste da função:

    programa exemplo
    início
    imprima trocaPares("exemplo")
    imprima trocaPares("decantador")
    imprima trocaPares("entre paredes")
    fim

    A saída do programa seria:

    xemelpo
    edactndaro
    nert eapereds 

     

    • Curtir 2
  4. 3 minutos atrás, devair1010 disse:

    @claudiocj    nesse caso vcê precisa colocar no vetor de caractere todas as letras da palavra , então seria assim  :

    
    Algoritmo "vetor de caractere"
    Var
      vet : vetor[1..10] de caractere
      palavra : caractere
      j,k : inteiro
    Inicio
      palavra := "qualquer"
      para j de 1 ate 8 faca
        vet[j] := copia(palavra;j;1)
      fimpara
      escreval(vet[2])
      escreval(vet[5])
    Fimalgoritmo

     

    certo se a pessoa digitar uma palavra acima de 10 carácter o acontece?

    • Obrigado 1
  5. 16 horas atrás, Simon Viegas disse:
    Spoiler

    Olá.

    1#

    Como citado por @devair1010, o comando correto ser comp(), em vez de tamanho().

     

     

     

    2#

    Sobre o erro:

     

    O comando se/entao funciona analisando o valor lógico que está em entre o se e o entao. Algo assim:

    
    
    se (<"a resultante do que estiver aqui for VERDEIRO">) entao
    	<"faço o quê está dentro se">

     

    Lá no seu código, você utilizou:

     

    Certo? como tem um "()" dentro do outro, faz-se os internos primeiro... logo:

    
    
     (palavra mod 2 = 0)

    Creio eu que você já saiba como funciona essa estrutura... então, "isso" vai resultar em VERDADEIRO ou FALSO. Logo, seria algo como:

    
    
    (tamanho (<"VERDAEIRO ou FALSO">))

     

    Oras! o que seria "tamanho de VERDADEIRO"? Entende?  A expressão não faz sentido... (pelo menos para Visualg). :)

     

    obs.: lembrando que o comando correto é comp(), e não tamanho().

     

     

     

    3#

    Analisando, supostamente você queria algo assim:

    
    
    se (compr(palavra) mod 2 = 0) entao

    Ou seja, primeiro pega o comprimento de palavra, depois calcula o resto da divisão por 2, depois compara com 0. Tudo isso vai resulta em VERDADEIRO ou FALSO. Logo, com uma sintaxe válida.

     

    RESUMINDO: se o número for par, eu uso o tamanho da palavra, se não for (é ímpar), subtraio em 1 para o resultado ficar par.

     

     

    ***

     

    Por ai vai...

     

    No aguardo.

     

    Então, mesmo usando esse comando compr, não passa desse ponto. Tentei usar o Portugol, mas não conheço muito bem.

     

    erro.png

    • Obrigado 1
  6. 4 horas atrás, Simon Viegas disse:

     

    Por que as variáveis estão com as nomenclaturas TjgFeitosTjgSofridos? de o

     me referi a total de Jogos feitos e total de jogos sofridos

    adicionado 2 minutos depois
    4 horas atrás, Simon Viegas disse:

    se

    realmente é isso mesmo eu tirei e não reparei, o algorítimo  rodo perfeitamente então passo despercebido vou corrigir

    adicionado 5 minutos depois
    4 horas atrás, Simon Viegas disse:

    4#

    não sei porque mais se eu botar no singular aparece como não tivesse posto dentro da variável (var) principalmente o empate

    adicionado 8 minutos depois
    4 horas atrás, Simon Viegas disse:

    3#

    esse ponto tive que criar essa variável,  pós eu não estava conseguindo o resultado esperado que era jogos sem fazer gols, só consegui dessa maneira "gambiarra" 

  7. como resolvo esse problema no visual g esta dando erro quando testa. da erro "se (tamanho (palavra mod 2 = 0)) entao" aqui

    Var
    palavra: caractere
    aux: caractere
    t:inteiro
    c, i :inteiro
    
    Inicio
    
    t <- 0
    
    aux <- ""
    leia (palavra)
    se (tamanho (palavra mod 2 = 0)) entao
    t <- palavra
    senao
    t <- tamanho(palavra) -1
    fimse
    enquanto t > 0 faça
    aux <- palavra[c]
    palavra [c] <- (palavra [c+1])
    palavra [c+1] <- aux
    t < t-2
    c <- c+2
    c <- -1
    fimenquanto
    escreval (palavra)
    
    Fimalgoritmo

     

    • Obrigado 1
  8. 9 horas atrás, Simon Viegas disse:

     

    Oi. Posta o código completo para analisarmos e, também, poder servi de bases para possíveis outros usuários.

     

     

    No aguardo.

    Var
    
    
       pontos      :inteiro
       mediaGols   :real
       vitorias   :inteiro
       saldoGf   :inteiro
       empates     :inteiro
       partida     :inteiro
       JogosSemfg : inteiro
       TjgFeitos :inteiro
       golsFeitos  :inteiro
       TjgSofridos :inteiro
       golsSofridos :inteiro
    Inicio
          golsFeitos     <- 0
          saldoGf        <- 0
          golsSofridos   <- 0
          vitorias       <- 3
          empates        <- 1
          TjgFeitos      <- 0
          golsSofridos   <- 0
          saldoGf        <- 0
    
       para partida <- 1 ate 12 faca
                    escreval("Jogo ",partida:1,"?")
                    leia (golsFeitos, golsSofridos)
    
            se golsFeitos = 0 entao
               JogosSemfg <- JogosSemfg + 1
            fimse
            se golsFeitos > golsSofridos entao
               pontos <- pontos + vitorias
            fimse
            se  golsFeitos = golsSofridos entao
                pontos <- pontos + empates
            fimse
           JogosSemfg <- golsFeitos - golsSofridos
           TjgFeitos <- TjgFeitos + golsFeitos
           TjgSofridos <- TjgSofridos + golsSofridos
       fimpara
       saldoGf <-  TjgFeitos - TjgSofridos
       mediaGols <- TjgFeitos / partida
       escreval("Pontos: ", pontos)
       escreval("Saldo de Gols: ", saldoGf)
       escreval("Jogos sem fazer Gols: ", JogosSemfg)
       escreval("Média de Gols por Jogo: ", mediaGols)
       
    Fimalgoritm

    código completo. muito obrigado

  9. Citação:

    Spoiler
    Em 23/10/2018 às 09:45, Simon Viegas disse:

    1#

    Sobre:

     

     

    Sugestão de variáveis:

     

     

    Lembrando que é apenas um esboço. Tente entender para que funciona cada variável. Pode renomear para outras nomenclaturas ao seu gosto... incluir ou remover variáveis... etc.... 

     

     

     

    2#

     

    Então, entenda o "contexto do mundo real". Um algoritmo em Visualg seria uma "representação dele"...

     

     

    Por exemplo:

    Nesse trecho temos:

     

    Temos que 3 é a quantidade de gols feitos pelo time (que está sendo analisado) e 1 a quantidade de gols sofridos pelo mesmo por ele... pois assim sugere o enunciado:

     

    No algoritmo foi sugerido:

     

    Ou seja, golsFeitos é a variável que recebe os "gols feitos pelo time". E golsSofridos, adivinha?

     

    Perceba que a nomenclatura dessas variáveis por si sós já induzem a que elas foram propostas... ;)

     

    Ao fazer isso:

     

    Sem precisar se aprofundar muito, já perceberíamos que está "alterando o placar do jogo"! :chicote:

     

    Oras! a ideia é que aprenda a aprender que tem algo errado aí!! Entende?

     

     

     

    3#

    Para efeitos didáticos, vamos supor que o meu time é o Bahia e o primeiro jogo foi contra o Vicitória.

     

    Quanto foi o jogo? 3x1.

     

     

    Beleza... vamos focar no enunciado (aquilo que foi pedido para ser feito):

     

    Ele quer saber quantos ponto o Bahia conseguiu no campeonato, logo, seria a "soma dos pontos conquistados partida a partida". Como sei quantos ponto ele ganhou nesse primeiro jogo? parte disso já temos:

     

     

    Certo? aí identificamos qual foi a "categoria" (vitória, empate ou derrota). O que acontece em cada categoria? somaremos os respectivos pontos! Mas onde estão os valores dos pontos? pelo esboço (que supondo que já foi revisado por você), está lá nas constantes... (VITORIA, EMPATE e DERROTA). Já as variáveis, vitorias, empates e derrotas são outra coisa... estes últimos são o "NÚMERO DE...", ou seja, "quantas vitórias o time teve". E não o "VALOR DE...", no caso, "quantos pontos vale" (como citado, está nas constantes).  

     

    obs.: se não quiser usar constante, passe para variável, mas entenda que são duas variáveis distintas, como por exemplo: vitoria (valor da vitória) e vitorias (número de vitórias).

     

     

     

    Logo, poderia ficar algo como:

    
    
       se golsFeitos > golsSofridos entao //se fez mais gol que sofreu
          pontos <- pontos + VITORIA //adiciona os pontos referentes à vitória
       senao
          se golsFeitos = golsSofridos entao //se foi fez a mesma quantidade que sofreu
             pontos <- pontos + EMPATE //adiciona os pontos referentes ao empate
          senao
             pontos <- pontos + DERROTA //adiciona os pontos referentes à derrota
          fimSe
       fimSe

     

    Faz essas alterações... suponha que só precisa responder essa alínea a) do enuniciado. Testa e ver se está contabilizando os pontos satisfatoriamente.

     

     

     

    4#

    Vamos pegar outra parte do enunciado...

     

    O que é "um saldo"? o enunciado já disse claramente aí acima...

     

    Então, onde está os gols feitos e gols sofridos pelo time no campeonato? logicamente estão nas variáveis golsFeitos e golsSofridos, correto? Se achou que sim, por favor releia o 2# e 3#!!! :muro:

     

    Existe alguma coerência de ser essas duas variáveis??? seria viável as mesmas variáveis que leem o placar de um jogo (que são novos a cada jogo), servirem também para armazenar os somatórios de gols do time (que vai acumulando ao longo do campeonato)? é esse tipo de raciocínio que estou tentando estimular!

     

    Analisando lá variáveis encontramos:

     

    Entende? a escolha das variáveis entra no item 1# desta postagem. Essas variáveis podem ser definidas a medida vai interpretando o enunciado e/ou a medida que vai implementando novos recursos no código etc. "Ah! mas, por exemplo, o nome golsFeitos confundem-me". Ok. Mas veja que foi inserido comentários para tentar explicar para que cada variável serve. "Ah! mas os comentários não estão claros". Então reorganize as variáveis.....  Os ajustes podem ser feitos a medida que vai identificando possíveis melhoras... ou aprendendo novos conceitos.. Por exemplo, agora mesmo eu imaginei que poderia usar golCasa e golsVisitante (ou golsTimeCasa e golsTimeVisitante), em vez de golsFeitos e golsSofridos. Por ai vai!!! 

     

    Mas emfim. O que seria os "gols pró"? é análogo aos pontos... ou seja, vai acumulando a cada jogo, ex.:

     

    Poderia ser algo como:

    
    
    para partida <- 1 ate 2 faca
       escreval("Jogo ",partida:1,"?")
       leia(golsFeitos)
       leia(golsSofridos)
       se golsFeitos > golsSofridos entao //se fez mais gol que sofreu
          pontos <- pontos + VITORIA //adiciona os pontos referentes à vitória
       senao
          se golsFeitos = golsSofridos entao //se foi fez a mesma quantidade que sofreu
             pontos <- pontos + EMPATE //adiciona os pontos referentes ao empate
          senao
             pontos <- pontos + DERROTA //adiciona os pontos referentes à derrota
          fimSe
       fimSe
       golsPro    <- golsPro   + golsFeitos   //atualiza o números de gols pro
       golsContra <- golContra + golsSofridos //atualiza o números de gols contra
    fimPara

     

    Então, até o momento (supostamente) está tratando dos pontos e dos gols pro e contra.

     

    O saldo de gols e média só precisam ser calculados quando for usá-los, ou seja, depois de ler todos os jogos.

     

     

     

    ***

     

    Sugestão: tente ler 2 ou 3 jogos e imprimia APENAS os pontos ganhos, os gols pró e os gols contra.

     

     

    PS: lembrando que não é interessante tentar fazer tudo de vez. É preferível fazer por partes (poderíamos chamar de  "módulos". Faz a letra "A" do enunciado, depois a "B" etc).

     

     

    Em caso de dúvidas sobre qualquer parte é só perguntar.

     

     

    No aguardo.

     

    Consegui muito obrigado, ajudou muito.

    • Curtir 1
  10. Em 20/10/2018 às 20:08, Simon Viegas disse:

     

    Onde?

     

    Os código que eu postei são esboços... você precisa editar e dar continuidade.

     

    Boa noite, quase resolvi essa questão só não entendo porque gols feito e gols sofrido não subtraem para da o resultado de jogos sem fazer gol.

    Algoritmo "PDA"
    // Disciplina  :  [Projeto de Desenvolvimento de Algaritimos] 
    // Professor   : Antonio Carlos Nicolodi 
    // Descrição   : Aqui você descreve o que o programa faz! (função)
    // Autor(a)    : Cláudio Cotrim Jr
    // Data atual  : 21/10/2018
    Var
    
    
       pontos      :inteiro //total de pontos ganhos
       mediaGols   :real    //média de gols por partida
       vitorias    :inteiro //número de vitórias
       empates     :inteiro //número de empates
       partida     :inteiro //número da partida (controlador do para)
       golsFeitos  :inteiro //gols feitos na partida
       golsSofridos:inteiro //gols sofridos na partida
    Inicio
          golsFeitos <- 0
          golsSofridos <-0
          vitorias <- 3
          empates <-1
    
       para partida <- 1 ate 12 faca
            escreval("Jogo ",partida:1,"?")
            leia (golsFeitos)
            leia (golsSofridos)
    
            se golsFeitos > golsSofridos entao
            pontos <- pontos + vitorias
       senao
            se  golsFeitos = golsSofridos entao
             pontos <- pontos + empates
    
       fimse
       fimse
       fimpara
          golsFeitos <- golsFeitos + 1
          golsSofridos <- golsSofridos + 1
          mediaGols <- golsFeitos + golsSofridos + partida
       escreval("Pontos: ", pontos)
       escreval("Saldo de Gols: ", golsFeitos)
       escreval("Jogos sem fazer Gols: ", golsFeitos - golsSofridos)
       escreval("Média de Gols por Jogo: ", mediaGols / 12)
    Fimalgoritmo

     

    • Curtir 1
  11. Estou precisando de ajuda de como resolver isso:

    (a) (1.25 ponto) Quantos pontos o time conseguiu no campeonato, sabendo que uma
    vitória vale três pontos e um empate um ponto. Uma derrota não conta nenhum
    ponto.
    (b) (1.25 ponto) O saldo de gols do time. Isto é calcule a diferença entre os gols
    feitos e os gols sofridos.
    (c) (1.25 ponto) Em quantos jogos o time não fez nenhum gol.
    (d) (1.25 ponto) A média de gols que o time fez por jogo.
    Os resultados dos jogos devem ser fornecidos no formato indicado abaixo. O primeiro
    valor inteiro é número de gols que o time fez e o segundo quantos ele sofreu.
    Jogo 1?
    3 1
    Jogo 2?
    1 3
    Jogo 3?
    2 2
    Jogo 4?
    1 1
    Jogo 5?
    0 2
    Jogo 6?
    2 1
    Jogo 7?
    0 0
    Jogo 8?
    2 0
    Jogo 9?
    2 0
    Jogo 10?
    1 0
    Jogo 11?
    0 3
    Jogo 12?
    3 0
    Para os dados mostrados no exemplo acima os resultados impressos pelo algoritmo
    devem ser.
    Pontos: 21
    Saldo de gols: 4
    Jogos sem fazer gols: 3
    Media de gols por jogo: 1.417

    Var
       pontos: inteiro
       golfeito: inteiro
       golsofrido: inteiro
       empate: inteiro
       saldogols: inteiro
       mediagol: real
       i: inteiro
       vitoria, impate: inteiro
     
     
    Inicio
       vitoria <- 3
       impate <- 1
       pontos <- 0
       golfeito <- 0
       golsofrido <- 0
       mediagol <- 0
     
       para i <- 1 até 12 faça
       
       se golfeito > golsofrido = vitoria
          senao impate
          escreva("Jogo 1: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- vitoria
          fimse
          fimpara
     
          
          escreva("Jogo 2: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
          
          escreva("Jogo 3: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
          
          escreva("Jogo 4: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
          
          escreva("Jogo 5: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
     
          escreva("Jogo 6: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
     
          escreva("Jogo 7: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
     
          escreva("Jogo 8: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
     
          escreva("Jogo 9: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
     
          escreva("Jogo 10: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
     
          escreva("Jogo 11: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
     
          escreva("Jogo 12: ")
          leia (golfeito)
          leia (golsofrido)
          pontos <- pontos + golfeito
     
          escreval("mediagol: ", golfeito*12/2)
          escreval("pontos : ", vitoria+impate)
          escreval("Saldo : ", pontos+golsofrido)
          
    Fimalgoritmo

     

    • Curtir 1

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!