Vous êtes sur la page 1sur 28

Algoritmos e Fluxogramas

Programao de Computadores I
Algoritmos e Fluxogramas - Parte 3

Prof. Antnio Augusto Chaves


Departamento de Matemtica Bloco VI - sala 23

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

1 / 28

Algoritmos e Fluxogramas

Objetivos

Ao nal desta aula, o aluno ser capaz de:


1. Representar algoritmos por meio de uxogramas 2. Usar estruturas de controle de repetio que permitem a repetio da execuo de partes especcas do cdigo

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

2 / 28

Algoritmos e Fluxogramas Reviso

Reviso
Um algoritmo um conjunto nito de instrues, com uma ou mais operaes capazes de serem executadas por um computador em tempo nito, para a realizao de uma tarefa especca. Caractersticas de um bom algoritmo:
Finitude Exatido Entradas e sadas determinadas Efetividade

3 / 28

Algoritmos e Fluxogramas Reviso

Reviso
Representao do uxo de execuo de um algoritmo: Fluxograma Fluxograma
Representaogrfica, estruturadaesimplificada. Ilustraofluxo(seqncia)de operaes. Smbolospadronizados. Sintaxeesemnticabem definidos. Fcildetraduzirparaqualquer linguagemdeprogramao.

PCI MAP2009

Algoritmos eFluxogramas

4 / 28

Algoritmos e Fluxogramas Reviso

Fluxograma:principaissmbolosusadosemComputao Reviso
Principais smbolos
Smbolo Nome terminador conector fluxo processo subrotina deciso leitura exibio Funo
Representaoincioouofimdo processamento. Representaasadaparaoua entradadeoutrapartedomesmo fluxograma. Representaofluxodosdadosou docontroledeexecuo. Representaumainstruo, resultandonaalteraodovalor deumainformao. Processamentodefunesou chamadaaprocedimentos. Representaumacondioaser avaliada,comduasoumais alternativasdeexecuo. Entradamanualdedados,em tempodeexecuo. Apresentaodosresultadosdo processamento.

5 / 28

Algoritmos e Fluxogramas Reviso

Reviso Operadores
Os seguintes smbolos so utilizados como operadores na linguagem C:
Aritmticos Smbolo + * / % Operao adio subtrao multiplicao diviso resto < > <= >= == != Relacionais Smbolo Significado menorque maiorque menorouigual maiorouigual igual diferente Smbolo && | | ! Lgicos Operao AND OR NOT

OsseguintessmbolossoutilizadoscomooperadoresnalinguagemC:

PCI MAP2010

Algoritmos e Fluxogramas

39

6 / 28

Algoritmos e Fluxogramas Reviso

Reviso

Atribuio
A atribuio um comando utilizado para armazenamento temporrio Aatribuio umcomandoutilizadoparaarmazenamentotemporriode de valores. valores. O resultado do processamento descrito no lado direito do smbolo Oresultadodoprocessamentodescritonoladodireitodosmbolo ser ser atribudo para a varivel discriminada no lado esquerdo. atribudoparaavariveldiscriminadanoladoesquerdo.
A A A 100 B 3 .14*A A s in(B) 100 B 3 .14*A 100

Ateno valor.

Aatribuio de atribuio em C: Comando umcomandodestrutivo,ouseja,ovaloranteriorser substitudopelonovo

PCI MAP2010

Algoritmos e Fluxogramas

40

7 / 28

Algoritmos e Fluxogramas Reviso

Exemplo
Reviso

Determinarosaldodeumaaplicaofinanceira,cominvestimentoi Determinar o saldo de uma aplicao nanceira, com investimento inicial de deR$100,00ejurosde1%aoms,aofinaldo3 ms. R$ 100,00 e juros de 1% ao ms, ao nal do 3o ms.
Sejam: I:ovalordoinvestimentoinicial. J:ataxadejuros. P:osaldoaofinaldoprimeiroms. S:osaldoaofinaldosegundoms. T:osaldoaofinaldoterceiroms.
Incio I= 100 J= 0.01 P= I+J*I S= P+J*P T= S+J*S T Fim inciodoalgoritmo o valor100 atribudo varivelI ovalor0.01 atribudo varivelJ clculodosaldoaofinal doprimeiroms(P) clculodosaldoaofinal dosegundoms(S) clculodosaldoaofinal doterceiroms(T) informaosaldofinalT fimdoalgoritmo
8 / 28

Algoritmos e Fluxogramas Reviso

lo

Reviso valornumricoeexibilocasosejamaiorquepositivo.
Ler um valor numrico e exibi-lo caso seja positivo ou nulo.

Seja: A:ovalornumrico.

Incio A V A

inciodoalgoritmo lerA compararseA maiorouiguala0 exibirovalor deA

A>= 0 F

Fim

fimdoalgoritmo

