![Page 1: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/1.jpg)
Turma:
Professor:
E-mail:
Página:
Ambiente virtual:
IEC037Introdução à Programação de Computadores
Aula 03 – Estrutura Sequencial
![Page 2: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/2.jpg)
Problema Inicial
Como revestir uma das paredes de um banheiro, usando ferramentas e material fornecido?
![Page 3: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/3.jpg)
Definição de algoritmo
Uma sequência finita e ordenada de passos sem ambiguidade que leva à
resolução de um problema.
![Page 4: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/4.jpg)
Problema Inicial:: Solução 1
início
Separar material necessário
Preparar argamassa
Assentar as pastilhas
Fazer acabamento
fim
![Page 5: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/5.jpg)
Problema Inicial:: Solução 2
início
Comprar material necessário
Contratar um pedreiro
Esperar ficar pronto
Pagar o pedreiro
fim
Existem várias maneiras de descrever uma
solução algorítmica.
![Page 6: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/6.jpg)
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.
![Page 7: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/7.jpg)
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
![Page 8: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/8.jpg)
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
![Page 9: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/9.jpg)
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
![Page 10: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/10.jpg)
Processo de resolução de problemas algorítmicos
Fim
Início
1
Definir as entradas e as saídas2
Projetar o algoritmo3
Converter o algoritmo em linguagem de programação4
Testar solução5
Decompor
Refinarpasso a passo
Identificar o problema
![Page 11: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/11.jpg)
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
![Page 12: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/12.jpg)
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
EntradasLargura da
parede m 4,4m
Altura da parede m 3,2m
Saídas Área da parede m² > 0
![Page 13: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/13.jpg)
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:𝐴=𝑏⋅ h
![Page 14: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/14.jpg)
Problema 2:: Solução
início
largura ← 4,4altura ← 3,2
área ← largura * altura
Exibir área
fim
Variáveis e atribuições
![Page 15: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/15.jpg)
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
![Page 16: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/16.jpg)
Variáveis :: Características
altura ← 3,2
IdentificadorNome da variável
ValorAtribuiçãoComando que define ou redefine o valor de uma variável. Lê-se: “altura recebe 3,2” ou “atribuir 3,2 à altura”
![Page 17: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/17.jpg)
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,4altura ← 3,2
largura ← 7,8
fim
4,4
3,2
7,8
![Page 18: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/18.jpg)
Qual a relação com variáveis no contexto matemático?
MatemáticaVariáveis podem assumir o
valor de qualquer elemento de um conjunto.
AlgoritmosVariáveis podem assumir apenas um único valor de
cada vez.
![Page 19: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/19.jpg)
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 pastilha cm 4cm
Largura da parede m 4,7m Altura da parede m 2,9m
Saídas nº de pastilhas -- > 0
![Page 20: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/20.jpg)
Problema 3:: Projetando a Solução
Número de pastilhas ():
Área da parede:
Área da pastilha:
𝑁=Á reada paredeÁ rea da pastilha
𝑙𝑎𝑟𝑔𝑢𝑟𝑎⋅𝑎𝑙𝑡𝑢𝑟𝑎
𝑙𝑎𝑑𝑜2
Como expressar essas operações aritméticas
no fluxograma?
?
Parte inteira mais 1
![Page 21: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/21.jpg)
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
![Page 22: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/22.jpg)
Operadores Aritméticos
Entrada: 02 valores numéricos Saída: 01 valor numérico
OperadorAritmético
valor numérico
valor numéricovalor numérico
![Page 23: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/23.jpg)
Operadores Aritméticos:: Formato
OperadorOperando1 Operando2
2a2 * a
Exemplos:
a³
a ** 3
√55 ** 0,5
![Page 24: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/24.jpg)
Operadores Aritméticos:: Prioridade
Prioridade Operador1 Parênteses mais internos2 Potenciação3 Multiplicação, divisão, resto4 Adição, subtração
Exemplos:
4 * 3 ** 2
(4 * 3) ** 2
4 * 5 % 3
4 * (5 % 3)
36
144
2
8
Na dúvida, use parênteses.
Da esquerda para a direita
![Page 25: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/25.jpg)
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 pastilha cm 4cm
Largura da parede m 4,7m Altura da parede m 2,9m
Saídas nº de pastilhas -- > 0
![Page 26: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/26.jpg)
Problema 3:: Solução
início
largura ← 470altura ← 290
lado ← 4
N ← (largura * altura) // (lado ** 2) + 1
Exibir N
fim
Operadores Aritméticos
470290
48519
altura
largura
lado
N
Memória
Todos na mesma unidade de medida!
![Page 27: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/27.jpg)
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? Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Lado da pastilha cm 5cm Largura da parede m 5,2mAltura da parede m 3,2m
Nº pastilhas por caixa Unid./caixa 1000Custo por caixa R$ R$ 450,00
Saídas Custo R$ > 0
![Page 28: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/28.jpg)
Problema 4:: Projetando a Solução
Reusamos solução do problema anterior: Número de pastilhas ()
Custo Total ():
custoTotal= NQtde .de pastilha por caixa ⋅CustoUnit
Parte inteira mais 1
![Page 29: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/29.jpg)
3150,006656
Problema 4:: Solução
início
largura ← 520altura ← 320
lado ← 5custoUnit ← 450,00
N ← (largura * altura) // (lado ** 2)
Exibir custoTotal
fim
custoTotal ← ((N // 1000) + 1) * custoUnit
520320
5450,00
altura
largura
lado
custoUnit
Memória
N
custoTotal
![Page 30: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/30.jpg)
É 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
![Page 31: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/31.jpg)
Problema 4:: Solução generalizada
início
Ler larguraLer alturaLer lado
Ler custoUnit
N ← (largura * altura) // (lado ** 2)
Exibir custoTotal
fim
custoTotal ← ((N // 1000) + 1) * custoUnit
![Page 32: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/32.jpg)
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
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas Nota --- 0 a 10
Saídas Nota --- 1 a 11
![Page 33: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/33.jpg)
Problema 5:: Solução bruta
início
Ler notaInicial
notaFinal ← notaInicial + 1
Exibir notaFinal
fim
6,27,2notaFinal
notaInicial
Memória
![Page 34: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/34.jpg)
Problema 5:: Solução refinada
início
Ler nota
nota ← nota + 1
Exibir nota
fim
5,2nota
Memória
6,2nota
Memória
![Page 35: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/35.jpg)
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”
fimO que acontece??
![Page 36: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/36.jpg)
Problema 6
Qual o valor exibido pelo fluxograma abaixo?
início
A ← 5B ← 3
B ← B * A
Exibir B
fim
![Page 37: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/37.jpg)
Problema 6:: Solução
Qual o valor exibido pelo fluxograma abaixo?
início
A ← 5B ← 3
B ← B * A
Exibir B
fim
53
A
Memória
B
515
A
Memória
B
![Page 38: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/38.jpg)
Problema 7
Qual o valor exibido pelo fluxograma abaixo?início
VAL1 ← 10VAL2 ← 16
VAL3 ← VAL2 – VAL1
VAL3 ← VAL1 – VAL2
Exibir VAL3
fim
![Page 39: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/39.jpg)
Problema 7:: Solução
Qual o valor exibido pelo fluxograma abaixo?
1016
VAL1
Memória
VAL2?VAL3
início
VAL1 ← 10VAL2 ← 16
VAL3 ← VAL2 – VAL1
VAL3 ← VAL1 – VAL2
Exibir VAL3
fim
1016
VAL1VAL2
6VAL3
1016
VAL1VAL2
-6VAL3
![Page 40: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/40.jpg)
Problema 8
Qual os valores exibidos pelo fluxograma abaixo?início
PRIM ← 5
SEG ← PRIM
TER ← SEG
PRIM ← 8
Exibir PRIM, SEG, TER
fim
![Page 41: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/41.jpg)
Problema 8:: Solução
Qual os valores exibidos pelo fluxograma abaixo?
5?
PRIMMemória
SEG?TER
início
PRIM ← 5
SEG ← PRIM
TER ← SEG
PRIM ← 8
Exibir PRIM, SEG, TER
fim
55
PRIMSEG
?TER
55
PRIMSEG
5TER
85
PRIMSEG
5TER
![Page 42: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/42.jpg)
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 C1Ler C2
H ← (C1 ** 2 + C2 ** 2) ** 0,5
Exibir H
fim
![Page 43: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/43.jpg)
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 C1Ler C2
H ← (C1 ** 2 + C2 ** 2) ** 0,5
P ← H + C1 + C2
Exibir P
fim
![Page 44: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/44.jpg)
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: http://dx.doi.org/10.1007/978-1-4302-0634-7.
![Page 45: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader036.vdocuments.com.br/reader036/viewer/2022070502/568137c0550346895d9f5d7d/html5/thumbnails/45.jpg)
Dúvidas?