Professional Documents
Culture Documents
Algoritmos
Sumrio
Objetivo da aula
Apresentar o conceito de algoritmos
Introduo a Algoritmos
Para resolver um problema utilizando um computador necessrio encontrar, em primeiro lugar, uma maneira de descrev-lo de uma forma clara e precisa. tambm preciso que encontremos uma sequncia de passos que conduzam sua resoluo. Esta sequncia de passos designada por algoritmo
Algoritmo
uma redao que contm um conjunto finito de instrues no ambguas, organizadas de maneira lgica e com comportamento padro para resolver um problema especfico.
Algoritmo
Analogamente a uma receita de bolo, um algoritmo descreve os passos a serem executados para solucionar um problema
Fermento Farinha de trigo Acar Leite Ovos Manteiga Receita
Algoritmo x Programa
Um programa a traduo do algoritmo para uma linguagem de programao de modo que o computador possa executar as instrues definidas no algoritmo
Algoritmo x Programa
Deve-se considerar trs fases na elaborao de programas:
Compreenso do problema Concepo do algoritmo (entradas e sadas) Traduo desse algoritmo em uma linguagem de programao
Problema
Algoritmo
Programa
Representaes de Algoritmo
Linguagem Natural
Os algoritmos so expressos diretamente em linguagem natural (por exemplo, a lngua portuguesa para a receita de bolo) Esta um representao grfica que emprega formas geomtricas padronizadas para indicar as diversas aes e decises que devem ser executadas para resolver o problema Emprega uma linguagem intermediria entre a linguagem natural e uma linguagem de programao para descrever os algoritmos
Representao de Algoritmo
Exemplo
Problema: calcular a raiz da equao ax+b=0
ax+b = 0 ax = -b x = -b/a
Representao de Algoritmo
Exemplo
incio conhea a conhea b a 0? sim x = -b/a fim no Informa no existe zero Mostra valor de x
Fluxograma
FLUXO DE DADOS
Indica o sentido do fluxo de dados. Conecta os demais smbolos
DECISO
Permite elaborar processos de deciso
TERMINAL
Indica o INCIO ou FIM de um processamento. Exemplo: Incio do algoritmo
PREPARAO
Inicializao, teste e atualizao. Utilizado em laos iterativos
ENTRADA / SADA
Operao de entrada e sada de dados
DOCUMENTO
Representa a sada como um arquivo texto
PROCESSAMENTO
Processamento em geral Exemplo: Calculo de dois nmeros
EXIBIR
Mostra informao
CONECTOR
Permite o desvio para um ponto qualquer do programa
Representao de Algoritmo
O algoritmo para calcular a raiz da equao ax+b=0 no usa valores especficos para encontrar o zero da funo Apenas descreve as aes necessrias sobre os objetos (termos a e b) para sua resoluo
O armazenamento de valores ao identificador se d por meio da operao de atribuio, denotada geralmente por quando utiliza-se pseudo-linguagem
Exemplo
Sabendo que um corpo se desloca em movimento retilneo uniformemente variado (MRUV), faa um algoritmo que calcule o espao que esse corpo percorre em um perodo de tempo em relao a um referencial.
s = s0 + v0t + at2/2
onde s o espao percorrido pelo corpo em relao a um referencial num perodo de tempo t; s0 a posio inicial do corpo em relao ao referencial e a a acelerao do corpo.
Exemplo
Problema: calcular o espao (s) que um corpo percorre em m.r.u.v. Frmula: s = s0 + v0t + at2/2 Objetos:
s0: posio inicial v0: velocidade inicial t: tempo a: acelerao
Exemplo
1 passo: criar os objetos de dados necessrios ao algoritmo
s0 v0 t a
identificadores
Exemplo
2 passo: conhecer o valor correspondente a cada objeto
s0
10m
v0
20m/s
t
60s
a
2m/s2
Exemplo
3 passo: calcular o espao percorrido (s)
s0
10m
v0
20m/s
t
60s
a
2m/s2
Exemplo (livro-texto)
4 passo: exibir o resultado
s = 3730 m
Exemplo (livro-texto)
Pseudo-cdigo
Incio do programa ae (s0, v0, t, a) as (s) objetos s0, v0, t, a, s; incio das aes conhea o valor de s0 ; conhea o valor de v0 ; conhea o valor de t; conhea o valor de a; calcule o resultado da expresso s0 + v0 * t + at2/2 e atribua-o ao objeto s; informe o valor armazenado em s; fim das aes Fim do programa
Variveis e Constantes
Variveis
Podem ter seu valor modificado durante a execuo de um algoritmo Embora uma varivel possa assumir diferentes valores, ela s pode armazenar um valor a cada instante
Constantes
Representa uma varivel que possui valor fixo
Variveis e Constantes
Exemplo volume de um cilindro
Faa um algoritmo que leia as medidas do raio e da altura de um recipiente cilndrico e calcule e apresente o volume deste recipiente atravs da formula: volume = 3.14 * raio2*altura
Variveis e Constantes
Exemplo volume de um cilindro
incio conhea raio conhea altura volume = 3,14* raio2 * altura Exibir valor do volume fim
raio e altura so variveis que podem assumir um valor numrico para serem utilizados no clculo do volume O valor 3,14 pode ser representado por uma constante por representar o valor do (pi)
Pseudo-cdigo
Estrutura
Declarao dos objetos Incio do programa argumentos de entrada (ae) argumentos de sada (as) objetos (objetos necessrios para resolver o problema) Incio das aes conhea argumentos de entrada / operaes de atribuio; processamento dos dados ; armazenamento do resultado no argumento de sada; exibio do resultado; Fim das aes Fim do programa
Corpo do programa
Pseudo-cdigo
Exemplo volume de um cilindro
Declarao dos objetos Incio do programa ae (raio, altura) as (volume) objetos: raio, altura, volume, (constante) pi=3,14; Incio das aes conhea o valor de raio e atribua-o ao objeto raio; conhea o valor de altura e atribua-o ao objeto altura; calcule o volume por meio da frmula: pi * raio 2 * altura; armazene o resultado no argumento de sada volume; exiba o resultado; Fim das aes Fim do programa
Corpo do programa
Tipos de dados
Os objetos de dados (variveis e constantes) esto associados a tipos que especificam o quanto de espao ser reservado na memria para a sua representao. O tipo de dado indica quais operaes podem manipular o objeto de dado
Por exemplo, se o dado for numrico podemos fazer operaes aritmticas (adio, subtrao, multiplicao e diviso). Caso seja uma sequncia de caracteres (texto), podemos efetuar uma operao de concatenao.
Tipos de dados
Tipos de dados simples
numrico
caractere
lgico
inteiro
real
Tipos de dados
Tipos caracter (char) inteiro (int) real (float) lgico (boolean) Tamanho aproximado em bits 8 16 32 8 Faixa mnima -128a127 32.768a3276 1037a10+37 verdadeiro ou falso
Corpo do programa