Você está na página 1de 14

Ciclo Básico das Engenharias

Programação de Computadores e Cálculo Numérico

Lista de exercícios – 1º Bimestre

1) (Estrutura sequencial) Elabore um algoritmo para calcular e exibir o perímetro de um triângulo a partir das coordenadas
dos vértices.

2 2
OBS: Para dois pontos de coordenadas P(x1,y1) e Q(x2,y2), a distância entre eles é: dPQ = ( x2 − x1) + ( y2 − y1)

2) (Estrutura sequencial) Elabore um algoritmo que calcula a área de um triângulo por meio da expressão:

x1 y1 1
1
A= x2 y2 1
2
x3 y3 1
! ! ! !
3) (Estrutura sequencial) Um vetor unitário na direção de v = vx i + vy j + vz k pode ser calculado como
! v! v ! vy ! v ! !
λv = ! = !x i + ! j + !z k , ou seja, dividindo o vetor v pelo seu módulo. O módulo de um vetor é calculado por
v v v v
! ! !
v = vx + vy + vz . Elabore um algoritmo que lê as três componentes de um vetor v , calcula e exibe o vetor unitário λv
2 2 2

na sua direção.

! ! ! ! ! ! ! !
4) (Estrutura sequencial) Dados dois vetores: m = mx i + my j + mz k (no R 3 ) e n = nx i + ny j + nz k (no R 3 ), o produto escalar
! !
entre eles é: m • n = mx .nx + my .ny + mz .nz .
3
Elabore um algoritmo para calcular o produto escalar entre dois vetores no R .

! ! ! !
5) (Estrutura de decisão) O cosseno do ângulo θ medido entre um vetor m = m x i + m y j + mz k e outro vetor
! ! ! ! !
! m•n
n = nx i + ny j + nz k é dado pela expressão: cos(θ ) = ! ! .
m n

Elabore um algoritmo que lê dois vetores (suas componentes) e verifica se eles são perpendiculares ou não.

6) (Estrutura de decisão) Elabore um algoritmo que exibe o inteiro mais próximo da raiz de um número (arredondamento).

2
7) (Estrutura de decisão) Uma precipitação (chuva) diária de h mm sobre uma área retangular de A x B km resultará em
um volume de água dado pelo paralelepípedo da figura abaixo (considerando que não há perdas por infiltração nem por
evaporação:

1km =1.000m
1m = 1.000mm
3
1.000 litros = 1m

volume = área da base x altura


área da base do retângulo = A x B

Elabore um algoritmo que calcula a quantidade de água (em litros) para 1 dia de chuva em uma região retangular e
comenta: - chuva fraca ou sem chuva (h ≤5mm)
- chuva regular (5mm < h ≤ 15mm)
- chuva intensa (h >15mm)
8) (Estrutura de repetição) Elabore um algoritmo para escrever os quadrados de todos os números pares entre 1 e 20
(inclusive).

9) (Estrutura de repetição) Elabore um algoritmo que calcula e exibe uma tabela de conversão de temperaturas de ºC para
ºF. O usuário deve informar a temperatura inicial em ºC, a quantidade de temperaturas a serem exibidas e o incremento
de temperatura.

º F − 32
OBS: º C =
1,8

10) (Estrutura de repetição e acumuladores) Elabore um algoritmo que lê dois números: base e expoente (a base é real e o
expoente é inteiro) e calcula (e exibe) a potência base elevada a expoente. Não utilize o operador matemático de
potência.

11) (Estrutura de repetição e acumuladores) Elabore um algoritmo para calcular (e exibir) o valor de H.

H= 1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50

12) (Estrutura de repetição e acumuladores) Elabore um algoritmo para calcular (e exibir) o valor de S.

S= 1/1 - 2/4 + 3/9 – 4/16 + 5/25 – 6/36 + ... - 10/100

