You are on page 1of 58

Caractersticas

Operaes do tipo numrico


Operandos so constantes e/ou variveis
numricas

Operaes:
Adio +
Subtrao
Multiplicao *
Diviso /
Potenciao POT(x,y) ou
^

Radiciao RAD(x)
Forma Tradicional:
( ) = +
(

+ 1 3 5
3
2

( 2 / 3 + ( 5 3 )) + 1=
Forma Computacional:
Outras Funes
DIV ou \ - Retorna o quociente da diviso entre 2
nmeros inteiros
MOD ou % - Retorna o resto da diviso entre 2
nmeros inteiros

Sendo:
A = 17 B = 4 C = 23 D = 3


Quanto ?
A DIV B C \ D
A MOD B C % D
Formadas por:
Operadores literais
Operandos so constantes e/ou variveis
literais


Operador:
Concatenao: | ou +
Exemplo:
Sendo: A = Unifacs
B = Campus Feira
Qual o valor de A | B ?

A | B = Unifacs Campus Feira
A + B = Unifacs Campus Feira

So expresses que geram resultados lgicos
atravs da comparao entre duas expresses
utilizando operadores relacionais.

S podem ser usados na comparao de
elementos do mesmo tipo, ou seja, numrico
com numrico, caracter com caracter e lgico
com lgico

Operador Operao
= Igualdade
< > Diferena
< Menor
> Maior
< = Menor ou Igual
> = Maior ou Igual
Formadas por duas ou mais expresses unidas
por operadores lgicos, e que depois de
avaliadas, geram um resultado lgico.

Aquela cujos operadores so lgicos ou
relacionais e cujos operandos so relaes ou
variveis ou constantes do tipo lgico.

Ex.:
F ou RAD(16) < 30 - Y * 6 e achou
Tabela Verdade
p q
V V
V F
F V
F F
conjuno disjuno negao
p e q
V
F
F
F
p ou q
V
V
V
F
no p
F
F
V
V
Entre os operadores
aritmticos:
no 1
e 2
ou 3
Parnteses mais internos 1
Operadores aritmticos 2
Operadores relacionais 3
Operadores lgicos 4
Parnteses mais internos 1
pot rad 2
* / div mod 3
+ - 4
Entre todos os operadores:
Entre os operadores
lgicos:
Determine os resultados obtidos na avaliao das
expresses lgicas seguintes, sabendo que A, B, C
contm, respectivamente 2, 7, 3.5 e que existe uma
varivel lgica L cujo valor falsidade (F):
a) B = A * C e (L ou V)
b) B > A ou B = pot(A, A)
c) L e B div A >= C ou no A <= C
d) no L ou V e rad(A + B) >= C
e) B/A = C ou B/A <> C
f) L ou pot(B,A) <= C * 10 + A * B

a) B = A * C e (L ou V)





b) B > A ou B = pot(A, A)



c) L e B div A >= C ou no A <= C




d) no L ou V e rad(A + B) >= C

e) B/A = C ou B/A <> C




f) L ou pot(B,A) <= C * 10 + A * B


Sequncia de passos que visam atingir um
objetivo bem definido

Conjunto de etapas finitas, ordenadamente
definidas, com o propsito de obter soluo
para um determinado problema

Descrio de conjunto de aes que,
obedecidas, resultam numa sucesso finita de
passos, atingindo um objetivo esperado
1. Identificao do problema

Determinar o que se quer resolver ou qual
objetivo a ser atingido.

2. Identificao das Entradas de Dados

Informaes fornecidas, a partir das quais se
desenvolvero os clculos.

3. Identificao das Sadas de Dados

Informaes a serem geradas como resultado.

4. Identificao das regras e limitaes do
problema ou do executor

Por exemplo, se o executor fosse uma
calculadora no-cientfica, iriam existir
limitaes no clculo de funes.

5. Determinao do que deve ser feito para
transformar as Entradas em Sadas

Deve ser determinada a sequncia de aes que
leve soluo do problema.

