Ir ao conteúdo
  • Cadastre-se

Portugol Problema na interpretação da resposta do pseudocodigo (portugol)


Posts recomendados

Boa noite galera, estou estudando sobre pseudocodigos, recentemente e me surgiram exercícios nos quais tive problemas;

programa calc
var n,conta:inteiro
inicio
     n <- 8
     conta <- 2
     repita
           conta <- conta + ( n  1 )
           n <- n  1
     até que n = 0
     escreva conta
fim.


var x : inteiro
inicio
    x <- 11
    se ( x < > 1 0)
        se ( ( x > 15 ) OU ( x <= 20 ) )
            x <- x + 2
        senão
            x <- x  4
        fim_se
    fim_se
    se ( x MOD 4 >= 2 )
        x <- x + 5
    senão
        x <- x  3
    fim_se
    escreva  x = “, x
fim

Conseguem me ajudar/explicar qual seria o resultado final de ambos os códigos?

 

Também tenho uma dúvida quanto a algumas suposições:

A expressão matemática anexa é utilizada para projetar espelhos. Nesta expressão, n é um índice numérico do tipo real, R e S são números inteiros. Qual deve ser o tipo da variável foco para poder armazenar o resultado da expressão?

Creio que o tipo char (caractere) se encaixaria aqui, o que acham?

 

Se um algoritmo lê apenas um nome de uma pessoa e sua idade, qual o procedimento para ler os dados de cinco pessoas?

tenho as opções:

se/fim-se
para/fim_para
inicio/fim
escolha/fim-escolha
caso/fim_caso

 

Qual a estrutura de repetição que executa pelo menos uma vez os comandos que estão dentro dela?

tenho as opções:

Caso/fim_caso
inicio/fim
Para/fim_para
Repita/ate
se/se_fim

 

Podem me ajudar?

Link para o comentário
Compartilhar em outros sites

Citação

Se um algoritmo lê apenas um nome de uma pessoa e sua idade, qual o procedimento para ler os dados de cinco pessoas?

tenho as opções:


se/fim-se
para/fim_para
inicio/fim
escolha/fim-escolha
caso/fim_caso

Neste caso, como você tem uma quantidade determinada de pessoas para ler os dados (neste caso, 5), a melhor estrutura para a leitura dos dados é a para/fim_para

 

 

Citação

Qual a estrutura de repetição que executa pelo menos uma vez os comandos que estão dentro dela?

tenho as opções:


Caso/fim_caso
inicio/fim
Para/fim_para
Repita/ate
se/se_fim

Neste caso, a estrutura repita/ate é a que executa o comando pelo menos uma vez. Ou seja, ela primeiro executa o(s) comando(s) antes de verificar a condição de parada. Nas linguagens de programação, esta estrutura é:

 

do{
    //comando01
    //comando02
    .
    .
    .
    //comandoN
} while( condiçãoes))

 

 

Citação

var x : inteiro
inicio
    x <- 11
    se ( x < > 1 0)  // x é 11, então é diferente de 10. Vai entrar no próximo SE.
        se ( ( x > 15 ) OU ( x <= 20 ) ) // x é 11. 11 é maior que 15? FALSO. 11 é menor ou igual a 20? VERDADEIRO. 
                                                        //Como está usando o operador lógico OU, basta que apenas uma das                                                                         //condições seja verdadeira. Assim, como a segunda condição é verdadeira, o                                                             //código entra no trecho da linha logo abaixo.

            x <- x + 2  // x = 11 (o valor que já tinha) + 2 --> x = 13
        senão
            x <- x  4
        fim_se
    fim_se
    se ( x MOD 4 >= 2 ) // MOD é o resto da divisão. 13 MOD 4 = 1 (4 X 3 = 12      .  13 - 12 = 1).                                                                      //Condição é FALSA. Código entra no trecho do senão.
        x <- x + 5  
    senão
        x <- x  3            // x = 13.        13 - 3       -->       x = 10.
    fim_se
    escreva  x = “, x  //então, será escrito x = 10.
fim

 

Usei os caracteres "//" para realizar comentários direto no seu código. 

adicionado 11 minutos depois
programa calc
var n,conta:inteiro
inicio
     n <- 8
     conta <- 2
     repita
           conta <- conta + ( n  1 )
           n <- n  1
     até que n = 0
     escreva conta
fim.

 

Fazer um "teste de mesa" fora do código, para ficar melhor de entender.

 

n <-- 8

conta <-- 2

------------------------------------------------------------------------

Primeiro REPITA

      conta <-- 2 + (8-1)

      n <-- 8 - 1

 

então:

conta <-- 9

n <-- 7

Como n não é igual a 0, executa os comandos novamente.

------------------------------------------------------------------------

Segundo REPITA

      conta <-- 9 + (7-1)

      n <-- 7 - 1

 

então:

conta <-- 15

n <-- 6

Como n não é igual a 0, executa os comandos novamente.

 

.

.

.

 

Repita este processo ATÉ que a variável "n" seja igual a 0. Perceba que a cada execução, o valor desta variável é decrementado em 1 unidade. Quando a variável "n" for igual a 0, o código vai sair desta estrutura de repetição e imprimir o valor da variável conta.

 

Caso tenha ficado algum dúvida, poste aí para ajudarmos. 

 

PS: Essa da Matemática aí tenho que ver aqui, rsrsrs, mas se descobrir posto para te ajudar!

 

BONS ESTUDOS!!

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

 

@Olinad212 Hm... Consegui entender, no último, o repita ali vai recalculando os dados até que o n seja 0, neste caso ele repetiu tudo ali, basicamente 8 vezes no meu cálculo e resultou em C=30;

Na segunda, onde você comentou os códigos, eu estava com algumas dúvidas na execução do "senão", pois não estava conseguindo entender a sequencia da execução do código, mas seu comentário ali me fez entender o que aconteceu naquela execução;

Muito obrigado, essas explicações clarearam meus estudos (e muito);

Abraços

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...