Você está na página 1de 42

c 


     

Portugol

Prof. Vicente Paulo de Camargo


alunos@vpcamargo.net

epresentações de algoritmos

˜ Três formas de representação de algoritmos:


Fluxograma
Diagrama de Chapin
Pseudo--código
Pseudo
Fluxograma

início

C1

C2

C3

fim
Fluxograma

início

separar
ingredientes

misturar
ingredientes

colocar massa
no forno

tirar bolo do
forno

fim
Fluxograma

início
esperar assar
separar
ingredientes F
t ƿ 30min

misturar V
ingredientes
tirar bolo do
forno
colocar massa
no forno
fim
Diagrama de Chapin

separar ingredientes

misturar ingredientes

colocar massa no forno

tirar bolo do forno


Diagrama de Chapin

separar ingredientes

misturar ingredientes

colocar massa no forno

t ƿ 30min

esperar assar

tirar bolo do forno


Pseudo-código (Portugol)

˜ Características:
Sintaxe mais simples que a de uma Linguagem de
Programação.
Ênfase nas idéias e não nos detalhes.
Facilita construir um programa em Linguagem de
Programação.
Permite solucionar um problema de maneira
padronizada (estruturada)
Pseudo-código (Portugol)

Inicio
Preparar ingredientes
Misturar ingredientes
Colocar massa no forno
Se tempo < 30 minutos
esperar assar
Fim se

etirar bolo do forno
Fim
„lementos básicos de um algoritmo
:: Dados

˜ Dados Constantes
O valor de uma constante não se altera após sua
definição.
„xemplos:
 PI = 3,14 (ou 3.14) {ou constante PI=3,14}
 SIST„MA = ƝFOLHA D„ PAGAM„ TOƝ ou
SIST„MA = ƠFOLHA D„ PAGAM„ TOơ

˜ Dados Variáveis
„lemento que têm a função de associar um nome a
uma porção da memória onde um dado pode ser
armazenado.
„lementos básicos de um algoritmo
:: Dados variáveis (VA
IÁV„IS)

˜ São identificados por um nome (denominado de


  ))
  
˜ O identificador deve iniciar com uma letra e
pode ser seguido por letras e/ou dígitos e/ou
underline ou sublinha (_)
˜ „xemplos de identificadores: x, sa
sa,, soma
soma,, xyz_3
xyz_3,,
valor_da_idade,, somaIdades
valor_da_idade
„lementos básicos de um algoritmo
:: Tipos de dados no PO
TUGOL

˜ Definem a natureza do dado, as operações que


podem ser realizadas com o dado e o espaço a
ser ocupado na memória.
˜ „xemplos:
Inteiro: 10 -5 -128

eal (ponto flutuante): 1.34 13.4 -5.0
String de caracteres: Ơquarta
quarta--feiraơ 'Abril'
(ou literal)
Lógico: V„
DAD„I
O FALSO
„lementos básicos de um algoritmo
:: Tipos de dados „M JAVA

˜ „xemplos:
int: 10 -5 -128
float (ponto flutuante): 1.34 13.4 -5.0
String: Ơquarta
quarta--feiraơ 'Abril'
(ou literal)
boolean: true false
„lementos básicos de um algoritmo
:: Declaração de variáveis „M PO
TUGOL

˜ Para se utilizar uma variável em um algoritmo


(ou programa) é necessário criar essa variável,
estabelecendo--lhe um nome (ou identificador) e
estabelecendo
indicar qual o tipo de dado que ela armazenará
˜ Para isso deve-
deve-se indicar o tipo do dado seguido
pelo identificador da variável que poderá ou não
receber um conteúdo inicial
Tipo da variável identificador  conteúdo

OPCIO AL
˜„xemplos: a)inteiro
a)inteiro a b) real b  3 c)
c)inteiro
inteiro x,y
„lementos básicos de um algoritmo
:: Declaração de variáveis „M JAVA

Tipo da variável identificador;


OU
Tipo da variável identificador = conteúdo;

˜„xemplos: OPCIO AL
˜a)
a)int
int a;
˜b)float
b)float b=3.0;
˜c)
c)int
int x,y;
˜d)String
d)String nome=Ơtiaozinhoơ;
„lementos básicos de um algoritmo
:: Operador Atribuição O PO
TUGOL

˜ Utilizado para atribuir um CO T„DO a uma


variável

nome da
„xpressão
variável

O resultado da
A expressão pode
˜ otação: ser uma variável,
expressão deve
ser do mesmo
x1 l 23 um cálculo
tipo da variável
temp l  matemático, etc.
etc.
indicada no lado
soma l  esquerdo da
AT
IBUIÇÃO
„lementos básicos de um algoritmo
:: Operador Atribuição „M JAVA

˜ Utilizado para atribuir um valor a uma variável

nome da „xpressão;
variável

