Programação de Computadores Profa Jacqueline 1 REVISÃO Construção de Algoritmos Estruturas de Controle Objetivo: Abordar as técnicas para entrada e saída de dados e as estruturas para controle do fluxo de dados em pseudocódigo e fluxograma; Entrada e Saída de Dados Entrada e Saída de Dados; Estruturas de Seleção (de Decisão ou de Desvio); Estruturas de Repetição. Entrada Saída É importante ressaltar determinados fatos que fundamentam a lógica computacional: A entrada dos dados que serão processados para obter a saída; Os dados que entram em processamento sofrem transformações resultantes do processo e uma saída é produzida, representando a solução de um problema. A entrada elementar de dados é feita por meio do teclado (dispositivo padrão) e é representada por: Ler (variável) Para uma variável inteira, por exemplo, esse comando: Procura uma seqüência de caracteres que representem os dígitos de um inteiro; Converte a seqüência em binário; Armazena o na posição correspondente à variável; Ao ocorrer o disparo pelo pressionar da tecla Enter ou Tab, a execução é retomada nesse ponto. Um computador e toda sua programação não seriam de nenhuma utilidade se o programa não mostrasse o resultado das operações; O dispositivo padrão de saída é o monitor do computador, e essa saída é representada com o comando: Mostrar (variável) A maioria das linguagens de programação possui recursos que permitem fazer uma formatação básica da saída de tela com comandos que escrevem na mesma linha ou pulam para a linha inferior.
Programação de Computadores Profa Jacqueline 2 Exemplo 1 O programa a seguir pergunta qual é o nome do usuário e o escreve novamente na tela. Algoritmo ExEntrada nome : literal "Qual o seu nome?" nome Mostrar ( Qual o seu nome? ). Ler (nome) Mostrar (nome) nome Exemplo 2 O programa a seguir realiza a soma de dois números inteiros dados pelo usuário. Algoritmo ExSoma. valor1, valor2, soma : inteiro Mostrar ( Qual o primeiro valor? ) Ler (valor1) Mostrar ( Qual o segundo valor? ) Ler (valor2) Soma valor1 + valor2 Mostrar (soma) Estruturas de Seleção ou Decisão Utilizadas quando existe a necessidade de verificar as condições para a realização de uma instrução ou de uma seqüência de instruções; Os testes de seleção também podem ser utilizados para verificar opções de escolha: Supondo que uma pessoa esteja jogando um jogo de computador, algumas verificações poderiam ser feitas: A pontuação necessária foi atingida? Deseja continuar jogando?
Programação de Computadores Profa Jacqueline 3 Dependendo do resultado das verificações e escolhas, trechos diferentes de código serão executados. As estruturas de seleção podem ser simples, compostas ou encadeadas. Estruturas de Seleção Simples condição instruções Se (condição) Então [início do bloco de decisão] instruções Se [fim do bloco de decisão] Exemplo 3 Verificar se um número fornecido pelo usuário é impar. Se for, exibir a mensagem: O número informado é ímpar. Algoritmo no_impar no: inteiro Leia no Ler (no) Se (no mod 2 = 1) Então no mod 2 = 1 "O número informado é ímpar" Mostrar ( O número informado é ímpar ) -Se. Estruturas de Seleção Composta condição instruções A instruções B
Programação de Computadores Profa Jacqueline 4 Se (condição) Então [início do bloco de decisão] instruções A [resultado verdadeiro] instruções B [resultado falso] Se [fim do bloco de decisão] Exemplo 4 A empresa XYZ concedeu um bônus de 20 por cento do valor do salário a todos os funcionários com tempo de trabalho na empresa igual ou superior a cinco anos e de 10 por cento aos demais. Calcular e exibir o valor do bônus. Algoritmo Premio salario, bonus: real tempo: inteiro Ler (salário) salario Ler (tempo) Se (tempo >= 5) Então tempo bonus salario * 0.20 bonus salario * 0.10 tempo >= 5 bonus salario * 0.20 "O valor do bonus é", bonus -Se bonus salario * 0.10 Mostrar ( O valor do bônus é, bônus). Estruturas de Seleção Encadeadas condição_ 1 condição_ 2 instruções A instruções B instruções C
Programação de Computadores Profa Jacqueline 5 Se (condição_1) Então Se Se (condição_2) Então instruções A instruções B Se instruções C Exemplo 5 Faça um algoritmo que receba três valores que representarão os lados de um triângulo e serão fornecidos pelo usuário. Verifique se os valores fornecidos formam um triângulo e classifique esse triângulo como: Eqüilátero: três lados iguais; Isósceles: dois lados iguais; Escaleno: três lados diferentes. Lembre se de que, para formar um triângulo: nenhum dos lados pode ser igual a zero; um lado deve ser menor do que a soma dos outros dois. Algoritmo triângulo A, B, C: inteiro Ler (A, B, C) Se (A <> 0).e. (B <> 0).e. (C <> ) Então Se (A < B+C).e. (B < A + C).e. (C < A + B) Então Se (A = B).e. (B = C) Então Mostrar ( Os números informados formam um triângulo equilátero ) Se (A = B).ou. (A = C).ou. (C = B) Então Mostrar ( Os números informados formam um triângulo isósceles ) Mostrar ( Os números informados formam um triângulo escaleno ) Se Se Mostrar ( Os valores informados não formam um triângulo ) Se Mostrar ( Os valores informados não formam um triângulo ) Se. Estruturas de Seleção de Múltipla Escolha
Programação de Computadores Profa Jacqueline 6 Uma estrutura de seleção de múltipla escolha é uma estrutura de seleção que funciona como um opções para escolha. Existem duas maneiras para representá la: utilizando o encadeamento da instrução se e utilizando a instrução escolha caso. A segunda é a mais indicada. Se variável = Tal_Coisa_1 Faça instrução a Se variável = Tal_Coisa_2 Então instrução b Se variável = Tal_Coisa_3 Então instrução c Escolha variável Caso Tal_Coisa_1 Faça instrução a Caso Tal_Coisa_2 Faça instrução b Caso Tal_Coisa_3 Faça instrução c Caso Contrário Faça instrução d Escolha instrução d Se Se Se Exemplo 6 Ler o código de um produto e exibir o seu nome de acordo com a tabela a seguir: Código do Produto Nome do Produto 001 Caderno 002 Lápis 003 Borracha Qualquer outro Diversos Algoritmo produto codigo: inteiro codigo codigo = 001 codigo = 002 codigo = 003 "Diversos" Ler (codigo) Escolha codigo "O produto é caderno" "O produto é lápis" "O produto é borracha" Caso 001: Mostrar ( O produto é caderno ) Caso 002: Mostrar ( O produto é lápis ) Caso 003: Mostrar ( O produto é borracha )
Programação de Computadores Profa Jacqueline 7 Caso contrário: Mostrar ( Diversos ) Escolha. Estruturas de Repetição Teste no Estrutura Enquanto: a condição de repetição é verificada antes de entrar no laço. Enquanto condição x for verdadeira Faça <Bloco de instruções> Enquanto; Exemplo 7 Ler 850 números fornecidos pelo usuário e calcular e exibir a média. Algoritmo ExEnquanto soma, num, media: real cont: inteiro soma 0 soma 0 cont 0 cont 0 Enquanto cont < 850 Faça cont < 850 media soma/ cont "Média = ", media Ler (num) soma soma + num cont cont + 1 media soma / cont Mostrar ( Média =, media). Estrutura de Repetição Teste no Loop num soma soma + num cont cont + 1 Estrutura Repita: permite que um ou mais comandos sejam executados repetidamente até uma condição específica tornar se verdadeira.
Programação de Computadores Profa Jacqueline 8 Repita <Bloco de instruções> Até (<condição>) Estrutura de Repetição iável de Controle Estrutura Para: utiliza variáveis de controle que definem exatamente o número de vezes que a seqüência de instruções será executada. Para <var> = <valor Inicial> Até <valor Final> Passo <incremento> Faça _Para; <Bloco de instruções> Exemplo 8 Ler 850 números fornecidos pelo usuário e calcular e exibir a média. Algoritmo ex_para soma, no, media: real cont: inteiro soma 0 Processamento Pré-Definido soma 0 cont 1, 850,1 media soma/ cont "Média = ", media Para cont 1 até 850 Passo 1 Faça Ler (no) soma soma + no Para media soma / cont Mostrar ( Média =, media). Loop no soma soma + no