Algoritmos e Programação - 2014.1 - Aula de Revisão - 1º Estágio

1.514 visualizações

Publicada em

Algoritmos e Programação - 2014.1 - Aula de Revisão - 1º Estágio

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.514
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
95
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Algoritmos e Programação - 2014.1 - Aula de Revisão - 1º Estágio

  1. 1. Algoritmos e Programação Prof.º Thyago Maia 2014.1
  2. 2. Objetivos Revisão – 1º Estágio • Revisar todo conteúdo abordado no primeiro estágio da disciplina; 2
  3. 3. Tópicos Abordados
  4. 4. Tópicos Abordados • Introdução aos algoritmos; • Estrutura Sequencial; • Estruturas Condicionais: – SE...ENTÃO...SENÃO – ESCOLHA...CASO • Estruturas de Repetição: – PARA – ENQUANTO – REPITA...ATÉ 4
  5. 5. Introduçã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 determinada tarefa ou problema;  Não envolve apenas aspectos computacionais; – 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.: um ovo) através de uma sequência de passos;  Os passos são executados um após o outro (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 esperada;  Podem existir um ou mais algoritmos que retornam uma saída esperada;  Mas podem existir algoritmos mais eficientes que outros; 8
  9. 9. Por que criamos algoritmos?  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...  A linguagem algorítmica é similar a uma linguagem de programação;  Logo, aprendendo a criar algoritmos, estamos aptos a programar em qualquer linguagem de programação; 9
  10. 10. Tipos de algoritmos
  11. 11. Tipos de algoritmos  Descrição Narrativa;  Fluxograma;  Pseudocódigo, Português Estruturado ou Portugol; 11 SUBJETIVIDADE PRECISÃO
  12. 12. Tipos de algoritmos  Fluxograma  Descrevem o fluxo de ação de um determinado trabalho lógico;  Usa símbolos convencionais, permitindo poucas variações;  Representados por símbolos geométricos; 12
  13. 13. Tipos de algoritmos • Fluxograma – Conjunto de Símbolos: 13 INÍCIO OU FIM DE ALGORITMO CÁLCULO OU ATRIBUIÇÃO DE VALOR ENTRADA DE DADOS SAÍDA DE DADOS DECISÃOFLUXO DE DADOS
  14. 14. Tipos de algoritmos • 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 reprovado. – O aluno estará aprovado se sua média for maior ou igual a 7; 14
  15. 15. Tipos de algoritmos • Fluxograma – Exercício: 15 INÍCIO MEDIA = (N1 + N2 + N3) / 3 N1, N2, N3 APROVADO FIM MEDIA >= 7 SIM NÃO REPROVADO
  16. 16. Tipos de algoritmos  Português Estruturado (Portugol)  Linguagem mais restrita que o português em 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); 16
  17. 17. Tipos de algoritmos  Português Estruturado (Portugol)  Normalmente as implementações são feitas em papel, escritas a mão; 17
  18. 18. Estrutura Sequencial em Portugol
  19. 19. Estrutura sequencial • Forma básica de um algoritmo em portugol: ALGORITMO DECLARE FIM_ALGORITMO 19 VARIÁVEIS INSTRUÇÕES TIPOS DE DADOS
  20. 20. Tipos de algoritmos • Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números. 20
  21. 21. Tipos de algoritmos ALGORITMO DECLARE N1, N2, M NUMERICO ESCREVA “Digite dois números” LEIA N1, N2 M <- N1 * N2 ESCREVA “MULTIPLICAÇÃO = ” , M FIM_ALGORITMO 21
  22. 22. Variáveis
  23. 23. Variáveis • Trata-se de uma representação para uma posição de memória; • Capaz de reter e representar um valor ou expressão; • Tem a finalidade de armazenar dados ou informações de um programa por um curto espaço de tempo; • 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 valor que ela poderá receber; • No Portugol, declaramos variáveis logo após a palavra reservada DECLARE. 24
  25. 25. Exemplo ALGORITMO DECLARE N1, N2, M NUMERICO NOME LITERAL ESCREVA “Digite dois números” LEIA N1, N2 M <- N1 * N2 ESCREVA “MULTIPLICAÇÃO = ” , M FIM_ALGORITMO 25
  26. 26. Tipos de dados
  27. 27. Tipos de dados 27 TIPO DESCRIÇÃO Numéricos Representa valores inteiros e reais Ex.: 2, 5, -3, 100, -151, 5.6, -3.45... Literais ou caracteres Representa texto entre aspas duplas Ex.: “Sport Recife”, “B”, “1234” Lógicos Representa os valores lógicos VERDADEIRO ou FALSO
  28. 28. Exemplo ALGORITMO DECLARE NOME, ENDERECO LITERAL IDADE, PESO NUMERICO EH_SOLTEIRO LOGICO NOME <- “Thyago” ENDERECO <- “Rua Tal, 555” IDADE <- 29 EH_SOLTEIRO <- falso FIM_ALGORITMO 28
  29. 29. Operador de atribuição
  30. 30. Operador de atribuição • Utilizado para inserir um valor ou o resultado de uma expressão em uma variável; • Representado por uma seta apontando para a esquerda (<-); • Só podemos atribuir valores do mesmo tipo da variável; 30
  31. 31. Exemplo ALGORITMO DECLARE NOME, ENDERECO LITERAL IDADE, NUM1, NUM2, SOMA NUMERICO EH_SOLTEIRO LOGICO NOME <- “Thyago” ENDERECO <- “Rua Tal, 555” IDADE <- 29 SOMA <- 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 usuá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; 34
  35. 35. Exemplo • Faça um algoritmo que leia o nome e a idade de um indivíduo, exibindo-os logo em seguida; 35
  36. 36. Exemplo ALGORITMO DECLARE NOME LITERAL IDADE NUMERICO ESCREVA “Digite seu nome” LEIA NOME ESCREVA “Digite sua idade” LEIA IDADE ESCREVA “Seu nome é ”, NOME ESCREVA “Sua idade: ”, IDADE FIM_ALGORITMO 36
  37. 37. Estruturas Condicionais
  38. 38. Estruturas Condicionais • Na vida real tomamos decisões a todo momento, baseadas em escolhas; • Em algoritmos, chamamos tais decisões de condições; • Associada a uma condição, existirá uma possível alternativa; • Exemplo: Se o Sport não vencer o Santa Cruz na próxima partida, seu técnico será demitido; 38
  39. 39. Estruturas Condicionais • Para criarmos estruturas condicionais simples em Portugol, utilizamos as palavras reservadas SE e ENTAO; • Sintaxe: 39 SE condicao ENTAO INICIO // Instruções FIM
  40. 40. Exemplo • Faça um algoritmo que leia a idade de um indivíduo e informe se o mesmo atingiu a maioridade. 40
  41. 41. Exemplo ALGORITMO DECLARE idade NUMERICO ESCREVA “Digite sua idade:” LEIA idade SE (idade >= 18) ENTAO INICIO 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, utilizamos as palavras reservadas SE, ENTAO e SENAO; 42
  43. 43. Estruturas Condicionais • Sintaxe: 43 SE (condicao) ENTAO INICIO // Instruções que serão executadas se // a condição for verdadeira FIM SENAO INICIO // Instruções que serão executadas se // a condição for falsa FIM
  44. 44. Exemplo • Faça um algoritmo que leia a idade de um indivíduo e informe se o mesmo atingiu a maioridade ou não. 44
  45. 45. Exemplo ALGORITMO DECLARE idade NUMERICO ESCREVA “Digite sua idade:” LEIA idade SE (idade >= 18) ENTAO INICIO ESCREVA “Você atingiu a maioridade” FIM SENAO INICIO 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 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ógica de cada subexpressão; 46
  47. 47. Exemplo • 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 digitar um dos seguintes estados: PE, PB, SP ou RJ) e informa se o estado digitado pertence ao Nordeste ou ao Sudeste. 47
  48. 48. Exemplo ALGORITMO DECLARE sigla LITERAL ESCREVA “Digite uma sigla (PE, PB, RJ, SP):” LEIA sigla SE (sigla = “PE”) OU (sigla = “PB”) ENTAO INICIO ESCREVA “É do Nordeste!” FIM SE (sigla = “RJ”) OU (sigla = “SP”) ENTAO INICIO 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; • Em casos desse tipo, um comando de seleção múltipla é mais indicado do que o comando SE; 49
  50. 50. Comando de Seleção Múltipla • Sintaxe: 50 ESCOLHA (VARIAVEL) INÍCIO CASO VALOR_1 // Instruções que serão executadas caso // VARIAVEL seja igual a VALOR_1 CASO VALOR_2 // Instruções que serão executadas caso // VARIAVEL seja igual a VALOR_2 OUTROCASO // Instruções que serão executadas caso // VARIAVEL NÃO seja igual a VALOR_1 e VALOR_2 FIM
  51. 51. Exemplo • 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. Exemplo ALGORITMO DECLARE sexo LITERAL ESCREVA “Digite seu sexo:” LEIA sexo ESCOLHA (sexo) INICIO CASO “M” ESCREVA “É um homem” CASO “F” ESCREVA “É uma mulher” OUTROCASO ESCREVA “Caractere inválido!” FIM 52
  53. 53. Exemplo FIM_ALGORITMO 53
  54. 54. Estruturas de Repetição
  55. 55. Estruturas de Repetição • 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 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; • Para cada iteração, a variável de controle é incrementada; 57
  58. 58. PARA • Sintaxe: 58 PARA variavel <- val_inicial ATE val_final FACA INICIO // Lista de instruções FIM
  59. 59. Exemplo • Faça um algoritmo que escreva os números entre 1 e 5 (incluindo-os). 59
  60. 60. Exemplo ALGORITMO DECLARE i NUMERICO PARA i <- 1 ATE 5 FACA INICIO ESCREVA 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 de controle será incrementada ou decrementada, utilizamos a palavra reservada PASSO, seguida de um valor; • Forma geral: 61 PARA variavel <- val_inicial ATE val_final PASSO valor_passo FACA INICIO // Lista de instruções FIM
  62. 62. Exemplo • Faça um algoritmo que escreva os números pares entre 1 e 10. 62
  63. 63. Exemplo ALGORITMO DECLARE i NUMERICO PARA i <- 2 ATE 10 PASSO 2 FACA INICIO ESCREVA i FIM FIM_ALGORITMO 63
  64. 64. Enquanto
  65. 65. Enquanto • 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. Enquanto • Forma geral: 66 ENQUANTO (condição) FACA INICIO // Lista de instruções FIM
  67. 67. Exemplo • Faça um algoritmo que lê diversos números positivos e escreve o dobro de cada um. Quando um número negativo for digitado, o algoritmo deverá parar de ler números. 67
  68. 68. Exemplo ALGORITMO DECLARE numero, dobro NUMERICO ESCREVA “Digite um número:” LEIA numero ENQUANTO (numero >= 0) FACA INICIO dobro <- numero * 2 ESCREVA dobro ESCREVA “Digite um número:” LEIA numero FIM FIM_ALGORITMO 68
  69. 69. Repita...ate
  70. 70. Repita...ate • Nesta estrutura, todas as instruções são executadas e uma expressão lógica é avaliada; • Sua lista de expressões se repetirá até que a avaliação da condição resulte em VERDADEIRO; • Cada repetição da lista de instruções contida na estrutura é chamada de iteração; • A estrutura Repita...até também é conhecida como laço de repetição; 70
  71. 71. Repita...ate • Utilizamos as palavras reservadas repita e ate para formar o laço de repetição; • Forma geral: 71 REPITA // Lista de instruções ATE condição
  72. 72. Exemplo • Faça um algoritmo que escreva os números entre 1 e 10. 72
  73. 73. Exemplo ALGORITMO DECLARE numero NUMERICO numero <- 1 REPITA ESCREVA numero numero <- numero + 1 ATE numero > 10 FIM_ALGORITMO 73
  74. 74. Exercí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 paga imposto de 7% sobre este salário. 75
  76. 76. Exercício ALGORITMO DECLARE sal, sal_receber, grat, imp NUMERICO ESCREVA “Digite seu salário:” LEIA sal grat <- sal * 5/100 imp <- sal * 7/100 sal_receber <- sal + grat - imp FIM_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. 77 CÓDIGO CARGO PERCENTUAL 1 ESCRITURÁRIO 50% 2 SECRETÁRIO 35% 3 CAIXA 20% 4 GERENTE 10% 5 DIRETOR Não tem aumento
  78. 78. Exercício ALGORITMO DECLARE codigo, salario, aumento, novo_salario NUMERICO ESCREVA “Digite o código do cargo:” LEIA codigo ESCREVA “Digite o salário:” LEIA salario ESCOLHA (codigo) INICIO CASO 1 ESCREVA “Escriturário” aumento <- 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: – A idade do mais velho; – A quantidade de pessoas com idade entre 12 e 18 anos (incluindo-os); 81
  82. 82. Exercício ALGORITMO DECLARE i, idade, maior, quant NUMERICO PARA i <- 1 ATE 10 FACA INICIO ESCREVA “Digite sua idade:” LEIA idade SE (idade > maior) ENTAO INICIO maior <- idade FIM 82
  83. 83. Exercício SE (idade >= 12) E (idade <= 18) ENTAO INICIO quant <- quant + 1 FIM FIM ESCREVA maior ESCREVA quant FIM_ALGORITMO 83

×