SlideShare una empresa de Scribd logo
1 de 19
Algoritmos

  Revisão
Algoritmos
• A maioria dos algoritmos contém decisões.
• Por exemplo:

  – para atravessar uma rua preciso verificar se o sinal de
    pedestres está verde;

  – verificar se nenhum carro está avançando o sinal;

  – somente após decidir se estes fatos se confirmaram
    poderei atravessar a rua.
Algoritmos
• Para considerar um algoritmo que inclua decisões vamos estudar
  um algoritmo que nos ajude a decidir o que fazer em um domingo.

• Um possível algoritmo poderia ser o seguinte:

   – Algoritmo de domingo.
       •   Acordar.
       •   Tomar o café.
       •   Se estiver sol vou à praia senão leio o jornal.
       •   Almoçar.
       •   Ir ao cinema.
       •   Fazer uma refeição.
       •   Ir dormir.
   – Final do domingo.
Algoritmos
Algoritmos
• Aparentemente o algoritmo se reduziria ao
  cálculo da fórmula, no entanto ao detalharmos as
  ações devemos prever tudo que pode acontecer
  durante o cálculo desta fórmula.

• Por exemplo o que fazer se o valor do coeficiente
  a for igual a zero?

• Um possível algoritmo é o seguinte:
Algoritmos
• Algoritmo para cálculo de uma equação do segundo grau.
   – Obter os coeficientes a, b e c
       • Se o coeficiente a for igual a zero
            – informar que esta não é uma equação do segundo grau e terminar o algoritmo.
       • Caso contrário continue e faça
            – Calcular delta=b2-4ac
                 » Se o valor de delta for negativo
                        • informar que a equação não tem raízes reais e terminar o algoritmo.
                 » Caso contrário continue e faça
                        • Calcular a raiz quadrada de delta e guardar o resultado como raiz
                        • Calcular x1=(-b + raiz)/(2a)
                        • Calcular x2=(-b - raiz)/(2a)
                        • Fornecer como resultado x1 e x2
                 » Terminar condição
       • Terminar condição
   – Terminar o algoritmo.
• Fim do algoritmo para cálculo de uma equação do segundo grau.
Algoritmos
• Neste algoritmo em diversos pontos tivemos de tomar decisões e
  indicar o que fazer em cada uma das possibilidades, mesmo que
  seja mostrar que não podemos continuar o algoritmo.

• Toda vez que decisões tiverem de ser tomadas devemos incluir
  todas as possibilidades para o evento que estamos considerando.

• Este é um dos possíveis algoritmos por diversas razões.

• Por exemplo, poderíamos incluir no algoritmo o cálculo das raízes
  imaginárias ou no caso do coeficiente a ser igual a zero calcular
  como se fosse uma equação do primeiro grau.
Fluxogramas
• Esta forma de representação de algoritmos emprega várias
  formas geométricas para descrever cada uma das possíveis
  ações durante a execução do algoritmos.

• Existem algumas formas geométricas que são empregadas
  normalmente e que estão mostradas na Figura abaixo.

• Cada uma destas formas se aplica a uma determinada ação
  como está indicado.

• Existem outras formas que podem ser aplicadas.
Fluxogramas
• Existem outras formas que podem ser
  aplicadas, aqui são mostradas algumas delas.

     Início e Fim de                      Ponto de
                          Processamento
       Fluxograma                          decisão




                                          Conectar
     Impressão de                           para
      Resultados           Entrada de
                          Dados Manual     mesma
                                           página
• Como primeiro
  exemplo de um
  algoritmo descrito
  por meio de
  fluxogramas vamos
  considerar o
  exemplo do
  algoritmo para
  decidir o que fazer
  em um dia de
  domingo.

• A Figura ao lado
  mostra o
  fluxograma
  equivalente à
  descrição feita por
  meio da linguagem
  natural.
Exemplos
• Algoritmo de Euclides
   – Dados dois números positivos m e n encontre seu maior
     divisor comum, isto é o maior inteiro positivo que divide
     tanto m como n. Assuma que m é sempre maior que n, e n
     diferente de zero.
      • principal () início
          – ler m, n;
          – r = m % n; // resto da divisão de m por n
               » enquanto r != 0 faça
                    • m = n;
                    • n = r;
                    • r = m % n;
               » fim do enquanto
          – imprimir n;
      • fim de principal