13) (Estrutura de repetição e acumuladores) Elabore um algoritmo que lê n notas informadas pelo usuário e exibe a
quantidade de notas acima da média.

14) (Estrutura de repetição e acumuladores) Elabore um algoritmo que lê n temperaturas e exibe quantas excedem a
temperatura crítica. (a temperatura crítica é informada pelo usuário).

15) (Estrutura de repetição e acumuladores) um algoritmo que verifica se um número é primo.

16) (Estrutura de repetição encadeada) Elabore um algoritmo que exibe todos os números primos entre n1 e n2 (n1 e n2
são inteiros informados pelo usuário).

17) (Estrutura de repetição encadeada) Elabore um algoritmo que exibe todas as combinações possíveis onde a soma dos
números de dois dados vale 7. (ex: 1 e 6, 2 e 5, etc.).

18) (Estrutura de repetição) Descreva as estruturas de repetição "Faça ... variar" e "enquanto...repita". Dê exemplos e
caracterize qual a diferença entre as duas estruturas ? Para que situação uma estrutura é mais indicada do que a outra?

19) (Estrutura de repetição e acumuladores) Uma fábrica produz rodas de aço e de liga leve. O estoque de rodas de aço é
de 5.000 jogos (4 rodas) e o de rodas de liga leve é de 18.000 jogos. A fábrica produz 200 rodas de aço por dia e 150
rodas de liga leve por dia. Elabore um algoritmo que determina em quantos dias o estoque de rodas de aço será maior
do que o de rodas de liga leve.

20) (Estrutura de repetição e acumuladores) Elabore um algoritmo que calcule o faturamento de um cinema a cada sessão.
Devemos considerar que os menores de 18 anos pagam meia, devido à carteira de estudante e que os maiores de 65
anos também pagam meia, devido à carteira de aposentado. O preço normal do ingresso irá variar conforme o dia da
semana (dado de entrada – preço normal do ingresso). A quantidade de pessoas no cinema irá variar a cada sessão,
portanto deve haver está informação também. Além disto, o algoritmo pode ser executado mais de uma vez, ou seja,
deve-se verificar ao final do calculo de uma sessão se o usuário deseja verificar o faturamento de outra sessão.
Gabarito

1) Elabore um algoritmo para calcular e exibir o perímetro de um triângulo a partir das coordenadas dos
vértices.

OBS: Para dois pontos de coordenadas P(x1,y1) e Q(x2,y2), a distância entre eles é:
2 2
dPQ = ( x2 − x1) + ( y2 − y1)

Início  

OBS:  Declaração  de  variáveis  (considerando  pontos  P,  Q  e  R)  


Real  Perimetro,  dPQ,  dQR,  dRP  
Real  x1,  y1,  x2,  y2,  x3,  y3  

OBS:  Entrada  de  dados  


Escreva  "informe  as  coordenadas  x  e  y  do  ponto  P"  
Leia      x1,  y1  
Escreva  "informe  as  coordenadas  x  e  y  do  ponto  Q"  
Leia      x2,  y2  
Escreva  "informe  as  coordenadas  x  e  y  do  ponto  R"  
Leia      x3,  y3  

OBS:  Processamento  de  dados    


dPQ  ←  rad(  pot(x2-­‐x1,2)  +  pot(y2-­‐y1,2)  )  
dQR  ←  rad(  pot(x3-­‐x2,2)  +  pot(y3-­‐y2,2)  )  
dRP  ←  rad(  pot(x1-­‐x3,2)  +  pot(y1-­‐y3,2)  )  
Perimetro  ←  dPQ  +  dQR  +  dRP    

OBS:  Saída  de  dados  


Escreva  "Perímetro  =  ",  Perimetro  

Fim  
2) Elabore um algoritmo que calcula a área de um triângulo por meio da expressão:

x1 y1 1
1
A= x2 y2 1
2
x3 y3 1
 

Início  

OBS:  Declaração  de  variáveis  


