Fluxogramas. Leonardo Gresta Paulino Murta.

Documentos relacionados
Fluxogramas. Vanessa Braganholo

Estruturas de Repetição e String. Vanessa Braganholo

Estruturas de Repetição e String

Estruturas de Repetição. Leonardo Murta

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Estruturas de Repetição. Vanessa Braganholo

Programação II. Victor Amorim dos Santos

Estruturas de Repetição. Vanessa Braganholo

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes

Programação de Computadores:

Estruturas de Repe,ção e Manipulação de Texto

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Estruturas de Repe,ção e String

Objetivo: Desenvolver algoritmos a partir de problemas

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

Programação de Computadores III

Introdução à Programação

Elementos básicos das linguagens de programação

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

Programação de Computadores III

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

Introdução aos Algoritmos

LINGUAGEM DE PROGRAMAÇÃO

Algoritmos e Programação

Introdução aos Algoritmos

Método para Construção de Algoritmos

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Noções de algoritmos - Aula 1

Aula 4 Oficina de Programação Algoritmos - Parte 3. Profa. Elaine Faria UFU

Prof. Jorge Cavalcanti

Instituto de Computação Programação de Computadores (TCC00326)

Estruturas de Controle de Fluxo Pseudocódigo/Exercício Construa o pseudocódigo de um algoritmo para obter o resultado da divisão de dois números

Lista de Exercícios 1 Algoritmos, Pseudocódigo e Fluxograma

ESTRUTURA CONDICIONAL E SELEÇÃO

Introdução aos algoritmos computacionais

Lógica de Programação: aula 2. Dariel Mazzoni Maranhão. Uninove: Universidade Nove de Julho. 22 de agosto de 2010

Programação Estruturada

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Início Enquanto - GABARITO Professor: Danilo Giacobo

Estruturas de controle: Estrutura de DECISÃO

Programação Estruturada Aula VisualG

Programação de Computadores

Conceitos básicos de algoritmos

Introdução à Programação. Vanessa Braganholo

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Estrutura Condicional - Exercícios Resolvidos Professor: Danilo Giacobo

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Programação de Computadores. Professor Ilaim Costa Junior

Programação de Computadores Profa Jacqueline 1

Algoritmos Estrutura Condicional

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Introdução a programação Comandos de repetição

Exercícios Repetição

Sintática: como é escrito cada elemento da linguagem de programação.

Algoritmos e Programação

Programação II. Victor Amorim dos Santos

TCC 00308: Programação de Computadores I Introdução

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Programação I Estruturas de Repetição

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I)

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Introdução à Programação. 4ª aula. Prof. José Honorato F. Nunes

Noções de algoritmos - Aula 1

Programação de Computadores

Introdução a Computação

CAI Fluxograma Revisão 7

Programação de Computadores

Programação Procedimental

Programação em C. Victor Amorim dos Santos

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO

Introdução à Programação. João Manuel R. S. Tavares

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Aula 7: Estrutura de Decisão

Aula 02. Algoritmos e Pseudocódigo

Engenharia Civil. Introdução à Programação

Fluxogramas. Leandro Tonietto ago-09

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

... contador = contador + 1; //contador++; ... <fim_da_estrutura_de_repetição> soma = 0; <estrutura_de_repetição_com_variável_x> soma = soma + x;

INFORMÁTICA APLICADA AULA 05 ALGORITMOS

Fluxogramas e variáveis

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim)

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

& somadosnumeros = valor

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Aula Teórica 03. Comandos Condicionais (Decisão)

Algoritmos e Programação

Estrutura de decisão

Aula 6: Entrada e Saída

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Algoritmos - 3. Alexandre Diehl. Departamento de Física - UFPel

Transcrição:

Fluxogramas Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Antes de vermos Fluxogramas......vamos conhecer um pouco sobre a evolução das linguagens de programação Leonardo Murta Fluxogramas 2

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 Não é mais usado Veremos nesta aula Veremos mais para frente no curso Leonardo Murta Fluxogramas 3

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

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

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

Fluxograma (sequência) Elementos básicos para representar sequência em fluxogramas: Início Fim Dados Processamento Marcação de início/fim Entrada e saída de dados Operações de processamento Leonardo Murta Fluxogramas 7

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: 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 Leonardo Murta Fluxogramas 8

Problema puramente sequencial Em pseudocódigo: Leia diametro, espessura, densidade raioexterno diametro / 2 raiointerno diametro / 2 - espessura volume 4 * Π * (raioexterno 3 raiointerno 3 ) / 3 peso densidade * volume Escreva volume, peso Leonardo Murta Fluxogramas 9

Problema puramente sequencial Em fluxograma: Início Leia diametro Leia espessura Leia densidade raioexterno diametro / 2 raiointerno diametro / 2 - espessura volume 4 * Π * (raioexterno 3 raiointerno 3 ) / 3 peso densidade * volume Escreva volume Escreva peso Fim Leonardo Murta Fluxogramas 10

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

Fluxograma (decisão) Elemento básico para representar decisão em fluxogramas: V Condição? F Bloco do então Bloco do senão Leonardo Murta Fluxogramas 12

Problema com decisão Informe o maior número entre dois números N1 e N2 informados Em pseudocódigo: 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 Leonardo Murta Fluxogramas 13

Problema com decisão Em fluxograma: Início Leia n1, n2 V n1>n2? F Escreva O primeiro é maior V Escreva O segundo é maior n1<n2? F Escreva São iguais Leonardo Murta Fluxogramas 14 Fim

Fluxograma (repetição contável) Elemento básico para representar repetição contável em fluxogramas: Valor inicial Valor final Incremento cursor Bloco do loop Leonardo Murta Fluxogramas 15

Problema com repetição contável Liste todos os números ímpares de 1 a 100 Em pseudocódigo: Para i variando de 1 a 100 com passo 2 Escreva i Leonardo Murta Fluxogramas 16

Problema com repetição contável Em fluxograma: Início Início = 1 Fim = 100 Passo = 2 Fim i Escreva i Leonardo Murta Fluxogramas 17

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

Fluxograma (repetição condicional) Elementos básicos para representar repetição condicional em fluxogramas: Bloco do loop F Condição? V Bloco do loop F Condição? V Tipo enquanto...faça Tipo faça...enquanto Leonardo Murta Fluxogramas 19

Problema com repetição condicional Some todos os números informados até que o número zero seja informado soma 0 Leia n Enquanto n 0 faça soma soma + n Leia n Escreva soma Leonardo Murta Fluxogramas 20

Problema com repetição condicional Em fluxograma: Início soma 0 Leia n F Escreva soma n 0? V soma soma + n Fim Leia n Leonardo Murta Fluxogramas 21

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

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

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

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

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

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

Exercício Construa um algoritmo (pseudocódigo e fluxograma) para determinar as raízes de uma equação de 2º grau: ax 2 + bx + c = 0 (recordar que o discriminante Δ = b 2 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

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

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

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

Fluxogramas Leonardo Gresta Paulino Murta leomurta@ic.uff.br