Exemplos
• Multiplicação de dois números inteiros positivos

  – principal () início// achar quanto vale m*n
     • ler m, n;
     • r = 0;
         – enquanto n != 0 faça
              » r = r + m;
              » n = n-1;
         – fim do enquanto
     • imprimir r;
  – fim de principal
Exemplos
• Resolução de uma equação do segundo grau.
   – Neste algoritmo vamos assumir que o coeficiente a da equação
     é sempre diferente de 0.

      • principal () início
           – ler a, b, c
           – delta = b*b-4*a*c
           – se delta < 0
                » então
                       • imprimir ¨Não há raizes reais.¨
                » senão início
                       • x1 = (-b + sqrt(delta))/(2*a)
                       • x2 = (-b + sqrt(delta))/(2*a)
                       • imprimir x1, x2
           – fim de se
      • fim
Algoritimos

COMPLICANDO
Repetição com teste no Início
• Consiste em uma estrutura de controle de fluxo
  de execução que permite repetir diversas vezes
  um mesmo trecho do algoritmo, porém, sempre
  verificando antes de cada execução se é
  “permitido” executar o mesmo trecho.

• Para realizar a repetição com teste no início,
  utilizamos a estrutura enquanto, que permite
  que um bloco ou uma ação primitiva seja
  repetida enquanto uma determinada <condição>
  for verdadeira.
Repetição com teste no Início
• O modelo genérico           • Diagrama:
                                               ENQUANTO
  desse tipo de repetição
  é o seguinte:                             EXPRESSÃO LÓGICA
   Enquanto <condição> faça
      C1;                                        FAÇA
      C2;
      .                                          AÇÃO
      .
      .                                      FIM ENQUANTO

      Cn
   Fim enquanto;                                   ;
Repetição com teste no Início
•   Para ilustrar e aplicar o processo na prática, temos o seguinte algoritmo: (MÉDIA ARITMÉTICA PARA 50 ALUNOS)

•   Início
•   // declaração de variáveis
•   Real: N1, N2, N3, N4;                                                  // notas bimestrais
•   Real: MA;                                                              // media anual
•   Inteiro: CON;                                                          // contado
•   CON ← 0;                                                               // inicialização do contador
•        Enquanto (COM < 50) faça                                          // teste da condição de parada
•          Leia (N1, N2, N3, N4);                                          // entrada de dados
•          MA (N1+N2+N3+N4)/4;                                             // calculo da média
•          Escreva (“Média Anual”) = ”, MA);
•                Se (MA >= 7)
•                    Então
•                      Inicio
•                          Escreva (“Aluno Aprovado!”);
•                          Escreva (“Parabéns!”);
•                      Fim;
•                    Senão
•                       Inicio
•                          Escreva (“Aluno Reprovado!”);
•                          Escreva (“Estude Mais!”);
•                       Fim;
•                fimse;
•                COM COM + 1;                                              //incrementa o contador em um
•      fimenquanto;
•   fim
Repetição com teste no Início

Más contenido relacionado

La actualidad más candente

50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidosEdvan Mateó
 
Exercícios resolvidos de Algoritmo
Exercícios resolvidos de AlgoritmoExercícios resolvidos de Algoritmo
Exercícios resolvidos de AlgoritmoJota Thin
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoWesley R. Bezerra
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Eder Samaniego
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidosjaoozinhoqi123
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Gercélia Ramos
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Cloves da Rocha
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 

La actualidad más candente (20)

50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos
 
Exercícios resolvidos de Algoritmo
Exercícios resolvidos de AlgoritmoExercícios resolvidos de Algoritmo
Exercícios resolvidos de Algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidos
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 

Destacado

53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-iEdvan Mateó
 
Fórmula de bhaskara e exercícios resolvidos
Fórmula de bhaskara e exercícios resolvidosFórmula de bhaskara e exercícios resolvidos
Fórmula de bhaskara e exercícios resolvidosAntonio Carlos Luguetti
 
Vida e Obra de Bhaskara
Vida e Obra de BhaskaraVida e Obra de Bhaskara
Vida e Obra de BhaskaraFlavioBooz
 
Exercícios resolvidos de problemas de equações do 2º grau
Exercícios resolvidos de problemas de equações do 2º grauExercícios resolvidos de problemas de equações do 2º grau
Exercícios resolvidos de problemas de equações do 2º grauAndré Luís Nogueira
 
