Mostrando postagens com marcador Pseudocódigo. Mostrar todas as postagens
Mostrando postagens com marcador Pseudocódigo. Mostrar todas as postagens

Estruturas de controle: Comando de Decisão - Pseudocódigo

Em nossa postagem anterior falamos sobre o comando decisão, sua importância e como usa-lo (clique aqui para acessar nossa postagem anterior). Baseado nos mesmos exemplos iremos mostrar como trabalhar com os comandos de decisão. Na figura 1 abaixo temos o exemplo de um fluxograma e o pseudocódigo equivalente de um programa que calcula a média de duas notas digitadas via teclado. 
Figura 1. Fluxograma de programa para calcular média.

Algoritmo MEDIA_2_NOTAS
Var
   N1      : real
   N2      : real
   Media : real

Inicio
  leia N1, N2
  Media=(N1+N2)/2
  escreva Media
Fim


No pseudocódigo acima temos a representação de um programa que irá calcular e exibir a média de duas notas digitadas via teclado. Agora vamos imaginar um programa onde é necessário exibir a mensagem "Aluno aprovado" ou "Aluno reprovado" em função do resultado da média onde todo aluno com média inferior a 6,0 esta reprovado.
Note que é impossível o aluno estar aprovado e reprovado ao mesmo tempo, ou seja, nosso programa deverá "escolher" qual mensagem será exibida. Neste caso será obrigatório o uso de comandos de decisão.

Comando de decisão- São estruturas lógicas condicionais onde uma decisão é tomada baseada numa condição especifica cujo resultado sempre será Verdadeiro ou Falso. Se a condição for verdadeira, pode-se executar uma instrução ou conjunto de instruções. Se a condição não for verdadeira (Falsa), pode-se executar outro conjunto de instruções.

Em pseudocódigo, o comando de decisão é representado pela sequencia de instruções discriminadas abaixo. O equivalente em fluxograma esta representado na figura 2.

Figura 2. fluxograma do comando de decisão.

se (condição) então
 
   instruções se condição for verdadeira

senão

   instruções se condição não for verdadeira

fim_se
 


A primeira linha de instrução é o Se (condição) então onde o programa irá tomar a decisão sobre qual bloco de instruções ele irá executar. Logo abaixo desta primeira instrução, temos todas a instruções que serão executadas pelo programa caso a condição seja verdadeira. Já a instrução senão marca o inicio do bloco de instruções que será executado caso a condição for falsa (senão for verdadeira). O comando de decisão em pseudo código deve ser sempre finalizado com a instrução fim_se. Agora que já conhecemos a estrutura de decisão precisamos definir onde o comando de decisão será inserido no exemplo apresentado na figura 1 para que nosso programa funcione corretamente. Neste caso iremos analisar a média das duas notas para saber se o aluno foi aprovado ou reprovado, logo nosso comando de decisão deverá ser inserido após o calculo da média conforme indicado na figura 3.
Figura 3. Seta vermelha indica onde devemos inserir o comando de decisão.
Definido onde o comando de decisão será inserido no fluxograma, será necessário definir a condição e quais instruções serão executadas caso a condição seja verdadeira ou falsa. Em nosso caso, a condição será a média menor que 6,0 (media < 6,0) logo se a média< 6,0 (verdadeiro) exibiremos a mensagem "Aluno reprovado", se a média não for menor que 6,0(falso) exibiremos a mensagem "Aluno aprovado". Neste o fluxograma (figura 4) e pseudocódigo que ficarão conforme indicado abaixo.
Figura 4. Fluxograma do calculo de média .

Algoritmo MEDIA_2_NOTAS
Var
   N1      : real
   N2      : real
   Media : real

Inicio
  leia N1, N2
  Media=(N1+N2)/2

  se (media <6 ) então

   escreva "aluno Reprovado"

  senão

   escreva "aluno Aprovado"

  fim_se

Fim



Notamos que na condição temos:   media < 6 onde o sinal "<"  é o que chamamos de operador relacional. A tabela I abaixo mostra os operadores relacionais usados nos comandos de decisão.
Tabela I, Operadores relacionais.
Os operadores relacionais podem ser usados de acordo com sua necessidade ou da maneira que o programador considerar mais conveniente, olhe nossa postagem sobre comando de decisão em fluxograma e confira que um mesmo exercício pode ser feito de maneiras diferentes.

