Algoritmos e Fluxogramas

Programação de Computadores I
Algoritmos e Fluxogramas - Parte 3

Prof. Antônio Augusto Chaves
Departamento de Matemática Bloco VI - sala 23

http://www.feg.unesp.br/∼chaves chaves@feg.unesp.br

1 / 28

Algoritmos e Fluxogramas

Objetivos

Ao final desta aula, o aluno será capaz de:
1. Representar algoritmos por meio de fluxogramas 2. Usar estruturas de controle de repetição que permitem a repetição da execução de partes específicas do código

Aula baseada no material do Prof. Marcos A. Pereira (FEG/UNESP)

2 / 28

para a realização de uma tarefa específica. com uma ou mais operações capazes de serem executadas por um computador em tempo finito.Algoritmos e Fluxogramas Revisão Revisão Um algoritmo é um conjunto finito de instruções. Características de um bom algoritmo: Finitude Exatidão Entradas e saídas determinadas Efetividade 3 / 28 .

PC‐I © MAP’2009 Algoritmos e Fluxogramas 4 / 28 . • Ilustra o fluxo (seqüência) de  operações.  estruturada e simplificada. • Fácil de traduzir para qualquer  linguagem de programação. • Símbolos padronizados.Algoritmos e Fluxogramas Revisão Revisão Representação do fluxo de execução de um algoritmo: Fluxograma Fluxograma • Representação gráfica. • Sintaxe e semântica bem  definidos.

Apresentação dos resultados do  processamento. com duas ou mais  alternativas de execução. 5 / 28 . Representa uma condição a ser  avaliada. Representa o fluxo dos dados ou  do controle de execução. Representa a saída para ou a  entrada de outra parte do mesmo  fluxograma.  resultando na alteração do valor  de uma informação. Entrada manual de dados. em  tempo de execução. Processamento de funções ou  chamada a procedimentos.Algoritmos e Fluxogramas Revisão Fluxograma: principais símbolos usados em Computação Revisão Principais símbolos Símbolo Nome terminador conector fluxo processo sub‐rotina decisão leitura exibição Função Representa o início ou o fim do  processamento. Representa uma instrução.

Algoritmos e Fluxogramas Revisão Revisão Operadores Os seguintes símbolos são utilizados como operadores na linguagem C: Aritméticos Símbolo + – * / % Operação adição subtração multiplicação divisão resto < > <= >= == != Relacionais Símbolo Significado menor que maior que menor ou igual à maior ou igual à igual diferente Símbolo && | | ! Lógicos Operação AND OR NOT Os seguintes símbolos são utilizados como operadores na linguagem C: PC‐I © MAP’2010 Algoritmos e Fluxogramas 39 6 / 28 .

atribuído para a variável discriminada no lado esquerdo. A atribuição é de atribuição em C: Comando um comando destrutivo.Algoritmos e Fluxogramas Revisão Revisão Atribuição A atribuição é um comando utilizado para armazenamento temporário A atribuição é um comando utilizado para armazenamento temporário de  de valores. o valor anterior será substituído pelo novo  = PC‐I © MAP’2010 Algoritmos e Fluxogramas 40 7 / 28 . A A A 100 B 3 . valores.14*A A s in(B) 100 B 3 . ou seja.14*A 100 Atenção valor. O resultado do processamento descrito no lado direito do símbolo ← O resultado do processamento descrito no lado direito do símbolo  será será atribuído para a variável discriminada no lado esquerdo.

ao final do 3o mês.00 e juros de 1% ao mês. J: a taxa de juros. com investimento i Determinar o saldo de uma aplicação financeira. Início I = 100 J = 0.01 é atribuído à variável J cálculo do saldo ao final  do primeiro mês (P) cálculo do saldo ao final  do segundo mês (S) cálculo do saldo ao final  do terceiro mês (T) informa o saldo final T fim do algoritmo 8 / 28 . Sejam: I: o valor do investimento inicial. com investimento inicial de de R$ 100.Algoritmos e Fluxogramas Revisão Exemplo Revisão Determinar o saldo de uma aplicação financeira.00 e juros de 1% ao mês. ao final do 3º mês. R$ 100. P: o saldo ao final do primeiro mês. S: o saldo ao final do segundo mês.01 P = I + J*I S = P + J*P T = S + J*S T Fim início do algoritmo o valor 100 é atribuído à variável I o valor 0. T: o saldo ao final do terceiro mês.

