SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Gestão de Tecnologia da Informação



            Conceitos e Técnicas de
                Programação




    Profº Ms. Tarcísio Júnior

1
Conceitos e Técnicas de Programação




    Representação de Algoritmos




2
Estrutura Condicional


    • Simples
    • Composta
    • Múltipla escolha




3
Estrutura Condicional Simples



               início



             olhar o céu



                           F
              escuro?

               V



              acender
                luz




                fim


4
Estrutura Condicional Simples


    • Utilizada quando precisamos testar uma
      certa condição antes de executar uma
      ação.

             se <condição> então
             <ação>
             fim se




5
Estrutura Condicional Simples
             algoritmo media;

             variáveis
             N1, N2, NF, media: real;
             fim-variáveis

             início
             escreva("Entre com a primeira nota");
             leia (N1);
             escreva("Entre com a segunda nota");
             leia (   N2 );
• Exemplo:




             escreva("Entre com a nota final");
             leia (NF );
             media := (N1 + N2 + NF)/3;
             se media >= 5.0 então
                 escreva("o aluno passou!");
             fim-se
             fimalgoritmo
6
Estrutura Condicional Simples

     Exercício: Escreva um algoritmo que leia 2 valores
      inteiros e calcule o resultado da divisão do primeiro pelo
      segundo. Não esqueça de verificar em que condição a
      operação pode ser realizada.
        Verificar se o segundo número é diferente de zero (não
         existe divisão por zero).

        Caso o segundo número seja diferente de zero, calcule a
         divisão e imprima o resultado do cálculo na tela.

        Exibir uma mensagem de erro no caso da condição não
         ser satisfeita.



                                                                   7

7
Estrutura Condicional Simples

                 algoritmo qualquer_nome;
                 variáveis
                 denominador, numerador: inteiro;
                 divisao: real;
                 fim-variáveis
                 início
                 escreva ("Entre com o numerador (n1)");
                 leia (numerador);
                 escreva ("Entre com o denominador (n2)");
                 leia (denominador);
    • Solução:




                    se denominador = 0 então
                     escreva ("Denominador inválido!");
                    senão
                      divisao := numerador/denominador;
                      escreva ("O resultado da divisao é: ", divisao);
                    fim-se
                 fimalgoritmo

8
Estrutura Condicional Composta


              início


         Calcular a Média


                            F
            Nota >= 5?

               V


             Aluno                 Fazer
            aprovado            recuperação


               fim

9
Estrutura Condicional Composta

 • Utilizada em situações em que duas
   alternativas dependem da mesma condição,
   uma da condição verdadeira (então) e a outra
   da condição falsa (senão).

            se <condição> então
            <ação1>
            senão
            <ação2>
            fim se

10
Estrutura Condicional Composta
              algoritmo media;

              variáveis
              N1, N2, NF, media: real;
              fim-variáveis

              início
              escreva("Entre com a primeira nota");
              leia (N1);
              escreva("Entre com a segunda nota");
              leia (N2);
              escreva("Entre com a nota final");
 • Exemplo:




              leia (NF);
              media := (N1 + N2 + NF)/3;
              se media >= 5.0 então
                  escreva ("aluno aprovado");
              senão
                  escreva (“aluno não aprovado”);
              fim-se
              fim
11
Estrutura Condicional Encadeada

      Quando existe uma ou mais seleções dentro de
       outra seleção.

      Chamada Seleção         Encadeada      ou    Seleção
       Aninhada.
        Ex 1: Lê uma idade e informa se a pessoa já alcançou
         a maioridade ou não. Não se deve aceitar valores de
         idade inválidos.




12
Estrutura Condicional Encadeada
                  algoritmo Maioridade;

                  variáveis
                  idade: inteiro;
                  fim-variáveis

                  início
                  escreva("Informe a idade do individuo:");
                  leia (idade);
                  se (idade >=0) e (idade < 18) então
                        escreva ("Individuo Menor de Idade");
     • Exemplo:




                      senão
                          se (idade >= 18) e (idade <= 130) então
                               escreva ("Individuo Maior de Idade");
                          senão
                               escreva ("Erro: Idade invalida!");
                          fim-se
                     fim-se
                  fimalgoritmo
