Algoritmos



Baixar 243.41 Kb.
Página2/2
Encontro10.03.2019
Tamanho243.41 Kb.
1   2

Exercícios
1. inicio




Lógico: B1, B2, B3;
Se B1 então C1;




Senão
Se B2 então



Se B3 então C2;

senão C3;

C4;


fim se ;
fim se

C5;


fim se

fim

Dado o algoritmo em PORTUGOL acima, responda:




  1. Se B1 = verdadeiro, B2 = verdadeiro, B3 = falso, quais os comandos que serão executados?

  2. Se B1 = falso, B2 = verdadeiro, B3 = falso, quais os comandos que serão executados ?

  3. Quais os valores de B1, B2, B3 para que somente o comando C5 seja executado?

  4. Se B1 = falso, B2 = verdadeiro, B3 = verdadeiro, quais os comandos que serão executados ?



  1. lógico: A, B, C;

real: x, y;

inteiro: V,L;

Afalso; Bverdadeiro; Cfalso;

x  1,5; y  3,2 ;

xx + 1 ;

Se C ou (( x + y > 5) ou (não A e B)) então L 0;

senão L 1;
fim se;
Qual o valor de L após a execução do trecho de algoritmo acima ?


  1. Dado o algoritmo abaixo, que calcula o volume de uma esfera de Raio R:


inicio




Real: VOLUME, PI, R;

PI  3,1416 ;

R  0 ;
Enquanto R 6 faça

VOLUME  4/3 * PI * (R ** 3) ;

Imprima ( R; VOLUME) ;

R = R + 2 ;


fim enquanto
fim

Complete os demais valores:





R

VOLUME

0

0

2

33,51

........

.......



  1. Considere as seguintes definições de operadores:




  1. DIV : fornece o resultado da divisão inteira de duas variáveis inteiras.

Exemplo: Sendo A e B variáveis inteiras,

então se A = 5 ; B = 2;

C = A DIV B ;
O valor de C será 2


  1. MOD: fornece o resto da divisão entre duas variáveis inteiras.





16 6


4

2

16 DIV 6


16 MOD 6



Exemplo: Sendo A e B variáveis inteiras, então se A = 16 e B = 6

C = A MOD B;
O valor de C será 4

Determinar os resultados que serão impressos no algoritmo abaixo;


inicio




inteiro: número, D1, D2, D3, D4;

número  2531 ;


D4 número MOD 10 ;

D3 (número DIV 10) MOD 10 ;

D2 (número DIV 100) MOD 10;

D1 (número DIV 1000) MOD 10;

imprima ( D4, D3, D2, D1 );
fim
Considerando o resultado impresso diga para que serve o algoritmo ?



  1. Quais os resultados produzidos pelo algoritmo abaixo ?


inicio




lógico: x ;

inteiro: y ;

y 0 ; x falso ;

enquanto: y 6 faça

x não x ;

y  y + 1;



Se x então imprima ( y) ;

senão imprima ( - y);

fim se;

fim enquanto ;

fim


  1. O que está errado no algoritmo abaixo ?


inicio
inteiro: N, PAR, x ;

leia : (N) ;

x N MOD 2 ;

Se x = 0 então PAR verdadeiro ;

senão PAR falso ;

fim se;

fim


  1. O que será impresso depois de executado o algoritmo abaixo, para cada uma das situações abaixo:


a) NUM = 10 b) NUM = c) NUM = - 4 ?

inicio




caracter: QUAL;

inteiro: NUM ;

leia (NUM) ; { um dos valores acima }

Se NUM > então QUAL “ NÚMERO POSITIVO “ ;

senão se NUM < então

QUAL  “ NÚMERO NEGATIVO “ ;

senão

QUAL  “ ZERO “ ;



fim se;
fim se
imprima (QUAL) ;
fim



  1. Construir um algoritmo para fazer a soma de vários números inteiros e positivos, lidos de um arquivo, um em cada registro. O último registro tem o valor – 1 e não deve ser considerado :




  1. Construir um algoritmo para calcular a média de um conjunto de valores inteiros e positivos, lidos de um arquivo, um em cada registro. O último registro tem o valor -1 e não deve ser considerado :



  1. Construir um algoritmo para calcular as raízes de uma equação do 2º grau, sendo que os valores dos coeficientes A, B e C serão lidos de um arquivo, num só registro:




  1. Sendo H = 1 + 1 + 1 + 1 + . .. + 1 , fazer um algoritmo para gerar o número H.