Todo comando "se" deve ser finalizado com um  fim_se. O fim_se indica que sua estrutura de decisão foi finalizada e qualquer instrução após o fim do comando de decisão será executada independente se a condição lógica for verdadeira ou falsa. Observe os fluxogramas da figura 5 abaixo e seus respectivos pseudocódigos logo abaixo:
Figura 6. A importância de definir o local exato do o comando de decisão termina.


Notamos que no Caso A a media será exibida após a finalização do comando de decisão, já no Caso B, a media será exibida antes do termino do comando de decisão dentro da condição verdadeira desse controle. Em termos mais práticos, no Caso A a média será exibida independente se o aluno foi aprovado ou reprovado, já no Caso B a média só será exibida se o aluno for reprovado.
Alguns casos podemos ter um comando de decisão onde a condição falsa é descartada, nestes casos temos o chamado desvio condicional simples e o fluxograma é representado como na figura 6.
Figura 6. Desvio condicional simples.


Algoritmo MEDIA_2_NOTAS
Var
   N1      : real
   N2      : real
   Media : real

Inicio
  leia N1, N2
  Media=(N1+N2)/2

  se (media <6 ) então

   escreva "aluno Reprovado"

 fim_se

Fim




Neste caso temos somente o comando se e a condição, as instruções que serão executadas caso a condição seja verdadeira e finalizamos o comando de decisão com o fim_se.

Atenção: O comando de decisão com desvio condicional simples sempre deve ter a condição verdadeira da condição apresentada no comando de decisão. Não é usual ter um comando de decisão com instruções somente na saída falsa do comando.

Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Estruturas de controle: Comando de Decisão - Fluxograma

É conhecido que em programação estruturada (quer conhecer mais sobre o assunto clique aqui) o programador deve estabelecer uma disciplina no desenvolvimento do algoritmo onde um sequencia lógica para solução do problema é definida e o programa executa uma instrução após a outra na sequencia programada. A figura 1 abaixo apresenta um exemplo sobre o assunto:
Figura 1. Fluxograma de programa para calcular média.


1ª Recebe dois dados via teclado e armazena nas variáveis de identificadores N1 e N2

Após receber os dados e armazenar:

2ª Calcula a media aritmética com os conteúdos das variáveis N1 e N2 e armazena o resultado na variável de identificador Media

Após realizar a operação aritmética:

3ª Exibe o conteúdo da variável Media no monitor.





No fluxograma acima temos a representação de um programa que irá calcular e exibir a média de duas notas digitadas via teclado. Agora vamos imaginar um programa onde é necessário exibir a mensagem "Aluno aprovado" ou "Aluno reprovado" em função do resultado da média onde todo aluno com média inferior a 6,0 esta reprovado.
Note que é impossível o aluno estar aprovado e reprovado ao mesmo tempo, ou seja, nosso programa deverá "escolher" qual mensagem será exibida. Neste caso será obrigatório o uso de comandos de decisão.

Comando de decisão- São estruturas lógicas condicionais onde uma decisão é tomada baseada numa condição especifica cujo resultado sempre será Verdadeiro ou Falso. Se a condição for verdadeira, pode-se executar uma instrução ou conjunto de instruções. Se a condição não for verdadeira (Falsa), pode-se executar outro conjunto de instruções.
O comando de decisão é representado em fluxograma pelo losango e as respectivas saídas verdadeira e falsa indicando conforme mostra a figura 2.
Figura 2. Losango - figura geométrica que representa o comando de decisão em fluxograma.
Conforme citado, dependendo do resultado da condição, o programa irá escolher o caminho (verdadeiro representado pela letra V ou falso representado pela letra F) que deverá seguir e executar um bloco de instruções. Agora que já conhecemos a estrutura de decisão precisamos definir onde o comando de decisão será inserido no exemplo apresentado na figura 1 para que nosso programa funcione corretamente. Neste caso iremos analisar a média das duas notas para saber se o aluno foi aprovado ou reprovado, logo nosso comando de decisão deverá ser inserido após o calculo da média conforme indicado na figura 3.
Figura 3. Seta vermelha indica onde devemos inserir o comando de decisão.
Definido onde o comando de decisão será inserido no fluxograma, será necessário definir a condição e quais instruções serão executadas caso a condição seja verdadeira ou falsa. Em nosso caso, a condição será a média menor que 6,0 (media < 6,0) logo se a média< 6,0 (verdadeiro) exibiremos a mensagem "Aluno reprovado", se a média não for menor que 6,0(falso) exibiremos a mensagem "Aluno aprovado". Neste caso o fluxograma ficará conforme indicado na figura 4.
Figura 4. Fluxograma de programa que irá calcular a média e mostra a mensagem aluno aprovado ou reprovado em função do valor da média.
Notamos que na condição temos:   media < 6 onde o sinal "<"  é o que chamamos de operador relacional. A tabela I abaixo mostra os operadores relacionais usados nos comandos de decisão.
Tabela I, Operadores relacionais.
Os operadores relacionais podem ser usados de acordo com sua necessidade ou da maneira que o programador considerar mais conveniente, ou seja, um mesmo programa pode ser feito de maneiras diferentes. Na figura 5 é mostrado o mesmo fluxograma da média usando um outro operador relacional.