13
Estrutura Condicional de Múltipla Escolha

              início

            Ler estado


                         V
            São Paulo?       Alíquota 12%
               F

                         V
             Alagoas?        Alíquota 15%
               F

                         V
             Paraíba?        Alíquota 17%
               F




               fim
14
Estrutura Condicional de Múltipla Escolha

     • Utilizada quando um conjunto de valores discretos
       e ações diferentes são associadas a cada um
       desses valores.
                 se <cond_01> então
                 <ação1>
                 senão se <cond_02> então
                 <ação2>
                 senão se <cond_03> então
                 <ação3>
                 ....
                 senão
                 <ação default>
                 fim se
15
Estrutura Condicional de Múltipla Escolha

     •     O IMC (Índice de Massa Corporal) é um critério da Organização Mundial
           da saúde para dar uma indicação sobre a condição de peso de uma
           pessoa adulta.
                                  peso
                          IMC 
     •     A fórmula é          (altura ) 2

     •     Elabore um algoritmo que leia o peso e a altura de um adulto e mostre
           sua condição.
                                                     se <cond_01> então
         IMC em adultos        Condição                 <ação1>
                                                     senão
         abaixo de 18,5        abaixo do peso           se <cond_02> então
                                                           <ação2>
                                                        senão
         entre 18,5 e 25       peso normal                 se <cond_03> então
                                                             <ação3>
         entre 25 e 30         acima do peso               ....
                                                           senão
         acima de 30           obeso                         <ação default>
                                                           fimse
                                                        fimse
16                                                   fimse
Estrutura Condicional de Múltipla Escolha

     Solução – Esboço – Esboço
               Solução
     • Variáveis:
        – Entrada: peso, altura
            • Tipo: real (float)
            • Intervalo: maior que zero
        – Saída: IMC
            • Tipo: real
     • Comandos:
        –   Ler variáveis de entrada
        –   Checar validade das variáveis de entrada
        –   Calcular IMC
        –   Determinar condição


17
Solução do algoritmo
     Algoritmo “IMC”
     Início das variaveis
       peso,altura,imc:REAL;
     fim das variáveis
     Início
       escreva(“Qual a sua altura?”)
       leia(altura)
       escreva(“Qual o seu peso?)
       leia(peso)
       imc <- peso/(altura*altura) ou pode ser imc <- peso/(altura^2)
       se imc < 18.5 entao
          escreva("abaixo do peso")
       senao
          se imc < 25 entao
             escreva("peso normal")
             senao
               se imc < 30 entao
                  escreva ("acima do peso")
                  senao
                    escreval ("você está obeso!")
                fimse
           fimse
        fimse
18   fimalgoritmo
Solução com o VisuAlg
     algoritm "calculaIMC"                  Continuação...
     // Função : Calcular o ICM
     // Autor : Tarcísio                    imc <- peso/(altura*altura)
     // Data : 08/03/2012
     // Seção de Declarações                se imc < 18.5 entao
     var                                      escreval("você está abaixo do peso")
     altura, peso, imc: real                senao
     inicio                                   se imc < 25 entao
     // Seção de Comandos                       escreval("peso normal")
     escreval("Qual a sua altura")            senao
     leia(altura)                               se imc < 30 entao
                                                  escreval ("acima do peso")
     escreval("Qual o seu peso")                senao
     leia(peso)                                   escreval ("você está obeso!")
                                                fimse
                                              fimse
                                            fimse
                                            fimalgoritmo

19
Exercício


     Leia uma idade e informe se a pessoa é um eleitor
       obrigatório (entre 18 e 69 anos), facultativo (entre
       16 e 17 anos ou acima de 70) ou não é eleitor
       (menos de 16 anos)