2 3 4 N

O número N é lido de um arquivo, em um só registro:




  1. Calcular o imposto de renda de um grupo de contribuintes considerando:




  1. Os dados de cada contribuinte; número do CPF; número de dependentes e renda anual, serão lidos de um arquivo, cada contribuinte representando um registro desse arquivo.

  2. Para cada contribuinte será feito um desconto de R$ 200,00 por dependente.

  3. Os valores das alíquotas para o cálculo são:




Renda líquida

Alíquota

Até R$ 3.000,00

Isento

De R$ 3.000,01 até R$ 5.000,00

5%

De R$ 5.000,01 até R$ 10.000.00

10 %

Acima de R$ 10.000,00

15 %




  1. O último registro, que não será considerado, terá o n.º do CPF igual a zeros.




  1. Escreva um algoritmo para um programa que leia um conjunto de 50 registros contendo, cada um, a altura e o código do sexo de uma pessoa ( código = 1 ser for masculino e 2 se for feminino). Calcule e imprima:




  • A maior e a menor altura da turma

  • A média de altura das mulheres

  • A média de altura da turma



  1. Escreva um algoritmo para um programa que: Leia 100 registros, onde cada registro contém o n.º de matrícula e a nota de cada aluno.

Determine e imprima as duas maiores notas juntamente com o n.º de matrícula do aluno que obteve cada uma delas.

Obs.: suponha que não exista dois ou mais alunos com a mesma nota.




  1. Qual o valor produzido por cada uma das sentenças abaixo, considerando:

A = 127, B = 10 , C = 5 , D = falso, E = verdadeiro





  1. Não D

  2. D e E

  3. ( A > B ) ou ( B < C)

  4. Não ( A < B )

  5. ( D e E) ou ( A = B )

  6. ( D ou E ) e ( A < B )

  7. A + B < C e D ou E e não D

  8. A + B * C / B = 3 e não ( A = B)



  1. Passe o algoritmo abaixo para o PORTUGOL e para o fluxograma tradicional:

Leia A, B, C








M = 0









IMPRIMA
“SIM”








B = B + C



C = C + B
M = 1




B = B + 2

C = C - 2

IMPRMA “ M = “, M

DICAS PARA DESENVOLVIMENTO DE ALGORITMOS





  1. Ler cuidadosamente as especificações do problema, até o final (fazer anotações );



  1. Repetir a leitura e as anotações quantas vezes forem necessárias;



  1. Levantar e analisar todas as saídas exigidas pela especificação do problema (impressões);



  1. Levantar e analisar todas as entradas exigidas pela especificação do problema (leituras );



  1. Verificar se é necessário gerar valores internamente ao algoritmo e levantar as variáveis necessárias e os valores iniciais de cada uma;



  1. Levantar e analisar todas as transformações necessárias para: dada as entradas e valores gerados internamento, produzir as saídas especificadas;



  1. Testar cada passo do algoritmo, verificando se as transformações intermediárias executadas estão conduzindo aos objetivos desejados. Utilizar sempre que possível, valores de teste que permitam prever os resultados a priori;



  1. Fazer uma reavaliação geral, elaborando o algoritmo através da integração das partes.

RESPOSTAS DOS EXERCÍCIOS

Respostas dos exercícios 1 ao 16

1.


  1. C1;

  2. C3; C4; C5

  3. B1 = falso, B2 = falso, B3 = falso ou verdadeiro

  4. C2 ; C5

2.

L = 


3.


R

VOLUME





2

33,51

4

268,08

6

904,78

4.


D4 = 1, D3 = 3 , D2 = 5, D1 = 2

Resultado impresso: 1352

Este algoritmo serve para (isolar dígitos de um número) imprimir números invertidos.

Exemplo de aplicação:

Cálculo de dígito verificador.

5.


1

-2

3



-4

5

-6




  1. A variável PAR sendo definida como uma variável do tipo inteira não deve receber um valor lógico (verdadeiro/falso).

7.


  1. Número positivo

  2. Zero

  3. Número negativo

8.


(PORTUGOL)
inicio { acumular uma série de n.º inteiros positivos lidos }




Inteiro: SOMA ; { onde será acumulado o somatório }