Real  A,  x1,  x2,  x3,  y1,  y2,  y3  

OBS:  Entrada  de  dados  


Escreva  "informe  as  coordenadas  (x  e  y)  do  vértice  1  do  triângulo"  
Leia      x1,  y1  
Escreva  "informe  as  coordenadas  (x  e  y)  do  vértice  2  do  triângulo"  
Leia      x2,  y2  
Escreva  "informe  as  coordenadas  (x  e  y)  do  vértice  3  do  triângulo"  
Leia      x3,  y3  

OBS:  Processamento  de  dados  


A  =  0.5  *  (x1*y2  +  y1*x3  +  x2*y3  –  x3*y2  –  y3*x1  –  x2*y1  )  

OBS:  Saída  de  dados  


Escreva  "Área  do  triângulo  =  ",  A  

Fim  

! ! ! ! ! v! v ! v ! v !
3) Um vetor unitário na direção de v = vx i + vy j + vz k pode ser calculado como λv = ! = !x i + !y j + !z k , ou
v v v v
! !
seja, dividindo o vetor v pelo seu módulo. O módulo de um vetor é calculado por v = vx + vy2 + vz2 . 2

! !
Elabore um algoritmo que lê as três componentes de um vetor v , calcula e exibe o vetor unitário λv na
sua direção.

Início  

OBS:  Declaracao  de  variaveis    


Real  unitX,  unitY,  yunitZ  
Real  modulo,  vx,  vy,  vz  

OBS:  Entrada  de  dados  


Escreva  "informe  as  três  componentes  do  vetor"  
Leia      vx,  vy,  vz  
 
OBS:  Processamento  de  dados    
modulo  ←  rad(vx*vx  +  vy*vy  +  vz*vz)  
unitX    ←  vx/modulo  
unitY    ←  vy/modulo  
unitZ    ←  vz/modulo  

OBS:  Saída  de  dados    


Escreva  "Componentes  do  vetor  unitário  :  ",  vx,  vy,  vz  
 
Fim  
3
4) Elabore um algoritmo para calcular o produto escalar entre dois vetores no R .

Início  

OBS:  Declaração  de  variáveis  


Real  ProdEscalar,  mx,  my,  mz,  nx,  ny,  nz  

OBS:  Entrada  de  dados  


Escreva  "informe  as  três  componentes  de  um  vetor"  
Leia      mx,  my,  mz  
Escreva  "informe  as  três  componentes  de  outro  vetor"  
Leia      nx,  ny,  nz  

OBS:  Processamento  de  dados    


ProdEscalar  ←  mx*nx  +  my*ny  +  mz*nz  

OBS:  Saída  de  dados    


Escreva  "Produto  escalar  =",  ProdEscalar  
 
Fim  

! ! ! !
5) (Estrutura de decisão) O cosseno do ângulo θ medido entre um vetor m = mx i + my j + mz k e outro vetor
! ! ! ! !
! m•n
n = nx i + ny j + nz k é dado pela expressão: cos(θ ) = ! ! .
mn

Elabore um algoritmo que lê dois vetores (suas componentes) e verifica se eles são perpendiculares ou não.

Início  

OBS:  Declaração  de  variáveis  


Real  ProdEscalar,  mx,  my,  mz,  nx,  ny,  nz  

OBS:  Entrada  de  dados  


Escreva  "informe  as  três  componentes  de  um  vetor"  
Leia      mx,  my,  mz  
Escreva  "informe  as  três  componentes  de  outro  vetor"  
Leia      nx,  ny,  nz  

OBS:  Processamento  de  dados    


ProdEscalar  ←  mx*nx  +  my*ny  +  mz*nz  

OBS:  Saída  de  dados    


Se  ProdEscalar=0  então  
  Escreva  "Os  vetores  são  perpendiculares"  
Senão  
  Escreva  "Os  vetores  NÃO  são  perpendiculares"  
Fim  do  se  

Fim  
 
