Você está na página 1de 32

PORTUGOL

Introdução

A Sintaxe
A Sintaxe do
do PORTUGOL
PORTUGOL
apresentada aqui
apresentada aqui está
está baseada
baseada
no trabalho
no trabalho G-Portugol.
G-Portugol.

Elementos básicos de um algoritmo
algoritmo <nome_do_algoritmo>;
variáveis

<declarações de vari
<declarações áveis>
variáveis>

fim-variáveis
início

<comandos>

fim

imprima("Olá mundo!"). fim fim .Elementos básicos de um algoritmo Exemplo /* /* Nosso primeiro Nosso primeiro programa programa */ */ algoritmo olamundo. início início imprima("Olá mundo!"). algoritmo olamundo.

.Elementos básicos de um algoritmo Exemplo algoritmo teste_variaveis. .. fim-variáveis fim-variáveis início início . variáveis variáveis xx :: inteiro.. algoritmo teste_variaveis.. inteiro.. fim fim . nome :: literal.. nome literal.

// declaração de variáveis variáveis pi. perim: real. imprima (perim). perim = 2 * pi * raio. raio. fim .Elementos básicos de um algoritmo Exemplo algoritmo perimetro_circunferência.1415. raio := leia(). fim-variáveis // comandos início pi := 3.

Elementos básicos de um algoritmo Dados (variáveis e constantes) Tipos de dados Operadores Comandos Funções Comentários .

dado constante raio := leia().Elementos básicos de um algoritmo Exemplo algoritmo perimetro_circunferência. atrib. função fim . função perim := 2 * pi * raio.1415. atribuição dadooperador variável imprima (perim). // declaração de variáveis comentário variáveis pi. declaração variável fim-variáveis tipo de dado // comandos início pi := 3. perim: real. raio.

 Dados Constantes G-Portugol não tem definição explícita de constantes O valor de uma constante não se altera após sua definição.Elementos básicos de um algoritmo :: Dados  Dados Variáveis Elemento que têm a função de associar um nome a uma porção da memória onde um dado pode ser armazenado. Exemplos (usando variáveis): N_NEPERIANO := 2.7182 UNIVERSIDADE := 'UFAM' .

as operações que podem ser realizadas com o dado e o espaço a ser ocupado na memória. .Elementos básicos de um algoritmo :: Tipos de dados Definem a natureza do dado.

Elementos básicos de um algoritmo :: Operadores Atribuição Aritméticos Relacionais Lógicos .

.Elementos básicos de um algoritmo :: Operador Atribuição Utilizado para atribuir um valor a uma variável nome da Valor variável Notação: x1 := 23. temp := x2.

. resto := 10 % 3. resto := 1 % 4. alfa := 1 / 5. ang := 1 / 5.Elementos básicos de um algoritmo :: Operadores Aritméticos Dados de entrada: tipo inteiro ou real Resultado: tipo inteiro ou real Exemplos: x_2 := 2 + 3.0. delta := 5 * 5 – 4 * 1 * 4.

cond5 := 10 ≥ 3. cond3 := 1 > 5. cond6 := 1 ≤ (– 4 / 3).Elementos básicos de um algoritmo :: Operadores Relacionais Dados de entrada: tipo inteiro ou real Resultado: tipo lógico Exemplos: cond1 := 2 == 3.6 ≠ 5. cond2 := 1. .0. cond4 := (1 + 2) < 5.

Elementos básicos de um algoritmo :: Operadores Lógicos Dados de entrada: tipo lógico Resultado: tipo lógico Exemplos: cond1 := verdadeiro e falso. cond4 := (verdadeiro e falso) ou (5 > 3). cond2 := falso ou falso. cond3 := não cond1. .

:= . < > >=<= 5. = <> 6. não 2. ou 8. + – 4.Elementos básicos de um algoritmo :: Precedência de Operadores 1. e 7. * / % 3.

z * a / p y=2 d / y z = 4.0 b / z d = 12 r % q p=4 y % d q=3 ((z / a) + b*a ) .0 a=8 y / a b = 6.Elementos básicos de um algoritmo :: Exercícios sobre Operadores d + y .d r = 10 .