9 / 28

Algoritmos e Fluxogramas Reviso

Exemplo
Reviso
Lerdoisvaloresnumricos,comparloseexibiromaiorvalor.
Ler dois valores numricos, compar-los e exibir o maior valor.
Sejam: A:oprimeirovalornumrico. B:osegundovalornumrico.

Incio A,B V A F B

inciodoalgoritmo lerAeB

A>B

compararAeB exibiromaiorvalor

Fim

fimdoalgoritmo

10 / 28

Algoritmos e Fluxogramas Reviso

Reviso

Leia 3 nmeros reais positivos A, B e C e verique se eles podem ser considerados como os lados de um tringulo (ou seja, se a soma de quaisquer dois lados maior que o terceiro lado). Em caso negativo, informe a mensagem No tringulo. Em caso armativo informe qual o tipo do tringulo: equiltero (os 3 lados so iguais), issceles (apenas 2 lados iguais) ou escaleno (nenhum lado igual ao outro).

11 / 28

Algoritmos e Fluxogramas Reviso

Reviso
Incio A,B,C

B+C>A&& A+C>B&& A+B>C

No tringulo

F F
A==B|| A==C|| B==C

A==B&& A==C

V Issceles

Equiltero

Escaleno

Fim
12 / 28

Algoritmos e Fluxogramas Fluxograma

Exemplo 1 - Sequencial
Calcular e imprimir a soma de todos os nmeros naturais entre 1 e 10.
Incio S=0 S = S+1 S = S +2 inciodoalgoritmo o valor 0 atribudo varivelS ovalor1 somado varivelS ovalor2 somado varivelS

. . .

S = S +10 S Fim

ovalor10 somado varivelS informaasoma fimdoalgoritmo


13 / 28

Algoritmos e Fluxogramas Fluxograma

Exemplo 2 - Iterao
Calcular e imprimir a soma de todos os nmeros naturais entre 1 e 10.
Incio i=1 S=0 inciodoalgoritmo o valor 1 atribudo variveli o valor 0 atribudo varivelS

i<=10 V ovalori somado varivelS ovalor1 somado variveli S = S +i i = i +1

S Fim

informaasoma fimdoalgoritmo

14 / 28

Algoritmos e Fluxogramas Fluxograma

Exemplo
Exemplo 3
Calcularorestodadivisointeiraentredoisnmerosinteirospositivos.
Calcular o resto da diviso inteira entre dois nmeros inteiros positivos.
Sejam: A:ovalordodividendo. B:ovalordodivisor. Q:ovalordoquociente. R:ovalordoresto.
inciodoalgoritmo lerAeB inicializarovalor doquocienteQ compararAeB atualizarovalordo dividendoA atualizarovalordo quocienteQeretornar

Incio A,B Q= 0 F atualizarovalor dorestoR exibirovalordo restoR fimdoalgoritmo

A>=B V A= A B Q= Q+1

R= A R Fim

15 / 28

Algoritmos e Fluxogramas Fluxograma

Exemplo
Exerccio - Modique o uxograma abaixo

Determinarosaldodeumaaplicaofinanceira,cominvestimentoi Determinar o saldo de uma aplicao nanceira, com investimento deR$100,00ejurosde1%aoms,aofinaldo3 ms. inicial de R$ 100,00 e juros de 1% ao ms, ao nal do 3o ms.
Sejam: I:ovalordoinvestimentoinicial. J:ataxadejuros. P:osaldoaofinaldoprimeiroms. S:osaldoaofinaldosegundoms. T:osaldoaofinaldoterceiroms.
Incio I= 100 J= 0.01 P= I+J*I S= P+J*P T= S+J*S T Fim inciodoalgoritmo o valor100 atribudo varivelI ovalor0.01 atribudo varivelJ clculodosaldoaofinal doprimeiroms(P) clculodosaldoaofinal dosegundoms(S) clculodosaldoaofinal doterceiroms(T) informaosaldofinalT fimdoalgoritmo
16 / 28

Algoritmos e Fluxogramas Fluxograma

Estruturas bsicas de programao


No paradigma de programao estruturada, os programas so escritos considerando apenas combinaes adequadas de trs estruturas bsicas: Sequncia Seleo Iterao Cada estrutura tem um nico ponto de entrada e um nico ponto de sada, representado pelo smbolo conector. Nessas estruturas, o smbolo de processo (retngulo) pode ser utilizado para representar qualquer ao, incluindo leitura de dados e exibio de resultados.

17 / 28

Algoritmos e Fluxogramas Fluxograma

truturasbsicasdeprogramao

Estruturas bsicas de programao eqncia:ofluxodeexecuodasinstruesocorredemodolinear,uma psaoutra. Sequncia: o uxo de execuo das instrues ocorre de modo linear, eveexistirapenasumcaminhopossvelnoconjuntodeinstruesdeum uma aps a outra. lgoritmo. Deve existir apenas um caminho possvel no conjunto de instrues de
um algoritmo.