20
Solução do algoritmo
     Leia uma idade e informe se a pessoa é um eleitor obrigatório (entre 18 e 69 anos), facultativo (entre 16 e 17
          anos ou acima de 70) ou não é eleitor (menos de 16 anos)


        Programa Eleitor
        Início das variáveis
          idade: inteiro;
        fim das variáveis
        Início
         escreva("Informe a sua idade:")
          leia(idade)
          se idade < 16 entao
             escreva("Você não é eleitor")
          senao
             se (idade < 18) ou (idade > 70) entao
                escreva("eleitor facultativo")
                senao
                  se idade <= 70 entao
                    escreva ("você é eleitor")
                  fimse
              fimse
           fimse
        fimalgoritmo
21
Solução com o VisuAlg
     algoritmo "Eleitor"                        Continuação...
     // Função : Verificar se de acordo com a
     idade a pessoa é ou não eleitor            inicio
     // Autor : Tarcísio                        // Seção de Comandos
     // Data : 08/03/2012                         escreval("Informe a sua idade:")
     // Seção de Declarações                      leia(idade)
     var                                          se idade < 16 entao
      idade: inteiro                                 escreva("Você não é eleitor")
                                                  senao
                                                     se (idade < 18) ou (idade > 70) entao
                                                        escreva("eleitor facultativo")
                                                        senao
                                                          se idade <= 70 entao
                                                            escreva ("você é eleitor")
                                                          fimse
                                                      fimse
                                                   fimse
                                                fimalgoritmo

22
Tomada de decisão por seleção

• Utilizada em situações em que possui um grande número de
  verificações lógicas a serem realizadas, tanto de forma
  sequencial ou encadeada.


     caso <variável>
       seja <opção1> faça    <ação1>
       seja <opção2> faça    <ação2>
       seja <opção3> faça    <ação3>
     senão
       <ação para nenhuma    condição satisfeita>
     fim_caso



23
Tomada de decisão por seleção

• Exemplo: efetuar a leitura de um número inteiro entre 1 e 12
  e apresentar o nome do mês correspondente por extenso.
  Caso o valor informado for diferente deste intervalo deve ser
  apresentada a mensagem “valor inválido”.




24
Solução do Algoritmo
     Algoritmo Mês_por_Extenso                 Continiação...
     Início das variáveis                      seja 6 faça
       mes: inteiro;                                escreva “Junho”
     fim das variáveis                          seja 7 faça
     Início                                         escreva “Julho”
       escreva("Informe o mês (1 a 12):")       seja 8 faça
       leia(mes)                                    escreva “Agosto”
       caso mês                                 seja 9 faça
         seja 1 faça                                escreva “Setembro”
          escreva “Janeiro”                     seja 10 faça
      seja 2 faça                                   escreva “Outubro”
          escreva “Fevereiro”                   seja 11 faça
      seja 3 faça                                   escreva “Novembro”
          escreva “Março”                       seja 12 faça
      seja 4 faça                                   escreva “Dezembro”
          escreva “Abril”                        senão
      seja 5 faça                                  escreva(“valor inválido”)
          escreva “Maio”                         fim_caso
                                               fimalgoritmo
25
Solução no VisuAlg
     algoritmo "mes_por_extenso"                     Continiação...
     // Função : Escreve o mês por extenso
     // Autor : Tarcísio                             caso 5
     // Data : 08/03/2012                                 escreval("Maio")
     // Seção de Declarações                             caso 6
     var                                                  escreval("Junho")
     mes: inteiro                                        caso 7
     inicio                                               escreval("Julho")
     // Seção de Comandos                                caso 8
       escreval("Informe o mês (1 a 12):")                escreval("Agosto")
       leia(mes)                                         caso 9
       escolha mes                                         escreval("Setembro")
        caso 1                                           caso 10
          escreval("Janeiro")                              escreval("Outubro")
        caso 2                                           caso 11
          escreval("Fevereiro")                            escreval("Novembro")
        caso 3                                           caso 12
          escreval("Março")                                escreval("Dezembro")
      caso 4                                           outrocaso
          escreval("Abril")                               escreval("valor inválido")
                                                       fimescolha
                                                     fimalgoritmo