6) Elabore um algoritmo que exibe o inteiro mais próximo da raiz de um número.
 
 
Início  
OBS:  Declaracao  de  variaveis    
Inteiro      i  
Real            num  
 
OBS:  Entrada  de  dados    
Escreva  "Informe  um  numero  "  
Leia        num  
 
OBS:  Processamento  e  saida  de  dados    
i  ←  rad(num)  
     
se  rad(num)-­‐i    <    i+1-­‐rad(num)  então  
  Escreva  "O  inteiro  mais  próximo  de",  rad(num),  "  vale  ",  i    
senão  
  Escreva  "O  inteiro  mais  próximo  de",  rad(num),  "  vale  ",  i+1    
Fim  do  se  
Fim  
     
   

7) Uma precipitação (chuva) diária de h mm sobre uma área retangular de A x B km2 resultará em um
volume de água dado pelo paralelepípedo da figura abaixo (considerando que não há perdas por
infiltração nem por evaporação:

1km =1.000m
1m = 1.000mm
1.000 litros = 1m3

volume = área da base x altura


área da base do retângulo = A x B

Elabore um algoritmo que calcula a quantidade de água (em litros) para 1 dia de chuva em uma região
retangular e comenta: - chuva fraca ou sem chuva (h ≤5mm)
- chuva regular (5mm < h ≤ 15mm)
- chuva intensa (h >15mm)
 
Início  
 
OBS:    Declaração  de  variáveis  
REAL  A,  B,  h,  volume  
 
OBS:    Entrada  de  dados  
ESCREVA  “Informe  as  medidas  A(Km),  B(km)  e  precipitação  (mm)”  
LEIA        A,  B,  h  
 
OBS:    Processamento  de  dados  
volume  =  A*1000  *  B*1000  *  h/1000      (OBS:  conversões  para  metros  cúbicos)  
volume  =  volume  *  1000                            (OBS:  conversão  para  litros)  
 
OBS:    Saída  de  dados  
ESCREVA  “Volume  precipitado  =”,  volume,  “litros”  
SE  h<=5  ENTÃO  
ESCREVA  “Chuva  fraca  ou  sem  chuva”  
SENÃO    
SE  h<=15  ENTÃO  
ESCREVA  “Chuva  regular”  
SENÃO  
ESCREVA  “Chuva  intensa”  
FIM  DO  SE  
FIM  DO  SE  
 
Fim  
 
 
 
8) Elabore um algoritmo para escrever os quadrados de todos os números pares entre 1 e 20 (inclusive).

 
 
 
Início  
OBS:  Declaração  de  variáveis    
Inteiro  i  
 
OBS:  Saída  de  dados    
Escreva  "Quadrados  dos  numeros  pares  entre  1  e  20"  
Faça  i  variar  de  2  até  20  passo  2  
  Escreva  i*i  
Próximo  i  
Início  
 
 
 
 
 
 
9) Elabore um algoritmo que calcula e exibe uma tabela de conversão de temperaturas de ºC para ºF. O
usuário deve informar a temperatura inicial em ºC, a quantidade de temperaturas a serem exibidas e o
incremento de temperatura.

º F − 32
OBS: º C =
1,8

Início  

OBS:  Declaração  de  variáveis  


Real  C,  TiC,  increm  
Inteiro  Quant  

OBS:  Entrada  de  dados  


Escreva  "Informe  a  temperatura  inicial  em  graus  Celsius"  
Leia  TiC  
Escreva  "Informe  a  quantidade  de  temperaturas  a  serem  convertidas"  
Leia  Quant  
Escreva  "Informe  o  incremento  de  temperatura"  
Leia  increm  

OBS:  Saída  de  dados    


Escreva  "Temperatura  em  Graus  Celsius  -­‐-­‐  Temperatura  em  Graus  Fahrenheit"  
Faça  C  variar  de  TiC  até  Tic+(Quant-­‐1)*increm  passo  increm  
    Escreva  C,  1.8*C+32  
