Você está na página 1de 18

1

papersDisciplina: TCC-03.063 Prog. de Computadores III Turma: E-1Data: ___/___/______


Professor: Leandro Augusto Frata Fernandes

Lista de Exerccios 1
Aula 10

1. Escreva um algoritmo (pseudocdigo) que coloque os nmeros de 1 a 100 na tela na
ordem inversa (comeando em 100 e terminando em 1).
variveis
inteiro: Numer o

incio
para Numer o 100 at 1 passo - 1 repetir 1
Mostrar Numer o 2
fim para 3
fim



2. Faca um algoritmo (pseudocdigo) que apresente na tela a tabela de converso de
graus Celsius para Fahrenheit, de -100 C a 100 C. Use um incremento de 10 C.
Observao: Fahrenheit =(9 / 5) Celsius +32.
variveis
real: C, F

incio
para C - 100 at 100 passo 10 repetir 1
F ( 9. 0 / 5. 0) * C + 32. 0 2
Mostrar C, Cel si us - > , F, Fahr enhei t 3
fim para 4
fim
2

3. Faa um algoritmo (pseudocdigo) para listar todos os mltiplos positivos do nmero 7


menores ou iguais a 100.
Soluo 1
variveis
inteiro: N

incio
para N 7 at 100 passo 7 repetir 1
Mostrar N 2
fim para 3
fim
Soluo 2
variveis
inteiro: N

incio
para N 1 at 100 repetir 1
se Mod( N, 7 ) = 0 ento 2
Mostrar N 3
fim se 4
fim para 5
fim

3

4. Sendo h =1 +1/2 +1/3 +1/4 +... +1/N, construa um algoritmo (pseudocdigo) para
calcular o nmero h, sendo o nmero inteiro N fornecido pelo usurio. Seu algoritmo
deve garantir que apenas um valor maior do que zero seja aceito como entrada.
variveis
real: h
inteiro: N, At ual

incio
repetir 1
Ler N 2
enquanto N <= 0 3

h 1. 0 4
para At ual 2 at N repetir 5
h h + 1. 0 / At ual 6
fim para 7

Mostrar h 8
fim

4

5. Elabore um algoritmo (pseudocdigo) que calcule N! (fatorial de N), sendo que o valor
de N fornecido pelo usurio. Lembre que N sempre um valor inteiro e no negativo.
Logo, seu algoritmo deve evitar que valores negativos sejam aceitos como entrada.
Lembre tambm que N! =1 2 3 ... (N-1) N, e que 0! =1 por definio.
variveis
inteiro: Fat or i al , N, At ual

incio
repetir 1
Ler N 2
enquanto N < 0 3

Fat or i al 1 4
para At ual 2 at N repetir 5
Fat or i al Fat or i al * At ual 6
fim para 7

Mostrar Fat or i al 8
fim

5

6. Faa um algoritmo (pseudocdigo e fluxograma) que, a partir de um valor informado


em centavos, indique a menor quantidade de moedas que representa esse valor.
Considere moedas de 1, 5, 10, 25 e 50 centavos, e 1 real.
Exemplo: para o valor 290 centavos, a menor quantidade de moedas 2 moedas de 1
real, 1 moeda de 50 centavos, 1 moeda de 25 centavos, 1 moeda de 10 centavos e 1
moeda de 5 centavos.
variveis
inteiro: Val or , NMoedas

incio
repetir 1
Ler Val or 2
enquanto Val or < 0 3

se Val or <> 0 ento 4

NMoedas Val or / 100 5
se NMoedas > 0 ento 6
Mostrar NMoedas, moeda( s) de 1 Real 7
Val or Val or ( NMoedas * 100) 8
fim se 9

NMoedas Val or / 50 10
se NMoedas > 0 ento 11
Mostrar NMoedas, moeda( s) de 50 cent avos 12
Val or Val or ( NMoedas * 50) 13
fim se 14

NMoedas Val or / 25 15
se NMoedas > 0 ento 16
Mostrar NMoedas, moeda( s) de 25 cent avos 17
Val or Val or ( NMoedas * 25) 18
fim se 19

NMoedas Val or / 10 20
se NMoedas > 0 ento 21
Mostrar NMoedas, moeda( s) de 10 cent avos 22
Val or Val or ( NMoedas * 10) 23
fim se 24
Observao
Lembrequeemprogramasdecomputadora
divisoenvolvendodoisnmero
inteirosretornaaparteinteiradoresultadodadiviso.
Issotambmvaleparaalgoritmos.
6