26
Vetor e Matriz

 VETOR:
 estrutura     formada      por   um    conjunto
 unidimensional de dados de mesmo tipo
 (homogêneo) e possuindo número fixo de
 elementos (Estático). Na declaração dos vetores
 devemos informar o seu nome, seu tipo (inteiro,
 real, caracter, ...), e seu tamanho (número de
 elementos). Cada elemento do vetor é
 identificado por um índice (unidimensional), o
 qual indica a sua posição no vetor.


27
Vetor e Matriz


 Declaração de um VETOR:
 NomeDoVetor : vetor[nº de elementos] de Tipo do
 Vetor
 Exemplo: IDADE: VETOR [1..5] DE INTEIRO

 Referência:
 NomeDoVetor[índice]

 Exemplo:
 IDADE[1] <- 35
 escreval(IDADE[1])

28
Vetor e Matriz


 MATRIZ:
 estrutura semelhante ao vetor, sendo que, pode
 possuir n dimensões.
 Desta forma para fazer referência aos elementos
 de uma matriz, precisaremos de tantos índices
 quanto for suas dimensões.




29
Vetor e Matriz

 Declaração de uma MATRIZ:
 NomeDaMatriz : matriz[dimensões] de Tipo da Matriz

 Exemplo:
 PESSOAS: VETOR [1..2,1..3] DE CARACTERE

 Referência:
 NomeDaMatriz[índices]

 Exemplo:
 PESSOAS[1,3]<- “Maria”
 escreval(PESSOAS[1,3])
30
Exercício

1) Sabendo-se que José tem direito a
15% de reajuste de salário, complete
o diagrama ao lado:




                                       31

31

Mais conteúdo relacionado

Semelhante a Conceitos e técnicas de programação aula 4

Semana 04 Estruturas Condicionais
Semana 04   Estruturas CondicionaisSemana 04   Estruturas Condicionais
Semana 04 Estruturas Condicionais
Eder Samaniego
 
Alg aula 04-1 - estruturas de-selecao tp1 (se)
Alg   aula 04-1 - estruturas de-selecao tp1 (se)Alg   aula 04-1 - estruturas de-selecao tp1 (se)
Alg aula 04-1 - estruturas de-selecao tp1 (se)
Thalles Anderson
 
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdfAlgoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Enio Filho
 
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
André Constantino da Silva
 

Semelhante a Conceitos e técnicas de programação aula 4 (14)

Aula04
Aula04Aula04
Aula04
 
Aula05
Aula05Aula05
Aula05
 
Aula 4 aed - parte 2
Aula 4   aed - parte 2Aula 4   aed - parte 2
Aula 4 aed - parte 2
 
Semana 04 Estruturas Condicionais
Semana 04   Estruturas CondicionaisSemana 04   Estruturas Condicionais
Semana 04 Estruturas Condicionais
 
Estruturas de seleção
Estruturas de seleçãoEstruturas de seleção
Estruturas de seleção
 
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
 
Aula 3 - Utilizando a variável SE e conhecendo operadores lógicos
Aula 3 - Utilizando a variável SE e conhecendo operadores lógicosAula 3 - Utilizando a variável SE e conhecendo operadores lógicos
Aula 3 - Utilizando a variável SE e conhecendo operadores lógicos
 
Fundamentos de logica de programação
Fundamentos de logica de programaçãoFundamentos de logica de programação
Fundamentos de logica de programação
 
Cap3 icc final
Cap3 icc finalCap3 icc final
Cap3 icc final
 
Java: Condicionais
Java: CondicionaisJava: Condicionais
Java: Condicionais
 
Alg aula 04-1 - estruturas de-selecao tp1 (se)
Alg   aula 04-1 - estruturas de-selecao tp1 (se)Alg   aula 04-1 - estruturas de-selecao tp1 (se)
Alg aula 04-1 - estruturas de-selecao tp1 (se)
 
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdfAlgoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
 

Mais de Robson Ferreira

02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto
Robson Ferreira
 
