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

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

Introdução à Programação de Computadores

Apresentações semelhantes


Apresentação em tema: "Introdução à Programação de Computadores"— Transcrição da apresentação:

1 Introdução à Programação de Computadores
IEC037 Introdução à Programação de Computadores Aula 03 – Estrutura Sequencial Turma: Professor: 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 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 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?
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 Outras denominações Vantagem Desvantagem
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 leitura de dados Usado apenas quando a entrada não é conhecida. Se o valor for pré-definido, use o retângulo. 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? 4,4m 3,2m

10 Processo de resolução de problemas algorítmicos
Início 1 Identificar o problema 2 Definir as entradas e as saídas Decompor 3 Projetar o algoritmo Refinar passo a passo Este slide serve para fazer a correspondência do diagrama de resolução de problemas gerais (D1) para o diagrama de resolução de problemas algorítmicos (D2). Em D1, três passos (Identificar alternativas, Selecionar melhor solução e Listar instruções) foram fundidos em um único passo (Projetar algoritmo), em D2, como mostra o retângulo explicativo verde. Além disso, foi introduzido um passo entre Listar instruções e Avaliar a solução, em D1, gerando o passo Converter algoritmo..., em D2, como mostra o retângulo explicativo verde-água. Obs.: a cor do retângulo Projetar algoritmo é a mistura dos RGB dos retângulos Identificar alternativas, Selecionar melhor solução e Listar instruções.  Converter o algoritmo em linguagem de programação 4 5 Testar solução 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 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 Largura da parede m 4,4m  Altura da parede 3,2m Saídas Área da parede > 0 Grandeza Unidade de medida Faixa de valores Entradas Saídas

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 Variáveis e atribuições 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 3,2 altura largura

16 Variáveis :: Características
altura ← 3,2 Identificador Nome da variável 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

17 Variáveis :: Analogia largura 4,4 7,8 altura 3,2
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? Grandeza Unidade de medida Faixa de valores Entradas  Lado da pastilha cm 4cm  Largura da parede m 4,7m  Altura da parede 2,9m Saídas  nº de pastilhas -- > 0 Grandeza Unidade de medida Faixa de valores Entradas Saídas

20 Problema 3 :: Projetando a Solução
Número de pastilhas (𝑁): Área da parede: Área da pastilha: 𝑁= Área da parede Área da pastilha Parte inteira mais 1 Como expressar essas operações aritméticas no fluxograma? ? 𝑙𝑎𝑟𝑔𝑢𝑟𝑎⋅𝑎𝑙𝑡𝑢𝑟𝑎 𝑙𝑎𝑑 𝑜 2

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

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

23 Operadores Aritméticos :: Formato
Operando1 Operando2 Exemplos: Operadores Relacionais 2a 5 2 * a a ** 3 5 ** 0,5

24 Operadores Aritméticos :: Prioridade
1 Parênteses mais internos 2 Potenciação 3 Multiplicação, divisão, resto 4 Adição, subtração Da esquerda para a direita Operadores Relacionais 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? Grandeza Unidade de medida Faixa de valores Entradas  Lado da pastilha cm 4cm  Largura da parede m 4,7m  Altura da parede 2,9m Saídas  nº de pastilhas -- > 0 Grandeza Unidade de medida Faixa de valores Entradas Saídas

26 N ← (largura * altura) // (lado ** 2) + 1
Problema 3 :: Solução Memória início largura ← 470 altura ← 290 lado ← 4 470 largura Todos na mesma unidade de medida! 290 altura 4 lado N ← (largura * altura) // (lado ** 2) + 1 8519 N Operadores Aritméticos 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 unidades, que custam R$ 450,00 cada. Quanto vou gastar? Grandeza Unidade de medida Faixa de valores Entradas Lado da pastilha cm 5cm  Largura da parede m 5,2m Altura da parede 3,2m Nº pastilhas por caixa Unid./caixa 1000 Custo por caixa R$ R$ 450,00 Saídas Custo > 0 Grandeza Unidade de medida Faixa de valores Entradas Saídas

28 Problema 4 :: Projetando a Solução
Reusamos solução do problema anterior: Número de pastilhas (𝑁) Custo Total (custoTotal): custoTotal= N Qtde. de pastilha por caixa ⋅CustoUnit Parte inteira mais 1

29 Problema 4 :: Solução 520 320 5 450,00 6656 3150,00 início Memória
largura ← 520 altura ← 320 lado ← 5 custoUnit ← 450,00 520 largura 320 altura 5 lado N ← (largura * altura) // (lado ** 2) 450,00 custoUnit 6656 N custoTotal ← ((N // 1000) + 1) * custoUnit 3150,00 custoTotal Exibir 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? Grandeza Unidade de medida Faixa de valores Entradas Nota --- 0 a 10 Saídas 1 a 11 Grandeza Unidade de medida Faixa de valores Entradas Saídas

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

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

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

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

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

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

39 Problema 7 :: Solução Qual o valor exibido pelo fluxograma abaixo? 10
16 VAL1 Memória VAL2 ? VAL3 início VAL1 ← 10 VAL2 ← 16 VAL3 ← VAL2 – VAL1 VAL3 ← VAL1 – VAL2 Exibir VAL3 fim 10 16 VAL1 VAL2 6 VAL3 10 16 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 PRIM SEG ? TER 5 PRIM SEG TER 8 5 PRIM SEG 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 "Introdução à Programação de Computadores"

Apresentações semelhantes


Anúncios Google