Observar as regras e limitaes j identificadas.
Determinar aes possveis de serem realizadas
pelo executor.



6. Construo do Algoritmo

Utilizando uma das formas de representao de
algoritmos.

7. Teste do Algoritmo

Execuo de todas as aes do algoritmo,
seguindo o fluxo estabelecido para verificar se ele
est realmente gerando os resultados esperados
ou detectar possveis erros em sua descrio.

1. Identificao do problema
2. Identificao das Entradas de Dados
3. Identificao das Sadas de Dados
4. Identificao das Regras e limitaes do
problema ou do executor
5. Determinao do que deve ser feito para
transformar as Entradas em Sadas
6. Construo do Algoritmo
7. Teste do Algoritmo

Descrio Narrativa

Fluxograma

Linguagem Algortmica ou
Pseudolinguagem ou Pseudocdigo

Especificao verbal dos passos em linguagem
natural

Desvantagens:
Linguagem natural prolixa
Linguagem natural imprecisa
Pouco confivel na transferncia de
informao

Pode ser adotada para apresentao de
comentrios sobre o algoritmo, ou parte dele,
esclarecendo ou realando pontos especficos
Calcular a mdia final dos alunos do 3 ano de uma
determinada escola.
Os alunos realizaro quatro provas: P1, P2, P3 e P4.
A Mdia Final calculada por: (P1 + P2 + P3 + P4) / 4.

Receba a nota da prova1
Receba a nota da prova2
Receba a nota da prova3
Receba a nota da prova4
Some todas as notas e divida o resultado por 4
Mostre o resultado da diviso
Utilizao de ilustraes grficas para transmitir
informaes.

Mostra de forma grfica a lgica de um
algoritmo, enfatizando passos individuais e o
fluxo de execuo.

Desvantagens
Fluxogramas detalhados no so facilmente
entendidos

Receba a nota da prova1
Receba a nota da prova2
Receba a nota da prova3
Receba a nota da prova4
Some todas as notas e
divida o resultado por 4
Mostre o resultado da
diviso

Incio
Leia
P1,P2,P3,P
4
Calcular Mdia
Fim
Escreva
Mdia
Linguagem especial para expresso de algoritmos,
funcionando com uma linguagem de programao
simplificada.
Utiliza expresses concisas e pr-definidas para
representar as aes e o fluxo de execuo.
Descrio textual, estruturada e regida por regras.

Algoritmo <nome_do_algoritmo>
var
<declarao_de_variveis>
inicio
<corpo_do_algoritmo>
fimalgoritmo
algoritmo CalcularMedia
var
Nota1, Nota2, Nota3, Nota4, Media: real
inicio
Leia(Nota1)
Leia(Nota2)
Leia(Nota3)
Leia(Nota4)
Media <
-
(Nota1 + Nota2 + Nota3 + Nota4)/4
Escreva("Mdia das notas = ", Media)
fimalgoritmo
Grupos de informaes que o computador
manipula

Numricos
Inteiros
Reais