O resultado da
A expressão pode
expressão deve
˜ otação: ser uma variável,
ser do mesmo
um cálculo
x1 = 23; tipo da variável
matemático, etc.
etc.
temp =  indicada no lado
esquerdo da
soma = 
AT
IBUIÇÃO
„lementos básicos de um algoritmo
:: Operadores Aritméticos „M PO
TUGOL
˜ Os dados devem ser do tipo númérico (inteiro ou real)
˜
esultado é do tipo numérico (inteiro ou real)
˜ OP„
ADO
„S: + (adição), -(subtração), *(produto),
/(divisão), MOD(retorna o resto entre dois inteiros)
„xemplos:
x_2 l2+8
xy l1/7
a_x l 1 / 3.9
resto l 13 MOD 3
outro
esto l 10 MOD 6
deltaA l8*8ƛ4*2* 3
„lementos básicos de um algoritmo
:: Operadores Aritméticos „M JAVA
˜ Os dados devem ser do tipo númérico (inteiro ou
fracionário)
˜
esultado é do tipo numérico (inteiro ou fracionário)
˜ OP„
ADO
„S: + (adição), -(subtração), *(produto),
/(divisão), % (retorna o resto entre dois inteiros)
„xemplos:
x_2 = 2 + 8;
xy = 1 / 7;
a_x = 1 / 3.9;
resto = 13 % 3;
outro
esto = 10 % 6;
deltaA = 8 * 8 ƛ 4 * 2 * 3;
„lementos básicos de um algoritmo
::
„SUMO (portugol e java)

c  cc

       "#l †  "#&†


!
 $"%   $"%
   

c#  l    & '#


 l &( )') )
„lementos básicos de um algoritmo


      
Algoritmo <nome_do_algoritmo
<nome_do_algoritmo>>

j  

 

j 

fim
„lementos básicos de um programa Java

     *  
class <nome_do_programa
<nome_do_programa>
>    
{    -

public static void main(String[] args)


{
j  

 
j 
}
}

$  *   &+,

$  *   $  ! &+ 
„lementos básicos de um algoritmo

$ *    * 

Algoritmo calculaMedia
inteiro a,b,c
real m
a l 10
b l 20
c l 30
m l a+b+c / 3
fim
„lementos básicos de um algoritmo

$ *   *  , * 
á á
á  . 
/
* #     012 3
/
 "#"
   
&45
#&65
&75
&0  30 '#'387


  9 &á  .  +,
  
$  ! &á  .  + 
„lementos básicos de um algoritmo
:: Comandos de Saída „M PO
TUGOL
˜   *!  *      :  *     $ " 
 *          *   ; 
˜      < *      :  *    " *  
* * *  "    :    =  
˜ á    *          < * <
˜ c    á> *   ?
c@      <
 < ++
 ?
  :     #A    :  * 
*  ++  c@    :  *    +
*   +
˜ c    á *   B9      <
 < ++ !   
*  *   ?

˜ c    cc *   B      <


˜
    *   C
 *   C " 
B
ác.
B
"      <
 A 
á
c
˜ 
á
c A  *      *D
*D

 0 $* 3
$* pode ser uma variável,
$* pode
um cálculo ou uma expressão
Matemática,literal ou lógica
„lementos básicos de um algoritmo
:: Comandos de Saída „M PO
TUGOL
˜
E
.

E
.DD
˜  0(! )3
˜  0†
0†73 á   *  
 *  
  ; +
   
˜   l †" # l F
;  *  
 0 #3 G$  ;
˜   $ l (  )" % l (  )
 0$') ('%3