NMoedas Val or / 5 25
se NMoedas > 0 ento 26
Mostrar NMoedas, moeda( s) de 5 cent avos 27
Val or Val or ( NMoedas * 5) 28
fim se 29

se Val or > 0 ento 30
Mostrar Val or , moeda( s) de 1 cent avo 31
fim se 32

se no 33
Mostrar Nenhuma moeda necessr i a 34
fim se 35
fim


Falso
Incio
Valor Valor<0
Fim
Verdadeiro
NMoedasValor/100 Nenhumamoeda
necessria
NMoedas,moeda(s)
de1Real
Valor<>0
Falso
Verdadeiro
NMoedas>0
Verdadeiro
ValorValor(NMoedas*100) NMoedasValor/50
NMoedas,moeda(s)
de50centavos
NMoedas>0
ValorValor(NMoedas*50)
Falso
Verdadeiro
Falso
2
1
7




NMoedasValor/25
NMoedas,moeda(s)
de25centavos
NMoedas>0
ValorValor(NMoedas*25)
Verdadeiro
Falso
1
NMoedasValor/10
NMoedas,moeda(s)
de10centavos
NMoedas> 0
ValorValor(NMoedas*10) NMoedasValor/5
NMoedas,moeda(s)
de5centavos
NMoedas>0
ValorValor(NMoedas*5)
Verdadeiro
Falso
Verdadeiro
Valor,moeda(s)
de1centavos
Valor>0
Falso
2
8

7. J oo tem 1,50 metros e cresce 2 centmetros por ano, enquanto Maria tem 1,10 metros
e cresce tem 3 centmetros por ano. Construa um algoritmo (pseudocdigo e
fluxograma) que calcule e imprima quantos anos sero necessrios para que Maria
seja maior que J oo.
Observao: a soluo abaixo no utiliza manipulao algbrica, que, na prtica,
mais simples, porm no treina o uso de estruturas de repetio.

variveis
inteiro: N
real: J oao, Mar i a

incio
N 0 1
J oao 150 2
Mar i a 110 3

enquanto Mar i a <= J oao repetir 4
N N + 1 5
J oao J oao + 2 6
Mar i a Mar i a + 3 7
fim enquanto 8

Mostrar So necessr i os , N, anos. 9
fim


Incio
Fim
Falso
N0
Joao150 Maria110 Maria<=Joao
NN+1
JoaoJoao+2
MariaMaria+3
Verdadeiro
Sonecessrios,
N,anos.
9

8. Faa um algoritmo (pseudocdigo e fluxograma) que pergunte ao usurio quantos


nmeros deseja somar. Em seguida, leia a quantidade informada de nmeros e
apresentar o valor da soma, quantos nmeros so maiores que 7 e quantos nmeros
so maiores que 9.
variveis
real: At ual , Soma
inteiro: i , Qt d, Qt dMai or 7, Qt dMai or 9

incio
Soma 0 1
Qt dMai or 7 0 2
Qt dMai or 9 0 3

Ler Qt d 4

i 1 5
enquanto i <= Qt d repetir 6
Ler At ual 7

Soma Soma + At ual 8

se At ual > 7 ento 9
Qt dMai or 7 Qt dMai or 7 + 1 10
se At ual > 9 ento 11
Qt dMai or 9 Qt dMai or 9 + 1 12
fim se 13
fim se 14

i i + 1 15
fim enquanto 16

Mostrar A soma , Soma 17
Mostrar Qt dMai or 7, nmer os so mai or es que 7 18
Mostrar Qt dMai or 9, nmer os so mai or es que 9 19
fim

10



Incio
Fim
Falso
Soma0
QtdMaior70
QtdMaior90
i<=Qtd
Verdadeiro
Asoma,Soma
Qtd
i1
Atual
QtdMaior7,nmeros
somaioresque7
QtdMaior9,nmeros
somaioresque9
SomaSoma+Atual
Atual>7
QtdMaior7QtdMaior7+1
Atual>9
QtdMaior9QtdMaior9+1
Verdadeiro
Verdadeiro
Falso
Falso
ii+1
11

9. Faa um algoritmo (pseudocdigo e fluxograma) que l o nome de um produto, o preo


e a quantidade comprada. Escreva o nome do produto comprado e o valor total a ser
pago, considerando que so oferecidos descontos pelo nmero de unidades
compradas, segundo a tabela abaixo:
a) At 10 unidades: valor total
b) De 11 a 20 unidades: 10% de desconto
c) De 21 a 50 unidades: 20% de desconto
d) Acima de 50 unidades: 25% de desconto
variveis
caractere: Nome
real: Pr eco, Desc, Tot al
inteiro: Qt d