Próximo  C  

Fim  
 
10) Elabore um algoritmo que lê dois números: base e expoente (a base é real e o expoente é inteiro) e
calcula (e exibe) a potência base elevada a expoente. Não utilize o operador matemático de potência.

 
 
 
Início  
OBS:  Declaração  de  variáveis    
Real     base,  resultado  
Inteiro   expoente,  i  
 
OBS:  Entrada  de  dados    
Escreva   "Informe  a  base  (real)  "  
Leia   base  
Escreva   "Informe  o  expoente  (inteiro  positivo)  "  
Leia   expoente  
 
OBS:  Processamento  de  dados    
resultado  ←  1  
Faça  i  variar  de  1  até  expoente  
resultado  ←  resultado  *  base  
Próximo  i  
 
OBS:  Saída  de  dados    
Escreva  base,"  elevado  a  ",  expoente  ,"  =  ",    resultado  
     
Fim  

11) Elabore um algoritmo para calcular (e exibir) o valor de H.

H= 1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50

Início  
OBS:  Declaracao  de  variaveis    
Real        H  
Inteiro  i  
 
OBS:  Atribuir  o  valor  inicial  de  H    
H  ←  0  
 
OBS:  Laço  para  acumular  as  parcelas  em  H    
Faça  i  variar  de  1  até  50  
  H  ←  H  +  (2*i-­‐1)/i  
Próximo  i  

OBS:  Saída  de  dados    


Escreva  "H  vale  ",  H  
Fim  

 
 
 
 
 
 
 
   
12) Elabore um algoritmo para calcular (e exibir) o valor de S.

S= 1/1 - 2/4 + 3/9 – 4/16 + 5/25 – 6/36 + ... - 10/100

Início  
OBS:  Declaracao  de  variaveis    
Real        S  
Inteiro  i  
 
OBS:  Atribuir  o  valor  inicial  de  S  
S  ←  0  
 
OBS:  Laço  para  acumular  as  parcelas  em  S  
Faça  i  variar  de  1  até  10  
  S  ←  S  +  1/i  *  pot(-­‐1,i+1)  
Próximo  i  

OBS:  Saída  de  dados    


Escreva  "S  vale  ",  S  
Fim  

13) Elabore um algoritmo que lê n notas informadas pelo usuário e exibe a quantidade de notas acima
da média.

Início  
OBS:  Declaração  de  variáveis    
Inteiro      qacima,  n,  i  
Real            nota  
 
OBS:  Entrada  de  dados    
Escreva  "Informe  a  quantidade  de  alunos  "  
Leia          n  
 
OBS:  Laço  para  acumular  as  notas  na  média    
qacima  ←  0  
Faça  i  variar  de  1  até  n  
  Escreva  "Informe  uma  nota  "  
  Leia        nota  
  Se  nota>=7  então  
    qacima  ←  qacima+1  
  Fim  do  se  
Próximo  i  
 
OBS:  Saída  de  dados    
Escreva  "Quantidade  acima  da  media  =  ",  qacima  
Fim  

 
 
14) Elabore um algoritmo que lê n temperaturas e exibe quantas excedem a temperatura crítica. (a
temperatura crítica é informada pelo usuário).

Início  
OBS:  Declaração  de  variáveis    
Inteiro   qacima,  n,  i  
Real     temp,  tempcritica  
 
OBS:  Entrada  de  dados    
Escreva   "Informe  a  quantidade  de  temperaturas  "  
Leia   n  
 
Escreva   "Informe  a  temperatura  critica  "  
Leia   tempcritica  
 
OBS:  Laço  para  comparar  cada  temperatura  com  a  crítica    
qacima  ←  0  
Faça  i  variar  de  1  até  n  
  Escreva  "Informe  uma  temperatura  "  
  Leia  temp  
  Se  temp  >=  tempcritica  então  
    qacima  ←  qacima+1  
