Algoritmos e Programação - 2013.2 - Revisão 1º Estágio

3,035 views
2,775 views

Published on

Algoritmos e Programação - 2013.2 - Revisão 1º Estágio

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,035
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
45
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Algoritmos e Programação - 2013.2 - Revisão 1º Estágio

  1. 1. Algoritmos e Programação Prof.º Thyago MaiaProf.  Thyago Maia 2013.2
  2. 2. Revisão – 1º Estágiog Objetivos • Revisar todo conteúdo abordado no  primeiro estágio da disciplina; 2
  3. 3. Tópicos AbordadosTópicos Abordados
  4. 4. Tópicos Abordadosp • Introdução aos algoritmos; • Estrutura Sequencial;Estrutura Sequencial; • Estruturas Condicionais: – SE...ENTÃO...SENÃO – ESCOLHA...CASO • Estruturas de Repetição: PARA– PARA – ENQUANTO – REPITA...ATÉ 4
  5. 5. Introdução aos AlgoritmosIntrodução aos Algoritmos
  6. 6. Introdução aos Algoritmos Sequência finita de instruções, ordenadas de  forma lógica para a resolução de uma g p ç determinada tarefa ou problema; Não envolve apenas aspectos  computacionais; – Exemplos– Exemplos • Uma receita de bolo; • Manual de instruções; 6
  7. 7. Introdução aos Algoritmos Algoritmo é uma espécie de passo a passo de  ações (instruções);ç ( ç ) Algoritmos retornam uma saída (ex.: um ovo  frito) a partir de uma ou mais entradas (ex :frito) a partir de uma ou mais entradas (ex.:  um ovo) através de uma sequência de passos; Os passos são executados um após o outro  (de forma sequencial);(de forma sequencial);  7
  8. 8. Introdução aos Algoritmos Um algoritmo está correto quando sua  sequência de instruções retorna uma saída q ç esperada; Podem existir um ou mais algoritmos que  retornam uma saída esperada; Mas podem existir algoritmos maisMas podem existir algoritmos mais  eficientes que outros; 8
  9. 9. Por que criamos algoritmos?q g A linguagem natural não pode ser interpretada por  computadores; Computadores são projetados para executar tarefas  bem definidas a partir de instruções; Para desenvolver software, utilizamos linguagens de  programação...p og a ação A linguagem algorítmica é similar a uma linguagem de programação; Logo, aprendendo a criar algoritmos, estamos aptosLogo, aprendendo a criar algoritmos, estamos aptos  a programar em qualquer linguagem de  programação;programação; 9
  10. 10. Tipos de algoritmosTipos de algoritmos
  11. 11. Tipos de algoritmosp g Descrição Narrativa; SUBJETIVIDADE Descrição Narrativa; Fluxograma; Pseudocódigo,  Português Estruturado  ou Portugol; PRECISÃO 11
  12. 12. Tipos de algoritmosp g Fluxograma Descrevem o fluxo de ação  de um determinadode um determinado  trabalho lógico; Usa símbolos  convencionais, permitindo  poucas variações; Representados por  símbolos geométricos; 12
  13. 13. Tipos de algoritmosp g • Fluxograma – Conjunto de Símbolos: ÍINÍCIO OU FIM DE  ALGORITMO ENTRADA DE  DADOS CÁLCULO OU  SAÍDA DE DADOS ATRIBUIÇÃO DE VALOR S OS DECISÃOFLUXO DE DADOS 13
  14. 14. Tipos de algoritmosp g • Exercício: Faça um algoritmo (fluxograma) que  calcula a média de três notas de um  determinado aluno e informa se o aluno está  aprovado ou reprovadoaprovado ou reprovado. – O aluno estará aprovado se sua média for maior  ou igual a 7;  14
  15. 15. Tipos de algoritmosp g • Fluxograma – Exercício: INÍCIO N1, N2, N3 MEDIA  >= 7 SIM NÃO MEDIA = (N1 + N2 + N3) / 3 APROVADO REPROVADO FIM 15 FIM
  16. 16. Tipos de algoritmosp g Português Estruturado (Portugol) Linguagem mais restrita que o português em  linguagem natural;linguagem natural; Simplificação extrema do português; Significados bem definidos para todos os termos  utilizados nas instruções; Possui um conjunto de palavras e regras  específicas (sintaxe da linguagem);p ( g g ); 16
  17. 17. Tipos de algoritmosp g Português Estruturado (Portugol) Normalmente as implementações são feitas em  papel escritas a mão;papel, escritas a mão; 17
  18. 18. Estrutura Sequencial em  Portugol
  19. 19. Estrutura sequencialq • Forma básica de um algoritmo em portugol: ALGORITMO DECLARE VARIÁVEIS TIPOS DE DADOS INSTRUÇÕES FIM ALGORITMOFIM_ALGORITMO 19
  20. 20. Tipos de algoritmosp g • Exemplo: Faça um algoritmo que calcula e  apresenta a multiplicação entre dois números.p p ç 20
  21. 21. Tipos de algoritmosp g ALGORITMO DECLARE N1, N2, M NUMÉRICODECLARE N1, N2, M NUMÉRICO ESCREVA “Digite dois números” LEIA N1, N2 M <‐ N1 * N2M < N1   N2 ESCREVA “MULTIPLICAÇÃO = ” , M FIM_ALGORITMO 21
  22. 22. VariáveisVariáveis
  23. 23. Variáveis • Trata‐se de uma representação para uma  posição de memória;p ç • Capaz de reter e representar um valor ou  expressão;expressão; f l d d d d d• Tem a finalidade de armazenar dados ou  informações de um programa por um curto  espaço de tempo; • Tempo de execução;Tempo de execução;  23
  24. 24. Variáveis • Toda variável é associada a um tipo de valor; • O tipo de uma variável identifica o tipo de  l l d á bvalor que ela poderá receber; • No Portugol, declaramos variáveis logo após a  l d DECLAREpalavra reservada DECLARE.  24
  25. 25. Exemplop ALGORITMO DECLARE  N1, N2, M NUMÉRICO, , NOME LITERAL ESCREVA “Digite dois números” LEIA N1, N2LEIA N1, N2 M <‐ N1 * N2 ESCREVA “MULTIPLICAÇÃO = ” , M FIM ALGORITMOFIM_ALGORITMO 25
  26. 26. Tipos de dadosTipos de dados
  27. 27. Tipos de dadosp TIPOTIPO DESCRIÇÃODESCRIÇÃO NuméricosNuméricos Representa valores inteiros e reaisRepresenta valores inteiros e reais Ex : 2 5Ex : 2 5 ‐‐3 1003 100 ‐‐151 5 6151 5 6 ‐‐3 453 45Ex.: 2, 5, Ex.: 2, 5, ‐‐3, 100, 3, 100, ‐‐151, 5.6, 151, 5.6, ‐‐3.45...3.45... Literais ou Literais ou  Representa texto entre aspas duplasRepresenta texto entre aspas duplas caracterescaracteres Ex.: “Sport Recife”, “B”, “1234”Ex.: “Sport Recife”, “B”, “1234” Representa os valores lógicosRepresenta os valores lógicos LógicosLógicos Representa os valores lógicos Representa os valores lógicos  VERDADEIRO ou FALSOVERDADEIRO ou FALSO 27
  28. 28. Exemplop ALGORITMO DECLARE  NOME, ENDERECO LITERAL IDADE, PESO NUMÉRICO EH SOLTEIRO LÓGICOEH_SOLTEIRO LÓGICO NOME <‐ “Thyago” ENDERECO <‐ “Rua Tal, 555” IDADE <‐ 29 EH_SOLTEIRO  <‐ falso  FIM ALGORITMOFIM_ALGORITMO 28
  29. 29. Operador de atribuiçãoOperador de atribuição
  30. 30. Operador de atribuiçãop ç • Utilizado para inserir um valor ou o resultado de uma  expressão em uma variável; • Representado por uma seta apontando para a  esquerda (<-);esquerda (< ); • Só podemos atribuir valores do mesmo tipo da  variável; 30
  31. 31. Exemplop ALGORITMOALGORITMO DECLARE  NOME, ENDERECO LITERAL IDADE NUM1 NUM2 SOMA NUMÉRICOIDADE, NUM1, NUM2, SOMA NUMÉRICO EH_SOLTEIRO LÓGICO NOME <‐ “Thyago” ENDERECO <‐ “Rua Tal, 555”, IDADE <‐ 29 SOMA < NUM1 + NUM2SOMA <‐ NUM1 + NUM2 EH_SOLTEIRO  <‐ falso  FIM_ALGORITMO 31
  32. 32. Comandos de entrada e saída  em Portugol
  33. 33. Comandos de entrada e saída • Comando de entrada (leia) • Utilizado para ler um valor digitado pelo  á i d f id lusuário, armazenando o referido valor em  uma variável indicada no comando; 33
  34. 34. Comandos de entrada e saída • Comando de saída (escreva) • Utilizado para escrever mensagens ou valores de  variáveis na saída padrão;variáveis na saída padrão; 34
  35. 35. Exemplop • Faça um algoritmo que leia o nome e a idade  de um indivíduo, exibindo‐os logo em seguida;g g 35
  36. 36. Exemplop ALGORITMOALGORITMO DECLARE NOME LITERAL IDADE NUMÉRICOIDADE NUMÉRICO ESCREVA “Digite seu nome” LEIA NOME ESCREVA “Digite sua idade”g LEIA IDADE ESCREVA “Seu nome é ” NOMEESCREVA “Seu nome é ”, NOME ESCREVA “Sua idade: ”, IDADE FIM_ALGORITMO 36
  37. 37. Estruturas CondicionaisEstruturas Condicionais
  38. 38. Estruturas Condicionais • Na vida real tomamos decisões a todo momento,  baseadas em escolhas; • Em algoritmos, chamamos tais decisões deEm algoritmos, chamamos tais decisões de  condições; • Associada a uma condição, existirá uma possível  alternativaalternativa; • Exemplo: Se o Sport não vencer o Santa Cruz na próxima  partida seu técnico será demitido;partida, seu técnico será demitido; 38
  39. 39. Estruturas Condicionais • Para criarmos estruturas condicionais simples  em Portugol, utilizamos as palavras reservadas g p SE e ENTÃO; • Sintaxe:• Sintaxe: SE condicao ENTÃO INÍCIO //// Instruções FIM 39 FIM
  40. 40. Exemplop • Faça um algoritmo que leia a idade de um  indivíduo e informe se o mesmo atingiu a g maioridade. 40
  41. 41. Exemplop ALGORITMO DECLARE idade NUMÉRICO ESCREVA “Digite sua idade:” LEIA idadeLEIA idade SE (idade >= 18) ENTÃO INÍCIO ESCREVA “Você atingiu a maioridade”ESCREVA  Você atingiu a maioridade FIM FIM_ALGORITMO 41
  42. 42. Estruturas Condicionais • Para criarmos estruturas condicionais com  duas opções de escolha em Portugol, pç g utilizamos as palavras reservadas SE, ENTÃO e  SENÃO;SENÃO; 42
  43. 43. Estruturas Condicionais • Sintaxe: SE (condicao) ENTÃO INICIO // Instruções que serão executadas se// Instruções que serão executadas se // a condição for verdadeira FIM SENÃO INICIO // Instruções que serão executadas se // a condição for falsa FIM 43 FIM
  44. 44. Exemplop • Faça um algoritmo que leia a idade de um  indivíduo e informe se o mesmo atingiu a g maioridade ou não. 44
  45. 45. Exemplop ALGORITMO DECLARE idade NUMÉRICODECLARE idade NUMÉRICO ESCREVA “Digite sua idade:” LEIA idadeLEIA idade SE (idade >= 18) ENTÃO INÍCIOINÍCIO ESCREVA “Você atingiu a maioridade” FIMFIM SENÃO INÍCIOINÍCIO ESCREVA “Você não atingiu a maioridade” FIM FIM_ALGORITMO 45
  46. 46. Estruturas Condicionais • Também podemos implementar estruturas  condicionais com mais de uma condição (expressão); • Subexpressões podem formar uma única expressão aSubexpressões podem formar uma única expressão a  partir do uso dos operadores lógicos E ou OU; • Para sabermos se determinada expressão será  verdadeira ou falsa deveremos checar a saída lógicaverdadeira ou falsa, deveremos checar a saída lógica  de cada subexpressão; 46
  47. 47. Exemplop • Uso do operador lógico OU: – Faça um algoritmo que lê uma sigla de um estado  brasileiro (considere que o usuário só ira digitarbrasileiro (considere que o usuário só ira digitar  um dos seguintes estados: PE, PB, SP ou RJ) e  informa se o estado digitado pertence aoinforma se o estado digitado pertence ao  Nordeste ou ao Sudeste. 47
  48. 48. Exemplop ALGORITMO DECLARE sigla LITERALDECLARE sigla LITERAL ESCREVA “Digite uma sigla (PE, PB, RJ, SP):” LEIA siglaLEIA sigla SE (sigla = “PE”) OU (sigla = “PB”) ENTÃO INÍCIOINÍCIO ESCREVA “É do Nordeste!” FIMFIM SE (sigla = “RJ”) OU (sigla = “SP”) ENTÃO INÍCIOINÍCIO ESCREVA “É do Sudeste!” FIM FIM_ALGORITMO 48
  49. 49. Comando de Seleção Múltipla • Em algumas situações, existem situações  mutuamente exclusivas: – Se uma situação for executada, as demais não  serão;serão; • Em casos desse tipo, um comando de seleção  úl i l é i i di d d dmúltipla é mais indicado do que o comando  SE; 49
  50. 50. Comando de Seleção Múltipla • Sintaxe: ESCOLHA (VARIAVEL) INÍCIO CASO VALOR_1_ // Instruções que serão executadas caso // VARIAVEL seja igual a VALOR_1 CASO VALOR 2CASO VALOR_2 // Instruções que serão executadas caso // VARIAVEL seja igual a VALOR_2 OUTROCASOOUTROCASO // Instruções que serão executadas caso // VARIAVEL NÃO seja igual a VALOR_1 e VALOR_2 FIM 50 FIM
  51. 51. Exemplop • Faça um algoritmo que lê o sexo de um  indivíduo (M ou F) e informa se o mesmo é ( ) homem ou mulher; 51
  52. 52. Exemplop ALGORITMO DECLARE sexo LITERALDECLARE sexo LITERAL ESCREVA “Digite seu sexo:” LEIA sexoLEIA sexo ESCOLHA (sexo) INÍCIOINÍCIO CASO “M” ESCREVA “É h ”ESCREVA “É um homem” CASO “F” ESCREVA “É lh ”ESCREVA “É uma mulher” OUTROCASO ESCREVA “Caractere inválido!” FIM 52
  53. 53. Exemplop FIM_ALGORITMO 53
  54. 54. Estruturas de RepetiçãoEstruturas de Repetição
  55. 55. Estruturas de Repetiçãop ç • Uma estrutura de repetição é utilizada quando... – Um trecho do algoritmo (lista de instruções) ou até mesmo  o algoritmo inteiro precisa ser repetido; • O número de repetições poderá ser fixo ou estar  atrelado a uma condição; – Fixo, quando sabemos quantas vezes um determinado  trecho de código será executado; – Atrelado a uma condição, quando a repetição de  instruções depende de uma ação, de um cálculo, etc.; 55
  56. 56. Estrutura de Repetição PARAEstrutura de Repetição PARA
  57. 57. PARA • Nesta estrutura, uma variável de controle é  inicializada com um valor. Para cada iteração, seu  valor é comparado com um valor final; • A execução da lista de instruções se repetirá até que  a variável de controle seja maior que o valor final;a a á e de co o e seja a o que o a o a ; • Para cada iteração a variável de controle é• Para cada iteração, a variável de controle é  incrementada; 57
  58. 58. PARA • Sintaxe: PARA variavel <- val_inicial ATÉ val_final FAÇA INÍCIO // Lista de instruções FIM 58
  59. 59. Exemplop • Faça um algoritmo que escreva os números  entre 1 e 5 (incluindo‐os).( ) 59
  60. 60. Exemplop ALGORITMO DECLARE i NUMÉRICODECLARE i NUMÉRICO PARA i <‐ 1 ATÉ 5 FAÇA ÍINÍCIO ESCREVA iESCREVA i FIM FIM_ALGORITMO 60
  61. 61. PARA • Para alterarmos a forma de contagem do laço  (crescente ou decrescente) e quanto a variável ( ) q de controle será incrementada ou  decrementada utilizamos a palavra reservadadecrementada, utilizamos a palavra reservada  PASSO, seguida de um valor; • Forma geral: PARA variavel <- val_inicial ATÉ val_final PASSO valor passo FAÇAForma geral:_p Ç INÍCIO // Lista de instruções 61 FIM
  62. 62. Exemplop • Faça um algoritmo que escreva os números  pares entre 1 e 10.p 62
  63. 63. Exemplop ALGORITMO DECLARE i NUMÉRICODECLARE i NUMÉRICO PARA i <‐ 2 ATÉ 10 PASSO 2 FAÇA ÍINÍCIO ESCREVA iESCREVA i FIM FIM_ALGORITMO 63
  64. 64. EnquantoEnquanto
  65. 65. Enquantoq • Nesta estrutura, uma expressão lógica é  avaliada. Se a mesma for verdadeira, uma lista  de comandos será executada; • A execução da lista se repetirá até que a  avaliação da condição resulte em FALSO;  65
  66. 66. Enquantoq • Forma geral: ENQUANTO (condição) FAÇA INÍCIOINÍCIO // Lista de instruções// ç FIM 66
  67. 67. Exemplop • Faça um algoritmo que lê diversos números  positivos e escreve o dobro de cada um. p Quando um número negativo for digitado, o  algoritmo deverá parar de ler númerosalgoritmo deverá parar de ler números. 67
  68. 68. Exemplop ALGORITMO DECLARE numero, dobro NUMÉRICO ESCREVA “Digite um número:” LEIA numero ENQUANTO (numero >= 0) FAÇA INÍCIO dobro <‐ numero * 2  ESCREVA dobro ESCREVA “Digite um número:”g LEIA numero FIM FIM_ALGORITMO 68
  69. 69. Repita atéRepita...até
  70. 70. Repita...atép • Nesta estrutura, todas as instruções são  executadas e uma expressão lógica é avaliada;p g • Sua lista de expressões se repetirá até que a  avaliação da condição resulte emavaliação da condição resulte em  VERDADEIRO; • Cada repetição da lista de instruções contida  na estrutura é chamada de iteração;na estrutura é chamada de iteração; • A estrutura Repita...até também é conhecida  l d ti ãcomo laço de repetição; 70
  71. 71. Repita...atép • Utilizamos as palavras reservadas repita e até para formar o laço de repetição;p ç p ç F l• Forma geral: REPITA //// Lista de instruções ATÉ condição 71 ATÉ condição
  72. 72. Exemplop • Faça um algoritmo que escreva os números  entre 1 e 10. 72
  73. 73. Exemplop ALGORITMO DECLARE numero NUMÉRICODECLARE numero NUMÉRICO numero <‐ 1 REPITA ESCREVA numeroESCREVA numero numero <‐ numero + 1 ATÉ numero > 10 FIM ALGORITMOFIM_ALGORITMO 73
  74. 74. ExercíciosExercícios
  75. 75. Exercício • Faça um algoritmo que lê o salário base de um  funcionário, calcula e mostra o salário a  receber, sabendo‐se que o funcionário tem  gratificação de 5% sobre o salário base e pagagratificação de 5% sobre o salário base e paga  imposto de 7% sobre este salário. 75
  76. 76. Exercício ALGORITMOALGORITMO DECLARE sal, sal_receber, grat, imp NUMÉRICO ESCREVA “Digite seu salário:” LEIA lLEIA sal grat <‐ sal * 5/100g / imp <‐ sal * 7/100  sal_receber <‐ sal + grat ‐ imp FIM ALGORITMOFIM_ALGORITMO 76
  77. 77. Exercício • Faça um algoritmo que lê o código correspondente  ao cargo de um funcionário, seu salário atual e  escreva o cargo correspondente, o valor do aumento  e seu novo salário. CÓDIGO CARGO PERCENTUAL 1 ESCRITURÁRIO 50% 2 SECRETÁRIO 35% 3 CAIXA 20%3 CAIXA 20% 4 GERENTE 10% 5 DIRETOR Não tem aumento 77
  78. 78. Exercício ALGORITMOALGORITMO DECLARE codigo, salario, aumento, novo_salario NUMÉRICO ESCREVA “Digite o código do cargo:”ESCREVA Digite o código do cargo: LEIA codigo ESCREVA “Digite o salário:”ESCREVA Digite o salário: LEIA salario ESCOLHA (codigo)ESCOLHA (codigo) INÍCIO CASO 1CASO 1 ESCREVA “Escriturário” a mento < salario * 50/100aumento <‐ salario * 50/100 78
  79. 79. Exercício CASO 2 ESCREVA “Secretário” aumento <‐ salario * 35/100 CASO 3 ESCREVA “Caixa” aumento <‐ salario * 20/100 CASO 4 ESCREVA “Gerente” aumento <‐ salario * 10/100 CASO 5 ESCREVA “Diretor” aumento <‐ 0 79
  80. 80. Exercício OUTROCASO ESCREVA “Código inválido” FIM novo_salario <‐ salario + aumento ESCREVA “Valor do aumento:”, aumento ESCREVA “O novo salário é:”, novo_salario FIM_ALGORITMO 80
  81. 81. Exercício • Faça um algoritmo que lê a idade de 10  pessoas, calcula e escreve:p A id d d i lh– A idade do mais velho; – A quantidade de pessoas com idade entre 12 e 18  anos (incluindo‐os); 81
  82. 82. Exercício ALGORITMOALGORITMO DECLARE i, idade, maior, quant NUMÉRICO PARA i < 1 ATÉ 10 FAÇAPARA i <‐ 1 ATÉ 10 FAÇA INÍCIO ESCREVA “Digite sua idade:” LEIA idadeLEIA idade SE (idade > maior) ENTÃO INÍCIOINÍCIO maior <‐ idade FIM 82
  83. 83. Exercício SE (idade > 12) E (idade < 18) ENTÃOSE (idade >= 12) E (idade <= 18) ENTÃO INÍCIO quant <‐ quant + 1 FIM FIM ESCREVA maiorESCREVA maior ESCREVA quant FIM_ALGORITMO 83

×