Lógica de programação


    Prof: Eduardo Rossit Paiossin
Conteúdo da aula

• Estruturas de repetição.
• Marcando o final de uma repetição.
• Variável acumuladora

• Capítulo 4 do livro
Estruturas de repetição
• As vezes é necessário repetir uma tarefa
  para chegar a um resultado final. Por
  exemplo, para encher uma caixa você
  coloca um objeto dentro dela e verifica se
  ela esta cheia, se a caixa não estiver
  cheia você repetira a ação anterior até
  atingir o objetivo.
• Para repetir tarefas em um algoritmo
  evitando escrever várias vezes a mesma
  coisa utilizamos as estruturas de
  repetição.
Estruturas de repetição
• Estrutura enquanto/faça/fim-enquanto
Algoritmo Escrever_pessoa
Início
     PESSOA: literal
     NUMERO_DE_PESSOAS: numérico
     NUMERO_DE_PESSOAS <- 0
     enquanto NUMERO_DE_PESSOAS < 5 faça
        leia PESSOA
        escreva PESSOA
         NUMERO_DE_PESSOAS <- NUMERO_DE_PESSOAS + 1 {controle}
      fim-enquanto
fim
Exercício
Crie o algoritmo para o item a seguir,
  representando-o em pseudocódigo.
1) Escreva um algoritmo que leia um
  número e divida esse número por 2 e
  imprima o resultado na tela, após imprimir
  o resultado, este deverá ser armazenado
  no lugar do número lido, ou seja, o
  resultado será dividido. Enquanto o
  resultado da divisão for maior que 0 o
  algoritmo deve continuar imprimindo o
  resultado do número divido por 2.
Exercício - Correção
Pseudocódigo:
    início
      NUMESCOLHIDO, DIVISAO: numérico
       leia "Digite o número para ser dividido por 2:",NUMESCOLHIDO
   enquanto NUMESCOLHIDO >0 faça
          escreva “O número que será divido é: “, NUMESCOLHIDO
           DIVISAO  NUMESCOLHIDO /2
          escreva “O resultado do número dividido por 2 é: “, DIVISAO
           NUMESCOLHIDO  DIVISAO
  fim-enquanto
fim
Estruturas de repetição
• Estrutura repita/até-que
Algoritmo Escrever_pessoa
Início
     PESSOA: literal
     NUMERO_DE_PESSOAS: numérico
     NUMERO_DE_PESSOAS <- 0
     retipa
          leia PESSOA
          escreva PESSOA
         NUMERO_DE_PESSOAS <- NUMERO_DE_PESSOAS + 1 {controle}
      até-que NUMERO_DE_PESSOAS = 5
fim
Exercício
Crie o algoritmo para o item a seguir,
 representando-o em pseudocódigo.
 Simular o jogo de adivinhação: o jogador 1
 escolhe um número entre 1 e 10; o
 jogador 2 insere números na tentativa de
 acertar o número escolhido pelo jogador
 1. Quando ele acertar, o algoritmo deve
 informar que ele acertou o número x
 (escolhido pelo jogador 1) em x tentativas
 (quantidade de tentativas do jogador 2).