2ª lista de exercícios 9º ano (eq. 2º grau)
2ª lista de exercícios   9º ano (eq. 2º grau)2ª lista de exercícios   9º ano (eq. 2º grau)
2ª lista de exercícios 9º ano (eq. 2º grau)Ilton Bruno
 
1ª lista de exercícios 9º ano(equações do 2º grau - incompletas)
1ª lista de exercícios   9º ano(equações do 2º grau - incompletas)1ª lista de exercícios   9º ano(equações do 2º grau - incompletas)
1ª lista de exercícios 9º ano(equações do 2º grau - incompletas)Ilton Bruno
 
Angulos Opostos Retos Rasos Suplementares
Angulos Opostos Retos Rasos SuplementaresAngulos Opostos Retos Rasos Suplementares
Angulos Opostos Retos Rasos Suplementarestioheraclito
 
8 ano - Exercícios - Ângulos
8 ano - Exercícios - Ângulos8 ano - Exercícios - Ângulos
8 ano - Exercícios - ÂngulosAndréia Rodrigues
 
Construcción de gráficas circulares
Construcción de gráficas circularesConstrucción de gráficas circulares
Construcción de gráficas circularesJuanita López-Torres
 
Aula03 conceito de fluxogramas e seqenciamento de açoes
Aula03   conceito de fluxogramas e seqenciamento de açoesAula03   conceito de fluxogramas e seqenciamento de açoes
Aula03 conceito de fluxogramas e seqenciamento de açoesGrupo Tiradentes
 
Ejemplos 1 análisis e interpretación de datos
Ejemplos 1 análisis e interpretación de datosEjemplos 1 análisis e interpretación de datos
Ejemplos 1 análisis e interpretación de datoskrank1981
 

Destacado (15)

Introdução
IntroduçãoIntrodução
Introdução
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i
 
Fórmula de bhaskara e exercícios resolvidos
Fórmula de bhaskara e exercícios resolvidosFórmula de bhaskara e exercícios resolvidos
Fórmula de bhaskara e exercícios resolvidos
 
Vida e Obra de Bhaskara
Vida e Obra de BhaskaraVida e Obra de Bhaskara
Vida e Obra de Bhaskara
 
Trabalho bhaskara
Trabalho bhaskaraTrabalho bhaskara
Trabalho bhaskara
 
Equação do 2º grau na prática
Equação do 2º grau na práticaEquação do 2º grau na prática
Equação do 2º grau na prática
 
Lista resolvida 9º ano
Lista resolvida 9º anoLista resolvida 9º ano
Lista resolvida 9º ano
 
Exercícios resolvidos de problemas de equações do 2º grau
Exercícios resolvidos de problemas de equações do 2º grauExercícios resolvidos de problemas de equações do 2º grau
Exercícios resolvidos de problemas de equações do 2º grau
 
2ª lista de exercícios 9º ano (eq. 2º grau)
2ª lista de exercícios   9º ano (eq. 2º grau)2ª lista de exercícios   9º ano (eq. 2º grau)
2ª lista de exercícios 9º ano (eq. 2º grau)
 
1ª lista de exercícios 9º ano(equações do 2º grau - incompletas)
1ª lista de exercícios   9º ano(equações do 2º grau - incompletas)1ª lista de exercícios   9º ano(equações do 2º grau - incompletas)
1ª lista de exercícios 9º ano(equações do 2º grau - incompletas)
 
Angulos Opostos Retos Rasos Suplementares
Angulos Opostos Retos Rasos SuplementaresAngulos Opostos Retos Rasos Suplementares
Angulos Opostos Retos Rasos Suplementares
 
8 ano - Exercícios - Ângulos
8 ano - Exercícios - Ângulos8 ano - Exercícios - Ângulos
8 ano - Exercícios - Ângulos
 
Construcción de gráficas circulares
Construcción de gráficas circularesConstrucción de gráficas circulares
Construcción de gráficas circulares
 
Aula03 conceito de fluxogramas e seqenciamento de açoes
Aula03   conceito de fluxogramas e seqenciamento de açoesAula03   conceito de fluxogramas e seqenciamento de açoes
Aula03 conceito de fluxogramas e seqenciamento de açoes
 
Ejemplos 1 análisis e interpretación de datos
Ejemplos 1 análisis e interpretación de datosEjemplos 1 análisis e interpretación de datos
Ejemplos 1 análisis e interpretación de datos
 

Similar a Algoritmos repetição teste início

