32
Fluxogramas Leonardo Gresta Paulino Murta [email protected]

Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Embed Size (px)

Citation preview

Page 1: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Fluxogramas

Leonardo Gresta Paulino Murta

[email protected]

Page 2: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Antes de vermos Fluxogramas...

...vamos conhecer um pouco sobre a evolução das linguagens de programação

Leonardo Murta Fluxogramas 2

Page 3: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Paradigmas de Programação

• Definem regras básicas que linguagens pertencentes a esse paradigma devem seguir

• Exemplos (dentre outros):

– Não estruturado

– Estruturado

– Procedimental

– Orientado a Objetos

Leonardo Murta Fluxogramas 3

Não é mais usado

Veremos nesta aula

Veremos mais para frente no curso

Page 4: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Paradigma não estruturado

• Anos 50 • Linhas de código sequenciais em um mesmo arquivo • Sequência de execução alterada com uso do GOTO • Código macarrônico (ilegível para sistemas grandes) • Exemplos: primeiras versões de BASIC e COBOL

Leonardo Murta Fluxogramas 4

Page 5: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Paradigma estruturado

• Anos 60

• Artigo “Go To Statement Considered Harmful” de Edsger Dijkstra

• Eliminação de GOTO e adoção de três estruturas básicas:

– Sequência (de cima para baixo)

– Decisão (se...então...senão)

– Repetição (loops)

Leonardo Murta Fluxogramas 5

Page 6: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Paradigma estruturado • Qualquer função

computável pode ser descrita usando sequência, decisão e repetição.

• Cada um desses elementos pode ser representado graficamente – Representação gráfica

denominada Fluxograma (Flowchart)

– Facilita o projeto e o entendimento de programas

Leonardo Murta Fluxogramas 6

Page 7: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Fluxograma (sequência)

• Elementos básicos para representar sequência em fluxogramas:

Leonardo Murta Fluxogramas 7

Início

Fim

Dados Processamento

Marcação de

início/fim

Entrada e saída

de dados

Operações de

processamento

Page 8: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Problema puramente sequencial

• Calcule o volume e o peso de uma esfera oca, onde o diâmetro, a espessura da parede e a densidade são informados

• Em português estruturado:

Leonardo Murta Fluxogramas 8

Leia o diâmetro, a espessura e a densidade

Calcule o raio externo

Calcule o raio interno

Calcule o volume

Calcule o peso

Escreva o volume e o peso

Page 9: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Problema puramente sequencial

• Em pseudocódigo:

Leonardo Murta Fluxogramas 9

Leia diametro, espessura, densidade

raioExterno diametro / 2

raioInterno diametro / 2 - espessura

volume 4 * Π * (raioExterno3 – raioInterno3) / 3

peso densidade * volume

Escreva volume, peso

Page 10: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Problema puramente sequencial

• Em fluxograma:

Leonardo Murta Fluxogramas 10

Início

Fim

Leia densidade

peso densidade * volume

Escreva volume

raioExterno diametro / 2

raioInterno diametro / 2 - espessura

volume 4 * Π * (raioExterno3 – raioInterno3) / 3

Leia espessura

Leia diametro

Escreva peso

Page 11: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Características observáveis

• Português estruturado – Baixo grau de formalismo – Fácil de fazer – Alto grau de ambiguidade

• Pseudocódigo – Nível um pouco maior de formalismo – Notação textual

• Fluxograma – Definição clara dos tipos de ação – Notação gráfica

• Quando existem símbolos de dados ou de processamento contíguos no fluxograma, um único símbolo pode ser utilizado com os comandos em diferentes linhas

Leonardo Murta Fluxogramas 11

Page 12: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Fluxograma (decisão)

• Elemento básico para representar decisão em fluxogramas:

Leonardo Murta Fluxogramas 12

Condição? V F

Bloco do então Bloco do senão

Page 13: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Problema com decisão

• Informe o maior número entre dois números N1 e N2 informados

• Em pseudocódigo:

Leonardo Murta Fluxogramas 13

Leia n1, n2

Se n1 > n2 então

Escreva “O primeiro é maior”

Senão se n1 < n2 então

Escreva “O segundo é maior”

Senão

Escreva “São iguais”

Page 14: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Problema com decisão

• Em fluxograma:

Leonardo Murta Fluxogramas 14

Início

Fim

Leia n1, n2

n1>n2? V F

n1<n2? Escreva “O primeiro é

maior”

V

Escreva “O segundo é

maior”

Escreva “São iguais”

F

Page 15: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Fluxograma (repetição contável)

• Elemento básico para representar repetição contável em fluxogramas:

Leonardo Murta Fluxogramas 15

Valor inicial Valor final

Incremento

Bloco do loop

cursor

Page 16: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Problema com repetição contável

• Liste todos os números ímpares de 1 a 100

• Em pseudocódigo:

Leonardo Murta Fluxogramas 16

Para i variando de 1 a 100 com passo 2

Escreva i

Page 17: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Problema com repetição contável

• Em fluxograma:

Leonardo Murta Fluxogramas 17

Início

Fim

Escreva i

