A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Turma: Professor: E-mail: Página: Ambiente virtual: IEC037 Introdução à Programação de Computadores Aula 03 – Estrutura Sequencial."— Transcrição da apresentação:

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

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 sem ambiguidade que 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 Contratar um pedreiro Esperar ficar prontoPagar o pedreiro fim Existem várias maneiras de descrever uma solução algorítmica.

6 Como descrever um algoritmo? Narrativa O algoritmo é descrito em linguagem natural, que é abstrata, imprecisa e ambígua. Fluxograma Representação gráfica, através de símbolos geométricos (retângulos, losangos, etc.), que enfatizam os passos individuais do algoritmo e suas interconexões. Pseudo-Código Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para descrever os algoritmos, usando um vocabulário mais restrito e sem ambiguidades.

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

8 Fluxogramas :: Simbologia início / fim ação leitura de dados saída Deve começar com um verbo Usado apenas quando a entrada não é conhecida. Se o valor for pré- definido, use o retângulo. 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? 4,4m 3,2m

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

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 grandezaUnidade de medida Faixa de valores válidos

12 Problema 2 Qual a área da parede do banheiro a ser revestida, se ela mede 4,4m de largura por 3,2m de altura? Grandeza Unidade de medida Faixa de valores Entradas Saídas Grandeza Unidade de medida Faixa de valores Entradas Largura da parede m4,4m Altura da paredem3,2m SaídasÁrea da paredem²> 0

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 área largura * altura Exibir área fim Variáveis e atribuições

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 3,2 altura largura

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

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

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? Grandeza Unidade de medida Faixa de valores Entradas Saídas Grandeza Unidade de medida Faixa de valores Entradas Lado da pastilhacm4cm Largura da paredem4,7m Altura da paredem2,9m Saídas nº de pastilhas--> 0

20 Problema 3 :: Projetando a Solução Como expressar essas operações aritméticas no fluxograma? Parte inteira mais 1

21 Operadores Aritméticos São utilizados para realizar as operações aritméticas básicas. Operador Operação Exemplo + Adição1 + y – Subtraçãox – y * Multiplicação8 * y / Divisão real7 / 2 (= 3,5) // Divisão inteira7 // 2 (= 3) % Resto da divisão inteira7 % 2 (= 1) ** Potenciaçãox ** 2

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

23 Operadores Aritméticos :: Formato 2a 2 * a Exemplos: a³ a ** 3 5 ** 0,5

24 Operadores Aritméticos :: Prioridade PrioridadeOperador 1Parênteses mais internos 2Potenciação 3Multiplicação, divisão, resto 4Adição, subtração Exemplos: 4 * 3 ** 2 (4 * 3) ** 2 4 * 5 % 3 4 * (5 % 3) Na dúvida, use parênteses. Da esquerda para a direita

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? Grandeza Unidade de medida Faixa de valores Entradas Saídas Grandeza Unidade de medida Faixa de valores Entradas Lado da pastilhacm4cm Largura da paredem4,7m Altura da paredem2,9m Saídas nº de pastilhas--> 0

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

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? GrandezaUnidade de medidaFaixa de valores Entradas Saídas GrandezaUnidade de medidaFaixa de valores Entradas Lado da pastilhacm5cm Largura da paredem5,2m Altura da paredem3,2m Nº pastilhas por caixaUnid./caixa1000 Custo por caixaR$R$ 450,00 SaídasCustoR$> 0

28 Problema 4 :: Projetando a Solução Parte inteira mais 1

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

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) Exibir custoTotal fim custoTotal ((N // 1000) + 1) * custoUnit

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? GrandezaUnidade de medidaFaixa de valores Entradas Saídas GrandezaUnidade de medidaFaixa de valores EntradasNota---0 a 10 SaídasNota---1 a 11

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

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

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

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? início A 5 B 3 B B * A Exibir B fim 5 3 A Memória B 5 15 A Memória B

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? VAL1 Memória VAL2 ? VAL3 início VAL1 10 VAL2 16 VAL3 VAL2 – VAL1 VAL3 VAL1 – VAL2 Exibir VAL3 fim VAL1 VAL2 6 VAL VAL1 VAL2 -6 VAL3

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

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

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: From Novice to Professional. Springer eBooks, 2ª edição. Disponível em:

45 Dúvidas?


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

Apresentações semelhantes


Anúncios Google