python 04 - programação estruturada
DESCRIPTION
TRANSCRIPT
![Page 1: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/1.jpg)
Programação estruturada
LNCC UFRJ
![Page 2: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/2.jpg)
Fluxo continuado, escolhas e repetições
![Page 3: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/3.jpg)
Siga em frente,
SEMPRE
![Page 4: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/4.jpg)
Escolhas
são
possíveis
Siga por aqui
Ou por aqui
![Page 5: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/5.jpg)
Podem ser tantas que
nos confundem
Xilogravura, M.C. Escher
Escolhas...
![Page 6: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/6.jpg)
2ª visão local
Analisando
em detalhe
![Page 7: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/7.jpg)
3ª. Visão local
Analisando em detalhe
![Page 8: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/8.jpg)
Analisando em
detalhe
4ª. Visão local
![Page 9: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/9.jpg)
5ª. Visão local
Analisando em detalhe
![Page 10: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/10.jpg)
A água cai
E torna a cair
Num ciclo eterno
Repetindo,
repetindo,
repetindo ...
Xilogravura, M.C. Escher
![Page 11: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/11.jpg)
Escher e
o tribar de
Penrose
Xilogravura, M.C. Escher
![Page 12: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/12.jpg)
Escadas impossíveis
e a repetição eterna
Xilogravura, G. Escher
![Page 13: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/13.jpg)
Programação estruturada diagramas de atividade
![Page 14: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/14.jpg)
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
![Page 15: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/15.jpg)
Diagramas de ação
Estado inícial
Estado final
Estado de ação
Conexão /decisão
Fluxo
Simbologia gráfica
![Page 16: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/16.jpg)
Diagrama de
sequência
Início
Ação
Fluxo
Fim
![Page 17: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/17.jpg)
Diagrama
de seleção
(simples)
V
F
Instrução if
Conexão
Decisão Ação
![Page 18: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/18.jpg)
Diagrama
de seleção
(dupla)
F V
Instrução if ... else
Decisão
Ação Ação
Conexão
![Page 19: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/19.jpg)
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
![Page 20: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/20.jpg)
Diagrama de
repetição
V F
Instrução while
Ciclos
![Page 21: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/21.jpg)
V
F Instrução
do ... while
Diagrama de
repetição
![Page 22: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/22.jpg)
V
F
Inicialização
Incremento
Instrução for
Diagrama de
repetição
![Page 23: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/23.jpg)
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
![Page 24: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/24.jpg)
Aplicação das regras Duas aplicações
sucessivas da regra do
empilhamento
O diagrama mais simples
![Page 25: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/25.jpg)
Aplicação das regras
Uma aplicação da regra do
aninhamento V
F
![Page 26: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/26.jpg)
Aplicação das regras
V
F
V
F
V
F
Duas aplicações da regra do
aninhamento
![Page 27: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/27.jpg)
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!
![Page 28: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/28.jpg)
Programação estruturada -
blocos de comandos
comando
comando
comando
comando
...
comando
comando
comando
Bloco de comandos
Veja o dente!
![Page 29: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/29.jpg)
Exercício 1
Faça um programa que leia um número inteiro e imprima o fatorial desse número.
![Page 30: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/30.jpg)
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.
![Page 31: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/31.jpg)
Exercício 3
Faça um programa que receba um número inteiro e imprima a tabuada da multiplicação por esse número.
![Page 32: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/32.jpg)
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.
![Page 33: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/33.jpg)
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.
![Page 34: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/34.jpg)
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.
![Page 35: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/35.jpg)
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
![Page 36: Python 04 - Programação Estruturada](https://reader034.vdocuments.pub/reader034/viewer/2022051013/54972c50ac79592f2e8b52a4/html5/thumbnails/36.jpg)
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.