Ler um valor numérico e exibi-lo caso seja positivo ou nulo. Início A V A início do algoritmo ler A comparar se A é maior ou igual a 0 exibir o valor de A A >= 0 F Fim fim do algoritmo 9 / 28 . Seja: A: o valor numérico.Algoritmos e Fluxogramas Revisão lo Revisão valor numérico e exibi‐lo caso seja maior que positivo.

 B V A F B início do algoritmo ler A e B A > B comparar A e B exibir o maior valor Fim fim do algoritmo 10 / 28 . compará-los e exibir o maior valor.Algoritmos e Fluxogramas Revisão Exemplo Revisão Ler dois valores numéricos. Início A. Ler dois valores numéricos. Sejam: A: o primeiro valor numérico. compará‐los e exibir o maior valor. B: o segundo valor numérico.

B e C e verifique se eles podem ser considerados como os lados de um triângulo (ou seja. Em caso negativo. isósceles (apenas 2 lados iguais) ou escaleno (nenhum lado é igual ao outro).Algoritmos e Fluxogramas Revisão Revisão Leia 3 números reais positivos A. se a soma de quaisquer dois lados é maior que o terceiro lado). informe a mensagem “Não é triângulo”. 11 / 28 . Em caso afirmativo informe qual é o tipo do triângulo: equilátero (os 3 lados são iguais).

 B. C F B+C > A && A+C > B && A+B > C V Não é triângulo F F A == B || A == C || B == C A == B && A == C V V Isósceles Equilátero Escaleno Fim 12 / 28 .Algoritmos e Fluxogramas Revisão Revisão Início A.

S = S + 10 S Fim o valor 10 é somado à variável S informa a soma fim do algoritmo 13 / 28 . . .Algoritmos e Fluxogramas Fluxograma Exemplo 1 . Início S=0 S = S + 1 S = S + 2 início do algoritmo o valor 0 é atribuído à variável S o valor 1 é somado à variável S o valor 2 é somado à variável S .Sequencial Calcular e imprimir a soma de todos os números naturais entre 1 e 10.

Algoritmos e Fluxogramas Fluxograma Exemplo 2 .Iteração Calcular e imprimir a soma de todos os números naturais entre 1 e 10. Início i=1 S=0 início do algoritmo o valor 1 é atribuído à variável i o valor 0 é atribuído à variável S i <= 10 V o valor i é somado à variável S o valor 1 é somado à variável i S = S + i i = i + 1 F S Fim informa a soma fim do algoritmo 14 / 28 .

Sejam: A: o valor do dividendo. R: o valor do resto. Q: o valor do quociente. início do algoritmo ler A e B inicializar o valor  do quociente Q comparar A e B  atualizar o valor do  dividendo A atualizar o valor do  quociente Q e retornar Início A. B: o valor do divisor. B Q = 0 F atualizar o valor  do resto R exibir o valor do  resto R fim do algoritmo A >= B V A = A – B Q = Q + 1 R = A R Fim 15 / 28 .Algoritmos e Fluxogramas Fluxograma Exemplo Exemplo 3 Calcular o resto da divisão inteira entre dois números inteiros positivos. Calcular o resto da divisão inteira entre dois números inteiros positivos.

 ao final do 3º mês.Modifique o fluxograma abaixo Determinar o saldo de uma aplicação financeira.00 e juros de 1% ao mês. J: a taxa de juros.Algoritmos e Fluxogramas Fluxograma Exemplo Exercício . T: o saldo ao final do terceiro mês.01 é atribuído à variável J cálculo do saldo ao final  do primeiro mês (P) cálculo do saldo ao final  do segundo mês (S) cálculo do saldo ao final  do terceiro mês (T) informa o saldo final T fim do algoritmo 16 / 28 . com investimento i Determinar o saldo de uma aplicação financeira. Início I = 100 J = 0. inicial de R$ 100. com investimento de R$ 100. S: o saldo ao final do segundo mês. ao final do 3o mês.01 P = I + J*I S = P + J*P T = S + J*S T Fim início do algoritmo o valor 100 é atribuído à variável I o valor 0.00 e juros de 1% ao mês. Sejam: I: o valor do investimento inicial. P: o saldo ao final do primeiro mês.

os programas são escritos considerando apenas combinações adequadas de três estruturas básicas: Sequência Seleção Iteração Cada estrutura tem um único ponto de entrada e um único ponto de saída. Nessas estruturas. o símbolo de processo (retângulo) pode ser utilizado para representar qualquer ação. 17 / 28 .Algoritmos e Fluxogramas Fluxograma Estruturas básicas de programação No paradigma de programação estruturada. representado pelo símbolo conector. incluindo leitura de dados e exibição de resultados.

