Vous êtes sur la page 1sur 26

Introduo Programao

Joo Manuel R. S. Tavares


Sumrio

1. Ciclo de desenvolvimento de um programa;

2. Descrio de algoritmos;

3. Desenvolvimento modular de programas;

4. Estruturas de controlo de um programa.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 2


Execuo de uma tarefa no
computador
Passos at escrever as instrues para executar uma determinada
tarefa:
1 - Determinar qual deve ser a sada.
2 - Identificar os dados, ou entrada, necessria para obter a sada.
3 - Determinar como processar a entrada para obter a sada desejada.

Entrada Processamento Sada

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 3


Execuo de uma tarefa no
computador
Exemplos de execuo de tarefas
1 - Um exemplo do dia a dia: fazer um bolo de ma:
Sada: bolo de maa.
Entrada: ingredientes e respetivas quantidades.
Os ingredientes e quantidades so determinados por aquilo que se
quer fazer.
Processamento: a receita indica como proceder.

2 - Um problema de clculo: determinar o valor do selo de uma carta:


Sada: valor do selo.
Entrada: peso da carta, escales de peso, custo/escalo.
Processamento: o algoritmo indica como proceder.
@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 4
Ciclo de desenvolvimento de um
programa
1. Analisar o problema;
2. Planear a soluo;
3. Escolher a interface;
4. Codificar;
5. Testar e corrigir erros;
6. Completar a documentao.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 5


1 - Analisar o problema

Compreender o que o programa deve fazer, qual


deve ser a sada.
Ter uma ideia clara de que dados (entrada) so
fornecidos.
Perceber muito bem qual a relao entre a entrada e
a sada desejada.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 6


2 - Planear a soluo
Encontrar uma sequncia lgica e precisa de passos
para resolver o problema.
Tal sequncia de passos chamada um algoritmo.
O algoritmo deve incluir todos os passos, mesmo
aqueles que parecem bvios.
Existem vrios mtodos de especificar o algoritmo:
diagramas de fluxo ou fluxogramas;
pseudocdigo;
diagramas top-down.

O planeamento tambm envolve um teste manual


do algoritmo, usando dados representativos.
@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 7
3 - Escolher a interface

Determinar como que a entrada ser obtida e como


que a sada ser apresentada.

Por exemplo, em Visual Basic/C++:

Criar objetos para receber a entrada e apresentar a


sada.

Criar botes de comando apropriados para que o


utilizador possa controlar o programa.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 8


4 - Codificar

Traduzir o algoritmo para uma linguagem de


programao (ex.: Visual Basic/Fortran).
Temos ento um programa.

Introduzir o programa no computador.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 9


5 - Testar o programa e corrigir
erros (debugging / depurao)
Localizar e remover eventuais erros do programa.
Os erros sintticos resultam do facto de o utilizador no ter
escrito o programa de acordo com as regras da gramtica da
linguagem de programao utilizada; so detetados pelo
compilador/interpretador da linguagem.
O computador no executar nenhuma instruo sintaticamente
incorreta.
Os erros semnticos resultam do facto de o programador no ter
expressado corretamente, atravs da linguagem de programao,
a sequncia de aes a ser executada.
Estes erros tm de ser detetados pelo programador atravs de
testes exaustivos com dados variados para os quais a sada deve
ser conhecida.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 10


6 - Completar a documentao
A documentao serve para que outra pessoa ou o prprio
programador, mais tarde, entenda o programa.
A documentao consiste em incluir comentrios no programa
que especificam:
o objetivo do programa;
como usar o programa;

a funo das variveis;

a natureza dos dados guardados nos ficheiros;

as tarefas executadas em certas partes do programa;

Em programas comerciais, a documentao inclui, normalmente,


um manual de instrues.
Outros tipos de documentao: pseudocdigo, fluxograma,
diagrama top-down.
@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 11
Descrio de algoritmos
Duas formas utilizadas:
Pseudocdigo
Descreve a sequncia de passos usando uma linguagem parecida com a
linguagem comum (Ingls, Portugus, ) mas usando frases com
construes prximas das que so aceites por muitas linguagens de
programao.
Exemplos de construes:
1 - Se condio ento fazer aes_1 seno fazer aes_2
2 - Repetir aes at que condio

Fluxograma ou diagrama de fluxo


Descreve graficamente a sequncia de passos a executar para resolver
um determinado problema e como os passos esto interligados.
constitudo por um conjunto de smbolos geomtricos ligados por setas.
@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 12
Smbolos ANSI usados em
fluxogramas
Linha de fluxo - usado para ligar os outros smbolos
indicando a sequncia de operaes

Terminal - usado para representar


o incio ou o fim de uma tarefa

Entrada/Sada - usado para operaes de entrada/sada


tais como ler ou imprimir
(os dados a ler/escrever so indicados no interior)

Processamento - usado para operaes de manipulao


dos dados ou operaes aritmticas

Deciso - usado para indicar operaes de teste


(tem uma entrada e duas sadas correspondentes
ao resultado do teste ser verdadeiro ou falso)

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 13


Smbolos ANSI usados em
fluxogramas

Processo - usado para representar um grupo de


pr-definido operaes que constituem uma tarefa

Conector - usado para ligar diferentes linhas de fluxo

Conector para - usado para indicar que


fora da pgina o fluxograma continua noutra pgina

Comentrio - usado para fornecer informao adicional


acerca de outro smbolo do fluxograma

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 14


