Professional Documents
Culture Documents
Ø Resolução de problemas.
Ø Algoritmo. Pseudo-código. Fluxograma.
Ø Tipos de fluxogramas.
Ø Selecção simples. Selecção em alternativa.
Ø Fluxograma repetitivo. Contador de repetições.
Ø Teste de condição no fim e no início.
2
Resolução de problemas
programação,
é a acção e o efeito de programar,
para programadores isto significa a elaboração de
programas para a resolução de problemas através
de computadores.
O Processo de programação é composto por duas
tarefas:
• formular um procedimento logicamente correcto e
sem ambiguidades, para resolver um dado
problema;
• traduzir tal procedimento para uma forma
aceitável pelo computador. 3
“Um programa é, antes de mais nada, um solucionador de
problemas”.
Um programa é um conjunto de instruções bem definidas que
especificam exactamente o que tem de ser feito.
5
O algoritmo é expresso em uma linguagem chamada
pseudocódigo, que é parecida com uma LP, mas que evita
detalhes excessivos (semelhante ao inglês). Em seguida,
você codifica, ou seja, traduz o algoritmo para linguagem que
computador entenda (Pascal, Fortran, C,C++, Java ou outra).
Para isso você deve reduzi-lo a uma sequência de
operações primitivas.
6
Início/fim decisão
Expressões conexão
8
Pseudo código
Para ilustrar a execução de um algoritmo utiliza-se o chamado pseudo
código, que não é mais do que a utilização de uma linguagem
convencional, esquemática, que não necessita de respeitar os
“rigores” da sintaxe das verdadeiras linguagens de programação.
Fluxograma sequencial
Ex.1. Analisar o problema, elaborar o algoritmo, desenhar o fluxograma e
escrever o pseudo código para poder receber dois valores inteiros e fornecer
ao utilizador a sua soma. início
Análise:
Entradas: val1,val2
Saídas: soma val1, val2
Solução: soma <- val1 + val2
num
sim
"Numero é
num =0
igual a zero
Pseudo código:
Início nao
ler (num)
fim
se num = 0 então
visualizar ("O numero introduzido é igual a zero"
)
fim.
Fluxograma com ramificação. Selecção em alternativa
Ex.3. Receber do teclado dois números e determinar qual deles
é o maior, visualizar o comentário do tipo “1o valor introduzido é
o maior”
início
Análise:
Entradas: x,y
Saídas: uma mensagem x, y
Solução: comparar x com y
sim
comentß “1º é o
x >y
maior”
Pseudo código: não
Início
comentß “2º é o
ler (x,y) maior”
se
x
>
y
então
coment
ß
“o
1º
valor
introduzido
é
o
maior”
senão
coment
coment
ß
“o
2º
valor
introduzido
é
o
maior”
visualizar
(coment)
fim. fim
Ex.4. Entre
dois
valores
introduzidos
determinar
o
maior
(prever
a
situação
de
valores
serem
iguais).
início
Análise:
Entradas: x,y x, y
Saídas: uma mensagem
Solução: comparar x com y sim
comentß “são
x=y
iguais”
cont <- 0
val1,val2
fazer (ou repetir)
início somaß val1 + val2
ler (val1,val2)
soma
soma <- val1 + val2
visualizar (soma) cont ß cont + 1
cont <- cont+1
sim
fim Continuar: S/N?
enquanto (resposta = ‘ S’) não
visualizar (cont) cont
fim.
fim
Teste da condição para repetição do ciclo pode ser feito no fim
ou no início.
Ex.7. Visualizar no ecrã 100 vezes palavra “aprender"
Início Início
contß 0 contß 0
não
cont <100
“aprender”
sim
“aprender”
contßcont+1
sim
contßcont+1
cont <100
não
fim fim
Referência bibliográfica:
António José Mendes; Maria José Marcelino.
“Fundamentos de programação em Java 2”. FCA. 2002.
Elliot Koffman; Ursula Wolz.
“Problem Solving with Java”. 1999.
John R. Hubbard.
“Theory and problems of programming with Java”. Schaum’s Outline series. McGraw-Hill.
H. Deitel; P. Deitel.
“Java, como programar”. 4 edição. 2003. Bookman.
Rui Rossi dos Santos.
“Programando em Java 2– Teoria e aplicações”. Axcel Books. 2004
16