Início = 1 Fim = 100 Passo = 2

i

Page 18: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Características observáveis

• Só é possível utilizar repetição contável se conseguirmos determinar de antemão quantas repetições são necessárias

• O computador controlará as repetições

– Total de (fim – início) / passo + 1 repetições

• Normalmente se deseja acessar o valor da repetição a cada iteração

Leonardo Murta Fluxogramas 18

Page 19: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Fluxograma (repetição condicional)

• Elementos básicos para representar repetição condicional em fluxogramas:

Leonardo Murta Fluxogramas 19

Tipo enquanto...faça

Condição?

Bloco do loop Condição?

Bloco do loop

Tipo faça...enquanto

V

V F

F

Page 20: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Problema com repetição condicional

• Some todos os números informados até que o número zero seja informado

Leonardo Murta Fluxogramas 20

soma 0

Leia n

Enquanto n ≠ 0 faça

soma soma + n

Leia n

Escreva soma

Page 21: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Problema com repetição condicional

• Em fluxograma:

Leonardo Murta Fluxogramas 21

n≠0? V F

Início

Fim Leia n

Leia n

soma soma + n Escreva soma

soma 0

Page 22: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Características observáveis

• A condição de controle do loop deve alternar para falso em algum momento

– Sem isso, o programa entrará em loop infinito

• Antes de dar como terminado o algoritmo, é importante testar!

– Faça uso do Método Chinês

– Atenção especial para os extremos (início e término do loop)

Leonardo Murta Fluxogramas 22

Page 23: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Método Chinês

• Ler o algoritmo do início ao fim, obedecendo cada uma das instruções

• Anotar os valores de cada variável para cada passo do algoritmo

• Ao final, será possível identificar se alguma instrução está se comportando de forma inapropriada

Leonardo Murta Fluxogramas 23

Page 24: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Exercício

• Construa um algoritmo (pseudocódigo e fluxograma) para dizer se um número inteiro informado pelo usuário é par ou impar

• Utilize o Método Chinês para verificar se o algoritmo está correto

Leonardo Murta Fluxogramas 24

Page 25: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Exercício

• Construa um algoritmo (pseudocódigo e fluxograma) para montar a tabela de multiplicação de números de 1 a 10 (ex.: 1 x 1 = 1, 1 x 2 = 2, etc.)

• Utilize o Método Chinês para verificar se o algoritmo está correto

Leonardo Murta Fluxogramas 25

Page 26: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Exercício

• Construa um algoritmo (pseudocódigo e fluxograma) para determinar o número de dígitos de um número informado

• Utilize o Método Chinês para verificar se o algoritmo está correto

Leonardo Murta Fluxogramas 26

Page 27: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Exercício

• Construa um algoritmo (pseudocódigo e fluxograma) para listar todos os divisores de um número ou dizer que o número é primo caso não existam divisores

• Ao final, verifique se o usuário deseja analisar outro número

• Utilize o Método Chinês para verificar se o algoritmo está correto

Leonardo Murta Fluxogramas 27

Page 28: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Exercício

• Construa um algoritmo (pseudocódigo e fluxograma) para determinar as raízes de uma equação de 2º grau: ax2 + bx + c = 0 (recordar que o discriminante Δ = b2 – 4ac, e que a raiz r = (–b √Δ)/2a)

• Utilize o Método Chinês para verificar se o algoritmo está correto

Leonardo Murta Fluxogramas 28

Page 29: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Exercício

• Construa um algoritmo (pseudocódigo e fluxograma) para calcular a série de Fibonacci para um número informado pelo usuário, sendo F(0) = 0, F(1) = 1 e F(n)= F(n-1)+F(n-2)

– Por exemplo, caso o usuário informe o número 9, o resultado seria: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.

• Utilize o Método Chinês para verificar se o algoritmo está correto

Leonardo Murta Fluxogramas 29

Page 30: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Exercício

• Construa um algoritmo (pseudocódigo e fluxograma) para indicar, a partir de um valor informado em centavos, a menor quantidade de moedas que representa esse valor.

• Considere moedas de 1, 5, 10, 25 e 50 centavos, e 1 real. Exemplo: para o valor 290 centavos, a menor quantidade de moedas é 2 moedas de 1 real, 1 moeda de 50 centavos, 1 moeda de 25 centavos, 1 moeda de 10 centavos e 1 moeda de 5 centavos

• Utilize o Método Chinês para verificar se o algoritmo está correto

Leonardo Murta Fluxogramas 30

Page 31: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Referências

• Slides baseados no curso de C da Prof. Vanessa Braganholo

• Alguns exercícios extraídos do livro Furlan, M., Gomes, M., Soares, M., Concilio, R., 2005, “Algoritmos e Lógica de Programação”, Editora Thomson.

Leonardo Murta Fluxogramas 31

Page 32: Fluxogramas - ic.uff.brleomurta/courses/2012.1/prog1/aula3.pdf · contíguos no fluxograma, um único símbolo pode ser utilizado ... •Alguns exercícios extraídos do livro Furlan,

Fluxogramas

Leonardo Gresta Paulino Murta

[email protected]