Figura 5. Fluxograma de programa que irá calcular a média e mostra a mensagem aluno aprovado ou reprovado em função do valor da média mudando a condição do comando de decisão.
No que a condição foi modificada, agora se a condição for verdadeira a mensagem que deve ser exibida é "Aluno Aprovado".

Um duvida comum das pessoas que estudam essa estrutura pela primeira vez é sempre: porque uso essa "bolinha" no final??
Essa bolinha indica que sua estrutura de decisão foi finalizada e qualquer instrução após o fim do comando de decisão será executada independente se a condição lógica for verdadeira ou falsa. Observe a figura 6 abaixo:
Figura 6. A importância de definir o local exato do o comando de decisão termina.

Notamos que no Caso A a media será exibida após a finalização do comando de decisão, já no Caso B, a media será exibida antes do termino do comando de decisão dentro da condição verdadeira desse controle. Em termos mais práticos, no Caso A a média será exibida independente se o aluno foi aprovado ou reprovado, já no Caso B a média só será exibida se o aluno for reprovado.
Alguns casos podemos ter um comando de decisão onde a condição falsa é descartada, nestes casos temos o chamado desvio condicional simples e o fluxograma é representado como na figura 7.
Figura7. Desvio condicional simples.
Atenção: O comando de decisão com desvio condicional simples sempre deve ter a condição verdadeira da condição apresentada no comando de decisão. Não é usual ter um comando de decisão com instruções somente na saída falsa do comando.

Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Exercícios de Comandos de Decisão simples

0- Qual a utilidade da estrutura de decisão?

1- Fazer um programa que receba um numero via teclado e verifique se o numero é par ou impar e se o numero é positivo ou negativo.
Dicas:
- Para saber se o numero é par devemos verificar se o resta da divisão é 0
- Para saber se o numero é positivo devemos saber se ele é maior que zero
- Neste programa iremos usar 2 comandos de decisão, mas não será um dento do outro como mostrado na ultima aula.

2-     Fazer um programa que receba um numero via teclado e verifique se o numero é divisível por 5. Caso seja divisível por 5 escreva a mensagem “valor divisível por 5” caso contrario escrever “Valor não divisível por 5”
Dicas:
- Para saber se o numero é divisível por 5 devemos verificar se o resto da divisão entre  o numero e 5 deve ser 0.

3- Fazer um programa que receba 2 números via teclado e mostre o maior numero entre os dois

4- Fazer um programa que receba 2 números via teclado e escreva os números em ordem crescente (mostrar primeiro o menor e depois o maior)

5-  Fazer um programa que receba o valor do raio de uma circunferência via teclado, e verifique se o número é positivo. Se o numero for positivo calcule a área da circunferência. Caso contrario mostre a mensagem “Valor invalido”.

6-      A partir do pseudocódigo, explique o que o programa esta fazendo.

Algoritmo “não sei”
Var
Nota1 : Real
Nota2: Real
Nota3: Real
Media:Real
Media_sub: Real
Inicio
Escreva “Digite a primeira nota”
Leia Nota1
Escreva “Digite a segunda nota”
Leia Nota2
Media=(nota1+Nota2)/2
Se (media>=6) então
Escreva “aluno aprovado com média:”, media
Senão
Escreva “Digite a nota da prova substitutiva”
Leia Nota3
Media_sub=(Media+Nota3)/2
Escreva “Sua media após a prova de recupeção é”, Media_sub
Fim_se
Fim