Exemplo
PROBLEMA:
Calcular as razes reais de uma equao do 2 grau.
equao : Ax2+Bx+C = 0
razes : x = (-B B2- 4AC ) / (2A)
Pseudocdigo
- Ler (A, B, C) ;
- Calcular D = B2-4*A*C ;
- Se D >= 0 ento
{ Calcular R1 = (-B + D) / (2*A) ;
Calcular R2 = ( -B - D) / (2*A) ;
Escrever (R1, R2) ; }
Seno
Escrever (no tem razes reais) ;
- Fim
@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 15
Exemplo
Incio
Fluxograma
Ler A, B, C

D = B2-4*A*C

N S
D >= 0

R1 = (-B+ D )/ (2*A)

Escrever R2 = (-B- D) / (2*A)


no h razes reais
Escrever
R1, R2

Fim

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 16


Descrio da estrutura de um
programa
A estrutura de um programa pode ser descrita atravs de um
diagrama de estrutura, diagrama hierrquico ou diagrama top-
down que descreve a organizao do programa, mas omite os
pormenores das operaes.
Ele descreve o que cada parte ou mdulo do programa faz e
mostra como os diferentes mdulos esto relacionados entre si.
O diagrama l-se do topo para baixo (top-down) e da
esquerda para a direita.
Cada mdulo pode estar dividido em sub-mdulos e assim
sucessivamente.
Estes diagramas so teis no planeamento inicial do
programa e ajudam a escrever programas bem estruturados.
@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 17
Desenvolvimento modular de
programas
Mtodo usado para lidar com problemas de programao complexos.
Comea-se por dividir a tarefa inicial em sub-tarefas algumas das quais
podero ser de grande complexidade.
Cada uma destas sub-tarefas , por sua vez, dividida em sub-tarefas
mais simples e assim sucessivamente, at que todas as tarefas estejam
descritas de forma suficientemente elementar para poderem ser
facilmente codificadas na linguagem de programao escolhida.
Vantagens do desenvolvimento modular:
um mdulo pode ser facilmente reutilizado em vrias partes do
programa;
facilita a deteo e correo de erros (analisando os sintomas de um
erro frequentemente fcil reduzir a causa desse erro a um
determinado mdulo).
@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 18
Exemplo
PROBLEMA:
Calcular a rea de um tringulo, dadas as coordenadas dos vrtices, usando a
frmula de Heron:
AREA = S * (S-A) * (S-B) * (S-C)
em que S = semi-permetro = ( A + B + C ) / 2 e A, B e C = comprimentos dos
lados.

Ler coord. dos vrtices Calcular a rea


(V1, V2, V3) Escrever rea

... ... ... Calcular comprimento Calcular S Calcular AREA


dos lados (aplicar frmula)

Calcular ... ...


Dist. (V1,V2) Diagrama top-down
@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 19
Estruturas de controlo de um
programa
Em geral, um programa no constitudo por uma sequncia rgida,
linear, de instrues que so executadas sempre do mesmo modo.
Muitas problemas requerem que seja tomada uma deciso para
selecionar entre duas sequncias de instrues qual a que vai ser
executada.
Por vezes, necessrio repetir um determinado conjunto de instrues
enquanto se verificar uma determinada condio, at que se verifique uma
determinada condio, ou um determinado nmero de vezes.
A generalidade das linguagens de programao possui alm de
instrues simples de leitura, escrita e atribuio de valores instrues de
controlo que envolvem aes de seleo ou de repetio de sequncias de
instrues, permitindo fugir a uma sequncia rgida, linear, de execuo
de um programa.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 20


Instrues condicionais
Permitem uma seleo de sequncias alternativas de
instrues.
Fluxograma Pseudocdigo

Falsa Verdadeira
condio Se condio ento ao
ao

Se a condio for verdadeira a ao executada.


Se a condio for falsa no executada nenhuma ao, passa a ser
executada a instruo seguinte.

Uma ao pode ser constituda por uma ou mais instrues.


@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 21
Instrues condicionais

Fluxograma Pseudocdigo

Falsa Verdadeira
Se condio ento
condio ao_1
ao_2 ao_1
seno
ao_2

Se a condio for verdadeira executada a ao_1.


Se a condio for falsa executada a ao_2.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 22


Instrues de repetio

Usadas quando se pretende executar uma sequncia de


instrues zero ou mais vezes.

H 3 variantes de instrues repetitivas:

1) Enquanto se verificar uma condio executar uma ao;

2) Repetir uma ao at que se verifique uma condio;

3) Executar uma ao um nmero conhecido de vezes.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 23


Instrues de repetio
Fluxograma Pseudocdigo

Falsa Enquanto condio executar


condio
ao
Verdadeira
ao

Se a condio for verdadeira executada a ao e volta-se a testar


a condio.
Se a condio for falsa passa-se execuo da instruo seguinte.

A ao pode ser executada zero (se o teste de condio resultar falso logo
da 1 vez) ou mais vezes.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 24


Instrues de repetio
Fluxograma Pseudocdigo

Repetir
ao ao
Verdadeira at que condio
condio

Falsa

A ao executada e, a seguir, testa-se a condio.


Se a condio for falsa a ao repetida e volta-se a testar a condio.
Se a condio for verdadeira passa-se execuo da instruo seguinte.

A ao pode ser executada uma (se o teste de condio resultar verdadeiro


logo da 1 vez) ou mais vezes.

@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 25


Instrues de repetio
Fluxograma
Pseudocdigo
x=A
Para x de A at B executar
Verdadeiro
ao
x>B
Falso
ao

x = x+1
A ao executada um certo nmero de vezes,
desde um valor inicial (A) at um valor final (B) de
uma varivel (x), designada contador, que
controla o ciclo.

Se A > B o ciclo no executado nenhuma vez.


@2012 - Joo Manuel R. S. Tavares CFAC: Introduo Programao 26

Vous aimerez peut-être aussi