NUM; { recebe o número lido do registro }

Leia (NUM) ;
enquanto NUM -1 faça


SOMA  SOMA + NUM


Leia (NUM)

fim enquanto;
imprima ( “ SOMA = “ SOMA )
fim

(CHAPIN)

SOMA  


NUM  

LEIA NUM

NUM -1


SOMA  SOMA + NUM

LEIA NUM

IMPRIMA “SOMA = “SOMA

(TRADICIONAL)






































9.
( PORTUGOL )


inicio




Inteiro: SOMA ; NUM; QUANT;

Real : MÉDIA

Leia (NUM) ;
enquanto NUM -1 faça

SOMA  SOMA + NUM ;

QUANT  QUANT + 1 ;



Leia (NUM) ;


fim enquanto;
MÉDIA  SOMA / QUANT ;

Imprima ( “ MÉDIA = “ MÉDIA ) ;
fim
(CHAPIN)



SOMA  ; NUM ; QUANT




MÉDIA




Leia NUM




NUM  - 1

(Enquanto)




SOMA SOMA + NUM







QUANT QUANT + 1







Leia NUM




MÉDIA  SOMA / QUANT




Imprima “MÉDIA = “ MEDIA





SOMA  


NUM  

QUANT  

MEDIA  












10.



A   ; B  ; C  ; DELTA  

x1   ; x2  

Leia A, B, C

DELTA  ( B ** 2 – 4 * A * C )




DELTA < 

V

F

IMPRIMA

x1  (-B + DELTA ** (1/2))) / (2 * A)

“ RAIZ DE N.º

x2  (-B- (DELTA ** (1/2))) / (2 * A)

NEGATIVO “

Imprima “ x1 = “ x1; “ x2 = “ x2

11.
SOLUÇÃO 1 SOLUÇÃO 2



H ; N




H  1 ; N   ; x  2

Leia N




Leia N

N > 




x  N




H H + ( 1/ N )







H H + ( 1/ x )




N N -1







x x + 1

Imprima “ H = “ H




Imprima “ H = “ H

12.



CPF – N.º CPF

ND – N.º DEPENDENTES

RA – RENDA ANUAL

RL – RENDA LIQUIDA

ALIQ – ALIQUOTA A SER APLICADA NO CÁLCULO DO IMPOSTO DE RENDA

IR – IMPOSTO DE RENDA





CPF, ND, RA, RL  

ALIQ  


IR  

RL  RA –

(ND * 200,00)



ALIQ  

ALIQ  0,05

ALIQ  0,10

ALIQ  0,15

IR  RL * ALIQ

12.



OBS: SOLUÇÃO SEM USAR OS COMANDOS DA ESTRUTURAÇÃO



CPF, ND, RA, RL  

ALIQ  


IR  

RL  RA –

(ND * 200,00)



ALIQ  

ALIQ  0,05

ALIQ  0,10

IR  RL * ALIQ

ALIQ  0,15

13.


MAIOR = 

MENOR = 9,0

SALT = 

SALTF= 


NT = 0

NF = 0


SALT = SALT + ALT

SALTF = SALTF + ALT

NF = NF + 1

MAIOR  ALT

MENOR  ALT 0,05

NT = NT + 1

14.



MA1 = 

MA2 = 

LER N

NOT EOF




N > MA1


V F



MA2  MA1



N > MA2


V F




MA1  N

MA2  N

-




LER N

Imprimir MA1, MA2

15.


a) V

e) F

b) F

f) F

c) V

g) V

d) V

h) F

16.
Inteiro: A, B, C, M ;



Ler ( A, B, C ) ;

Se ( NÃO ( A < (B + C ))) ;

Então M

Imprime “ SIM “

Senão

Se ( A > B )

Então

Enquanto ( A > ( B – C )) faça

Se ( B < C )

Então

B  B + C



Senão

C  C + C

M  M + 1

fim se

B  B + 2

C  C – 2

Fim enquanto

Fim se

Fim se
Imprima “ M = “ , M


16.

A=

B=



C=

M = 


B = B + C

M = 

C = C + B

M  1

B = B + 2

C = C + 2






Celepar - GSO - Disop – Pedro Colodi – colodi@pr.gov.br - - 10/03/19b–- jmb



1   2


©aneste.org 2017
enviar mensagem

    Página principal