Buscar

Aula04_EstruturasSequenciais_Elaine

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

IEC037 
Introdução à Programação de Computadores 
Aula 03 – Estrutura Sequencial 
Turmas: Engenharias Mecânica e de Materiais 
Professora: Elaine Harada Teixeira de Oliveira 
E-mail: elaine@icomp.ufam.edu.br 
Ambiente virtual: http://colabweb.ufam.edu.br 
Curso: 2014/01 Introdução à Programação de Computadores - 
Engenharias Mecânica e de Materiais 
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 
Outras 
denominações 
•Diagrama de blocos 
•Diagrama de fluxo 
Vantagem 
•Fácil leitura 
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ídas 2 
Projetar o algoritmo 3 
Converter o algoritmo em 
linguagem de programação 4 
Testar solução 5 
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 
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” 
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 

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
dor 
Operando1 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 

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 fluxogramautilizando um 
novo símbolo: 
Leitura de 
dados 
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 
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,2 notaFinal 
notaInicial 
Memória 
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 
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 
6 VAL3 
10 
16 
VAL1 
VAL2 
-6 VAL3 
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 
5 TER 
8 
5 
PRIM 
SEG 
5 TER 
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