5 LOG = F .C = 0)  LOG ou não (B *AB=<= 2 C * 10 + A * B) B=7 C = 3.Elementos básicos de um algoritmo :: Exercícios sobre Operadores  (B = A * C) e (LOG ou T)  (B > A) ou (B = A)  LOG ou (B / A >= C) e não(A >= C)  não LOG ou T e (A + B >= C)  não LOG ou (B * 2 .

y) sqrt(resto) exp(tempo) var1 := leia() imprima() .  Exemplos: seno(angulo) pow(x.Elementos básicos de um algoritmo :: Funções  Pré-definidas  Definidas pelo programador  G-Portugol tem duas funções internas: “leia” e “imprima”. que permitem entrada e saída.

Elementos básicos de um algoritmo :: Comentários Utilizados para descrever o algoritmo. esclarecendo trechos do código Notação igual a linguagem C: // /* <comentário> */ .

Algoritmos com qualidade Devem ser feitos para serem lidos por seres humanos! Escreva os comentários no momento em que estiver escrevendo o algoritmo. .

e não frasear o comando: // // Multiplica ção de Multiplicação de bb por por h: h: area area ←← bb ** h. h. // // CCálculo álculo da da áárea rea do do retângulo: retângulo: area area ←← bb ** h. .Algoritmos com qualidade Os comentários devem acrescentar alguma coisa. h.

Algoritmos com qualidade Use comentários no prólogo: /***************************************** /***************************************** UNIVERSIDADE UNIVERSIDADE FEDERAL FEDERAL DO DO AMAZONAS AMAZONAS FULANO FULANO DA DA SILVA SILVA DATA: DATA: 25/11/2006 25/11/2006 ÚLTIMA ÚLTIMA MODIFICAÇÃO: MODIFICAÇÃO: 26/12/2007 26/12/2007 ALGORITMO ALGORITMO DE DE DEMONSTRAÇÃO DEMONSTRAÇÃO *****************************************/ *****************************************/ .

. cat2).Algoritmos com qualidade Use espaços em branco para melhorar a legibilidade: hip:=sqrt(cat1*cat1+cat2*cat2). hip hip := := sqrt(cat1 sqrt(cat1 ** cat1 cat1 ++ cat2 cat2 ** cat2). hip:=sqrt(cat1*cat1+cat2*cat2).

. l. preco ← custo preco ← custo ++ lucro. lucro.Algoritmos com qualidade Escolha nomes representativos para as variáveis: pp := := cc ++ l.

Algoritmos com qualidade Utilize um comando por linha. Atenção: identação ≠ endentação . Utilize identação (recuo de texto). Utilize parênteses para melhorar a compreensão e evitar erros.

Exercício Uma fábrica de arruelas precisa calcular o custo de envio de um conjunto de unidades. Escreva um pseudo-código para tal. .

Calcular volume (área × espessura) 3.Exercício :: Algoritmo inicial 1. Calcular área 2. Calcular peso (volume × densidade × unidades) 4. Calcular custo (peso × frete) .

Calcular área 2  d_int  Area int =π   2  d_int 2  d _ ext  Areaext = π    2  d_ext Area = Aext − Aint .Exercício :: Algoritmo inicial 1.

Calcular volume: Volume = Area × espessura 3. Calcular peso: Peso = Volume × densidade × unidades 4.Exercício :: Algoritmo inicial 2. Calcular custo (peso × frete) Custo = Peso × frete .

// Variáveis do programa area. . espes. // Variáveis de entrada d_ext.Exercício :: Pseudo-código algoritmo arruela.. unid. // variáveis constantes pi : real. volume. d_int. peso : real. area_ext. // Variável de saída custo : real. area_int. .. dens. frete: real.

. area := area_ext – area_int. volume := area * espes. area_ext := pi * (d_ext/2) * (d_ext/2). início pi := 3. area_int := pi * (d_int/2) * (d_int/2). espes := leia(). d_ext:= leia(). frete := leia(). unid := leia().1415. custo := peso * frete. peso := volume * dens * unid.Exercício :: Pseudo-código (cont. imprima (custo). d_int := leia()..) . dens := leia(). fim .