Fim  do  se  
Próximo  i  
 
OBS:  Saída  de  dados    
Escreva  "Quantidade  acima  da  temperatura  critica  =  ",  qacima  
Fim  

 
 
 
 
15) Elabore um algoritmo que verifica se um número é primo.

Início  
OBS:  Declaracao  de  variaveis    
Inteiro  numero,  i;  
 
OBS:  Entrada  de  dados    
Escreva  "Informe  o  numero  para  verificar  se  eh  primo  (maior  do  que  1)  "  
Leia        numero  
 
OBS:  Laço  para  dividir  o  número  por  "todos"  os  anteriores    
i  ←  2  
Enquanto    numero  MOD  i  <>  0  repita  
  i←i+1  
Fim  do  enquanto  
 
OBS:  Saída  de  dados    
Se    i  =  numero  Então  
  Escreva  numero  ,"  é  primo"  
senão  
  Escreva  numero  ,"  não  é  primo"  
Fim  do  Se  
Fim  
   

 
 
 
 
16) Elabore um algoritmo que exibe todos os números primos entre n1 e n2 (n1 e n2 são inteiros
informados pelo usuário).

Início  
OBS:  Declaracao  de  variaveis    
Inteiro  n1,  n2,  numero,  i  
 
OBS:  Entrada  de  dados    
Escreva  "Informe  o  intervalo  [n1  e  n2]  para  verificar  os  primos"  
Leia        n1,  n2  
 
 
OBS:  Laço  para  variar  número  de  n1  até  n2    
Faça  numero  variar  de  n1  até  n2  
  OBS:  Laço  para  dividir  o  número  por  "todos"  os  anteriores    
  i  ←  2  
  Enquanto    numero  MOD  i  <>  0  repita  
    i  ←  i+1  
  Fim  do  enquanto  
 
  OBS:  Saída  de  dados    
  Se    i  =  numero  Então  
    Escreva  numero  ,"  é  primo"  
  Fim  do  Se  
Próximo  numero
Fim  
 

17) Elabore um algoritmo que exibe todas as combinações possíveis onde a soma dos números de dois
dados vale 7. (ex: 1 e 6, 2 e 5, etc.).

Início  
OBS:  Declaracao  de  variaveis    
Inteiro  dado1,  dado2  
 
OBS:  Saída  de  dados    
Escreva  "Combinações  de  dados  com  soma  =  7"  
   
OBS:  Laço  para  variar  os  valores  dos  dados  
Faça  dado1  variar  de  1  até  6  
  Faça  dado2  variar  de  1  até  6  
    Se  dado1+dado2=7  então  
Escreva  "Dado1  =  ",  dado1,  "  e  dado2  =  ",  dado2  
  Fim  do  se  
  Próximo  dado2  
Próximo  dado1  
Fim  
   

 
 
 
 
   
 
18) Descreva as estruturas de repetição "Faça ... variar" e "enquanto...repita". Dê exemplos e
caracterize qual a diferença entre as duas estruturas ? Para que situação uma estrutura é mais
indicada do que a outra ?

"Faça...variar"   é   uma   estrutura   de   repetição   adequada   para   quando   sabe-­‐se,  


antecipadamente,  a  quantidade  de  repetições.  
 
Exemplo:  Questão  11  desta  lista:  somar  (acumular)  50  parcelas.  Neste  caso  (quantidade  
de  parcelas  e  repetições  conhecida),  o  "faça"  é  mais  indicado.  
 
OBS:  Laço  para  acumular  as  parcelas  em  H    
Faça  i  variar  de  1  até  50  
  H  ←  H  +  (2*i-­‐1)/i  
Próximo  i  

"Enquanto...repita"   é   uma   estrutura   de   repetição   adequada   para   situações   em   que   não  


