• Like
Algoritmo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Algoritmo

  • 17,939 views
Published

Conceitos básicos de algoritmos e lógica de programação

Conceitos básicos de algoritmos e lógica de programação

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
17,939
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
385
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ALGORITMO
  • 2. Definição
    • Representa a lógica de solução de um problema passo-a-passo.
  • 3. Um algoritmo pode ser
    • Na forma textual:
      • Uma descrição tal como uma receita de bolo;
      • Um manual de montagem;
      • Um relato de como fazer uma tarefa;
      • O pseudo código de um programa;
    • Na forma de gráficos
      • Um fluxograma
      • Um mapa indicando o caminho
  • 4. Características
    • Possui um número limitado de passos;
    • As regras de codificação do algoritmo são previamente conhecidas e dependem da “máquina” que irá resolver o problema
  • 5. Qualidades de um algoritmo
    • Integridade : refere-se à precisão das informações manipuladas pelo programa;
    • Clareza : refere-se à facilidade de leitura do programa;
    • Simplicidade : a clareza e precisão de um programa são normalmente melhoradas tornando seu entendimento o mais simples possível, consistente com os objetivos do programa;
    • Eficiência : refere-se à velocidade de processamento e a correta utilização da memória;
    • Modularidade : consiste no particionamento do programa em módulos menores bem identificáveis e com funções específicas; e
    • Generalidade : é interessante que um programa seja tão genérico quanto possível de forma a permitir a reutilização de seus componentes em outros projetos.
  • 6. Pseudo código
    • É uma forma de algoritmo que simula a solução do problema por uma linguagem computacional;
    • Não existem regras rígidas para a codificação dos algoritmos, porem, de uma forma geral seguem a um padrão.
  • 7. Programação Estruturada
    • Possui 3 figuras básicas
      • Seqüência simples;
      • Decisão;
      • Repetição
  • 8. Comandos
    • Inicio  representa o inicio do algoritmo;
    • Fim  representa o fim do algoritmo;
    • Leia A  significa ler um valor de uma unidade de entrada e armazenar em A. Caso exista um valor em A este é destruído e substituído pelo novo valor lido.
  • 9. Comandos
    • Escreva A  significa exibir o conteúdo de A. Não destrói o valor exibido. Pode-se exibir uma mensagem colocando entre aspas. Escrever “resposta”
    • A  C+B significa A recebe a soma do conteúdo de C com B;
    • Atenção o símbolo  tem significado diferente da matemática pois primeiro realiza a operação depois atribui o resultado para a variável A
  • 10. Observe que
    • A  A+B significa some o conteúdo de A com B e atribua a A.
    • Diga qual o valor que será exibido
    • Inicio
      • X  2
      • Y  3
      • X  x+y
      • Escreva x
    • Fim
  • 11. Exemplo
    • Elabore um Algoritmo para ler dois valores e exibir sua soma
    • Inicio
      • Ler A,B
      • C  A+B
      • Escrever C
    • Fim
  • 12. Operadores matemáticos
    • + soma
    • - subtração
    • * multiplicação
    • / divisão
    • Mod resto inteiro da divisão
    • Div divisão inteira
    • ( )
  • 13. Exemplo
    • A  10 mod 3
    • B  10 div 3
    • Auto avaliação:
    • Proponha um método para saber se um número é par ou impar com o que foi mostrado até agora.
  • 14. Exercício
    • Elabore um algoritmo para ler 3 valores e determinar sua média
  • 15. Solução
    • Inicio
      • Ler A,B,C
      • D  ( A+B+C) / 3
      • Escrever D
    • Fim
  • 16. Alem dos operadores existem as funções
    • Inúmeras funções são disponíveis. Por exemplo:
      • Sqrt raiz quadrada
      • Sqr quadrado
      • Sin seno
      • Cos cosseno
      • Rnd número aleatório
      • Etc.
  • 17. Estrutura de decisão
    • Pode ser:
      • Alternativa simples  quando existe apenas uma ação a ser executada se a condição for verdadeira;
      • Alternativa dupla  quando existem duas ações a serem executadas se a condição for verdadeira e se for falsa;
      • Alternativas múltiplas  quando existem mais de duas alternativas.
  • 18. Estrutura de decisão
    • Se (condição)
      • Então
        • Conjunto de comandos se a condição for verdadeira
      • Se não
        • Conjunto de comandos se a condição for falsa
    • Fim se
  • 19. Operadores relacionais
    • > maior que
    • < menor que
    • = igual
    • >= maior ou igual
    • <= menor ou igual
    • <> diferente
    • E
    • Ou
  • 20. Exemplo
    • Elabore um algoritmo para ler dois valores e exibir o maior deles. Os valores são, por definição, diferentes entre si.
    • Inicio
      • Ler A,B
        • Se A>B então
          • Escreva A
        • Se não
          • Escreva B
        • Fim se
        • Fim
  • 21. Exercício
    • Elabore um algoritmo para ler a idade de uma pessoa. Se a idade for menor que 18 anos exibir: “menor de idade” se for maior ou igual exibir “maior de idade”.
    • Auto avaliação
    • Se vc inverter a pergunta o resultado será o mesmo?
  • 22. Solução
    • Inicio
      • Ler idade
      • Se idade < 18 então
        • Escrever “menor de idade”
      • Se não
        • Escrever “maior de idade”
      • Fim se
    • Fim
  • 23. Auto avaliação
    • Elabore um algoritmo para ler 3 valores (diferentes entre si) e escrever o maior deles.
  • 24. Solução
    • Inicio
      • Ler A,B,C
      • Se A>B e A>C então
        • Escrever A
      • Se não
        • Se B > C então
          • Escrever B
        • Se não
          • Escrever c
        • Fim se
      • Fim se
    • fim
  • 25. Elabore um algoritmo que
      • leia código da mercadoria e preço. Se for código 00 aplicar um desconto de 10%. Exibir o preço final.
  • 26. Solução
    • Inicio
      • Ler código, preço
      • Se código = 00 então
        • Preço  Preço * 0,9
      • Fim se
      • Escreva código, preço
    • Fim
  • 27. Elabore um algoritmo que
    • Leia o sexo M ou F e se for M acrescente 1 a variável que contém a quantidade de homens (CM)
  • 28.
    • INICIO
      • CM  0 { não é obrigatório pois todas as variáveis iniciam com 0}
      • LER SEXO
      • SE SEXO = ‘M’ ENTÃO
        • CM  CM +1
      • FIM SE
      • ESCREVA CM
    • FIM
  • 29. Simulação (chinês)
    • Para verificar se um algoritmo atende aos requisitos do enunciado deve-se simular seu funcionamento com dados cujos resultados são previamente conhecidos;
    • Por exemplo:
    • Simule o funcionamento do algoritmo anterior para sexo ‘M’
  • 30. Dicas
    • Relacione as variáveis na mesma ordem do algoritmo. Elabore uma tabela e vá acompanhando o valor de cada variável
    1 CM M Sexo 0 CM valor variável
  • 31. Elabore um algoritmo que
    • Leia a nota do aluno se for maior que 5 escrever “aprovado” caso contrário escrever “reprovado”
    • Inicio
      • Ler nota
      • Se nota >= 5 então
        • Escreva “aprovado”
      • Se não
        • Escreva “reprovado”
      • Fim se
    • Fim
  • 32. Elabore um algoritmo que
    • Leia dois valores e exiba em ordem crescente (os valores são diferentes entre si)
  • 33.
    • Inicio
      • Ler A,B
      • Se A> B então
        • Escreva A, B
      • Se não
        • Escreva B, A
      • Fim se
    • Fim
  • 34. Altere o algoritmo anterior
    • Inclua a condição dos valores serem iguais, neste caso escrever “valores iguais”
  • 35. Quando existem mais de duas alternativas
    • Neste caso será necessário colocar vários “se’s”.
    • Pode-se usar o operador E, ou então, o OU
    • Por exemplo:
  • 36. Imposto de renda na fonte
    • O critério para a retenção de imposto de renda na fonte é o seguinte:
    • Elabore um algoritmo
    465,35 27,5% Acima de 2326,00 174,60 15% De 1164,01 a 2326 Isento 1164 Parcela a deduzir Alíquota Renda
  • 37.
    • Inicio
      • Ler renda
        • Se renda <= 1164 então
          • IR  0
        • Se não
          • Se renda <= 2326 então
            • IR  renda* 0,15 – 174,60
          • Se não
            • IR  renda * 0,275 – 465,35
          • Fim se
        • Fim se
        • Escreva renda IR
      • Fim
  • 38. Simulação
    • Simule o funcionamento do algoritmo anterior para os valores
      • 260,00
      • 2000,00
      • 5000,00
  • 39. Elabore um algoritmo que leia a nota do aluno e escreva sua situação
    • O critério de aprovação da UERJ é o seguinte:
      • Nota < 4 aluno reprovado
      • Nota >= 4 e < 7 aluno em prova final
      • Nota >= 7 aluno aprovado
  • 40.
    • Inicio
      • Ler nota
        • Se nota < 4 então
          • Escreva “reprovado”
        • Se não
          • Se nota <= 7 então
            • Escreva “final”
          • Se não
            • Escreva “aprovado”
          • Fim se
        • Fim se
    • Fim
  • 41. Exercício
    • Complemente o exercício anterior incluindo a condição: se o aluno tiver menos de 75% de freqüência estará reprovado independente da nota
  • 42.
    • Inicio
      • Ler nota,freq
      • Se freq < 0,75 então
        • Escreva “reprovado”
      • Se não
        • Se nota < 4 então
          • Escreva “reprovado”
        • Se não
          • Se nota <= 7 então
            • Escreva “final”
          • Se não
            • Escreva “aprovado”
          • Fim se
        • Fim se
      • Fim se
    • Fim
  • 43. Elabore o algoritmo para determinar o recolhimento do INSS:
    • O INSS para o trabalhador assalariado é calculado de acordo com a seguinte tabela:
    11,00 De 1254,37 a 2508,72 9,00 De 780,01 a 1254,36 8,65 De 752,63 a 780,00 7,65 Até 752,62 Alíquota (%) Salário de contribuição
  • 44. Dicas
    • Qual informação deve ser lida?
    • A solução é um conjunto de decisões?
    • Comece pelo menor valor e vá estabelecendo os intervalos
    • Quais são as variáveis que serão utilizadas?
  • 45.
    • Inicio
      • Ler sal
      • Se sal <= 752,62 então
        • INSS  sal * 0,0765
      • Se não
        • Se sal <= 780,00 então
          • INSS  sal * 0,0865
        • Se não
          • Se sal <=1254,36 então
            • INSS  sal * 0,09
          • Se não
            • Se sal <= 2508,72 então
            • INSS  sal * 0,11
            • Se não
            • INSS  2508,72 * 0,11
            • Fim se
          • Fim se
        • Fim se
      • Fim se
      • Escreva INSS
    • Fim
  • 46.
    • {uma solução pior, mas certa}
    • Inicio
      • Ler sal
      • Se sal <= 752,62 então
        • INSS  sal * 0,0765
      • Fim se
      • Se sal >= 752,63 e sal <= 780,00 e então
        • INSS  sal * 0,0865
      • Fim se
      • Se sal >= 780,01 e sal <=1254,36 então
        • INSS  sal * 0,09
      • Fim se
      • Se sal >= 1254,37 e sal <= 2508,72 então
        • INSS  sal * 0,11
      • Fim se
      • Se sal > 2508,72 então
        • INSS  2508,72 * 0,11
      • Fim se
      • Escreva INSS
    • Fim
  • 47. Seleção múltipla
    • É quando temos várias alternativas, como por exemplo no “menu” de um terminal bancário
  • 48. Decisão múltipla
    • Caso opção faça
      • Resposta 1: alternativa 1
      • Resposta 2: alternativa 2
      • Outro caso
        • Alternativa 3
    • Fim caso
  • 49. Ler uma opção e escrever qual letra foi selecionada
    • Inicio
      • Ler letra
        • Caso letra faça
          • “ a”: escreva “vc escolheu a “
          • “ b” : escreva “vc escolheu b “
        • Outro caso
          • Escreva “vc escolheu outra letra”
      • Fim
  • 50. Estrutura de repetição
    • Repete, de forma controlada, um conjunto selecionado de instruções.
    • Podem ser de 3(três) tipos:
      • Para-faça
      • Enquanto-faça
      • Repita-até
  • 51. Para-faça
    • Usa-se da seguinte forma:
      • Para variável  inicio até fim
        • Grupo de instruções que será repetido
      • Fim para
    • Funciona da seguinte forma
      • A variável é inicializada com o valor do inicio;
      • O grupo de instruções é executado;
      • Ao chegar ao comando “fim para” a variável tem seu valor acrescido de 1(um) e verifica se o seu valor é maior que fim
      • Se for menor ou igual, repete o conjunto de instruções
  • 52. Elabore um algoritmo para escrever os números inteiros de 1 até 10
    • Inicio
      • Para j  1 ate 10 faça
        • Escreva j
      • Fim para
    • Fim
  • 53. Elabore um algoritmo para determinar a soma dos 10 primeiros números inteiros
    • Inicio
      • Soma  0;
      • Para j  1 até 10 faça
        • Soma  soma+j
      • Fim para
      • Escreva soma
    • Fim
  • 54. Elabore um algoritmo que leia 5 valores e determine a sua soma
    • Inicio
      • Soma  0
      • Para j  1 ate 5 faça
        • Ler x
        • Soma  soma+x
      • Fim para
      • Escreva soma
    • Fim
  • 55. Altere o algoritmo anterior para ler “n” valores
    • Inicio
      • Ler n
      • Soma  0
      • Para j  1 ate n faça
        • Ler x
        • Soma  soma +x
      • Fim para
      • Escreva soma
    • Fim
  • 56. Enquanto-faça
    • Usa-se da seguinte forma:
      • Enquanto condição faça
        • Grupo de instruções que será repetido
      • Fim enquanto
    • Funciona da seguinte forma:
      • Enquanto a condição for VERDADEIRA o grupo de instruções é repetido
  • 57. Por exemplo: soma de 5 valores lidos
    • Inicio
    • Soma  0
    • Cont  0
    • Enquanto cont < 5 faça
      • Ler x
      • Soma  soma+x
      • Cont  cont+1
    • Fim enquanto
    • Escreva soma
    • Fim
  • 58. As condições são construídas
    • De forma análoga as condições da estrutura de decisão;
    • Pode-se usar os operadores >, >=, <,<=,=,<> e ou não
  • 59. Pode-se interromper a repetição
    • Usando um contador, conforme o exemplo anterior ou;
    • Usando um “flag” condição que indica que a repetição deve ser interrompida.
  • 60. Elabore um algoritmo que
    • Leia uma quantidade indeterminada de valores positivos. O “flag” é um valor negativo.
  • 61. Solução
    • Inicio
    • Soma  0
    • Ler x
    • Enquanto x > 0 faça
      • Soma  soma +x
      • Ler x
    • Fim enquanto
    • Escreva soma
    • Fim
  • 62. Repita-até
    • Usa-se da seguinte forma:
      • Repita
        • Grupo de instruções que será repetido
      • Até que condição
    • Funciona da seguinte forma:
      • Repete o grupo de instruções ATÉ que a condição seja verdadeira
  • 63. Elabore um algoritmo que leia 5 valores e determine a sua soma
    • Inicio
    • Soma  o
    • Cont  0
    • Repita
      • Ler x
      • Soma  soma+x
      • Cont  cont+1
    • Ate que cont = 5
    • Escreva soma
    • Fim