Aula 02 introdução a redes - software de redes e serviços
Aula 02   introdução a redes - software de redes e serviçosAula 02   introdução a redes - software de redes e serviços
Aula 02 introdução a redes - software de redes e serviços
Robson Ferreira
 
Aula 01 introdução a redes - apresentação e introdução
Aula 01   introdução a redes - apresentação e introduçãoAula 01   introdução a redes - apresentação e introdução
Aula 01 introdução a redes - apresentação e introdução
Robson Ferreira
 
Aula 03 introdução a redes - redes de computadores
Aula 03   introdução a redes - redes de computadoresAula 03   introdução a redes - redes de computadores
Aula 03 introdução a redes - redes de computadores
Robson Ferreira
 
Ingês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketIngês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 market
Robson Ferreira
 
Seminário linux robson e bruno melo
Seminário linux robson e bruno meloSeminário linux robson e bruno melo
Seminário linux robson e bruno melo
Robson Ferreira
 
Informática aplicada prova 1
Informática aplicada prova 1Informática aplicada prova 1
Informática aplicada prova 1
Robson Ferreira
 
Informática aplicada prova 1 verso
Informática aplicada prova 1 versoInformática aplicada prova 1 verso
Informática aplicada prova 1 verso
Robson Ferreira
 
Inglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoInglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas verso
Robson Ferreira
 
Inglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteInglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frente
Robson Ferreira
 
Inglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasInglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostas
Robson Ferreira
 
Inglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteInglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frente
Robson Ferreira
 
Inglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoInglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas verso
Robson Ferreira
 
Conceitos e técnicas de programação exercícios i respostas
Conceitos e técnicas de programação  exercícios i respostasConceitos e técnicas de programação  exercícios i respostas
Conceitos e técnicas de programação exercícios i respostas
Robson Ferreira
 
Inglês instrumental trabalho finance
Inglês instrumental trabalho financeInglês instrumental trabalho finance
Inglês instrumental trabalho finance
Robson Ferreira
 
Inglês instrumental finance respostas
Inglês instrumental finance respostasInglês instrumental finance respostas
Inglês instrumental finance respostas
Robson Ferreira
 
Inglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipInglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurship
Robson Ferreira
 

Mais de Robson Ferreira (20)

02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto
 
122172 1445
122172 1445122172 1445
122172 1445
 
122172 1444
122172 1444122172 1444
122172 1444
 
Aula 02 introdução a redes - software de redes e serviços
Aula 02   introdução a redes - software de redes e serviçosAula 02   introdução a redes - software de redes e serviços
Aula 02 introdução a redes - software de redes e serviços
 
Aula 01 introdução a redes - apresentação e introdução
Aula 01   introdução a redes - apresentação e introduçãoAula 01   introdução a redes - apresentação e introdução
Aula 01 introdução a redes - apresentação e introdução
 
Aula 03 introdução a redes - redes de computadores
Aula 03   introdução a redes - redes de computadoresAula 03   introdução a redes - redes de computadores
Aula 03 introdução a redes - redes de computadores
 
Ingês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketIngês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 market
 
Seminário linux robson e bruno melo
Seminário linux robson e bruno meloSeminário linux robson e bruno melo
Seminário linux robson e bruno melo
 
Seminário linux
Seminário linuxSeminário linux
Seminário linux
 
Informática aplicada prova 1
Informática aplicada prova 1Informática aplicada prova 1
Informática aplicada prova 1
 
Informática aplicada prova 1 verso
Informática aplicada prova 1 versoInformática aplicada prova 1 verso
Informática aplicada prova 1 verso
 
Inglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoInglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas verso
 
Inglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteInglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frente
 
Inglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasInglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostas
 
Inglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteInglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frente
 
Inglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoInglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas verso
 
Conceitos e técnicas de programação exercícios i respostas
Conceitos e técnicas de programação  exercícios i respostasConceitos e técnicas de programação  exercícios i respostas
Conceitos e técnicas de programação exercícios i respostas
 
