Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
É o seguinte galera, eu tô estudando lógica de programação, na parte de looping, daí tem os métodos "enquanto", "repete" e "para"
Essa questão aqui:
1 - a) Apresentar o quadrado dos números inteiros de 15 a 200 pelos três métodos
Como eu fiz
Enquanto
programa LOOP_1A
var
N,N2: inteiro
início
N <- 15
enquanto (N >= 15) .e. (N <=200) faça
N2 <- N * N
escreva "O quadrado de ", N, " é: ", N2
N <- N + 1
fim_enquanto
fim
minha dúvida: posso usar o comando ".e." ".ou." e ".não." junto com enquanto e usar 2 condições como fiz?
Para
programa LOOP1A_PARA
var
N, N2: inteiro
início
para N de 15 até 200 passo 15 faça
N2 <- N * N
escreva "O quadrado de ", N, " é: ", N2
fim_para
fim
nesse ai quero saber se está certo. Pela minha lógica, irá começar de 15 ir até 200 mostrando os quadrados
Repita
programa LOOP1A_REPITA
var
N, N2: inteiro
início
N <- 15
repita
N2 <- N * N
escreva "O quadrado de ", N, " é: ", N2
até que (N <> 200)
fim
Também quero saber se fiz uso correto do repita
>
var
N,N2: inteiro
inicio
N <- 15
enquanto (N >= 15) e (N <=200) faca
N2 <- N * N
escreval ("O quadrado de ", N, " é: ", N2)
N <- N + 1
fimenquanto
fimalgoritmo
Está correto, na verdade você deve fazer uso de e, ou, não, estruturas de repetição enquanto e repita diferente de para não sabem a quantidade de vezes que iram rodar portanto devem possuir uma condição de parada. No caso do enquanto enquanto a condição for verdadeira ele continua rodando.
inicio
para N de 15 ate 200 faca
N2 <- N * N
escreval ("O quadrado de ", N, " é: ", N2)
fimpara
Esse não vai fazer o que você pretende, repare:
para N de 15 ate 200 passo 15 faça
esse passo significa a forma como ele irá incrementar o N, no caso o seu N começa com 15 e a cada rodada ele ganha mais 15, então você teria
1 - 15
2 - 30
3 - 45
...
o correto, caso você queira que o N incremente de 1 em 1, seria:
para N de 15 ate 200 passo 1 faça
você tambem pode declarar assim:
para N de 15 ate 200 faça
quando não está declarado o passo ele já entende que é para incrementar de 1 em 1.
N <- 15
repita
N2 <- N * N
escreval ("O quadrado de ", N, " é: ", N2)
N <- N + 1
ate (N > 200)
Este também tem alguns erros, o repita é muito parecido com o enquanto a diferença é:
enquanto checa a condição no inicio, a condição para rodar é que seja verdadeira, se a condição for falsa logo na primeira rodada ele irá pular a estrutura, portanto ele pode rodar 0 ou n vezes.
repita checa a condição no final, a condição para rodar é que seja falsa, se a condição for verdadeira ele para, portanto ele irá rodar pelo menos uma vez até n vezes.
A condição que você usou N <> 200 é verdadeira portanto ele irá rodar apenas uma vez, você deve utilizar uma condição que seja falsa para continuar rodando, N > 200 = falso entao ele continua.
Faltou incrementar o N tambem, N <- N + 1, assim como você fez no enquanto e no para.
Observar tambem que você estará mostrando várias vezes a mesma linhas, utilize uma quebra de linha para que não fiquem todas grudadas uma na outra, você pode utilizar escreval() que faz o cursor ir para a linha de baixo no final da escrita.
Ah cara, muito obrigado por sanar minhas dúvidas, te devo essa! Eu tinha visto esse erro que faltou o N <- N + 1 eu ajeitei depois mas no caderno xD mas valeu mesmo!
>
Ah cara, muito obrigado por sanar minhas dúvidas, te devo essa! Eu tinha visto esse erro que faltou o N <- N + 1 eu ajeitei depois mas no caderno xD mas valeu mesmo!
Por nada kra, precisando e se eu puder ajudar :thumbsup:
var
N,N2: inteiro
inicio
N <- 15
enquanto (N >= 15) e (N <=200) faca
N2 <- N * N
escreval ("O quadrado de ", N, " é: ", N2)
N <- N + 1
fimenquanto
fimalgoritmo
Está correto, na verdade você deve fazer uso de e, ou, não, estruturas de repetição enquanto e repita diferente de para não sabem a quantidade de vezes que iram rodar portanto devem possuir uma condição de parada. No caso do enquanto enquanto a condição for verdadeira ele continua rodando.
inicio
para N de 15 ate 200 faca
N2 <- N * N
escreval ("O quadrado de ", N, " é: ", N2)
fimpara
Esse não vai fazer o que você pretende, repare:
para N de 15 ate 200 passo 15 faça
esse passo significa a forma como ele irá incrementar o N, no caso o seu N começa com 15 e a cada rodada ele ganha mais 15, então você teria
1 - 15
2 - 30
3 - 45
...
o correto, caso você queira que o N incremente de 1 em 1, seria:
para N de 15 ate 200 passo 1 faça
você tambem pode declarar assim:
para N de 15 ate 200 faça
quando não está declarado o passo ele já entende que é para incrementar de 1 em 1.
N <- 15
repita
N2 <- N * N
escreval ("O quadrado de ", N, " é: ", N2)
N <- N + 1
ate (N > 200)
Este também tem alguns erros, o repita é muito parecido com o enquanto a diferença é:
enquanto checa a condição no inicio, a condição para rodar é que seja verdadeira, se a condição for falsa logo na primeira rodada ele irá pular a estrutura, portanto ele pode rodar 0 ou n vezes.
repita checa a condição no final, a condição para rodar é que seja falsa, se a condição for verdadeira ele para, portanto ele irá rodar pelo menos uma vez até n vezes.
A condição que você usou N <> 200 é verdadeira portanto ele irá rodar apenas uma vez, você deve utilizar uma condição que seja falsa para continuar rodando, N > 200 = falso entao ele continua.
Faltou incrementar o N tambem, N <- N + 1, assim como você fez no enquanto e no para.
Observar tambem que você estará mostrando várias vezes a mesma linhas, utilize uma quebra de linha para que não fiquem todas grudadas uma na outra, você pode utilizar escreval() que faz o cursor ir para a linha de baixo no final da escrita.