incio
Ler Nome 1
Ler Pr eco 2
Ler Qt d 3

se Qt d <= 10 ento 4
Desc 0. 0 5
se no 6
se Qt d <= 20 ento 7
Desc Pr eco * 0. 10 8
se no 9
se Qt d <= 50 ento 10
Desc Pr eco * 0. 20 11
se no 12
Desc Pr eco * 0. 25 13
fim se 14
fim se 15
fim se 16

Tot al Qt d * ( Pr eco Desc) 17

Mostrar Nome, : , Tot al 18
fim

12



Incio
Fim
Falso
Qtd<=10
Verdadeiro
Nome,:,Total
TotalQtd*(PrecoDesc)
DescPreco*0.10
Nome Preco Qtd
Qtd<=50
Qtd<=20
Desc0.0
DescPreco*0.20
Verdadeiro
Verdadeiro
DescPreco*0.25
Falso
Falso
13

10. Construa um algoritmo (pseudocdigo e fluxograma) para determinar e mostrar o


nmero de dgitos de um nmero inteiro informado.
Soluo 1

variveis
inteiro: Num, Qt d

incio
Ler Num 1

Qt d 1 2
enquanto Abs( Num) >= 10 repetir 3
Num Num/ 10 4
Qt d Qt d + 1 5
fim enquanto 6

Mostrar Qt d, d gi t o( s) 7
fim



Incio
Fim
Qtd,dgito(s)
Num
Falso
Qtd1 Abs(Num)>=10
NumNum/10
QtdQtd+1
Verdadeiro
14

Soluo 2

variveis
inteiro: Num, Qt d

incio
Ler Num 1

se Num<> 0 ento 2
Qt d Fl oor ( Log10( Abs( Num) ) ) + 1 3
se no 4
Qt d 1 5
fim se 6

Mostrar Qt d, d gi t o( s) 7
fim




Incio
Fim
Qtd,dgito(s)
Num
Falso
Num<>0
QtdFloor(Log10(Abs(Num)))+1
Verdadeiro
Qtd1
15

11. Considere os algoritmos abaixo. Eles lem um cdigo repetidamente e imprimem o


cdigo lido at que o cdigo lido seja igual a -1. O cdigo -1 no deve ser impresso.
Responda:
a) Qual das duas solues a correta?
A primeira soluo.
b) Como a soluo incorreta poderia ser corrigida?
Testando o cdigo lido com uma estrutura SE ... ENTO ... FIM SE e executando
o comando Most r ar cdi go apenas se codi go <> - 1.
Pseudocdigo A
variveis
i nt ei r o: codi go

incio
Ler codi go

enquanto codi go <> - 1 repetir
Mostrar codi go
Ler codi go
fim enquanto
fim
Pseudocdigo B
variveis
inteiro: codi go
lgico: r epet e

incio
r epet e Ver dadei r o

enquanto r epet e repetir
Ler codi go
Mostrar codi go

r epet e codi go <> - 1
fim enquanto
fim

16

12. Faa um algoritmo (pseudocdigo e fluxograma) que calcula a srie de Fibonacci para
um nmero informado pelo usurio. A srie de Fibonacci inicia com os nmeros 1 e 1,
e cada nmero posterior equivale soma dos dois nmeros anteriores.
Exemplo: caso o nmero 9 seja informado, o resultado ser 1, 1, 2, 3, 5, 8, 13, 21, 34.

variveis
inteiro: i , N, At ual , Pr oxi mo, NovaSoma

incio
repetir 1
Ler N 2
enquanto N < 2 3

Mostrar 1 4
Mostrar 1 5

At ual 1 6
Pr oxi mo 2 7
para i 3 at N repetir 8
Mostrar Pr oxi mo 9
NovaSoma At ual + Pr oxi mo 10
At ual Pr oxi mo 11
Pr oxi mo NovaSoma 12
fim para 13
fim

17



Falso
Incio
N N<2
Fim
Verdadeiro
Atual1 1
i<=N
1
Proximo2
i3
Proximo
Verdadeiro
NovaSomaAtual+Proximo
AtualProximo
ProximoNovaSoma ii+1
Falso
18

13. Determine a sada do seguinte algoritmo:


variveis
inteiro: a, b, c

incio
para a 2 at 8 passo 2 repetir
para b a at 2 repetir
para c 1 at a passo b repetir
Mostrar a, b, c
fim para
fim para
fim para
fim

A sada 2 2 1. Note que o comando Most r ar a, b, c s executado uma vez.

Você também pode gostar