Você está na página 1de 16

Tcnicas de Desenvolvimento de Algoritmos

Prof. Manuel Fernndez Paradela Ledn mfpledon@yahoo.com manuel.ledon@cruzeirodosul.edu.br

Aula 03

A estrutura de um algoritmo em pseudocdigo

algoritmo nomeDoAlgoritmo
declarao de variveis utilizadas pelo algoritmo

incio
comandos para resolver o problema

fim

A conveno de nosso pseudocdigo para declarar variveis


inteiro: a, b, c
para armazenar valores inteiros, independente do tamanho e signo

caractere: d, e
para armazenar strings ou caracteres individuais

real: h, g
para armazenar qualquer valor com casas decimais, independente da preciso ou tamanho

lgico: i, j
para armazenar valores lgicos (verdadeiro ou falso)

A conveno de nosso pseudocdigo para ler dados e visualizar textos ou resultados


leia e leia a, b, c leia peso, estatura

para ler dados digitados pelo usurio e armazenar esses dados nas variveis especificadas
escreva escreva escreva escreva Resultados: + f + Resultados: , f , Digite sua estatura: Seu IMC : + imc , , + g , g
ou

para visualizar mensagens, valores, alertas ou qualquer outra informao na tela do computador

A conveno de nosso pseudocdigo para utilizao de operadores


+ para soma para para para para ou = ou 2 <= > subtrao diviso multiplicao agrupar termos para atribuir um valor para potncia >= <> ==

/ * ()

^ <

ou = para operadores de relao (comparao) E OU NO para operadores lgicos

Prioridade dos operadores aritmticos


Operador + * / mod ou % + Operao Soma Subtrao Multiplicao Diviso Resto de uma diviso inteira Manuteno de sinal Inverso de sinal Prioridade 4o 4o 3o 3o 2o 1o 1o

Obs.: Numa expresso com operadores da mesma prioridade, as operaes sero executadas de esquerda a direita. As linguagens com operadores para potncia, eles teriam prioridade maior que + - / *

Prioridade dos grupos de operadores

Operadores Lgicos Relacionais Aritmticos Parnteses

Prioridade 4o 3o 2o 1o

A conveno de nosso pseudocdigo para utilizao de funes


sen(x) cos(x) tan(x) ou tg(x) arcsen(x) ou sen-1(x) arccos(x) ou cos-1(x) arctg(x) ou arctan(x) ou tg-1(x) log(x) ln(x) raiz(x)
Podemos utilizar no pseudocdigo as funes que utilizamos no dia a dia, mas as linguagens de programao so rigorosas quanto a isto. Veja os mtodos (funes) da classe Math do Java em: http://download.oracle.com/javase/6/docs/api/java/lang/Math.html

Exemplo
No exerccio proposto das razes de uma equao de 2 grau: X
1,2

-b

2a

delta

Ser importante utilizar parnteses para garantir a prioridade desejada: x1 = (- b + raiz(delta) ) / ( 2* a )

Exemplo
Suponhamos que vamos calcular a mdia de dois valores armazenados nas variveis x e y. media

x + y / 2

Pela prioridade dos operadores aritmticos, seria calculada antes a diviso e depois a soma, o que calcularia um resultado errado. Ento, utilizando parnteses garantimos o clculo correto: media

(x + y) / 2

Exemplo
Algoritmo para calcular o valor de y em funo de x, segundo a funo y = f(x) = 3 + 2x. algoritmo funcao real: x,y incio escreva Entre com o valor de x: leia x y 3 + 2*x escreva y=+ y fim
Obs.: Aqui no precisamos usar parnteses, porque a prioridade de * maior que +

Exerccios
Dadas as variveis abaixo: L=V M=F B=2 C=3 X = 2.0 Y = 10.0 Determine o resultado da avaliao das expresses a seguir: X * (X + Y) = X*Y+B*C = X * (Y + B) * C = L OU M = (L E (NO M)) = (L E (NO M)) OU (M E (NO L)) = X>Y E C<=B = (B>=5) OU (C>X) E (X-Y+B>3*Y) =

Exerccios - Respostas
Dadas as variveis abaixo: L=V M=F B=2 C=3 X = 2.0 Y = 10.0 Determine o resultado da avaliao das expresses a seguir: X * (X + Y) = 2.0 * (2.0 + 10.0) = 24.0 X * Y + B * C = 2.0 * 10.0 + 2 * 3 = 26.0 X * (Y + B) * C = 2.0 * (10.0 + 2) * 3 = 72.0 L OU M = V (L E (NO M)) = (V E (NO F) ) = V E V = V (L E (NO M)) OU (M E (NO L)) = (V E V) OU (F E F) = V X>Y E C<=B = 2.0 > 10.0 E 3 <= 2 = F E F = F (B>=5) OU (C>X) E (X-Y+B>3*Y) = (2>=5) OU (3 > 2.0) E (2-10.0+2 > 3*10.0) = F OU V E F = F

Exerccios
1) Faa um algoritmo que calcule e mostre o estoque mdio de uma pea, calculando a mdia da quantidade mnima e a quantidade mxima (que so dados conhecidos). 2) Faa um algoritmo que obtenha a cotao do dlar (taxa de converso), um valor em dlares e converta e mostre o valor em Reais. 3) Faa um algoritmo que leia dois valores inteiros representando, respectivamente, um valor de hora e um de minutos e informe quantos minutos se passaram desde o incio do dia. Exemplo: valores lidos: 13 e 15 impresso: 795 minutos 4) Faa um algoritmo que leia dois nmeros inteiros e imprima o resto da diviso inteira de um pelo outro. 5) Faa um algoritmo que leia um valor representando o gasto realizado por um cliente do restaurante COMABEM e imprima o valor total a ser pago, considerando os 10% do garom.

Exerccios para entregar


Resolver durante esta semana os exerccios solicitados no Blackboard (podem ser resolvidos em dois alunos, mas os dois enviaro as respostas) e enviar at 27/08/2010 s 08:00.

Bibliografia