Você está na página 1de 13

INFORMTICA APLICADA PSICOLOGIA

Algoritmos: conceitos e representaes

Psicologia
IMES So Manuel Prof. Dra. Nilza Regina da Silva

Plano de aula
O que vamos estudar na aula de hoje: Conceitos iniciais e definio de Algoritmo Exemplos e aplicaes Estruturas de Controle de Fluxo Representaes de Algoritmos

Introduo
O que um Algoritmo ?

Antes de definirmos o conceito de Algoritmo, vamos entender o que uma AO. Ao um acontecimento que, a partir de um estado inicial e aps um perodo de tempo finito, produz um estado final previsvel e bem definido

Definio de algoritmo
Algoritmo a descrio de um conjunto de comandos que, obedecidos,

resultam numa sucesso finita de aes.


(FARRER, Harry et al, 1999)

Algoritmo uma seqncia de passos que visa atingir um objetivo bem definido. (FORBELLONE, Andr L.V.; EBERSPACHER, Henri F.,2000)

Um algoritmo qualquer procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz um valor ou conjunto de valores como sada. Portanto, um algoritmo uma seqncia de passos computacionais que transforma a entrada em sada. (CORMEN, Thomas H. et al, 2002)

Algoritmo: conjunto de regras e operaes prprias para se fazer um clculo. (Dicionrio CALDAS AULETE,2004)

Definio de algoritmo
TODOS AUTORES TEM A MESMA IDIA CENTRAL

Algoritmo a descrio de um conjunto de aes que resultam numa sucesso finita de passos, com o intuito de resolver um determinado problema. So regras formais para a soluo de um problema Resumindo: uma Receita de bolo
O conceito central da programao e da cincia da computao o conceito de algoritmo.
(WIRTH - Professor da Universidade de Zurique, autor de diversos livros na rea e responsvel pela criao de linguagens de programao como ALGOL e PASCAL)

Definio de algoritmo
ALGORITMO independente da tecnologia que ser utilizada. Depois de bem detalhado, pode ser codificado para qualquer linguagem computacional
Receita / Processamento

Entrada

Sada

Definio de algoritmo
Um algoritmo correto deve possuir 3 qualidades: 1) Cada passo do algoritmo deve ser uma instruo que possa ser realizada 2) A ordem dos passos deve ser precisamente determinada 3) O algoritmo deve ter fim

Exemplos e aplicaes
Algoritmos no nosso dia a dia
O uso de algoritmos no ocorre s na computao. Exemplos do uso de algoritmos no dia a dia das pessoas:
Receita de cozinha Procedimentos para se realizar um cirurgia Manual de uso de um aparelho / Montagem de um equipamento Instrues para chegar a um endereo

So algoritmos desde que sejam precisos e corretos o suficiente para que o executor possa completar as tarefas. Porm os computadores so mais exigentes: os passos de um algoritmo devem ser extremamente precisos e detalhados.

Exemplos e aplicaes
Exemplo do dia a dia: Como vocs construiriam um algoritmo para resolver o seguinte problema TROCAR UM PNEU FURADO
Incio do Algoritmo Parar o carro Trocar o pneu Fim do algoritmo Incio do Algoritmo Parar o carro Descer do carro Trocar o pneu Fim do algoritmo

ou

No entanto, possvel fazer o refinamento de alguns passos, por exemplo: Detalhar o passo: Trocar o pneu

Exemplos e aplicaes
Refinamentos sucessivos:
Incio do Algoritmo Parar o carro Levantar o carro Tirar os parafusos da roda Remover a Roda Colocar o estepe Parafusar a Roda Abaixar o carro Fim do algoritmo

OBS: Quanto mais detalhado os passos melhor.

Exemplos e aplicaes
Exemplo do dia a dia: Algoritmo para: Fritar um ovo
Incio do Algoritmo Pegar a frigideira, o ovo, leo e o sal Colocar o leo na frigideira Acender o fogo Colocar frigideira no fogo Esperar o leo aquecer Quebrar a casca do ovo e coloc-lo na frigideira Retirar o ovo da frigideira quando estiver pronto Fim do algoritmo

Atividade
ATIVIDADE 2: Elaborar um algoritmo para resolver os
seguintes problemas:

Problema 1: Um cliente de uma clnica psicolgica chega clnica com seu filho, no horrio agendado. Problema 2: Um mdico recm formado precisa levantar da cama para ir ao hospital trabalhar Problema 3: Um paciente chega em um pronto socorro com um fratura