se   sabe   a   quantidade   de   repetições.   Enquanto   o   teste   lógico   resultar   em   verdadeiro,  
há  uma  nova  repetição.  
 
Exemplo:   Questão   15   da   lista:   Verificar   se   um   número   é   primo.   Como   a   quantidade   de  
verificações  é    desconhecida,  enquanto  o  resto  for  diferente  de  zero,  o  laço  enquanto  
é  mais  indicado.  
 
OBS:  Laço  para  dividir  o  número  por  "todos"  os  anteriores    
i  ←  2  
Enquanto    numero  MOD  i  <>  0  repita  
  i←i+1  
Fim  do  enquanto  
19) Uma fábrica produz rodas de aço e de liga leve. O estoque de rodas de aço é de 5.000 jogos (4
rodas) e o de rodas de liga leve é de 18.000 jogos. A fábrica produz 200 rodas de aço por dia e 150
rodas de liga leve por dia. Elabore um algoritmo que determina em quantos dias o estoque de rodas
de aço será maior do que o de rodas de liga leve.

Início  
OBS:  Declaração  de  variáveis    
Inteiro  dia  
Inteiro  quant_aco,  quant_liga  
 
OBS:  Processamento  de  dados  -­‐  Valores  iniciais  do  estoque  
quant_aco    ←  5000  *4  
quant_liga  ←  18000  *4  
 
OBS:  Laço  para  variar  os  dias    
dia  ←  0  
Enquanto  quant_liga  >=  quant_aco  repita  
    quant_aco    ←  quant_aco    +  200  
    quant_liga  ←  quant_liga  +  150  
    dia  ←  dia  +1  
Fim  do  enquanto  
 
OBS:  Saída  de  dados  
Escreva  "O  estoque  de  rodas  de  aço  será  maior  do  que  os  de  liga  em”,  dia,  “dias”  

Fim  

 
Resposta:  Em  1.041  dias.  
20) Elabore um algoritmo que calcule o faturamento de um cinema a cada sessão. Devemos considerar
que os menores de 18 anos pagam meia, devido à carteira de estudante e que os maiores de 65
anos também pagam meia, devido à carteira de aposentado. O preço normal do ingresso irá variar
conforme o dia da semana (dado de entrada – preço normal do ingresso). A quantidade de pessoas
no cinema irá variar a cada sessão, portanto deve haver está informação também. Além disto, o
algoritmo pode ser executado mais de uma vez, ou seja, deve-se verificar ao final do calculo de uma
sessão se o usuário deseja verificar o faturamento de outra sessão.

Início  
OBS:  Declaração  de  variáveis    
Real  faturamento,  preco  
Inteiro      quant_cheias,  quant_estudantes,  quant_idosos  
Inteiro      opcao  
 
OBS:  O  programa  vai  repetir  enquanto  opcao=1    
opcao  ←  1  
   
Enquanto  opcao=1  repita  
  OBS:  Entrada  de  dados    
  Escreva  "Sessao  de  cinema  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐"  
  Escreva  "Informe  o  preco  da  entrada  no  dia  "  
  Leia  preco  
  Escreva  Informe  a  quantidade  de  pessoas  que  pagaram  inteira  "  
  Leia  quant_cheias  
  Escreva  "Informe  a  quantidade  de  estudantes  (pagaram  meia)  "  
  Leia  quant_estudantes  
  Escreva  "Informe  a  quantidade  de  idosos  (pagaram  meia)  "  
  Leia  quant_idosos  
 
  OBS:  Processamento  de  dados    
  faturamento  ←  preco  *  quant_cheias  +  preco/2  *  (quant_estudantes  +  quant_idosos)  
 
  OBS:  Saída  de  dados    
  Escreva  "Faturamento  =  ",  faturamento  
  Escreva  "Deseja  executar  outra  vez?    Digite  1  para  sim    ou  2  para  nao    "  
  Leia  opcao  
Fim  do  enquanto  
Fim  

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
   

Você também pode gostar