Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmos e Programao
Engenharias
Mtodos de Representao de
Algoritmos
Caractersticas:
Mtodos de Representao de
Algoritmos
Fluxograma.
Fluxograma.
A representao grfica mais concisa que a
representao textual.
necessrio aprender a simbologia dos fluxogramas.
Pseudocdigo.
Fluxograma
Em algoritmos
complexos e longos o
uso de uma
apresentao na forma
de fluxograma se torna
extremamente
trabalhosa, podendo
ocupar diversas
pginas.
Pseudocdigo
Visa melhorar a interpretao do programador
em relao ao algoritmo criado, eliminando o
cdigo compilvel e apresentando um cdigo
mais limpo.
Normalmente o pseudo-cdigo escrito na
linguagem natural do programador, no Brasil
chamado de Portugol.
Portugol
Operadores Aritmticos
Exemplo de Portugol:
algoritmo "Exemplo1"
var num1, num2, maior: inteiro
inicio
escreva ("Entre com dois numeros: ")
leia(num1, num2)
se num1 > num2 entao
maior <- num1
senao
maior <- num2
fimse
escreva("O maior valor ",maior)
fimalgoritmo
+, -, *, /
importante a
utilizao de uma
indentao para
facilitar o prprio
entendimento e o
entendimento de
outros programadores.
Operadores Aritmticos
div ou \ (VisuAlg)
Operador de diviso inteira. Por exemplo, 5 \ 2 =
2. Tem a mesma precedncia do operador de
diviso tradicional.
+, - (operadores unrios)
Como operadores unrios so aplicados a um nico
operando. Enquanto o operador unrio - inverte o sinal do
seu operando, o operador + no altera o valor em nada o
seu valor.
Operadores Aritmticos
potencia(base,expoente) ou ^ (VisuAlg)
Operador de potenciao. Por exemplo, 5 ^ 2 = 25. Tem a
maior precedncia entre os operadores aritmticos
binrios (aqueles que tm dois operandos).a do operador
de diviso tradicional.
mod ou %
Operador de mdulo (isto , resto da diviso
inteira). Por exemplo, 8 MOD 3 = 2. Tem a mesma
precedncia do operador de diviso tradicional.
Identificadores
Nomes utilizados para referenciar variveis,
funes ou vrios outros objetos definidos
pelo programador.
Regras:
Podem conter letras, dgitos e sublinhado(_);
No podem comear com dgito;
No podem ser iguais a uma palavra-chave e nem
iguais a um nome de uma funo declarada pelo
programador ou pelas bibliotecas da linguagem
utilizada.
Constantes e Variveis
So repositrios de elementos pertencentes aos
tipos.
A diferena entre os dois :
uma constante declarada no incio do programa e no
mais modificada;
uma varivel pode ser alterada durante a execuo do
programa.
Constantes e Variveis
Antes de utilizarmos uma varivel dentro do
algoritmo, necessrio definir o tipo.
Uma varivel de um determinado tipo s
poder armazenar dados daquele tipo.
Manipulao de Dados
Tipos: Apesar dos computadores trabalharem apenas
com nmeros, as linguagens de programao nos
permitem utilizar diferentes tipos de dados em um
programa.
Os tipos de dados so como um conjunto de objetos
que tem em comum o mesmo comportamento
diante de um conjunto definido de operaes:
Exemplo: Os seres Humanos so um tipo, todas as pessoas
formam um conjunto de objetos que se comportam de
forma similar quando comem, dormem, bebem, andam,
etc.
Manipulao de Dados
As palavras-chave que definem os tipos so as
seguintes (observe que elas no tm
acentuao):
inteiro: define variveis numricas do tipo inteiro,
ou seja, sem casas decimais.
real: define variveis numricas do tipo real, ou
seja, com casas decimais.
caractere: define variveis do tipo string, ou seja,
cadeia de caracteres.
logico: define variveis do tipo booleano, ou seja,
com valor VERDADEIRO ou FALSO.
Constantes e Variveis
So repositrios de elementos pertencentes aos
tipos.
A diferena entre os dois :
uma constante declarada no incio do programa e no
mais modificada;
uma varivel pode ser alterada durante a execuo do
programa.
Variveis
Notao que ser utilizada para a declarao de uma
varivel ou constante:
var
<lista-de-variveis> : <tipo-de-dado>
Variveis
Exemplo:
var quantidade, filhos, netos: inteiro
aberto: logico
altura: real
resposta: caractere
Atribuio
Atribuio
Blocos de Instruo
Criando um Algoritmo
Exemplos:
Algoritmo nome
<declarao de variveis>
inicio
<primeira instruo do bloco>
<segunda instruo do bloco>
...
<ltima instruo do bloco>
fimalgoritmo
Estrutura de um Algoritmo
PROCESSAMENTO
Blocos de Instruo
ENTRADA
Exemplos:
SADA
NOME DO ALGORITMO
VAR
declarao de variveis
.
.
.
INICIO DO ALGORITMO
bloco de comandos
.
.
.
FIM DO ALGORITMO
algoritmo "Exemplo2"
var
n1, n2, d: inteiro
inicio
escreva("Digite dois numeros: ")
leia(n1)
leia(n2)
d <- n1 + n2
escreva("A soma eh igual a ", d)
fimalgoritmo
algoritmo "exemplo06"
var faces, arestas, vertices: inteiro
inicio
faces <- 6
arestas <- 12
vertices <- (-faces + 2) + arestas
fimalgoritmo
algoritmo "exemplo07"
var delta, x1, x2, a, b, c: real
inicio
a <- 1
b <- -5
c <- 6
delta <- QUAD(b) -(4*a*c)
x1 <- (-b - RAIZQ(delta)) / (2.0 * a)
x2 <- (-b + RAIZQ(delta)) / (2.0 * a)
fimalgoritmo
Entrada e Sada
As linguagens de programao esto
preparadas para receber entradas e
apresentar sadas.
Dessa forma, durante a execuo de um
programa, um usurio poder informar
valores de entrada para que sejam
processados pelo computador, que, por sua
vez, retornar o resultado do processamento
(sada).
Entrada
Sada
Sada
Exemplo 1
var variavel: real
...
leia(variavel)
...
escreva(O resultado : ,
variavel)
Exemplo 2
var variavel1: real
...
leia(variavel1)
...
escreva(O valor , variavel1, o
resultado final)
Supondo que o valor digitado
fosse 4.5 a resposta do
comando escreva seria:
O valor 4.5 o resultado final
Depurao
Verificar o algoritmo linha por linha a procura
de erros.
Esse procedimento pode ser feito utilizando o
chamado teste de mesa.
Exemplo: Teste de mesa para o objeto
geomtrico cubo.
Depurao
Depurao
1. leia(a, b);
2. a = b;
3. b =a;
4. escreva(a, b);
Varivel
Uma nica varivel pode manter apenas um
valor a cada momento.
a mesma coisa que dois corpos no podem
ocupar o mesmo lugar no espao, um precisa
dar lugar para o outro.
Ou seja, para que d certo o nosso exemplo,
necessrio o uso de mais uma varivel que
possa armazenar temporariamente o valor de
uma das variveis.