˜  0(* &("45
0(* &("45"" (  )3
˜  0( (3
    ;  # 
„lementos básicos de um algoritmo
:: Comandos de Saída „M JAVA
˜ 
á
c   0  *  3 A
 *     cc á.
á.DD
% ++ +
%   +* 0 $* 3


  ; *     ;   

% ++ +
%   +*0 $* 3


  ; *      ;
„lementos básicos de um algoritmo
:: Comandos de Saída „M JAVA
˜
E
.

E
.DD
% ++ +
˜ %   +* 0(! )3
% ++ +
˜ %   +* 0†
0†73
˜   &†
&†" #&F
#&F
% ++ +
%   +*0 #3
˜   $&(  )" %&(  )
% ++ +
%   +*0$') ('%3
% ++ +
˜ %   +* 0(* &("45
0(* &("45"" (  )3
% ++ +
˜ %   +* 0( (3
„lementos básicos de um algoritmo
:: „xercícios
˜ 4+
#   0  *   , 3 H  
 A  7    
˜ 6+
#   0  *   , 3 H 
   *         ; 
˜ 7+á   0  *   , 3 H 
*  B9.các 7 I 
˜ J+á   0  *   , 3 H
 ;  H           
˜ †+á   0  *   , 3 H
 ;             K
˜ L+
#   0  *   , 3 H 
  ! <"   0 4444M
M3  B # 
 !   ! H     # 
„lementos básicos de um algoritmo
:: „xercícios
˜ F+
   0  *   , 3 H  I    45  
! c   65   ! >+ c    0  I   *   # : 
 ! 3 H     -   I    H   H !  c
*  *  >  C
 C  +
 + c       H     I    
! +
+

˜ N+
#   0  *   *    3 H D H D 3 
 *    ! #3   $ *   3  
 *       3    D D   ! # "  
 *   "    "     ! H  

˜ O+á    H %& %&66$'7


$'7" #   0  *    3 H
  # %    $"     H $   # "  *    "
  " 6" 7" J C†+ c  < ! *       D
 D

$%

&&&&&&&

++++

++++
   *   $ %
„lementos básicos de um algoritmo
:: Comandos de „ntrada(portugol)
˜  *! *  #     $ "   * ; " 
 !C
!C *    G   # ; *  

˜ B          "*  H   *  


 I        ! "H  *        
 G

˜   *   !  * <   " 


! ! 

˜ P *    *D

  0  3

˜
$ * D O nome de uma variável
 

  #

 0 388 C
C    -  H  !  I    ! 


 0#388 C
C    -    H  !  I    ! #
#

˜
    *     *  
  "    : "     á
 
„lementos básicos de um algoritmo
:: Comandos de „ntrada(Java)
˜  *     A ##     
˜     I  C
C *   ##       
*      
˜ cD
˜ 4+  
4+  *,
*, +  +   
 Q   R
˜ 6+á    !  *  "D
  * & S  0% +3
˜ 7+ I   !  *          *  "
  D
*   D &* + $03
*   D &* + $03
*    D
 D  &* + $9  03
*  D&* + $ 03
*  D&* + $ 03
„lementos básicos de um algoritmo
:: Comandos de „ntrada(Java)
˜
$ * D
*, +  +
 
$ * 
/
* #     012 3
/
 & S  0% +3
   
  
 
% + +*0(    D)3
&  + $03
% + +* 0(   ('3


„lementos básicos de um algoritmo
:: „strutura condicional (portugol)
˜  $ D
˜  0 3
 # C
C  4
1  # C
C  62

# C
C  7
      "# C
C  4 !
$   +á !"# CC  6 !
$   +
c      "# C
C  7 ! $   
 
  A* "   *  !     
 T   *# 
„lementos básicos de um algoritmo
:: „strutura condicional (Java)
˜  $ D
˜  0 3
/
# C
C  4


/
# C
C  6

# C
C  7

  
   * " * 
  * " *    "      * 
  / *G  *G  A* H     *    
;        +
„lementos básicos de um algoritmo
:: Operadores relacionais
˜   I *   $   *
   + D
˜ DR"R&"Q"Q&"QR
DR"R&"Q"Q&"QRU"&
U"&
˜ ccDR"R&"Q&"V&"&&
˜
E
.D
˜ D 0 R&#3" 0$'%&453"
 0  QR53
˜ ccD0 R&#3"0$'%&&453"
0  V&53
„lementos básicos de um algoritmo
:: Operadores lógicos
˜   I *  (   )    
   : + D
˜ D0++3"
0+
+3"
B0+B+3
˜ ccDWW"XX"V
˜
E
.D
˜ D 00 R&#3 0 Q33
 00$Q%3 0YRS33
˜ ccD00 R&#3XX0 Q33
00$Q%3WW0 Q33
„lementos básicos de um algoritmo
:: „strutura de repetição (portugol)
˜  $ D
˜ H  0 3

# C
C  4 „xecuta
volta

# C
C  6

Eác

EácDD
     *   # C C
  4
   4    H   
   
   ++ Z          "
# C
C  
  6 6  ! $   +
$   +
„lementos básicos de um algoritmo
:: „strutura de repetição (portugol)
„  
   


‘ ã
‘
‘ ã
„ 
  
 
‘
‘  

‘ ã

  

         ã    ã
ã
„ 
           

       


      
    
   !         
 !  



„lementos básicos de um algoritmo
:: „strutura de repetição (Java)
˜  $ D
˜ S; 0 3
/
# C
C  4 „xecuta
volta

# C
C  6

Eác

EácDD  S;  * 
H   *  +  #  / 
 *   "  *    "   
  *  +
„lementos básicos de um algoritmo
:: „strutura de repetição (Java)

„  
    
" ã
"ã
   
#
"  
" ã
$
% 

 
 
„lementos básicos de um algoritmo
:: Comentários
o 
! 
&  
 
    
   

 
o
&''((  
!  )   (*
o
&
*(      
!    
„ 
(( ! &! 


(* !+ 
 
,     ,   

-
*(

+

((! 

Você também pode gostar