Exercício - Correção
Pseudocódigo:
 início
   | NUMESCOLHIDO, NUMTENTADO, NUMTENTATIVAS : numérico
   | NUMTENTATIVAS 0
   | leia "Digite o número entre 1 e 10 para ser
 adivinhado:",NUMESCOLHIDO
   | repita
   | | leia "Digite um número entre 1 e 10: ",NUMTENTADO
   | | NUMTENTATIVAS ` NUMTENTATIVAS + 1
   | até que NUMESCOLHIDO = NUMTENTADO
  | escreva "Você acertou o número ",NUMESCOLHIDO," em ",NUMTENTATIVAS," tentativas."
 fim
Estruturas de repetição

• Estrutura para/faça/fim-para
Algoritmo Escrever_pessoa
Início
     PESSOA: literal
     NUMERO_DE_PESSOAS: numérico
     NUMERO_DE_PESSOAS <- 0
     para NUMERO_DE_PESSOAS de 1 até 5 passo 1 faça
         leia PESSOA
         escreva PESSOA
         NUMERO_DE_PESSOAS <- NUMERO_DE_PESSOAS + 1 {controle}
      fim-para {NUMERO_DE_PESSOAS = 5 - comentário}
fim
Exercício
Crie o algoritmo para o item a seguir,
 representando-o em pseudocódigo.

Imprimir os números pares entre 100 e 1.
Exercício - Correção
Imprimir os números pares entre 100 e 1.
Pseudocódigo:
 início
   | CONTADOR : numérico
   | para CONTADOR de 100 até 1 passo 2 faça
   | | escreva CONTADOR
   | fim-para
 fim
Marcando final de uma repetição



• A técnica de marcar o fim de uma
  repetição   colocando     uma   variável
  controladora só funciona quando se sabe
  quantas vezes os comandos serão
  repetidos.
Marcando final de uma repetição

• Vejamos o exemplo na página 162 do
  livro.
Variável acumuladora

• Como o próprio nome diz uma variável acumuladora é
  uma variável que acumula os valores dentro das
  repetições.
• Por exemplo, para calcular o total de despesas que uma
  empresa teve no mês o funcionário deve lançar as
  despesas que a empresa teve diariamente e após o
  usuário informar todas as despesas devemos exibir a
  somatória de tudo. Em uma estrutura de repetição
  acumulamos todas as despesas em uma variável
  acumuladora e exibimos seu valor no final do algoritmo.


                                                 •   Pag 170
Exercícios

1) Escrever um algoritmo para ler e escrever
   o cadastro dos alunos de uma escola. O
   cadastro é composto de: NOME, SEXO,
   RG, CPF, ENDEREÇO, CIDADE, UF,
   PAI, MÃE, FONE, CEP e DATANASC

Estima-se que a escola possua 1000
  alunos.
Exercícios

2) Escrever um algoritmo para calcular a
   média dos alunos da nossa turma.

3) Faça um algoritmo que determine o maior
   entre N números. A condição de parada é
   a entrada de um valor 0, ou seja, o
   algoritmo deve ficar calculando o maior
   até que a entrada seja igual a 0 (ZERO).
• Bibliografia
  Para a preparação da aula foi utilizado o
  livro do curso entregue pelo SENAC

Aula05

  • 1.
    Lógica de programação Prof: Eduardo Rossit Paiossin
  • 2.
    Conteúdo da aula •Estruturas de repetição. • Marcando o final de uma repetição. • Variável acumuladora • Capítulo 4 do livro
  • 3.
    Estruturas de repetição •As vezes é necessário repetir uma tarefa para chegar a um resultado final. Por exemplo, para encher uma caixa você coloca um objeto dentro dela e verifica se ela esta cheia, se a caixa não estiver cheia você repetira a ação anterior até atingir o objetivo. • Para repetir tarefas em um algoritmo evitando escrever várias vezes a mesma coisa utilizamos as estruturas de repetição.
  • 4.
    Estruturas de repetição •Estrutura enquanto/faça/fim-enquanto Algoritmo Escrever_pessoa Início PESSOA: literal NUMERO_DE_PESSOAS: numérico NUMERO_DE_PESSOAS <- 0 enquanto NUMERO_DE_PESSOAS < 5 faça leia PESSOA escreva PESSOA NUMERO_DE_PESSOAS <- NUMERO_DE_PESSOAS + 1 {controle} fim-enquanto fim
  • 5.
    Exercício Crie o algoritmopara o item a seguir, representando-o em pseudocódigo. 1) Escreva um algoritmo que leia um número e divida esse número por 2 e imprima o resultado na tela, após imprimir o resultado, este deverá ser armazenado no lugar do número lido, ou seja, o resultado será dividido. Enquanto o resultado da divisão for maior que 0 o algoritmo deve continuar imprimindo o resultado do número divido por 2.
  • 6.
    Exercício - Correção Pseudocódigo: início NUMESCOLHIDO, DIVISAO: numérico leia "Digite o número para ser dividido por 2:",NUMESCOLHIDO enquanto NUMESCOLHIDO >0 faça escreva “O número que será divido é: “, NUMESCOLHIDO DIVISAO  NUMESCOLHIDO /2 escreva “O resultado do número dividido por 2 é: “, DIVISAO NUMESCOLHIDO  DIVISAO fim-enquanto fim
  • 7.
    Estruturas de repetição •Estrutura repita/até-que Algoritmo Escrever_pessoa Início PESSOA: literal NUMERO_DE_PESSOAS: numérico NUMERO_DE_PESSOAS <- 0 retipa leia PESSOA escreva PESSOA NUMERO_DE_PESSOAS <- NUMERO_DE_PESSOAS + 1 {controle} até-que NUMERO_DE_PESSOAS = 5 fim
  • 8.
    Exercício Crie o algoritmopara o item a seguir, representando-o em pseudocódigo. Simular o jogo de adivinhação: o jogador 1 escolhe um número entre 1 e 10; o jogador 2 insere números na tentativa de acertar o número escolhido pelo jogador 1. Quando ele acertar, o algoritmo deve informar que ele acertou o número x (escolhido pelo jogador 1) em x tentativas (quantidade de tentativas do jogador 2).
  • 9.
    Exercício - Correção Pseudocódigo: início | NUMESCOLHIDO, NUMTENTADO, NUMTENTATIVAS : numérico | NUMTENTATIVAS 0 | leia "Digite o número entre 1 e 10 para ser adivinhado:",NUMESCOLHIDO | repita | | leia "Digite um número entre 1 e 10: ",NUMTENTADO | | NUMTENTATIVAS ` NUMTENTATIVAS + 1 | até que NUMESCOLHIDO = NUMTENTADO | escreva "Você acertou o número ",NUMESCOLHIDO," em ",NUMTENTATIVAS," tentativas." fim
  • 10.
    Estruturas de repetição •Estrutura para/faça/fim-para Algoritmo Escrever_pessoa Início PESSOA: literal NUMERO_DE_PESSOAS: numérico NUMERO_DE_PESSOAS <- 0 para NUMERO_DE_PESSOAS de 1 até 5 passo 1 faça leia PESSOA escreva PESSOA NUMERO_DE_PESSOAS <- NUMERO_DE_PESSOAS + 1 {controle} fim-para {NUMERO_DE_PESSOAS = 5 - comentário} fim
  • 11.
    Exercício Crie o algoritmopara o item a seguir, representando-o em pseudocódigo. Imprimir os números pares entre 100 e 1.
  • 12.
    Exercício - Correção Imprimiros números pares entre 100 e 1. Pseudocódigo: início | CONTADOR : numérico | para CONTADOR de 100 até 1 passo 2 faça | | escreva CONTADOR | fim-para fim
  • 13.
    Marcando final deuma repetição • A técnica de marcar o fim de uma repetição colocando uma variável controladora só funciona quando se sabe quantas vezes os comandos serão repetidos.
  • 14.
    Marcando final deuma repetição • Vejamos o exemplo na página 162 do livro.
  • 15.
    Variável acumuladora • Comoo próprio nome diz uma variável acumuladora é uma variável que acumula os valores dentro das repetições. • Por exemplo, para calcular o total de despesas que uma empresa teve no mês o funcionário deve lançar as despesas que a empresa teve diariamente e após o usuário informar todas as despesas devemos exibir a somatória de tudo. Em uma estrutura de repetição acumulamos todas as despesas em uma variável acumuladora e exibimos seu valor no final do algoritmo. • Pag 170
  • 16.
    Exercícios 1) Escrever umalgoritmo para ler e escrever o cadastro dos alunos de uma escola. O cadastro é composto de: NOME, SEXO, RG, CPF, ENDEREÇO, CIDADE, UF, PAI, MÃE, FONE, CEP e DATANASC Estima-se que a escola possua 1000 alunos.
  • 17.
    Exercícios 2) Escrever umalgoritmo para calcular a média dos alunos da nossa turma. 3) Faça um algoritmo que determine o maior entre N números. A condição de parada é a entrada de um valor 0, ou seja, o algoritmo deve ficar calculando o maior até que a entrada seja igual a 0 (ZERO).
  • 18.
    • Bibliografia Para a preparação da aula foi utilizado o livro do curso entregue pelo SENAC