7- Faça o fluxograma do pseudocódigo do exercício 6.

8-    Fazer um programa que receba 4 números via teclado e escrever qual desses números são positivos.

\Dicas:
- Cada numero digitado deve ser verificado (teremos 4 instruções Se(condição) então
- Caso o numero seja positivo, escreva a mensagem “Numero digitado é positivo”, caso contrario escreva a mensagem “Numero digitado é negativo”


9-  Fazer um programa que receba o nome e a idade de uma pessoa qualquer o programa deve verificar se a idade digitada é superior a 0 e mostrar a seguinte informação ao usuário:

- Se a idade for superior a 0 informar o nome e a idade digitada
- Se a idade for inferior a 0 mostrar o nome da pessoa e informar que a idade digitada é invalida.

Formas de representar Algoritmos - Pseudocódigo

Falamos em nossa postagem Algoritmos e informática que algoritmo é o passo-a-passo ou sequencia lógica utilizada para realizar uma automação. Algumas ferramentas foram desenvolvidas para representar os algoritmos onde podemos destacar os Fluxogramas e pseudocódigos também conhecidos como português-estruturado. 
O objetivo dos fluxogramas e pseudocódigos é representar de maneira simples a lógica utilizada em um "programa de computador". 

Pseudocódigo

Pseudocódigo utiliza a técnica narrativa para representar um algoritmo e por isso é também conhecido como português estruturado ou Portugol. Nesta técnica de algoritmização as instruções são escritas em português o que irá facilitar o aprendizado e interpretação da solução lógica de um problema.
Para tornar os algoritmos mais próximos dos programas computacionais (programas desenvolvidos em qualquer linguagem de programação) algumas regras são exigidas na confecção dos pseudocódigos. Usando o exemplo apresentado na postagem Algoritmos e informática iremos criar um algoritmo em pseudocódigo que receberá os valores de A e B via teclado do computador e exiba o resultado da soma entre os dois números digitados no monitor....

Algortimo Soma_A_e_B
Var
    soma : Real
    A      : Real
    B      : Real
Inicio
   
   leia A
   leia B
   soma = A + B
   escreva soma
Fim


Analisando nosso pseudocódigo linha a linha temos:

1º linha: Algoritmo Soma_A_e_B  - Nesta linha iremos definir o nome do nosso algoritmo. A criação do nome do algoritmo deve seguir a regras para usadas na criação de variáveis. Para relembrar essas regras, acesse nosso post clicando aqui.

2ª Linha:  A partir da 2º linha iremos iniciar a declaração de variáveis (criação de variáveis na memoria do computador). A primeira instruções para indicar a declaração de variáveis em pseudocódigo é palavra Var. A partir deste momento será necessário dizer ao programa todas as variáveis que serão usadas em nosso pseudocódigo. A criação de cada variável deve conter o identificador e o tipo do dado que será usado conforme indicado abaixo:

         identificador : Tipo do dado

Em nosso exemplo criamos três variáveis A,B e soma que irão armazenar dados do tipo real. Clique aqui para ver as regras utilizadas na criação do identificador (nome) das variáveis.

6ª Linha: Nesta linha a palavra Inicio mostra que a partir deste ponto o pseudocódigo irá mostrar a solução lógica de nosso problema.

7ª e 8º Linhas: Nestas duas linhas temos a instrução leia. Nesta instrução de entrada de dados, o computador irá verificar o que o usuário digitou e guardará esse valor em uma variável. Por isso a instrução leia vem seguida do identificador de uma variável.

                                     leia identificador_de_variável

Logo teremos que a instrução  leia A será interpretada pelo computador como:

 Leia um valor digitado via teclado e armazene esse valor na variável chamada de A.

9º Linha: Neste instrução será realizado um processamento que no exemplo acima é uma operação matemática (soma = A + B). Aqui o computador irá verificar os valores das variáveis A e B, somar esses dois valores e armazenar o resultado da operação na variável soma.

10º Linha: A instrução escreva é a instrução usada na saída de dados. A saída de dados irá apresentar alguma informação no monitor. Quando apresentamos a instruções escreva soma que dizer: Mostre no monitor o conteúdo da variável cujo nome é soma.

11º Linha: A palavra Fim indica que a solução lógica terminou.