No-numricos
Alfanumricos / Caracter
Lgicos / Booleanos
Numricos
Inteiros
Toda e qualquer informao numrica que
pertena ao conjunto dos nmeros inteiros
relativos (negativa, nula ou positiva).
Ex. : 56 289 -23 0 82 4 -9
30
Reais
Toda e qualquer informao numrica que
pertena ao conjunto dos nmeros reais
(negativa, nula ou positiva).
Ex. : 25,6 492,52 -9,29 0,003 -9
4,0
No-numricos
Alfanumricos / Caracter
Toda e qualquer informao composta de um
conjunto de caracteres alfanumricos: numricos
(0..9), alfabticos (A..Z, a..z) e especiais (por
exemplo #,?, !, @)
Ex.: CASA, livro, 35, R$ 23,74 ...

Lgicos ou booleanos
Toda e qualquer informao que pode assumir
apenas duas situaes
Ex.: Verdadeiro / Falso 0 / 1 Sim /
No T / F

Representam as informaes do problema a ser
resolvido.
Esto organizados em tipos distintos de
informaes.
CONSTANTE
VARIVEL
IDENTIFICADOR


Um dado constante quando no sofre
nenhuma variao no decorrer do tempo, ou
seja, seu valor constante desde o incio at o
fim da execuo do algoritmo.

Ex.: 395, No Fume, Falso...
Representam informaes cujos valores so
modificados ao longo do tempo.

Podemos definir variveis tambm como um
local onde um determinado valor armazenado,
sendo composta por dois elementos bsicos:
Contedo valor atual da varivel
Identificador nome dado varivel para
possibilitar sua manipulao
Nome de um local onde se pode colocar
qualquer valor do conjunto de valores possveis
de um tipo bsico associado.
Usado para manipular todos os dados variveis
do algoritmo.
Pode tambm ser usado para rotular valores
constantes.
Regras para definio de identificadores:
Cada identificador deve ter nome nico
Cuidado com as palavras reservadas
Algumas linguagens so Case-Sensitive
Algumas no permitem nomes iniciados por nmeros
permitido o uso do caracter especial _ situado
entre letras e/ou dgitos.
a criao (ou definio) de locais na memria
rotulados com o identificador da varivel/constante
que ser utilizada no algoritmo para a manipulao
de um determinado tipo de informao.
Sintaxe
Lista de variveis : tipo
Onde tipo pode ser inteiro, real, caracter ou booleano.
Ex.: media : real
resposta : logico
NOME : caracter
contador, x : inteiro
PI : real {definio de uma constante}
A declarao de variveis deve ser feita antes
da definio das aes do algoritmo.

Os comentrios representam qualquer texto que
explique uma ao ou um dado usado no
algoritmo.
{comentrio}
* comentrio*
//comentrio
Serve para atribuir, ou associar, um valor a uma
varivel ou constante. O tipo do dado deve ser
compatvel com o tipo da varivel/constante.
Sintaxe
Identificador <- expresso
Onde expresso pode ser: constante, varivel,
expresso matemtica, funo matemtica,
expresso booleana, etc.
Ex.: contador <- 3
media <- (P1 + P2)/2
resposta <- Verdadeiro
NOME <- Fulano de Tal
PI <- 3,14
algoritmo CalcularMedia
var
Nota1, Nota2, Nota3, Nota4, Media: real
inicio
Leia(Nota1)
Leia(Nota2)
Leia(Nota3)
Leia(Nota4)
Media <- (Nota1 + Nota2 + Nota3 + Nota4)/4
Escreva ("Mdia das notas = ", Media)
fimalgoritmo
Os algoritmos precisam ser alimentados com
dados provenientes do meio externo para
efetuarem as operaes e clculos que so
necessrios a fim de alcanar o resultado
desejado.

Entrada de dados: informaes que so
fornecidas ao programa pelo usurio durante a
resoluo do problema.
Sada de dados: informaes que so
mostradas ao usurio como resposta ao
problema.

Incio
Leia
P1,P2,P3,P4
Calcular Mdia
Escreva Media
Fim
Quando for necessrio
para o algoritmo obter
um dado do usurio,
neste momento ele
dever usar um
comando de entrada
de dados
Sintaxe:

Leia (lista-de-variveis)

Leia: palavra reservada
lista-de-variveis: identificador(es) da(s)
varivel(is) que receber(o) o(s) dado(s)
digitado(s)

Funcionamento:

Leia (x)

Quando este comando for executado, o que for digitado
pelo usurio ser armazenado em um espao na
memria identificado pela varivel x



Leia (x)
Se for digitado 30
x
30
Comando
de
entrada
Quando for preciso
informar ao usurio
qualquer dado, o
programador dever
utilizar um comando
de sada de dados
Incio
Leia
P1,P2,P3,P4
Calcular Mdia
Escreva Media
Fim
Sintaxe:

Escreva (lista-de-expresses)
Escreval (lista-de-expresses)

Escreva: palavra reservada
Escreval: palavra reservada
lista-de-expresses: identificador(es) da(s)
varivel(is) que ser(o) exibida(s), podendo
ser usado tambm strings ou constantes

Funcionamento:

Escreva (x)

Quando este comando for executado, o que estiver
armazenado no espao da memria identificado pela
varivel x ser exibido

Escreva (x)
Se em X estiver
armazenado 100
x
100
Comando
de sada
100
Entrada de dados:
Leia (nome)
Leia (idade)


Sada de dados:
Escreval (nome)
Escreva (idade)

Entrada de dados:
Leia (nome)
Leia (idade)


Sada de dados:
Escreval (Bom dia!)
Escreva (Sr(a). , nome)

Entrada de dados:
Leia (nome)
Leia (idade)


Sada de dados:
Escreval (Sr(a). , nome)
Escreva (Voce j tem , idade , anos.)
algoritmo nome do algoritmo
var
declarao de contantes
declarao de variveis
inicio
inicializao de constantes
inicializao de variveis
// comentrios
bloco de comandos de entrada de dados
// comentrios
bloco de comandos de clculo
// comentrios
bloco de comandos de sada de dados
fimalgoritmo
algoritmo CalcularMedia
// declarao de variveis
var
Nota1, Nota2, Nota3, Nota4, Media: real
inicio
// comandos de entrada de dados
Leia(Nota1)
Leia(Nota2)
Leia(Nota3)
Leia(Nota4)
// processamento Clculo da mdia
Media <- (Nota1 + Nota2 + Nota3 + Nota4)/4
// sada de dados
Escreva("Mdia das notas = ", Media)
fimalgoritmo

Conjunto de comandos que so executados
numa sequncia linear, de cima para baixo, na
mesma ordem em que aparecem.

algoritmo nome_do_algoritmo
var
// declarao de variveis
inicio
// corpo do algoritmo
ao1
ao2
ao3
fimalgoritmo // fim do algoritmo

1. Faa um algoritmo que receba dois nmeros inteiros,
some-os e informe o resultado

Entrada Processamento Sada
Numero1
Numero2
Somar dois nmeros inteiros
Resultado da soma
dos 2 numeros
Numero 1 + Numero2
inteiro
inteiro
algoritmo soma_dois_inteiros
var
Numero1, Numero2: inteiro
Inicio
// entrada de dados
Leia(Numero1)
Leia(Numero2)
// processamento soma dos numeros
// sada de dados
Escreva(Numero1+Numero2)
fimalgoritmo

1. Faa um algoritmo que receba um nmero inteiro e
informe o seu dobro

2. Faa um algoritmo que receba um nmero inteiro e
informe a metade do nmero recebido

3. Faa um algoritmo que receba trs nmeros inteiros e
informe a mdia deles

4. Faa um algoritmo que leia um nmero inteiro e
imprima seu sucessor e seu antecessor.


5. Fazer um algoritmo que receba quatro nmeros e
imprima a mdia ponderada, sabendo-se que os
pesos so respectivamente: 1, 2, 3 e 4.

6. Fazer um algoritmo que possa entrar com o saldo de
uma aplicao e imprimir o novo saldo, considerando
o reajuste de 1%.

7. Faa um algoritmo que possa entrar com o valor de
um produto e imprima o novo valor tendo em vista um
desconto de 9%.

8. Fazer um algoritmo que leia o valor do salrio mnimo
e o valor do salrio de uma pessoa. Calcular e
imprimir quantos salrios mnimos ela ganha.
FORBELLONE, Andr Luiz Villar. Lgica de Programao: a
construo de algoritmos e estruturas de dados. 3. ed. So
Paulo: Prentice Hall, 2005.

LOPES, Anita. Introduo programao. Rio de Janeiro: Elsevier,
2002.

GAMA, Claudia. Introduo Lgica de Programao. Disponvel
em <www.inf.ufg.br> . Acesso em Jul. 2009.