Buscar

Aula03_EstruturasSequenciais_Leandro

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

IEC037
Introdução à Programação de Computadores
Aula 03 – Estrutura Sequencial
Turma: 03
Professor: Leandro Galvão
E‐mail: galvao@icomp.ufam.edu.br
Página: ipc‐t03.weebly.com
Problema Inicial
 Como revestir uma das paredes de um banheiro, 
usando ferramentas e material fornecido?
Definição de algoritmo
Uma sequência finita e ordenada de 
passos sem ambiguidade que leva à 
resolução de um problema em um 
tempo finito.
Problema Inicial
:: Solução 1
início
Separar material 
necessário
Preparar 
argamassa
Assentar as 
pastilhas
Fazer 
acabamento
fim
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.
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.
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
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
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
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
Refinar
passo a passo
Identificar o problema
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
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 m 4,4m
Altura da parede m 3,2m
Saídas Área da parede m² > 0
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:
Problema 2
:: Solução
início
largura ← 4,4
altura ← 3,2
área ← largura * altura
Exibir área
fim
Variáveis e atribuições
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
Variáveis
:: Características
altura ← 3,2
Identificador
Nome da 
variável
ValorAtribuição
Comando que define 
ou redefine o valor de 
uma variável. Lê‐se: 
“altura recebe 3,2” ou 
“atribuir 3,2 à altura”
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
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.
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
Problema 3
:: Projetando a Solução
 Número de pastilhas ( ):
 Área da parede:
 Área da pastilha:
ଶ
Como expressar essas 
operações aritméticas 
no fluxograma?
Parte inteira 
mais 1
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
Operadores Aritméticos
 Entrada: 02 valores numéricos
 Saída:  01 valor numérico
Operador
Aritmético
valor numérico
valor numérico
valor numérico
Operadores Aritméticos
:: Formato
Opera
dorOperando1 Operando2
Opera
dorOperando1 Operando2
2a
2 * a 
Exemplos:
a³
a ** 3  5 ** 0,5 
Operadores Aritméticos
:: Prioridade
Prioridade Operador
1 Parênteses mais internos
2 Potenciação
3 Multiplicação, divisão, resto
4 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
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
Problema 3
:: Solução
início
largura ← 470
altura ← 290
lado ← 4
N ← (largura * altura) // (lado ** 2) + 1
Exibir N
fim
Operadores 
Aritméticos
470
290
4
8519
altura
largura
lado
N
Memória
Todos na 
mesma unidade 
de medida!
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,2m
Altura da parede m 3,2m
Nº pastilhas por caixa Unid./caixa 1000
Custo por caixa R$ R$ 450,00
Saídas Custo R$ > 0
Problema 4
:: Projetando a Solução
 Reusamos solução do problema anterior:
 Número de pastilhas ( )
 Custo Total ( ):
Parte inteira 
mais 1
3150,00
6656
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
520
320
5
450,00
altura
largura
lado
custoUnit
Memória
N
custoTotal
É 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
Problema 4
:: Solução generalizada
início
Ler largura
Ler alturaLer lado
Ler custoUnit
N ← (largura * altura) // (lado ** 2)
Exibir custoTotal
fim
custoTotal← ((N // 1000) + 1) * custoUnit
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 9
Saídas Nota ‐‐‐ 1 a 10
Problema 5
:: Solução bruta
início
Ler notaInicial
notaFinal← notaInicial + 1
Exibir notaFinal
fim
6,2
7,2notaFinal
notaInicial
Memória
Problema 5
:: Solução refinada
início
Ler nota
nota ← nota + 1
Exibir nota
fim
5,2nota
Memória
6,2nota
Memória
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” com 1
Armazenar resultado na 
mesma variável “nota”
fim
O que acontece?
Problema 6
 Qual o valor exibido pelo fluxograma abaixo?
início
A ← 5
B ← 3
B ← B * A
Exibir B
fim
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
Problema 7
 Qual o valor exibido pelo fluxograma abaixo?
início
VAL1 ← 10
VAL2 ← 16
VAL3 ← VAL2 – VAL1
VAL3 ← VAL1 – VAL2
Exibir VAL3
fim
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
6VAL3
10
16
VAL1
VAL2
‐6VAL3
Problema 8
 Qual os valores exibidos pelo fluxograma abaixo?
início
PRIM ← 5
SEG ← PRIM
TER ← SEG
PRIM ← 8
Exibir PRIM, 
SEG, TER
fim
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
5TER
8
5
PRIM
SEG
5TER
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
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
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.
Dúvidas?

Outros materiais