Prévia do material em texto
Português Estruturado (Portugol) Prof. Valério Rosset Profa. Mariá C. V. N. Rosset Parte 2 Estrutura de Seleção Simples Desvios condicionais podem ser realizados com a estrutura de seleção simples “Se … então” Lembrando que o “Se” realiza um teste lógico sobre uma expressão. Sintaxe: se (expressão) então início ação; fim; fimse; Executa a ação apenas se o valor lógico da expressão for verdadeira Estrutura de Seleção Simples Ex: Assumindo que x=2; se (x>1) então início ação; fim; fimse; Utilizando o mesmo algoritmo da média para informar o aluno sobre sua aprovação. 1. Algoritmo Média Aritmética 2. início // começo do algoritmo 3. //declaração de variáveis 4. inteiro: nota1, nota2, nota3, nota4; // notas bimestrais 5. real: mediaAnual; // média anual 6. //entrada … 7. //processamento 8. mediaAnual (nota1+nota2+nota3+nota4) / 4; 9. //saída 10. se ( mediaAnual ≥ 7) então 11. escreva (“o aluno foi aprovado!”); 12. fimse; 13. fim // fim do algoritmo Estrutura de Seleção Composta Desvios condicionais também podem ser realizados com a estrutura de seleção composta “Se … então … senão” Sintaxe: Se (expressão) então inicio ação; Fim; Senão inicio ação; Fim; fimse Executa a ação apenas se o valor lógico da expressão for falsa 1. Algoritmo Média Aritmética 2. início // começo do algoritmo 3. //declaração de variáveis 4. inteiro: nota1, nota2, nota3, nota4; // notas bimestrais 5. real: mediaAnual; // média anual 6. //entrada … 7. //processamento 8. mediaAnual (nota1+nota2+nota3+nota4) / 4; 9. //saída 10. se ( mediaAnual ≥ 7) então 11. escreva (“o aluno foi aprovado!”); 12. senão 13. escreva (“o aluno foi reprovado!”); 14. fimse; 15. fim // fim do algoritmo 1. Algoritmo Média Aritmética 2. … 3. se ( mediaAnual ≥ 7) então 4. início 5. escreva (“você foi aprovado!”); 6. … 7. escreva (mediaAnual); 8. fim; 9. senão 10. escreva (“você foi reprovado!”); 11. fimse; 12. fim // fim do algoritmo 1. Algoritmo Média Aritmética 2. … 3. se ( mediaAnual ≥ 7) então 4. início 5. escreva (“você foi aprovado!”); 6. … 7. escreva (mediaAnual); 8. fim; 9. senão 10. escreva (“você foi reprovado!”); 11. fimse; 12. fim // fim do algoritmo Não há “;” aqui Indentação do Algoritmo Indentar: significar utilizar recuos nas linhas de instruções para deixar o algoritmo mais legível ao humano. Para fazer isso utilizamos espaços em branco ou tabulações para “criar” uma hierarquia entre as instruções nos algoritmos 1. Algoritmo Média Aritmética 2. … 3. se ( mediaAnual ≥ 7) então 4. início 5. escreva (“você foi aprovado!”); 6. … 7. escreva (mediaAnual); 8. fim; 9. senão 10. escreva (“você foi reprovado!”); 11. fimse; 12. fim // fim do algoritmo Algoritmo sem indentação. 1. Algoritmo Média Aritmética 2. … 3. se ( mediaAnual ≥ 7) então 4. início 5. escreva (“você foi aprovado!”); 6. … 7. escreva (mediaAnual); 8. fim; 9. senão 10. escreva (“você foi reprovado!”); 11. fimse; 12. fim // fim do algoritmo Indentação em 3 Níveis! 1. Algoritmo Média Aritmética 2. … 3. se ( mediaAnual ≥ 7) então 4. início 5. escreva (“você foi aprovado!”); 6. … 7. escreva (mediaAnual); 8. fim; 9. senão 10. escreva (“você foi reprovado!”); 11. fimse; 12. fim // fim do algoritmo Inicio, meio e fim no mesmo nível 1. Algoritmo Média Aritmética 2. … 3. se ( mediaAnual ≥ 7) então 4. início 5. escreva (“você foi aprovado!”); 6. … 7. escreva (mediaAnual); 8. fim; 9. senão 10. escreva (“você foi reprovado!”); 11. fimse; 12. fim // fim do algoritmo Sugestão: 3 espaços ou uma tabulação para cada nível. Exercício 3 Escreva um algoritmo em PORTUGOL para calcular as raízes reais de uma equação do segundo grau. Os valores de entrada serão a, b e c fornecidos pelo usuário. Use indentação. a deltab acbdelta 2 42 Estrutura de Seleção Encadeada Sequências Encadeadas, sintaxe: se (expressão) então ação; senão se (expressão) então ação; senão se (… fimse; fimse; fimse; Estrutura de Seleção Encadeada Exemplo Dados 3 valores A, B e C. Verificar se: É um triângulo? Se sim, verificar: Se é equilátero, escaleno ou isósceles. Triângulo: cada lado é menor que a soma dos outros dois. Equilátero: todos os lados iguais. Isósceles: dois lados iguais Escaleno: todos diferentes. Estrutura de Seleção Encadeada Exemplo Tabela de decisão: É Triângulo? É Equilátero? É isosceles? É escaleno? Saída V V V F “Equilátero” V F V F “Isosceles” V F F V “Escaleno” F - - - Não é Δ! Estrutura de Seleção Encadeada Exemplo Dando significado as perguntas: Triângulo: (A<B+C) E (B<A+C) E (C<A+B) Equilátero: (A=B) E (B=C) Isósceles: (A=B) OU (A=C) OU (B=C) Escaleno: (A<>B) E (A<>C) E (B<>C) Estrutura de Seleção Encadeada Exemplo Escrevendo o Algoritmo: … Exercício 4 Escreva um algoritmo em PORTUGOL para calcular a média anual numa matéria onde o peso das provas é dependente da área: Dados: Matemática: P1, P2 e P3 tem peso idêntico. Português: P1=30%, P2=20%,P3=50% História: P1=25%, P2=30%,P3=45% Média Final para aprovação: 7,0 Entrada: Matéria, nota em cada prova (de 1 a 10). Saída: Média Ponderada e Se o aluno foi aprovado ou não. Português Estruturado (Portugol) Prof. Valério Rosset Profa. Mariá C. V. N. Rosset Parte 3 Seleção com Múltipla Escolha Ideal para um conjunto de valores discretos que precisa ser testado na forma uma seleção de encadeada homogênea: se- senão-se Utilizado então para facilitar a construção dos algoritmos quando o conjunto de valores é grande. Seleção com Múltipla Escolha Sintaxe: escolha X caso v1: ação; caso v2: ação; caso v3 .. v10: ação; caso v11, V12, V13: ação; … caso vn: ação; exceção: ação; <opcional> fimescolha; Exemplo: Utilizando Seleção Encadeada se (X = V1) então ação1; senão se (X =V2) então ação2; senão se (X > V3) E (X<V4) então ação3; senão se (X = V5) OU (X=V6) então ação4; senão se (X = V7) então ação5; senão ação6; fimse; fimse; fimse; fimse; fimse; Exemplo: Utilizando Seleção Múltipla Escolha escolha X caso V1: ação1; caso V2: ação2; caso V3 .. V4 : ação3; caso V5, V6: ação4; caso V7: ação5; exceção: ação6; fimescolha; Exercício 5 Escreva um algoritmo em PORTUGOL emular uma calculadora que compute uma operação aritmética de dois números e apresente o resultado ao usuário. Operações possíveis: Adição (“+”), Subtração (“-”), divisão (“/”) , Multiplicação (“*”). Entrada: Dois valores e um símbolo representando a operação a ser realizada, todos fornecidos pelo usuário. Saída: O resultado da operação. Estruturas de Repetição Estruturas de repetição podem ser utilizadas quando é preciso repetir um conjunto de instruções para completar uma tarefa. Voltando ao algoritmo para o cálculo da média aritmética. Como ler, calcular e apresentar a média aritmética de mais de um aluno, digamos, 10, 20 ou mais? Algoritmo Média Aritmética 1. início // começo do algoritmo 2. //declaração de variáveis 3. inteiro:N1,N2,N3,N4; // notas bimestrais 4. real: MA; //média anual 5. //entrada 6. leia(N1); 7. leia(N2); 8. leia(N3); 9. leia(N4); 10. //processamento 11. MA (N1+N2+N3+N4) / 4; 12. //saída 13. escreva(MA); 14. fim // fim do algoritmo Algoritmo Média Aritmética 1. início // começo do algoritmo 2. //declaração de variáveis 3. inteiro:N1,N2,N3,N4; // notas bimestrais 4. real: MA; // média anual 5. //entrada 6. leia(N1); 7. leia(N2); 8. leia(N3); 9. leia(N4); 10. //processamento 11. MA (N1+N2+N3+N4) / 4; 12. //saída 13. escreva(MA); 14. fim // fim do algoritmo Algoritmo Média Aritmética 1. início // começo do algoritmo 2. //declaração de variáveis 3. inteiro:N1,N2,N3,N4; // notas bimestrais 4. real: MA; // média anual 5. //entrada 6. leia(N1); 7. leia(N2); 8. leia(N3); 9. leia(N4); 10. //processamento 11. MA (N1+N2+N3+N4) / 4; 12. //saída 13. escreva(MA); 14. fim // fim do algoritmo Será preciso repetir esse conjunto de instruções n vezes Estruturas de Repetição Com teste no Início Sintaxe: equanto (expressão) faça início ação 1; ação 2; ação n; fim fimenquanto; Estruturas de Repetição Com teste no Início Sintaxe: equanto (expressão) faça início ação 1; ação 2; ação n; fim; fimenquanto; Enquanto valor da expressão lógica for VERDADEIRO Estruturas de Repetição Com teste no Início Exemplo: Controle de Parada utilizando variável de controle. Variável de contrtole: contador 0; equanto (contador<10) faça início escreva (contador); contador contador+1; fim; fimenquanto; Estruturas de Repetição Com teste no Início Exemplo: Controle de Parada utilizando variável de controle. Variável de contrtole: contador 0; equanto (contador<10) faça início escreva (contador); contador contador+1; fim; fimenquanto; Isso chama-se incrementar o valor deuma variável em 1 Exercício 6 Utilizando a estrutura de repetição com teste no início, escreva um algoritmo em PORTUGOL para calcular e apresentar a média aritmética final de 50 alunos. Entrada: será o nome do aluno e as notas das 4 provas, prova 1,2,3 e 4. Saída: deverá ser a média de cada aluno. Algoritmo Média Aritmética para 50 alunos 1. início // começo do algoritmo 2. //declaração de variáveis 3. caracter: nome; 4. inteiro: cont, N1,N2,N3,N4; 5. real: MA; 6. cont 0; //inicialização de variável 7. enquanto (cont<50) faça //processamento 8. inicio 9. leia(nome); 10. leia(N1); 11. leia(N2); 12. leia(N3); 13. leia(N4); 14. MA (N1+N2+N3+N4) / 4; 15. escreva(“o aluno de nome:”, nome); • escreva(“tem média igual a”, MA); 1. fim; 2. fimenquanto; 3. fim // fim do algoritmo Estruturas de Repetição Com teste no Final Tem exatamente a mesma função da estrutura de repetição com teste no início. Sintaxe: faça início ação 1; ação n; fim; enquanto (expresssão); Estruturas de Repetição Com teste no Final Exemplo: faça início ação 1; contador contador + 1; fim; enquanto (expresssão); Enquanto valor da expressão lógica for VERDADEIRO Contador é atualizado antes da primeira verificação da expressão lógica Estruturas de Repetição Com variável de controle É utilizada quando sabemos exatamente o número exato de repetições. Sintaxe: Para V de vi até vf passo p faça início C1; C2; … Cn; fim fimpara V: variável de controle vi: valor inicial de V vf: valor final de V p: valor do incremento de V Estruturas de Repetição Com variável de controle Exemplo: Para i de 1 até 50 passo 1 faça início leia (nota1); leia (nota2); … escreva (MA); fim; fimpara i: variável de controle 1: valor inicial de i 50: valor final de i 1: valor do incremento de i Exercício 7 Escreva 3 algoritmos, utilizando as diferentes estruturas de repetição, em PORTUGOL para calcular e apresentar a tabuada de um número entre 1 a 10. Entrada: um número inteiro entre 1 a 10 (é preciso fazer a validação da entrada). Saída: deverá ser a tabuada do número de entrada. Exercício 7 Correção no quadro! Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56 Slide 57 Slide 58 Slide 59 Slide 60 Slide 61 Slide 62 Slide 63 Slide 64 Slide 65 Slide 66 Slide 67