Deve existir apenas um caminho possível no conjunto de instruções de um algoritmo. lgoritmo. Sequência 18 / 28 . uma  pós a outra. Sequência: o fluxo de execução das instruções ocorre de modo linear.Algoritmos e Fluxogramas Fluxograma truturas básicas de programação Estruturas básicas de programação eqüência: o fluxo de execução das instruções ocorre de modo linear. eve existir apenas um caminho possível no conjunto de instruções de um  uma após a outra.

 apenas uma das alternativas será escolhida. tempo de execução. alguma condição. V F V F Seleção simples Seleção composta 19 / 28 . Em  relacional. representada por uma expressão lógica ou Criam alternativas no fluxo de execução das instruções do algoritmo. representada por uma expressão lógica ou relacional.Algoritmos e Fluxogramas Fluxograma Estruturas básicas de programação Estruturas básicas de programação Seleção: execução seletiva de um grupo de instruções baseada em alguma  Seleção: execução seletiva de um grupo de instruções baseada em condição. Em tempo de execução. Criam alternativas no fluxo de execução das instruções do algoritmo. apenas uma das alternativas será escolhida.

antes de prosseguir para a etapa seguinte. O fluxo da execução pode voltar várias vezes ao  Iteração: execução repetitiva de um grupo de instruções até que alguma condição seja satisfeita. F V V F Iteração com  teste a priori Iteração com  teste a posteriori 20 / 28 .Algoritmos e Fluxogramas Fluxograma Estruturas básicas de programação Estruturas básicas de programação Iteração: execução repetitiva de um grupo de instruções até que alguma  condição seja satisfeita. O fluxo da execução pode voltar várias vezes ao início de um conjunto de etapas. antes de prosseguir para a etapa seguinte. início de um conjunto de etapas.

e em qualquer ordem.Algoritmos e Fluxogramas Fluxograma Fluxogramas estruturados As estruturas básicas podem ser combinadas entre si. Essas regras podem ser aplicadas quantas vezes forem necessárias. utilizando apenas duas regras: Regra do empilhamento: o ponto de saída de uma estrutura pode ser conectado ao ponto de entrada de outra estrutura. 21 / 28 . Regra do aninhamento: Um retângulo de uma estrutura pode ser substituído por uma outra estrutura qualquer. Os fluxogramas resultantes da aplicação dessas regras constituem o conjunto de todos os fluxogramas estruturados possíveis.

Algoritmos e Fluxogramas Fluxograma Exercício Escreva fluxogramas para representar o processo de solução dos seguintes problemas. Verifique se o fluxograma está correto utilizando alguns exemplos. 22 / 28 . 1) Calcule e imprima a soma de 10 números fornecidos pelo usuário. Quando necessário utilize os operadores aritméticos e relacionais da linguagem C.

Verifique se o fluxograma está correto utilizando alguns exemplos.Algoritmos e Fluxogramas Fluxograma Exercício Escreva fluxogramas para representar o processo de solução dos seguintes problemas. Quando necessário utilize os operadores aritméticos e relacionais da linguagem C. 2) Leia uma sequência de 5 números e em seguida imprima o maior número. Faça primeiro utilizando o condicional no início e depois com o condicional no final do laço de repetição. 23 / 28 .

Quando necessário utilize os operadores aritméticos e relacionais da linguagem C. utilizando apenas soma).Algoritmos e Fluxogramas Fluxograma Exercício Escreva fluxogramas para representar o processo de solução dos seguintes problemas. 24 / 28 . 3) Leia dois números e calcule o resultado da multiplicação de um pelo outro sem utilizar a operação de multiplicação (ou seja. Verifique se o fluxograma está correto utilizando alguns exemplos.

Algoritmos e Fluxogramas Sumário Sumário Estruturas básicas de programação Sequência Seleção Seleção simples Seleção composta Iteração Com teste a priori Com teste a posteriori 25 / 28 .

1893) 26 / 28 .visos gerais .Sobre a aula de ontem Dúvidas Algoritmos e Fluxogramas Dúvidas??? O Grito (Edvard Munch.

a aula Dúvidas Algoritmos e Fluxogramas Próxima Aula 27 / 28 .

F. I. 2009. Mizrahi. 2005.F. Algoritmos e lógica de programação.F. São Paulo: McGraw-Hill.V. Treinamento em linguagem C . M. Primeiro curso de programação em C . L. Florianópolis: Visual Books.3a ed.Algoritmos e Fluxogramas Referências Bibliográficas Referências Bibliográficas Carboni. V.10a ed. 28 / 28 .L. e outros. Damas.A. 1990. 2007. E. Lógica de programação. Linguagem C . São Paulo: Pioneira Thomson Learning. São Paulo: Pioneira Thomson Learning. 2003. Souza.módulos I e II. Rio de Janeiro: LTC. Senne.

Sign up to vote on this title
UsefulNot useful