Introdução - Algoritmos
Introdução - AlgoritmosIntrodução - Algoritmos
Introdução - AlgoritmosPsLucas
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programaçãoElaine Cecília Gatto
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoJosé Araújo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosjormad
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoElaine Cecília Gatto
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CRodrigo Kiyoshi Saito
 
Aula 01 introdução a linguagem pascal
Aula 01   introdução a linguagem pascalAula 01   introdução a linguagem pascal
Aula 01 introdução a linguagem pascalTácito Graça
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08André Phillip Bertoletti
 
Implementacao de Algoritmos.ppt
 Implementacao de Algoritmos.ppt Implementacao de Algoritmos.ppt
Implementacao de Algoritmos.pptTopsAvakinImvu
 
ALG 01 - Implementacao de Algoritmos.ppt
ALG 01 - Implementacao de Algoritmos.pptALG 01 - Implementacao de Algoritmos.ppt
ALG 01 - Implementacao de Algoritmos.pptRogrioRikerSantana
 

Similar a Algoritmos repetição teste início (20)

Algoritmos - Aula 01 B - Introducao
Algoritmos - Aula 01 B - IntroducaoAlgoritmos - Aula 01 B - Introducao
Algoritmos - Aula 01 B - Introducao
 
Introdução - Algoritmos
Introdução - AlgoritmosIntrodução - Algoritmos
Introdução - Algoritmos
 
Visualg
VisualgVisualg
Visualg
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
03 algoritmos basicos
03 algoritmos basicos03 algoritmos basicos
03 algoritmos basicos
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de Programacao
 
Aula01
Aula01Aula01
Aula01
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
 
Aula 01 introdução a linguagem pascal
Aula 01   introdução a linguagem pascalAula 01   introdução a linguagem pascal
Aula 01 introdução a linguagem pascal
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
Algoritmos - capítulo 6
Algoritmos - capítulo 6Algoritmos - capítulo 6
Algoritmos - capítulo 6
 
122172 1445
122172 1445122172 1445
122172 1445
 
Aula02
Aula02Aula02
Aula02
 
Implementacao de Algoritmos.ppt
 Implementacao de Algoritmos.ppt Implementacao de Algoritmos.ppt
Implementacao de Algoritmos.ppt
 
ALG 01 - Implementacao de Algoritmos.ppt
ALG 01 - Implementacao de Algoritmos.pptALG 01 - Implementacao de Algoritmos.ppt
ALG 01 - Implementacao de Algoritmos.ppt
 

