You are on page 1of 16

Algoritmos

Leonel Gomes Junho @2013

@2013

Introduo Programao

Algoritmo

Origem da palavra
al-Khwarizmi - Matemtico rabe
Algoritmo Algarismo

Definio
uma sequncia finita de passos ou instrues, ordenadas de forma lgica, que levam a execuo de uma tarefa ou soluo de um problema.
2

Tipos de Algoritmos

Algoritmo no computational
Exemplos
Receita Manual de instrues

Depende da percia do utilizador!

Algoritmo computational
Manipular informao
Receber dados Guardar dados Devolver informao

Executar instrues
Fazer operaes aritmticas Fazer operaes lgicas Escolha entre vrias instrues. Repetir um conjunto de instrues

Um algoritmo computacional uma sequncia de passo to bem definida que at um computador o capaz de a executar

Caractersticas dos bons algoritmos

Interagir com o utilizador


Realiza uma tarefa til ao utilizador Resolve o problema

Ser finito
Termina sempre e com o resultado previsto

Ser correctamente definido


Instrues claras que o utilizador consegue compreender e seguir

Ser eficaz
Resolve sempre o problema mesmo nas situaes mais problemticas

Ser eficiente
Utiliza o mnimo de recursos possvel
4

Formas

Pseudo-Cdigo
Linguagem escrita Linguagem no-formal
No compilada

Fluxograma
Forma grfica Esquema de smbolos grficos

@2013

Introduo Programao

Fluxo de execuo
Inicio / Fim

Entrada de dados

Linha de fluxo

Deciso condicional

Processamento (clculos)

Impresso de dados

Conector de fluxo

Exemplos
Pseudo-Cdigo Fluxograma

Sintaxe LER(lista_variveis) Exemplos


LER(nome) LER(nota_1,nota_2)

@2013

Introduo Programao

Operadores Aritmticos
+ ( adio ) - ( subtraco ) * ( multiplicao ) / ( diviso real )

Ex: x/ 10 Ex: 15 / 10 ( = 1.5 )


DIV ( diviso inteira )


Ex: x DIV 10 Ex: 15 DIV 10 ( = 1 )

MOD ou % ( resto da diviso inteira )


Ex: x MOD 4 EX: 15 % 10 ( = 5 )

^ ( exponenciao )
Ex: x ^ 5
@2013 Introduo Programao 8

Concluso

O algoritmo no a soluo de um problema


uma forma de chegar soluo

No se aprende
A copiar algoritmos Ler algoritmos prontos A decorar algoritmos

Aprende-se
Construindo algoritmos Testando algoritmos
9

Concluso - Construir Algoritmos


Qual o problema.
O que pretendemos do algoritmo Qual a situao inicial O que necessrio para resolver o problema Qual a situao final Que resultados devem ser apresentados Definir quais as instrues disponveis/necessrias Organizar as instrues de forma a resolver o problema
transformar as entradas na sada

Definir quais so os dados que entram

Definir quais so os dados que saem


Definir o Algoritmo

Testar o algoritmo
Verificar se resolve o problema Verificar se resolve todos os casos
10

Optimizar o algoritmos Verificar se no utiliza recursos suprfluos

Exerccio 1

Pretende-se um programa para calcular a nota final de um aluno de IP e imprima se o aluno est aprovado ou reprovado.
80% - Resultado dos instrumentos de avaliao (60 % Trabalho Prtico + 20% Trabalho Terico) 20% - Avaliao contnua

Desenhe o fluxograma
Converta em pseudocdigo

Exerccio 2

Desenvolva um algoritmo capaz de verificar se uns nmeros inteiros, dados como entrada, par ou impar.

Desenhe o fluxograma
Converta em pseudocdigo

@2013

Introduo Programao

12

Exerccio 3

Pretende-se elaborar um programa que permita ler um nmero a partir do teclado e apresentar a indicao de que positivo, negativo ou nulo. Desenhe o fluxograma

Converta em pseudocdigo
@2013 Introduo Programao 13

Exerccio 4

Escreva um algoritmo na forma de fluxograma e pseudocdigo que leia uma temperatura dada na escala Celsius (C) e imprima o equivalente em Fahrenheit (F). (Frmula de converso: F = 9/5 * C + 32)

@2013

Introduo Programao

14

Desafio - O jogo do rio

Encontram-se na margem A, a me e duas filhas, Pai e dois filhos e um polcia e um ladro, que pretendem atravessar para a margem B. Para realizar a travessia existe uma jangada cuja lotao de duas pessoas. Durante a travessia devem ser respeitadas as regras seguintes:
A jangada apenas pode ser conduzida pelo Pai, pela Me ou pelo Polcia. A Me nunca pode ficar na mesma margem na presena de um ou mais filhos sem a presena do Pai. O Pai nunca pode ficar na mesma margem na presena de uma ou mais filhas sem a presena do Me. O ladro deve estar sempre acompanhado pelo polcia quando existem na mesma margem outros elementos.

Construa o algoritmo da travessia

15

Soluo Desafio

@2013

Introduo Programao

16

You might also like