1 / 45

Turma: Professor: E-mail: Página: Ambiente virtual:

IEC037 Introdução à Programação de Computadores Aula 03 – Estrutura Sequencial. Turma: Professor: E-mail: Página: Ambiente virtual:. Problema Inicial. Como revestir uma das paredes de um banheiro, usando ferramentas e material fornecido?. Definição de algoritmo.

audra-lyons
Download Presentation

Turma: Professor: E-mail: Página: Ambiente virtual:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IEC037 Introdução à Programação de Computadores Aula 03 – Estrutura Sequencial Turma: Professor: E-mail: Página: Ambiente virtual:

  2. Problema Inicial • Como revestir uma das paredes de um banheiro, usando ferramentas e material fornecido?

  3. Definição de algoritmo Uma sequência finita e ordenada de passos semambiguidadeque leva à resolução de um problema.

  4. Problema Inicial:: Solução 1 início Separar material necessário Preparar argamassa Assentar as pastilhas Fazer acabamento fim

  5. Problema Inicial:: Solução 2 início Comprar material necessário Existem várias maneiras de descrever uma solução algorítmica. Contratar um pedreiro Esperar ficar pronto Pagar o pedreiro fim

  6. Como descrever um algoritmo?

  7. Fluxogramas • Definição • Diagrama que utiliza símbolos para indicar a sequência de execução de um conjunto de comandos • Outras denominações • Diagrama de blocos • Diagrama de fluxo • Vantagem • Fácil leitura • Desvantagem • Escrita trabalhosa

  8. Fluxogramas:: Simbologia início / fim ação Deve começar com um verbo Usado apenas quando a entrada não é conhecida. Se o valor for pré-definido, use o retângulo. leitura de dados saída Sentido do fluxo de execução

  9. Problema 2 • Qual a área da parede do banheiro a ser revestida, se ela mede 4,4m de largura por 3,2m de altura? 3,2m 4,4m

  10. Processo de resolução de problemas algorítmicos Início 1 Identificar o problema Definir as entradas e as saídas 2 Decompor 3 Projetar o algoritmo Refinar passo a passo Converter o algoritmo em linguagem de programação 4 Testar solução 5 Fim

  11. Caracterização das Entradas e Saídas • Para uma identificação completa das entradas e saídas de um sistema, devemos levantar as seguintes características: • Nome da grandeza • Unidade de medida • Faixa de valores válidos

  12. Problema2 • Qual a área da parede do banheiro a ser revestida, se ela mede 4,4m de largura por 3,2m de altura?

  13. Problema 2:: Projetando a Solução • Deve-se atribuir o valor 4,4 para a largura. • Deve-se atribuir o valor 3,2 para a altura. • Deve-se atribuir o produto da largura pela altura à área resultante:

  14. Problema 2:: Solução início largura ← 4,4 altura ← 3,2 Variáveis e atribuições área ← largura * altura Exibir área fim

  15. O que são variáveis no contexto algorítmico? Variáveis representam um espaço de memória onde se pode armazenar um valor. Memória 4,4 altura 3,2 largura

  16. Variáveis :: Características altura ← 3,2 • Atribuição • Comando que define ou redefine o valor de uma variável. Lê-se: “altura recebe 3,2” ou “atribuir 3,2 à altura” Valor • Identificador • Nome da variável

  17. Variáveis :: Analogia Variáveis podem ser vistas como gavetas de um armário onde cabe apenas um único valor início largura ← 4,4 altura ← 3,2 largura 4,4 7,8 largura ← 7,8 altura 3,2 fim

  18. Qual a relação com variáveis no contexto matemático? Matemática Variáveis podem assumir o valor de qualquer elemento de um conjunto. Algoritmos Variáveis podem assumir apenas um único valor de cada vez.

  19. Problema 3 • Deseja-se revestir uma das paredes de um banheiro, que mede 4,7m × 2,9m, com pastilhas quadradas de 4cm de lado. • Quantas pastilhas são necessárias?

  20. Problema 3:: Projetando a Solução • Número de pastilhas (): • Área da parede: • Área da pastilha: Parte inteira mais 1 ? Como expressar essas operações aritméticas no fluxograma?

  21. Operadores Aritméticos • São utilizados para realizar as operações aritméticas básicas.

  22. Operadores Aritméticos • Entrada: 02 valores numéricos • Saída: 01 valor numérico valor numérico Operador Aritmético valor numérico valor numérico

  23. Operadores Aritméticos:: Formato Operando1 Operando2 Operador Exemplos: 2a a³    2 * a 5 ** 0,5 a ** 3

  24. Operadores Aritméticos:: Prioridade Da esquerda para a direita 4 * 3 ** 2 36 Na dúvida, use parênteses. (4 * 3) ** 2 144 Exemplos: 4 * 5 % 3 2 4 * (5 % 3) 8

  25. Voltando ao Problema 3 • Deseja-se revestir uma das paredes de um banheiro, que mede 4,7m × 2,9m, com pastilhas quadradas de 4cm de lado. • Quantas pastilhas são necessárias?

  26. Problema 3:: Solução Memória início 470 largura Operadores Aritméticos largura ← 470 altura ← 290 lado ← 4 Todos na mesma unidade de medida! 290 altura 4 lado N ← (largura * altura) // (lado ** 2) + 1 8519 N Exibir N fim

  27. Problema 4 • Deseja-se revestir uma das paredes de um banheiro, que mede 5,2m × 3,2m, com pastilhas quadradas de 5cm de lado. As pastilhas são vendidas em caixas de 1000 unidades, que custam R$ 450,00 cada. • Quanto vou gastar?

  28. Problema 4:: Projetando a Solução • Reusamos solução do problema anterior: • Número de pastilhas () • Custo Total (): Parte inteira mais 1

  29. Problema 4:: Solução início Memória 520 largura largura ← 520 altura ← 320 lado ← 5 custoUnit← 450,00 320 altura 5 lado custoTotal ← ((N // 1000) + 1) * custoUnit N ← (largura * altura) // (lado ** 2) 450,00 custoUnit 6656 N Exibir custoTotal 3150,00 custoTotal fim

  30. É possível generalizar a entrada? • Nas soluções anteriores, os fluxogramas foram específicos aos problemas. • Vamos generalizar o fluxograma utilizando um novo símbolo: Leitura de dados

  31. Problema 4:: Solução generalizada início Ler largura Ler altura Ler lado Ler custoUnit N ← (largura * altura) // (lado ** 2) custoTotal ← ((N // 1000) + 1) * custoUnit Exibir custoTotal fim

  32. Problema 5 • Um professor esqueceu de corrigir uma questão de uma prova. Agora, ele tem de somar um ponto à nota dos alunos. • Qual algoritmo a ser adotado?

  33. Problema 5:: Solução bruta Memória início 6,2 notaInicial 7,2 Ler notaInicial notaFinal notaFinal← notaInicial + 1 Exibir notaFinal fim

  34. Problema 5:: Solução refinada início Memória Ler nota 5,2 nota Memória nota ← nota + 1 6,2 nota Exibir nota fim

  35. Mesma variável em ambos os lados do operador atribuição início nota ← nota + 1 Verificar valor atual da variável “nota” Somar “nota” Armazenar resultado na mesma variável “nota” ? O que acontece? fim

  36. Problema 6 • Qual o valor exibido pelo fluxograma abaixo? início A ← 5 B ← 3 B ← B * A Exibir B fim

  37. Problema 6:: Solução • Qual o valor exibido pelo fluxograma abaixo? Memória Memória início A ← 5 B ← 3 5 5 A A 15 3 B B B ← B * A Exibir B fim

  38. Problema 7 • Qual o valor exibido pelo fluxograma abaixo? início VAL1 ← 10 VAL2 ← 16 VAL3 ← VAL2 – VAL1 VAL3 ← VAL1 – VAL2 Exibir VAL3 fim

  39. Problema 7:: Solução • Qual o valor exibido pelo fluxograma abaixo? Memória início VAL1 ← 10 VAL2 ← 16 10 10 10 VAL1 VAL1 VAL1 VAL3 ← VAL2 – VAL1 16 16 16 VAL2 VAL2 VAL2 ? 6 -6 VAL3 VAL3 VAL3 VAL3 ← VAL1 – VAL2 Exibir VAL3 fim

  40. Problema 8 • Qual os valores exibidos pelo fluxograma abaixo? PRIM ← 5 início SEG ← PRIM TER ← SEG PRIM ← 8 Exibir PRIM, SEG, TER fim

  41. Problema 8:: Solução • Qual os valores exibidos pelo fluxograma abaixo? Memória PRIM ← 5 início 8 5 5 5 SEG ← PRIM PRIM PRIM PRIM PRIM ? 5 5 5 SEG SEG SEG SEG TER ← SEG 5 ? ? 5 TER TER TER TER PRIM ← 8 Exibir PRIM, SEG, TER fim

  42. Problema 9 • Deseja-se calcular o perímetro de um triângulo retângulo. • Conhece-se apenas as medidas dos catetos. • O que há de errado na solução ao lado? início Ler C1 Ler C2 H ← (C1 ** 2 + C2 ** 2) ** 0,5 Exibir H fim

  43. Problema 9:: Solução • O problema a ser resolvido é a determinação do perímetro, e não da hipotenusa, que é apenas um passo intermediário. início Ler C1 Ler C2 H ← (C1 ** 2 + C2 ** 2) ** 0,5 P ← H + C1 + C2 Exibir P fim

  44. Referências bibliográficas • Menezes, Nilo Ney Coutinho (2010). Introdução à Programação com Python. Editora Novatec. • Farrer, Harry (2011). Algoritmos Estruturados, 3ª edição. Editora LTC. • Forbellone, A. L. V.; Eberspächer, H. F. (2006) Lógica de Programação, 3ª edição. Pearson. • HETLAND, Magnus Lie (2008). Beginning Python: FromNoviceto Professional. Springer eBooks, 2ª edição. Disponível em: http://dx.doi.org/10.1007/978-1-4302-0634-7.

  45. Dúvidas?

More Related