You are on page 1of 16

Introdução à Programação

Julho – Novembro 2017

Docente: enga Tatiana D. Kovalenko


Assistente: enga Leila Omar
Monitor: Valter Cheque
Site: http://moodle-feng.tk
AULA TEÓRICA 1

Revisão: Desenho de Algoritmos

Ø 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.

Modelo de solução de problemas:


1.  Deixar claro o problema.
2.  Identificar as entradas e saídas.
3.  Desenvolver um procedimento para a solução do problema.
4.  Verificar manualmente o procedimento e corrigí-lo, se
necessário.
5.  Codificar o algoritmo numa linguagem de programação(LP).
6.  Executar o programa com dados de teste, depurando
(processo de detectar e remover erros - debugging) quando
necessário.
7.  Refinar e documentar o programa. 4  
A programação consiste em duas tarefas:
Ø  desenvolvimento de algoritmos e
Ø  codificação.
Um algoritmo é uma série de passos usados para resolver um
problema. Você produz um algoritmo por meio de uma analise
sistemática do problema.
Um algoritmo pode ser definido como uma sequência finita de
instruções bem definidas e não ambíguas, cada uma das quais
pode ser executada mecanicamente num período de tempo
finito com uma quantidade de esforço finita.
Um algoritmo está sempre associado com um dado objectivo,
ou seja, com a solução de um dado problema. A execução das
instruções do algoritmo garante que o seu objectivo é atingido.

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.

Um fluxograma é a representação gráfica de um algoritmo.


O fluxograma tem a vantagem de permitir visualizar
rapidamente a estrutura de programação utilizada.

Num fluxograma utiliza-se um conjunto de blocos


predefinidos.

6  
Início/fim decisão

entrada/ saída repetição


de dados

Expressões conexão

Tipos de fluxogramas elementares:


•  Fluxograma sequencial(linear);
•  Fluxograma com ramificação:
•  multi ramificação;
•  repetitivo (ou cíclico).
7  
Identifique o tipo:  

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

Pseudo código: soma ß val1 + val2


Início
ler (val1,val2)
soma
soma <- val1 + val2
visualizar (soma)
fim. fim
9  
Fluxograma com ramificação. Selecção simples
Ex.2. Introduzir do teclado um número e visualizar uma
mensagem somente se o número introduzido for igual a zero.
Análise:
Entrada: um número
Saídas: uma mensagem se o número for igual a zero
Solução: comparar número com zero início

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”

Pseudo código: sim  


comentß “2º não   comentß “1º é
Início x>y
é o maior” o maior”
ler (x,y)
se  x  =  y  então    
         coment  ß  “Os  valores  introduzidos  são  iguais”  
coment
 senão    
         se  x  >  y  então
coment  ß  “o  1º  valor  introduzido  é  o  maior”     fim
senão  
               coment  ß  “o  2º  valor  introduzido  é  o  maior”  
 visualizar  (coment)  
fim.
Fluxograma repetitivo
Ex.5. Supomos que pretende-se modificar o algoritmo do ex.1)
de forma a permitir o processamento de cálculo de soma de
dois números várias vezes.
Neste caso temos que no fim do algoritmo perguntar se
utilizador pretende introduzir outros dois números. No caso “sim”
devemos voltar para o bloco de leitura de dados, no caso “não”,
terminar.     início

Pseudo código: val1,val2


Início
repetir somaßval1 + val2
início
ler (val1,val2) soma
soma <- val1 + val2
visualizar (soma) sim  
Continuar: S/N?
fim não  
enquanto (resposta = ‘ S’)
fim
fim.
Contador de repetições
Ex.6. Caso pretender saber o número de vezes que os dados
foram introduzidos, temos que adicionar mais uma variável. Esta
variável (chamamos por contador) será inicializada com o valor
zero (cont <- 0) e na medida que os dados serão introduzidos, o
contador vai incrementar em 1 (cont+1). início
Pseudo código:
Início cont ß 0

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  

You might also like