Algoritmos repetição teste início

  • 2. Algoritmos • A maioria dos algoritmos contém decisões. • Por exemplo: – para atravessar uma rua preciso verificar se o sinal de pedestres está verde; – verificar se nenhum carro está avançando o sinal; – somente após decidir se estes fatos se confirmaram poderei atravessar a rua.
  • 3. Algoritmos • Para considerar um algoritmo que inclua decisões vamos estudar um algoritmo que nos ajude a decidir o que fazer em um domingo. • Um possível algoritmo poderia ser o seguinte: – Algoritmo de domingo. • Acordar. • Tomar o café. • Se estiver sol vou à praia senão leio o jornal. • Almoçar. • Ir ao cinema. • Fazer uma refeição. • Ir dormir. – Final do domingo.
  • 5. Algoritmos • Aparentemente o algoritmo se reduziria ao cálculo da fórmula, no entanto ao detalharmos as ações devemos prever tudo que pode acontecer durante o cálculo desta fórmula. • Por exemplo o que fazer se o valor do coeficiente a for igual a zero? • Um possível algoritmo é o seguinte:
  • 6. Algoritmos • Algoritmo para cálculo de uma equação do segundo grau. – Obter os coeficientes a, b e c • Se o coeficiente a for igual a zero – informar que esta não é uma equação do segundo grau e terminar o algoritmo. • Caso contrário continue e faça – Calcular delta=b2-4ac » Se o valor de delta for negativo • informar que a equação não tem raízes reais e terminar o algoritmo. » Caso contrário continue e faça • Calcular a raiz quadrada de delta e guardar o resultado como raiz • Calcular x1=(-b + raiz)/(2a) • Calcular x2=(-b - raiz)/(2a) • Fornecer como resultado x1 e x2 » Terminar condição • Terminar condição – Terminar o algoritmo. • Fim do algoritmo para cálculo de uma equação do segundo grau.
  • 7. Algoritmos • Neste algoritmo em diversos pontos tivemos de tomar decisões e indicar o que fazer em cada uma das possibilidades, mesmo que seja mostrar que não podemos continuar o algoritmo. • Toda vez que decisões tiverem de ser tomadas devemos incluir todas as possibilidades para o evento que estamos considerando. • Este é um dos possíveis algoritmos por diversas razões. • Por exemplo, poderíamos incluir no algoritmo o cálculo das raízes imaginárias ou no caso do coeficiente a ser igual a zero calcular como se fosse uma equação do primeiro grau.
  • 8. Fluxogramas • Esta forma de representação de algoritmos emprega várias formas geométricas para descrever cada uma das possíveis ações durante a execução do algoritmos. • Existem algumas formas geométricas que são empregadas normalmente e que estão mostradas na Figura abaixo. • Cada uma destas formas se aplica a uma determinada ação como está indicado. • Existem outras formas que podem ser aplicadas.
  • 9. Fluxogramas • Existem outras formas que podem ser aplicadas, aqui são mostradas algumas delas. Início e Fim de Ponto de Processamento Fluxograma decisão Conectar Impressão de para Resultados Entrada de Dados Manual mesma página
  • 10. • Como primeiro exemplo de um algoritmo descrito por meio de fluxogramas vamos considerar o exemplo do algoritmo para decidir o que fazer em um dia de domingo. • A Figura ao lado mostra o fluxograma equivalente à descrição feita por meio da linguagem natural.
  • 11.
  • 12. Exemplos • Algoritmo de Euclides – Dados dois números positivos m e n encontre seu maior divisor comum, isto é o maior inteiro positivo que divide tanto m como n. Assuma que m é sempre maior que n, e n diferente de zero. • principal () início – ler m, n; – r = m % n; // resto da divisão de m por n » enquanto r != 0 faça • m = n; • n = r; • r = m % n; » fim do enquanto – imprimir n; • fim de principal
  • 13. Exemplos • Multiplicação de dois números inteiros positivos – principal () início// achar quanto vale m*n • ler m, n; • r = 0; – enquanto n != 0 faça » r = r + m; » n = n-1; – fim do enquanto • imprimir r; – fim de principal
  • 14. Exemplos • Resolução de uma equação do segundo grau. – Neste algoritmo vamos assumir que o coeficiente a da equação é sempre diferente de 0. • principal () início – ler a, b, c – delta = b*b-4*a*c – se delta < 0 » então • imprimir ¨Não há raizes reais.¨ » senão início • x1 = (-b + sqrt(delta))/(2*a) • x2 = (-b + sqrt(delta))/(2*a) • imprimir x1, x2 – fim de se • fim
  • 16. Repetição com teste no Início • Consiste em uma estrutura de controle de fluxo de execução que permite repetir diversas vezes um mesmo trecho do algoritmo, porém, sempre verificando antes de cada execução se é “permitido” executar o mesmo trecho. • Para realizar a repetição com teste no início, utilizamos a estrutura enquanto, que permite que um bloco ou uma ação primitiva seja repetida enquanto uma determinada <condição> for verdadeira.
  • 17. Repetição com teste no Início • O modelo genérico • Diagrama: ENQUANTO desse tipo de repetição é o seguinte: EXPRESSÃO LÓGICA Enquanto <condição> faça C1; FAÇA C2; . AÇÃO . . FIM ENQUANTO Cn Fim enquanto; ;
  • 18. Repetição com teste no Início • Para ilustrar e aplicar o processo na prática, temos o seguinte algoritmo: (MÉDIA ARITMÉTICA PARA 50 ALUNOS) • Início • // declaração de variáveis • Real: N1, N2, N3, N4; // notas bimestrais • Real: MA; // media anual • Inteiro: CON; // contado • CON ← 0; // inicialização do contador • Enquanto (COM < 50) faça // teste da condição de parada • Leia (N1, N2, N3, N4); // entrada de dados • MA (N1+N2+N3+N4)/4; // calculo da média • Escreva (“Média Anual”) = ”, MA); • Se (MA >= 7) • Então • Inicio • Escreva (“Aluno Aprovado!”); • Escreva (“Parabéns!”); • Fim; • Senão • Inicio • Escreva (“Aluno Reprovado!”); • Escreva (“Estude Mais!”); • Fim; • fimse; • COM COM + 1; //incrementa o contador em um • fimenquanto; • fim
  • 19. Repetição com teste no Início