Vous êtes sur la page 1sur 29

Algoritmia

Informtica de Gesto 10 ano

Paulo Costa

Fase de concepo
Conceito de algoritmo

Conjunto finito de regras bem determinadas para a resoluo de um problema, atravs de um nmero finito de operaes

Fase de implementao
Conceito de programa Conjunto de instrues destinadas a serem processadas num sistema informtico para realizar uma determinada tarefa

Exemplo de algoritmo

Programao Top-down
Trata-se de uma forma de abordagem em que se parte dos pontos mais gerais para os mais detalhados

Operaes elementares
Operador
+

Operao
Adio

* /

Subtraco
Multiplicao Diviso

Operadores de comparao
Operador
=

Operao
Igual

<
> <> <=

Menor
Maior Diferente Menor ou igual

Operadores lgicos

Operador And Or Not

Operao e ou negao

Tabelas de verdade

Exerccio
Considerando as seguintes expresses numricas e supondo que P=3 e Q=2, determine quais os valores de cada uma das seguintes expresses:
-P+Q*5 - (P + Q) * 5 -P+5*Q/2 - (P + 5 * Q) / 2

Exerccio
Determine os valores lgicos de cada uma das seguintes expresses, supondo que X=10 e Y=5:
- (X > 5) And (X >= 10) - (X > 0) Or (X > 20) - (X = 10) And (Y<> 5) - Not (Y = 5) Or (X <> 10) - Not ( ( X > 10 ) And (Y < 5) )

Formas de apresentao dos algoritmos


Um algoritmo pode ser representado por
meio de diagramas ou fluxogramas, ou

ento

utilizando

termos

da

nossa

linguagem tradicional, a que chamamos

pseudocdigo.

Fluxogramas
Os fluxogramas so diagramas representativos do
fluxo das aces de um programa atravs de smbolos, que representam os diferentes tipos das aces e o seu encadeamento na sequncia do programa.

Fluxogramas
Smbolos Significado
Processamento em geral Leitura/Escrita de dados Inicio/Fim de processamento Linha de fluxo Conector de fluxo Deciso condicional Escolha mltipla Subprograma
1 2

Exemplos
XX+1
Escreve X

Inicio

n> 5
Caso x
3 4

Rotina x

Fluxogramas
Inicio

Ler Valor 1

Ler Valor 2

Valor 1 > Valor 2

Escrever Valor 1 Maior

Escrever Valor 2 Maior

Fim

Pseudocdigo
No pseudocdigo utilizam-se termos convencionais para indicar as instrues do programa; esses termos so, normalmente, uma mistura de palavras da nossa linguagem com palavras das linguagens de programao.

Pseudocdigo

Incio
Escrever (Introduza dois valores) Ler (valor 1) Ler (valor 2) Se valor 1 > valor2 ento Escrever (valor 1, maior) Seno Escrever (valor 2, maior) Fim se Fim

Elementos e estruturas fundamentais de programao


Poderemos considerar os seguintes elementos e estruturas fundamentais: Dados; Instrues bsicas; Expresses; Estruturas de controlo; Subprogramas.

Elementos e estruturas fundamentais de programao


Dados : Qualquer programa opera com dados, que por sua vez podem ser utilizados num programa sobre a forma de constantes ou variveis: Constantes: So valores que se inalterados dentro de um programa mantm

Variveis: So entidades que podem assumir diferentes valores ao longo da execuo do programa.

Elementos e estruturas fundamentais de programao


Instrues bsicas : As instrues so frases que indicam as aces ou operaes que se pretendem realizar.

s instrues elementares de uma linguagem de programao costuma-se chamar comandos.

Elementos e estruturas fundamentais de programao


Podemos identificar as seguintes instrues bsicas:
Instrues

de escrita ou de output;

Instrues de leitura ou de input; Instrues de atribuio

Elementos e estruturas fundamentais de programao


Uma expresso uma regra ou uma frmula que especifica um valor ou um resultado e que se divide em operandos e operadores (aula anterior). Os operandos so constantes, variveis ou valores gerados por funes. Os operadores operam sobre os operandos. Ex: X = X * 5

Estrutura de deciso condicional Se / IF


Este tipo de estrutura permite decidir entre executar ou no determinada aco ou conjunto de aces ou ainda decidir de entre duas alternativas possveis, com base numa condio ou expresso booleana (true ou false).
L (nota) L (nota)

nota>=10

nota>=10

No

No Sim Sim

Escreve ('Aprovado')

Escreve ('Aprovado')

Escreve ('Reprovado')

Estrutura de deciso condicional Se / IF


L (nota) Se nota >=10 ento Escreve (Aprovado) Seno Escreve (Reprovado) Fim se

L (nota) Se nota >=10 ento Escreve (Aprovado) Fim se

Estrutura de deciso condicional CASO / CASE


Esta estrutura a melhor opo alternativas. a utilizar sempre que temos mltiplas

Caso X

(...) Instruo/es Instruo/es Instruo/es Instruo/es

Estrutura de deciso condicional CASO / CASE

CASO <varivel/selector> <valor 1> faz <instruo 1> <valor 2> faz <instruo 2> ... <valor n> faz <instruo n> [SENO faz <instruo x>] Fim CASO

Estruturas de repetio ENQUANTO / WHILE e REPETE / REPEAT


As estruturas ou ciclos de repetio que so controlados por uma condio podem ser de dois tipos: Estrutura
ENQUANTO em que a condio de controlo averiguada no incio do ciclo. Neste tipo de estrutura o ciclo pode nunca ser executado, uma vez que a condio pode ser falsa logo no incio. Estrutura REPETE em que a condio de controlo s averiguada no final da execuo das instrues abrangidas pelo ciclo e sendo assim as instrues que esto no ciclo so pelo menos uma vez executadas.

Estruturas de repetio ENQUANTO / WHILE e REPETE / REPEAT

Instruo/es Condio

No Sim

No

Instruo/es

Condio

Sim

Estruturas de repetio ENQUANTO / WHILE e REPETE / REPEAT


Exemplo da instruo Enquanto
Incio
n=0

n<10

n0 Enquanto n<10 faz n n +1 quadrado n * n Escreve (quadrado) Fim enquanto

Sim No

n =n +1

quadrado = n * n

Fim
Escreve quadrado

Estruturas de repetio ENQUANTO / WHILE e REPETE / REPEAT


Exemplo da instruo Enquanto
L (n)

Repete L (n) Dobro n * 2 Escreve (o dobro de ,n,,dobro) At dobro=0

dobro = n * 2

Escreve ('O dobro de ', n , ' ',dobro)

No

dobro = 0

Sim