Ir ao conteúdo
  • Cadastre-se
MatheusINF

Portugol O algoritmo está correto?

Recommended Posts

Fala galera eu preciso fazer o seguinte exercicio em pseudocódigo:

 Dado um conjunto de N frases, faça um algoritmo para imprimir cada frase juntamente com o número de vezes que aparece a palavra  DE  na frase. 

 Gostaria de saber se o que eu fiz  está correto?

// algoritmo FRASES
/* - - - - - - - -- - - - - - - - - - - - -- */
VARIAVEIS
string  frase[200];
inteiro  i,frase,n;

INICIO
leian frase
             para(i=0; i<frase; i++)
                  se (frase[i]=='d' e frase[i+1]== 'e' e frase[i+2]== '  ')
                    qtde++
                 fimse
             fimpara
   escrevaln "Encontrados     vezes",qtde;
fimalgoritmo 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia @MatheusINF

 

No

se (frase[i]=='d' e frase[i+1]== 'e' e frase[i+2]== ' ')

a palavra "cidade" passa no algorítimo, recomendo por 

"se (frase[i-1]==' ' e frase[i]=='d' e frase[i+1]== 'e' e frase[i+2]== ' ')" 

ai ele só pega o "de".

 

Até onde eu entendi o enunciado você deveria trabalhar com varias frases e não só uma, então você poderia trabalhar com uma matriz de "strings" em vez de um vetor.

 

Espero ter ajudado :D

adicionado 1 minuto depois
18 minutos atrás, MatheusINF disse:

imprimir cada frase

Há e também deveria imprimir as frases na tela :P

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Leonardo0308

22 minutos atrás, Leonardo0308 disse:

Há e também deveria imprimir as frases na tela :P

Verdade esqueci de imprimir ://

 

22 minutos atrás, Leonardo0308 disse:

Até onde eu entendi o enunciado você deveria trabalhar com varias frases e não só uma, então você poderia trabalhar com uma matriz de "strings" em vez de um vetor.

Certo vou arrumar isso também, Vlwwww mnw

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas  O meu ficou assim , porém olhando no caderno acho que ainda não cheguei em matrizes não , só em vetores :/

// Algoritmo FRASES
/* - - - - - - - -- - - - - - - - - - - - -- */
VARIAVEIS
string  frase[200];
inteiro  i,frase,qtde,;

INICIO
Escreva "Quantas frases deseja escrever: "
leia n
leian frase
       enquanto(i<n)    
             para(i=0; i<frase; i++)
                  se (frase[i-1]=='   ' e frase[i]=='d' e frase[i+1]== 'e' e frase[i+2]== '  ')
                    qtde++
                 fimse
             fimpara
        fimenquanto
 
escrevaln "Na frase #    ,       foram encontrados  de        vezes" ,n,frase,qtde;
fimalgoritmo

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Enunciado:

1 hora atrás, MatheusINF disse:

Dado um conjunto de N frases, faça um algoritmo para imprimir cada frase juntamente com o número de vezes que aparece a palavra  DE na frase. 

 

Então, o enunciado pede para ler N frases. Mas por enquanto não precisa se preocupar com isso... ou seja, faça algo como:
 

Citação

Dado uma frase, faça um algoritmo para imprimir a frase juntamente com o número de vezes que aparece a palavra DE na frase.

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas Certo entendi, mais no caso se fosse em uma prova ai eu teria que pedir a quantidade N de frases ou apenas fazer de uma frase?

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Baseando-se no código postado, tem alguns erros:

1#
O espaço é único, ou seja, ' ' é diferente de '   ';

 

 

 

2#

A dica @Leonardo0308 é válida, mas está com erro de lógica. Veja:

1 hora atrás, Leonardo0308 disse:

a palavra "cidade" passa no algorítimo, recomendo por 


"se (frase[i-1]==' ' e frase[i]=='d' e frase[i+1]== 'e' e frase[i+2]== ' ')" 

 

Se o vetor vai de 0 a 99, ao usar i-1, quando o i tiver com o valor 0 (primeiro loop), vai tentar acessar a posição -1. Que não existe!!!

 

Mas é simples... basta usar i, i+1, i+2 e i+3.

 

 

 

3#
Da mesma forma que não existe posição antes do 0, não existe posição depois do 199. Logo, o para deve ir do 0 a 199-3.

 

 

 

4#

Faltou a frase para solicitar que digite a frase.

 

 

 

5#

O comando não é:

39 minutos atrás, MatheusINF disse:

i<frase

 

Seria algo como:

i<tamanho(frase)

 

 

***

 

Por ai vai.


PS:

12 minutos atrás, MatheusINF disse:

@Simon Viegas Certo entendi, mais no caso se fosse em uma prova ai eu teria que pedir a quantidade N de frases ou apenas fazer de uma frase?

Você tem que fazer o enunciado completo.

A minha sugestão é sobre o aprendizagem... você não precisa fazer tudo de uma vez... melhor fazer algo mais simples e depois ir aprimorando.

Perceba que não adianta tentar ler n, se você não conseguir nem ler 1.

 

 

No aguardo.

 

adicionado 1 minuto depois

PS 2: sobre o item 2. Se o "de" estiver no início da frase, ou no fim, não vai funcionar... mas não se preocupe com isso... pode ser verificado depois.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas Certo vou consertar os erros cara obrigadãoooo, é que meu problema foi com o professor que mandou os alunos fazerem 25 algoritimos de uma lista em C/C++ e na prova vai cobra em pseudocódigo sabe? ai da aquela bugada na hora de passar do C pro papel, mais vou arrumar agora mesmo.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Simon Viegas disse:

Se o vetor vai de 0 a 99, ao usar i-1, quando o i tiver com o valor 0 (primeiro loop), vai tentar acessar a posição -1. Que não existe!!!

 

Mas é simples... basta usar i, i+1, i+2 e i+3.

 

@Simon Viegas Obrigado pela correção logica :D

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/05/2018 às 14:14, MatheusINF disse:

@Simon Viegas Certo vou consertar os erros cara obrigadãoooo, é que meu problema foi com o professor que mandou os alunos fazerem 25 algoritimos de uma lista em C/C++ e na prova vai cobra em pseudocódigo sabe? ai da aquela bugada na hora de passar do C pro papel, mais vou arrumar agora mesmo.


@MatheusINF, já conseguiu corrigir o código? Por favor, dê uma revisada nas respostas e tente ajustar... ai posta o código aqui para analisarmos.

Caso tenha dúvidas, é só informar em qual parte.

 

No agaurdo.

adicionado 2 minutos depois

PS:

Em 11/05/2018 às 11:38, MatheusINF disse:

Dado um conjunto de N frases, faça um algoritmo para imprimir cada frase juntamente com o número de vezes que aparece a palavra  DE  na frase. 

 

Não precisa fazer agora com "N frases". Isso não é importante no momento. Como já sugerido, faça apenas:

Citação

Dado uma frase, faça um algoritmo para imprimir a frase juntamente com o número de vezes que aparece a palavra DE na frase.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×