python 04 - programação estruturada
DESCRIPTION
TRANSCRIPT
Programação estruturada
LNCC UFRJ
Fluxo continuado, escolhas e repetições
Siga em frente,
SEMPRE
Escolhas
são
possíveis
Siga por aqui
Ou por aqui
Podem ser tantas que
nos confundem
Xilogravura, M.C. Escher
Escolhas...
2ª visão local
Analisando
em detalhe
3ª. Visão local
Analisando em detalhe
Analisando em
detalhe
4ª. Visão local
5ª. Visão local
Analisando em detalhe
A água cai
E torna a cair
Num ciclo eterno
Repetindo,
repetindo,
repetindo ...
Xilogravura, M.C. Escher
Escher e
o tribar de
Penrose
Xilogravura, M.C. Escher
Escadas impossíveis
e a repetição eterna
Xilogravura, G. Escher
Programação estruturada diagramas de atividade
Estruturas de controle
controle de repetição Permitem executar repetidas vezes trechos específicos do código.
controle de decisão
Permitem escolher sessões específicas de código a executar
Diagramas de ação
Estado inícial
Estado final
Estado de ação
Conexão /decisão
Fluxo
Simbologia gráfica
Diagrama de
sequência
Início
Ação
Fluxo
Fim
Diagrama
de seleção
(simples)
V
F
Instrução if
Conexão
Decisão Ação
Diagrama
de seleção
(dupla)
F V
Instrução if ... else
Decisão
Ação Ação
Conexão
Diagrama de
seleção
(múltipla) V
F
V
V
break
break
break
F
F
Instrução switch com breaks
1º. caso
1ª. ação
Conexão
Ação default
2º. caso
2ª. ação
Nº. caso
Nª. ação
Diagrama de
repetição
V F
Instrução while
Ciclos
V
F Instrução
do ... while
Diagrama de
repetição
V
F
Inicialização
Incremento
Instrução for
Diagrama de
repetição
Regras de estruturação
Comece com o diagrama de atividade mais simples
Qualquer estado de ação pode ser substituído por instrução de controle (seleção ou repetição)
As regras 2 e 3 podem ser aplicadas qualquer número de vezes e em qualquer ordem
Qualquer estado de ação pode ser substituído por dois estados de ação, em sequência
Aplicação das regras Duas aplicações
sucessivas da regra do
empilhamento
O diagrama mais simples
Aplicação das regras
Uma aplicação da regra do
aninhamento V
F
Aplicação das regras
V
F
V
F
V
F
Duas aplicações da regra do
aninhamento
Não há como errar
Mama mia!
Spagheti
A aplicação das regras 1, 2, 3, 4 não permite a
criação de programas não-estruturados,
como este!
Programação estruturada -
blocos de comandos
comando
comando
comando
comando
...
comando
comando
comando
Bloco de comandos
Veja o dente!
Exercício 1
Faça um programa que leia um número inteiro e imprima o fatorial desse número.
Exercício 2
Faça um programa que receba um número inteiro X, execute a fórmula
N=1+2+3+4+...+X
e imprima o resultado de N na tela.
Exercício 3
Faça um programa que receba um número inteiro e imprima a tabuada da multiplicação por esse número.
Exercício 4
Faça um programa que receba um número e imprima a soma de todos os números
inteiros que aparecem entre este número e o seu segundo múltiplo.
Imprima também o primeiro e o segundo múltiplo deste número.
Exercício 5
Faça um programa que leia uma String e a imprima na tela. Faça com que o programa
imprima também a String ao contrário.
Dica: Faça uma pesquisa na API da classe String para descobrir qual método usar.
Exercício 6
Faça um programa que leia dois números e imprima os múltiplos de 3 no intervalo
entre estes números.
Faça um programa que leia uma String e imprima na tela quantas vezes as letras ‘A’
ou ‘a’ aparecem na mesma.
Exercício 7
Exercício 8
Faça um programa que receba um número X e imprima na tela os X primeiros termos
da série de Fibonacci.