Sequncia

18 / 28

Algoritmos e Fluxogramas Fluxograma

Estruturasbsicasdeprogramao
Estruturas bsicas de programao

Seleo:execuoseletivadeumgrupodeinstruesbaseadaemalguma Seleo: execuo seletiva de um grupo de instrues baseada em condio,representadaporumaexpressolgicaourelacional. alguma condio, representada por uma expresso lgica ou Criamalternativasnofluxodeexecuodasinstruesdoalgoritmo.Em relacional. tempodeexecuo,apenasumadasalternativasser escolhida. Criam alternativas no uxo de execuo das instrues do algoritmo.
Em tempo de execuo, apenas uma das alternativas ser escolhida.

V F

Seleosimples

Seleocomposta

19 / 28

Algoritmos e Fluxogramas Fluxograma

Estruturasbsicasdeprogramao

Estruturas bsicas de programao Iterao:execuorepetitivadeumgrupodeinstruesat quealguma condiosejasatisfeita.Ofluxodaexecuopodevoltarvriasvezesao Iterao: execuo repetitiva de um grupo de instrues at que alguma condio seja satisfeita. inciodeumconjuntodeetapas,antesdeprosseguirparaaetapaseguinte.
O uxo da execuo pode voltar vrias vezes ao incio de um conjunto de etapas, antes de prosseguir para a etapa seguinte.

F V V F

Iteraocom testeapriori

Iteraocom testeaposteriori

20 / 28

Algoritmos e Fluxogramas Fluxograma

Fluxogramas estruturados
As estruturas bsicas podem ser combinadas entre si, utilizando apenas duas regras:
Regra do empilhamento: o ponto de sada de uma estrutura pode ser conectado ao ponto de entrada de outra estrutura. Regra do aninhamento: Um retngulo de uma estrutura pode ser substitudo por uma outra estrutura qualquer.

Essas regras podem ser aplicadas quantas vezes forem necessrias, e em qualquer ordem. Os uxogramas resultantes da aplicao dessas regras constituem o conjunto de todos os uxogramas estruturados possveis.

21 / 28

Algoritmos e Fluxogramas Fluxograma

Exerccio

Escreva uxogramas para representar o processo de soluo dos seguintes problemas. Verique se o uxograma est correto utilizando alguns exemplos. Quando necessrio utilize os operadores aritmticos e relacionais da linguagem C.
1) Calcule e imprima a soma de 10 nmeros fornecidos pelo usurio.

22 / 28

Algoritmos e Fluxogramas Fluxograma

Exerccio

Escreva uxogramas para representar o processo de soluo dos seguintes problemas. Verique se o uxograma est correto utilizando alguns exemplos. Quando necessrio utilize os operadores aritmticos e relacionais da linguagem C.
2) Leia uma sequncia de 5 nmeros e em seguida imprima o maior nmero. Faa primeiro utilizando o condicional no incio e depois com o condicional no nal do lao de repetio.

23 / 28

Algoritmos e Fluxogramas Fluxograma

Exerccio

Escreva uxogramas para representar o processo de soluo dos seguintes problemas. Verique se o uxograma est correto utilizando alguns exemplos. Quando necessrio utilize os operadores aritmticos e relacionais da linguagem C.
3) Leia dois nmeros e calcule o resultado da multiplicao de um pelo outro sem utilizar a operao de multiplicao (ou seja, utilizando apenas soma).

24 / 28

Algoritmos e Fluxogramas Sumrio

Sumrio

Estruturas bsicas de programao


Sequncia Seleo
Seleo simples Seleo composta

Iterao
Com teste a priori Com teste a posteriori

25 / 28

visos gerais - Sobre a aula de ontem


Dvidas

Algoritmos e Fluxogramas

Dvidas???

O Grito (Edvard Munch, 1893)


26 / 28

aaula
Dvidas

Algoritmos e Fluxogramas

Prxima Aula

27 / 28

Algoritmos e Fluxogramas Referncias Bibliogrcas

Referncias Bibliogrcas
Carboni, I.F. Lgica de programao. So Paulo: Pioneira Thomson Learning, 2003. Souza, M.A.F. e outros. Algoritmos e lgica de programao. So Paulo: Pioneira Thomson Learning, 2005. Damas, L. Linguagem C - 10a ed. Rio de Janeiro: LTC, 2007. Mizrahi, V.V. Treinamento em linguagem C - mdulos I e II. So Paulo: McGraw-Hill, 1990. Senne, E.L.F. Primeiro curso de programao em C - 3a ed. Florianpolis: Visual Books, 2009.

28 / 28

Vous aimerez peut-être aussi