Estruturas de Controle de Fluxo


Para o desenvolvimento estruturado e organizado de algoritmos e consequentemente para uma programao estruturada importante:
Desenvolvimentos atravs de refinamentos sucessivos (top-down) Fazer a Modularizao (decompor o algoritmo ou programa em mdulos) Utilizar de estruturas de controle de fluxo, utilizar na medida do possvel estruturas bsicas de fluxo (sequencial, condicional e repetitivo)

Estruturas de Controle de Fluxo


O que so estruturas de controle de fluxo? a maneira como esto organizadas as aes que sero realizadas.
Estruturas Sequenciais: Conjunto de comandos que sero executados numa seqncia linear de cima para baixo.
Incio do Algoritmo Comando 1 Comando 2 .... Fim do algoritmo

Estruturas de Controle de Fluxo


Estruturas Condicionais: Quando o conjunto de aes que sero executados depende de uma condio. SE condio ENTO Ao1 SENO Ao2 Estruturas Repetitivas: Quando o conjunto de aes so repetidas enquanto uma condio seja vlida. ENQUANTO condio FAA Ao OU REPITA Ao AT Condio

Estruturas de Controle de Fluxo


Voltando ao algoritmo TROCAR UM PNEU FURADO
Incio do Algoritmo Parar o carro Levantar o carro Tirar os parafusos da roda Remover a Roda Colocar o estepe Parafusar a Roda Abaixar o carro Fim do algoritmo
Refinar

PODEMOS REFIN-LO USANDO AS ESTRUTURAS DE CONTROLE DE FLUXO

Estruturas de Controle de Fluxo


Voltando ao algoritmo TROCAR UM PNEU FURADO
Incio do Algoritmo Parar o carro
Se o estepe estiver vazio ento chame o seguro e v ao fim Seno
Estrutura condicional

Tirar os parafusos da roda Remover a Roda Colocar o estepe Parafusar a Roda Abaixar o carro Fim do algoritmo

Estruturas de Controle de Fluxo


Voltando ao algoritmo TROCAR UM PNEU FURADO
Incio do Algoritmo
Parar o carro
Se o estepe estiver vazio ento chame o seguro e v ao fim Seno

Enquanto tiver parafuso apertado faa Desaperte os parafusos Fim enquanto Remover a Roda Colocar o estepe Enquanto tiver parafuso desapertado faa Apertar os parafusos no estepe Fim enquanto Abaixar o carro Fim do algoritmo

Estrutura Repetitiva

Representao de algoritmos
No computacional: como estvamos fazendo Computacional Fluxogramas: apresenta os passos para a soluo de
problemas atravs de smbolos grficos pr definidos.

Pseudo-linguagens (portugol): linguagem artificial que auxilia os programadores na implementao dos algoritmos. similar ao portugus.

Representao de algoritmos
DESAFIOS NA CONSTRUO DE ALGORITMOS Criao de algoritmos um processo no automtico e que tem muita arte. Pode haver mais de uma soluo para um problema! A criao de um algoritmo um exerccio de criatividade (conhecimento) e experincia (tcnica e prtica)!

Representao de algoritmos
Exemplos:
1)Fazer um algoritmo para calcular a mdia de duas provas e verificar se est aprovado usando fluxograma e linguagem no computacional. 2)Fazer um algoritmo para exibir a palavra Psicologia 50 vezes usando fluxograma e linguagem no computacional. 3)Calcular e exibir a mdia ponderada de 2 notas dadas peso 6 e nota2= peso 4). 4) Reajustar um salrio em 17,75%. 5)Calcular o desconto de 23% sobre o preo de um produto. 6)Calcular quanto de medicamento ser aplicado a um indivduo de 65 Kg, sendo que o fabricante recomenda 1,5 mg por Kg. (nota1=

Representao de algoritmos
Exemplo 1:
Incio P1 e P2

Calcular MF

Verdadeiro

MF >= 5?

Falso

Aprovado

Reprovado

Fim

Concluso
Algoritmo: receita detalhada para resolver um problema. Exemplos no dia a dia e instrumento para facilitar a implementao para uma linguagem de programao Refinamento das aes atravs de estruturas de Controle de Fluxo Formas de representaes de Algoritmos

Representao de algoritmos
Exemplo 2:
Incio cont <- 1

Enquanto cont =< 50

No

Exiba Estatstica

cont <- cont +1

Fim

Bibliografia
FARRER, H. et al. Algoritmos estruturados. Rio de Janeiro: LTC, 1999.