Inglês instrumental trabalho finance
Inglês instrumental trabalho financeInglês instrumental trabalho finance
Inglês instrumental trabalho finance
 
Inglês instrumental finance respostas
Inglês instrumental finance respostasInglês instrumental finance respostas
Inglês instrumental finance respostas
 
Inglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipInglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurship
 

Conceitos e técnicas de programação aula 4

  • 1. Gestão de Tecnologia da Informação Conceitos e Técnicas de Programação Profº Ms. Tarcísio Júnior 1
  • 2. Conceitos e Técnicas de Programação Representação de Algoritmos 2
  • 3. Estrutura Condicional • Simples • Composta • Múltipla escolha 3
  • 4. Estrutura Condicional Simples início olhar o céu F escuro? V acender luz fim 4
  • 5. Estrutura Condicional Simples • Utilizada quando precisamos testar uma certa condição antes de executar uma ação. se <condição> então <ação> fim se 5
  • 6. Estrutura Condicional Simples algoritmo media; variáveis N1, N2, NF, media: real; fim-variáveis início escreva("Entre com a primeira nota"); leia (N1); escreva("Entre com a segunda nota"); leia ( N2 ); • Exemplo: escreva("Entre com a nota final"); leia (NF ); media := (N1 + N2 + NF)/3; se media >= 5.0 então escreva("o aluno passou!"); fim-se fimalgoritmo 6
  • 7. Estrutura Condicional Simples  Exercício: Escreva um algoritmo que leia 2 valores inteiros e calcule o resultado da divisão do primeiro pelo segundo. Não esqueça de verificar em que condição a operação pode ser realizada.  Verificar se o segundo número é diferente de zero (não existe divisão por zero).  Caso o segundo número seja diferente de zero, calcule a divisão e imprima o resultado do cálculo na tela.  Exibir uma mensagem de erro no caso da condição não ser satisfeita. 7 7
  • 8. Estrutura Condicional Simples algoritmo qualquer_nome; variáveis denominador, numerador: inteiro; divisao: real; fim-variáveis início escreva ("Entre com o numerador (n1)"); leia (numerador); escreva ("Entre com o denominador (n2)"); leia (denominador); • Solução: se denominador = 0 então escreva ("Denominador inválido!"); senão divisao := numerador/denominador; escreva ("O resultado da divisao é: ", divisao); fim-se fimalgoritmo 8
  • 9. Estrutura Condicional Composta início Calcular a Média F Nota >= 5? V Aluno Fazer aprovado recuperação fim 9
  • 10. Estrutura Condicional Composta • Utilizada em situações em que duas alternativas dependem da mesma condição, uma da condição verdadeira (então) e a outra da condição falsa (senão). se <condição> então <ação1> senão <ação2> fim se 10
  • 11. Estrutura Condicional Composta algoritmo media; variáveis N1, N2, NF, media: real; fim-variáveis início escreva("Entre com a primeira nota"); leia (N1); escreva("Entre com a segunda nota"); leia (N2); escreva("Entre com a nota final"); • Exemplo: leia (NF); media := (N1 + N2 + NF)/3; se media >= 5.0 então escreva ("aluno aprovado"); senão escreva (“aluno não aprovado”); fim-se fim 11
  • 12. Estrutura Condicional Encadeada  Quando existe uma ou mais seleções dentro de outra seleção.  Chamada Seleção Encadeada ou Seleção Aninhada.  Ex 1: Lê uma idade e informa se a pessoa já alcançou a maioridade ou não. Não se deve aceitar valores de idade inválidos. 12
  • 13. Estrutura Condicional Encadeada algoritmo Maioridade; variáveis idade: inteiro; fim-variáveis início escreva("Informe a idade do individuo:"); leia (idade); se (idade >=0) e (idade < 18) então escreva ("Individuo Menor de Idade"); • Exemplo: senão se (idade >= 18) e (idade <= 130) então escreva ("Individuo Maior de Idade"); senão escreva ("Erro: Idade invalida!"); fim-se fim-se fimalgoritmo 13
  • 14. Estrutura Condicional de Múltipla Escolha início Ler estado V São Paulo? Alíquota 12% F V Alagoas? Alíquota 15% F V Paraíba? Alíquota 17% F fim 14
  • 15. Estrutura Condicional de Múltipla Escolha • Utilizada quando um conjunto de valores discretos e ações diferentes são associadas a cada um desses valores. se <cond_01> então <ação1> senão se <cond_02> então <ação2> senão se <cond_03> então <ação3> .... senão <ação default> fim se 15
  • 16. Estrutura Condicional de Múltipla Escolha • O IMC (Índice de Massa Corporal) é um critério da Organização Mundial da saúde para dar uma indicação sobre a condição de peso de uma pessoa adulta. peso IMC  • A fórmula é (altura ) 2 • Elabore um algoritmo que leia o peso e a altura de um adulto e mostre sua condição. se <cond_01> então IMC em adultos Condição <ação1> senão abaixo de 18,5 abaixo do peso se <cond_02> então <ação2> senão entre 18,5 e 25 peso normal se <cond_03> então <ação3> entre 25 e 30 acima do peso .... senão acima de 30 obeso <ação default> fimse fimse 16 fimse
  • 17. Estrutura Condicional de Múltipla Escolha Solução – Esboço – Esboço Solução • Variáveis: – Entrada: peso, altura • Tipo: real (float) • Intervalo: maior que zero – Saída: IMC • Tipo: real • Comandos: – Ler variáveis de entrada – Checar validade das variáveis de entrada – Calcular IMC – Determinar condição 17
  • 18. Solução do algoritmo Algoritmo “IMC” Início das variaveis peso,altura,imc:REAL; fim das variáveis Início escreva(“Qual a sua altura?”) leia(altura) escreva(“Qual o seu peso?) leia(peso) imc <- peso/(altura*altura) ou pode ser imc <- peso/(altura^2) se imc < 18.5 entao escreva("abaixo do peso") senao se imc < 25 entao escreva("peso normal") senao se imc < 30 entao escreva ("acima do peso") senao escreval ("você está obeso!") fimse fimse fimse 18 fimalgoritmo
  • 19. Solução com o VisuAlg algoritm "calculaIMC" Continuação... // Função : Calcular o ICM // Autor : Tarcísio imc <- peso/(altura*altura) // Data : 08/03/2012 // Seção de Declarações se imc < 18.5 entao var escreval("você está abaixo do peso") altura, peso, imc: real senao inicio se imc < 25 entao // Seção de Comandos escreval("peso normal") escreval("Qual a sua altura") senao leia(altura) se imc < 30 entao escreval ("acima do peso") escreval("Qual o seu peso") senao leia(peso) escreval ("você está obeso!") fimse fimse fimse fimalgoritmo 19
  • 20. Exercício Leia uma idade e informe se a pessoa é um eleitor obrigatório (entre 18 e 69 anos), facultativo (entre 16 e 17 anos ou acima de 70) ou não é eleitor (menos de 16 anos) 20
  • 21. Solução do algoritmo Leia uma idade e informe se a pessoa é um eleitor obrigatório (entre 18 e 69 anos), facultativo (entre 16 e 17 anos ou acima de 70) ou não é eleitor (menos de 16 anos) Programa Eleitor Início das variáveis idade: inteiro; fim das variáveis Início escreva("Informe a sua idade:") leia(idade) se idade < 16 entao escreva("Você não é eleitor") senao se (idade < 18) ou (idade > 70) entao escreva("eleitor facultativo") senao se idade <= 70 entao escreva ("você é eleitor") fimse fimse fimse fimalgoritmo 21
  • 22. Solução com o VisuAlg algoritmo "Eleitor" Continuação... // Função : Verificar se de acordo com a idade a pessoa é ou não eleitor inicio // Autor : Tarcísio // Seção de Comandos // Data : 08/03/2012 escreval("Informe a sua idade:") // Seção de Declarações leia(idade) var se idade < 16 entao idade: inteiro escreva("Você não é eleitor") senao se (idade < 18) ou (idade > 70) entao escreva("eleitor facultativo") senao se idade <= 70 entao escreva ("você é eleitor") fimse fimse fimse fimalgoritmo 22
  • 23. Tomada de decisão por seleção • Utilizada em situações em que possui um grande número de verificações lógicas a serem realizadas, tanto de forma sequencial ou encadeada. caso <variável> seja <opção1> faça <ação1> seja <opção2> faça <ação2> seja <opção3> faça <ação3> senão <ação para nenhuma condição satisfeita> fim_caso 23
  • 24. Tomada de decisão por seleção • Exemplo: efetuar a leitura de um número inteiro entre 1 e 12 e apresentar o nome do mês correspondente por extenso. Caso o valor informado for diferente deste intervalo deve ser apresentada a mensagem “valor inválido”. 24
  • 25. Solução do Algoritmo Algoritmo Mês_por_Extenso Continiação... Início das variáveis seja 6 faça mes: inteiro; escreva “Junho” fim das variáveis seja 7 faça Início escreva “Julho” escreva("Informe o mês (1 a 12):") seja 8 faça leia(mes) escreva “Agosto” caso mês seja 9 faça seja 1 faça escreva “Setembro” escreva “Janeiro” seja 10 faça seja 2 faça escreva “Outubro” escreva “Fevereiro” seja 11 faça seja 3 faça escreva “Novembro” escreva “Março” seja 12 faça seja 4 faça escreva “Dezembro” escreva “Abril” senão seja 5 faça escreva(“valor inválido”) escreva “Maio” fim_caso fimalgoritmo 25
  • 26. Solução no VisuAlg algoritmo "mes_por_extenso" Continiação... // Função : Escreve o mês por extenso // Autor : Tarcísio caso 5 // Data : 08/03/2012 escreval("Maio") // Seção de Declarações caso 6 var escreval("Junho") mes: inteiro caso 7 inicio escreval("Julho") // Seção de Comandos caso 8 escreval("Informe o mês (1 a 12):") escreval("Agosto") leia(mes) caso 9 escolha mes escreval("Setembro") caso 1 caso 10 escreval("Janeiro") escreval("Outubro") caso 2 caso 11 escreval("Fevereiro") escreval("Novembro") caso 3 caso 12 escreval("Março") escreval("Dezembro") caso 4 outrocaso escreval("Abril") escreval("valor inválido") fimescolha fimalgoritmo 26
  • 27. Vetor e Matriz VETOR: estrutura formada por um conjunto unidimensional de dados de mesmo tipo (homogêneo) e possuindo número fixo de elementos (Estático). Na declaração dos vetores devemos informar o seu nome, seu tipo (inteiro, real, caracter, ...), e seu tamanho (número de elementos). Cada elemento do vetor é identificado por um índice (unidimensional), o qual indica a sua posição no vetor. 27
  • 28. Vetor e Matriz Declaração de um VETOR: NomeDoVetor : vetor[nº de elementos] de Tipo do Vetor Exemplo: IDADE: VETOR [1..5] DE INTEIRO Referência: NomeDoVetor[índice] Exemplo: IDADE[1] <- 35 escreval(IDADE[1]) 28
  • 29. Vetor e Matriz MATRIZ: estrutura semelhante ao vetor, sendo que, pode possuir n dimensões. Desta forma para fazer referência aos elementos de uma matriz, precisaremos de tantos índices quanto for suas dimensões. 29
  • 30. Vetor e Matriz Declaração de uma MATRIZ: NomeDaMatriz : matriz[dimensões] de Tipo da Matriz Exemplo: PESSOAS: VETOR [1..2,1..3] DE CARACTERE Referência: NomeDaMatriz[índices] Exemplo: PESSOAS[1,3]<- “Maria” escreval(PESSOAS[1,3]) 30
  • 31. Exercício 1) Sabendo-se que José tem direito a 15% de reajuste de salário, complete o diagrama ao lado: 31 31