Física | Análise de Circuitos | Lógica de Programação | Tecnologia da Informação | Sobre o blog

Mostrando postagens com marcador Lista de Exercícios ALG2. Mostrar todas as postagens
Mostrando postagens com marcador Lista de Exercícios ALG2. Mostrar todas as postagens

terça-feira, 7 de setembro de 2010

L2 - 21 - A comissão de formatura de um curso está organizando a festa de formatura de sua turma e levantou as seguintes informações:

1. custo do salão (capacidade de 800 pessoas com mesas de 4 pessoas) R$ 2000.00
2. custo da sonorização: R$ 500,00
3. custo da decoração: R$ 800,00
Além desses custos, que serão rateados igualmente entre os formandos, há custos cuja divisão é proporcional ao número de convidados do formando. São eles:
1. segurança: necessário um segurança para cada 80 pessoas da festa;
2. garçom: um garçom consegue atender 48 pessoas (ou 12 mesas de 4 pessoas); e
3. bebida.
Escreva um algoritmo que leia o nome de cada um dos cinco formandos com seus respectivos números de convidados. Ele também deve ler os custos de um segurança, de um garçom e da bebida. O algoritmo deve calcular e escrever, para cada formando o número de mesas desitnadas para seus convidados e o custo da festa para eles. As mesas poderão ser compartilhadas entre convidados de diferentes formandos.


Algoritmo "Gestor de contas financeiras para formatura"
// Autor: Guilherme Paulino
//Data: 10/09/10
Var
  x: inteiro
  custot: real
  nomefor: vetor [1..5] de literal
  numconv: vetor [1..5] de inteiro
  custofor: vetor [1..5] de real
  totalconv: inteiro
  bebida, cseg, segp, cgarcon, garp: real
Inicio
 //capacidade salao 800 pessoas
  custot <- ( 2000 + 500 + 800 )/5
  totalconv <- 0
  Para x de 1 ate 5 faca
    nomefor[x] <- ""
    numconv[x] <- 0
    custofor[x] <- 0
  Fimpara
  Escreval("Informe o nome dos formandos:")
  Para x de 1 ate 5 faca
    Leia(nomefor[x])
  Fimpara
  Limpatela
  Escreval("Informe a quantidade de convidados")
  Para x de 1 ate 5 faca
    Escreva(nomefor[x],": ")
    Leia(numconv[x])
    totalconv <- totalconv + numconv[x]
  Fimpara
  Se(totalconv > 800)entao
    Escreva("O salao nao suporta mais de 800 convidados!")
  Senao
    Escreva("Qual o custo da bebida por pessoa? R$")
    Leia(bebida)
    Escreva("Qual o custo de um seguranca? R$")
    Leia(cseg)
    Escreva("Qual o custo de um garcon? R$")
    Leia(cgarcon)
    Limpatela
    Escreval("- pelo salao    R$ 2000")
    Escreval("- sonorizacao R$ 500")
    Escreval("- decoracao    R$ 800")
    Escreval("O custo por formando sera:")
    Para x de 1 ate 5 faca
      segp <- numconv[x] div 80
      garp <- numconv[x] div 48
      custofor[x] <- custot + (numconv[x] * bebida) + ( cseg * segp ) + ( cgarcon * garp )
      Escreval(nomefor[x]," tera um gasto de R$",custofor[x]:5:2)
    Fimpara
  Fimse
Fimalgoritmo
Verificado pelo VisuAlg



L2 - 20 - Escreva um algoritmo que leia o nome, o valor da hora e o número de horas trabalhadas por um empregado. O algoritmo deve escrever o nome e o salário liquido do empregado calculado conforme as seguintes regras:


1. o salário bruto mensal é o produto das horas trabalhadas pelo valor das horas.
2. sobre o salário bruto mensal é aplicado um desconto de 9% referente ao INSS e 8% de FGTS; e
3. o salário liquido é o salário bruto mensal menos os encargos.
Algoritmo "Calcula o salario liquido de um empregado"

 //Autor: Guilherme Paulino
 //Data: 07/09/2010
Var
  nome: literal
  valorhora, numhr, salbruto, valorliq: numerico
Inicio
  Escreva("Informe o nome do empregado: ")
  Leia(nome)
  Escreva("Informe o numero de horas trabalhadas: ")
  Leia(numhr)
  Escreva("Informe o valor pago por hora: ")
  Leia(valorhora)
  salbruto <- numhr * valorhora
  valorliq <- salbruto - (salbruto * 0.09)
  valorliq <- valorliq - (salbruto * 0.08)
  Escreval("O salario liquido do funcionario ",nome,”,”)
  Escreva("corresponde a R$",valorliq:5:2,”.”)
Fimalgoritmo

L2 - 19 - O custo final de um carro é a soma do custo de fábrica com o percentual de revenda mais impostos, ambos aplicados ao custo de fábrica. Escreva um algoritmo que leia o nome do modelo de um carro, seu custo de fábrica e os percentuais de revenda e de impostos e escreva o custo ao consumidor do carro.

Algoritmo "Calcula o custo ao consumidor do carro"
 //Autor: Guilherme Paulino
 //Data: 07/09/2010
Var
  custofinal, custofab, percrv, impostos: real
  modelo: literal
Inicio
  Escreva("Informe o modelo do carro: ")  
  Leia(modelo)
  Escreva("Informe o custo de fabrica: ")
  Leia(custofab)
  Escreva("Informe o percentual de revenda: ")
  Leia(percrv)
  percrv <- percrv / 100
  Escreva("Informe a porcentagem de impostos: ")
  Leia(impostos)
  impostos <- impostos / 100
  custofinal <- custofab + (custofab * percrv)
  custofinal <- custofinal + (custofinal * impostos)
  Escreva("O custo final do modelo ",modelo,” sera de R$”,custofinal:5:2,” ao consumidor.”)
Fimalgoritmo

L2 - 18 - Uma revenda de carros paga a seus vendedores um salário de X reais por mês, acrescido de uma comissão de y reais para cada carro vendido e 4% do valor total de vendas. Escreva um algoritmo que leia o nome do vendedor, seu salário, número de carros que ele vendeu no mês e o valor total de suas vendas. O algoritmo deve escrever o nome e o salário final do vendedor.

Algoritmo "Computa o salario final de um vendedor"
 //Autor: Guilherme Paulino
 //Data: 07/09/2010
Var
  salario, comissao, carv, totalvendas, acressimov, salariofinal: real
  nome: literal
Inicio
  Escreva("Informe o nome do vendedor: ")
  Leia(nome)
  Escreva("Informe o salario do vendedor: ")
  Leia(salario)
  Escreva("Informe a comissao paga por carro vendido: ")
  Leia(comissao)
  Escreva("Informe quantos carros foram vendidos: ")
  Leia(carv)
  Escreva("Informe o valor total de vendas: ")
  Leia(totalvendas)
  acressimov <- totalvendas * 0.04
  salariofinal <- salario + (comissao * carv) + acressimov
  Escreva("O vendedor ",nome,” obteve um salario final de R$”,salariofinal:5:2)
Fimalgoritmo

L2 - 17 - Faça um algoritmo que leia o dia do mês ( valor de 1 a 31), e o dia da semana correspondente (1 a 7). O algoritmo deve calcular e escrever o dia da semana (1 a 7) correspondente ao primeiro dia do mês.



Algoritmo "Informa o dia da semana do primeiro dia do mes"
 //Autor: Guilherme Paulino
 //Data: 02/09/2010
Var
  x,dia, dias: inteiro
Inicio
  Escreval("|1 - 31|")
  Escreva("Informe o dia do mes: ")
  Leia(dia)
  Escreval("| 1 <- Dom, 2 <- Seg, 3 <- Ter, etc.. |")
  Escreva("Informe o dia da semana: ")
  Leia(dias)
para x de 1 ate dia faca
     se( dias > 1 )entao
        dias <- dias - 1
     senao
        dias <- 7
        //abaixo de domingo, volta para o sabado
     fimse
  fimpara
  se( dias < 7 )entao
      dias <- dias + 1
  senao
      dias <- 1
  fimse
  Escreva("O primeiro dia do mes, foi dia ",dias," da semana.")
Fimalgoritmo
Verificado pelo VisuAlg

L2 - 16 - Escreva um algoritmo que leia um valor composto apenas de 0’s e 1’s representando um número na base binária

Escreva um algoritmo que leia um valor composto apenas de 0’s e 1’s representando um número na base binária (com até 6 dígitos ou bits). O algoritmo deve escrever esse mesmo número na base decimal. A conversão de binário para decimal é feita somando –se os produtos de cada digito do número binário, por seu peso, sendo que o digito mais à direita tem peso 1 (2°), o seguinte tem peso 2 (2¹), 4 (2²), 8 (2³), etc. Por exemplo 110101 é 53 .
(1x32 + 1x 16 + 0x8 + 1x4 + 0x 2 + 1x1 = 32 + 16 + 0 + 4 + 0 + 1 = 53)

Algoritmo "Converte binarios em decimais"
 //Autor: Guilherme Paulino
 //Data: 02/09/2010
Var
  d1,d2,d3,d4,d5,d6, dec: inteiro
Inicio
  Escreva("Informe o numero binario: ")
  Leia(d1,d2,d3,d4,d5,d6)
  dec <- (d6*1)+(d5*2)+(d4*4)+(d3*8)+(d2*16)+(d1*32)
  Escreva("Corresponde ao decimal: ",dec)
Fimalgoritmo

L2 - 15 - Escreva um algoritmo que leia o valor do raio e calcule a área do circulo correspondente.

Algoritmo "Calcula a area de uma circunferencia"
//Autor: Guilherme Paulino
 //Data: 02/09/2010
Var 
  area, raio: numerico
Inicio
  Escreva("Informe o valor do raio da circunferencia: ")
  Leia(raio)
  area <- pi * (raio)^2
  // formula da area de uma circunferencia neste link.
  // pi e uma palavra reservada, cujo valor e reconhecido pelo VisuAlg
  Escreva("A area do circulo correspondente e ",area:5:2)
Fimalgoritmo

sexta-feira, 3 de setembro de 2010

L2 - 14 - Escreva um algoritmo que calcule a quantidade de latas de tinta, descrito abaixo.

Escreva um algoritmo que calcule a quantidade de latas de tinta necessárias e o custo para pintar tanques cilíndricos de combustível, onde são fornecidos a altura (h ) e o raio ( r ) desse cilindro. Sabe-se que a lata de tinta anticorrosiva custa R$ 40.00, cada lata contem 5 litros e cada litro pinta 3 metros quadrados na média. Para que fique bem coberto de tinta, há necessidade de 2 demãos.



Algoritmo "Calcula a quantidade de latas necessarias"
 //Autor: Guilherme Paulino
 //Data: 02/09/2010
Var
  h, r, mq, qt, qtdl, lts, preco, precot: numerico
Inicio
  Escreva("Informe a altura de cada tanque: ")
  Leia(h)
  Escreva("Informe o raio de cada tanque: ")
  Leia(r)
  Escreva("Informe a quantidade de tanques a serem pintados: ")
  Leia(qt)
  mq <- (2*3.14*r*h) + (2*3.14*r^2)
  qtdl <- ( mq /3 ) * 2
  lts <- ( qtdl / 5)
  preco <- ( lts * 40 )
  precot <- preco * qt
  Escreval("A quantidade de tinta necessaria sera de ",qtdl:5:2," litro(s).")
  Escreval("Sendo necessarias ",lts:5:2," lata(s) de tinta.")
  Escreval("E o custo por tanque será de R$ ",preco:5:2)
  Escreval("multiplicado por ", qt:5:2," tanque(s), custara R$ ",precot:5:2)
Fimalgoritmo

quinta-feira, 2 de setembro de 2010

L2 - 13 - Escreva um algoritmo que calcule e escreva o valor de um termo an qualquer de uma progressão geométrica dada por:

Escreva um algoritmo que calcule e escreva o valor de um termo an qualquer de uma progressão geométrica dada por:
an = a1 x qn-1





onde a1, é o primeiro termo da série, an, é o enésimo termo, q é a razão e n é o numero de termos. 
Os valores de a1, q e n serão fornecidos pelo usuário.


Algoritmo "Calcula o valor de uma progressao geometrica"
 //Autor: Guilherme Paulino
 //Data: 02/09/2010
Var
  a1, an, q, n: numerico
Inicio
  Escreva("Informe o primeiro termo da serie: ")
  Leia(a1)
  Escreva("Informe a razao: ")
  Leia(q)
  Escreva("Informe o numero de termos: ")
  Leia(n)
  an <- a1 * q^(n-1)
  Escreva("O enésimo termo da progressao geometrica eh ", an)
Fimalgoritmo

segunda-feira, 30 de agosto de 2010

L2 - 12 - Escreva um algoritmo que calcule e escreva a soma Sn dos n primeiros termos de uma progressão aritmética dada pela formula:

Escreva um algoritmo que calcule e escreva a soma Sn dos n primeiros termos de uma progressão
aritmética dada pela formula:

onde a1, é o primeiro termo da progressão, an, é o ultimo e n é o numero de termos, tal que:

Os valores de a1, an e r (a razão da progressão) serão fornecidas pelo usuário.

Algoritmo "calcula os primeiros termos de uma progressao aritmetica"
//Autor: Guilherme Paulino
//Data: 30/08/2010
Var
  a1,an, n, s, r: numerico
Inicio
  Escreva("Informe o primeiro termo da progressao aritmetica: ")
  Leia(a1)
  Escreva("Informe o ultimo termo da progressao: ")
  Leia(an)
  Escreva("Informe o valor da razao da progressao: ")
  Leia(r)
  n <- ( ( an - a1 )/r ) + 1
  s <- ( ( a1 + an )/2 ) * n
  Escreva("A soma dos primeiros termos da progressao aritmetica fornecida resulta em ", s)
Fimalgoritmo

L2 - 11 - Descrição abaixo.

Em uma pizzaria, cada tulipa de chope custa R$ 2,80 e, uma pizza mista grande custa R$ 20.00 mais
R$ 1.50 por tipo de cobertura pedida (queijo, presunto, banana, etc.). Uma turma vai à pizzaria e
pede uma determinada quantidade de chopes e pizzas grandes com uma determinada quantidade
de coberturas. Escreva um algoritmo que calcula a conta e, sabendo quantas pessoas estão à mesa,
quanto cada uma deve pagar (não esqueça os 10% do garçom).

Algoritmo "Calcula a conta dos clientes"
//Autor: Guilherme Paulino
//Data: 30/08/2010
Var
  tulipas, pizzas, coberturas, pmesa: inteiro
  conta, pindiv, garcon: real
Inicio
  Escreva("Informe quantas tulipas de chopp foram consumidas (R$ 2,80 cada): ")
  Leia(tulipas)
  Escreva("Informe a quantidade de pizzas mista grande que foram cosumidas (R$ 20,00 cada): ")
  Leia(pizzas)
  Escreva("Informe quantas coberturas foram pedidas (R$ 1,50 cada): ")
  Leia(coberturas)
  conta <- (tulipas * 2.8) + (pizzas * 20) + (coberturas * 1.5)
  garcon <- conta * 0.1
  Escreva("A conta ficou em R$ ", conta:5:2, ", mais o valor de 10% do garçon, R$ ", garcon, ". Informe quantas pessoas irão pagar as contas: ")
  Leia(pmesa)
  pindiv <- conta/pmesa
  Escreva("A conta dividida em ", pmesa, " clientes, fica em R$ ", pindiv:5:2, " por pessoa.")
Fimalgoritmo

L2 - 10 - Escreva um algoritmo que leia o nome de um piloto, uma distância percorrida em quilômetros e o tempo que o piloto levou para percorrê-la (em minutos). O algoritmo deve calcular a velocidade em km/h, e exibir a seguinte frase:

Algoritmo "Velocidade média do Piloto"
//Autor: Guilherme Paulino
//Data: 30/08/2010
Var
  nomepiloto: literal
  distanciap: real
  tempop: real
  kmh: real
Inicio
  Escreva("Informe o nome do piloto: ")
  Leia(nomepiloto)
  Escreva("Digite a distancia percorrida, em quilometros: ")
  Leia(distanciap)
  Escreva("Digite o tempo que o piloto levou para percorrer, em minutos: ")
  Leia(tempop)
  kmh <- distanciap/(tempop/60)
  Escreva("A velocidade media do ", nomepiloto, " foi ", kmh:5:2, " km/h.")
Fimalgoritmo

L2 - 9 - Descrita abaixo.

Um representante comercial realizará uma viagem de vários dias com um automóvel, e, após, deseja saber a quilometragem média por litro de gasolina. Para isso, ele anotará a quilometragem no velocímetro ao sair de viagem e, depois, a quilometragem na chegada, ele também vai somar toda gasolina (em litros) usada para abastecer o carro durante a viagem. Escreva um algoritmo que, a partir desses dados, informe a quilometragem média por litro de gasolina.

Resolução:
Algoritmo "Calcula o gasto de combustivel por quilometragem"
// Autor: Guilherme Paulino
// Data: 30/08/2010
Var
  klm, kmz, kmc, comb: real
Inicio
  Escreva("Informe a quilometragem antes de sair para a viagem: ")
  Leia(kmz)
  Escreva("Informe a quilometragem na chegada: ")
  Leia(kmc)
  Escreva("Infome a quantidade de combustivel utilizada no trajeto (em litros): ")
  Leia(comb)
  klm <- (kmc-kmz)/comb
  Escreva("O veiculo faz ", klm:5:2, " quilometros por litro de combustivel.")
FimAlgoritmo

L2 - 8 - No seguinte algoritmo existem erros de sintaxe? Em caso afirmativo, onde?

vamos analisar...

01. altoritmo “Teste”

02. var
03.    marca: literal
04.    idade: numérico
05.    letra: literal
06.    marca : numérico
07. início
08. leia(idade)
09. escreva(idade)
10. idade = 678
11. leia(“letra”)
12. leia(ABC)
13. escreva (letra)
14. letra <- 4
15. fimalgoritmo

Sim, nas seguintes linhas:
04. numérico não deve ser escrito com acento agudo
06. numérico novamente escrito com acento agudo, a linguagem não reconhece como palavra reservada
07. início também deve ser escrito sem acento
11. Ao se ler variáveis, deve-se ecrever sem aspas, sendo assim: leia(letra)
12. A variável ABC não foi declarada acima, e não pode ser reconhecida
14. letra é uma variável literal, e não pode receber números, apenas se estiverem em forma de texto

L2 - 7 - Escreva um algoritmo que calcule o valor de base(expoente). O algoritmo deve ler o valor da base e do expoente. Após, ele deve escrever o valor de base(expoente).

Algoritmo "Calcula o valor de uma base elevada por um expoente"
// Autor: Guilherme Paulino
// Data: 30/08/2010
Var
  base, expo, result : real
Inicio
  Escreva("Digite o valor da Base: ")
  Leia(base)
  Escreva("Agora digite o valor do expoente: ")
  Leia(expo)
  result <- base^expo
  Escreva("O valor de ", base, " elevado ao expoente ", expo, " eh: ", result:5:2)
Fimalgoritmo

L2 - 6 - Assinale com um X os comandos de atribuição considerados inválidos:

Var 
  NOME, COR, TESTE, DIA, X : literal
  SOMA, NUM: numérico

01. (x) NOME <- 5
02. (x) SOMA <- NUM + 2*X
03. (x) TESTE <- SOMA
04. (  ) NUM <- SOMA
05. (  ) COR <- “PRETO”
06. (x) X <- X + “1”
07. (x) NUM <- “ABC”
08. (  ) DIA<- “seGUNDA”
09. (x) SOMA + 2 <- NUM
10. (x) X <- (NOME = COR)
11. (x) “ABC” <- NOME
12. (x) NOME <- DIA + COR

L2 - 5 - Assinale com um X os nomes de variáveis válidos:

01. (x) abc
02. (x) 3abc
03. (x) a
04. (  ) 123ª
05. (  ) -a
06. (x) acd1
07. (  ) -_ad
08. (  ) A&a
09. (  ) prim-nom
10. (x) A123
11. (x)Aa
12. (x) prim_nom
13. (  ) ABC DE
14. (  ) etc.
15. (x) E
16. (  ) ”nome”

L2 - 4 - Classifique os valores das constantes abaixo, de acordo com seu tipo, assinalando com N os dados numéricos e com L os literais:

01. (N) 0
02. (L) “abc”
03. (L) “João”
04. (L) “FALSO”
05. (N) 1012
06. (L) “V”
07. (N) -49
08. (N) +342
09. (N) 569
10. (L) “Zé”
11. (N) 5. 7
12. (N) 0.00001
13. (N) 3.1415
14. (N) -545
15. (L) ”444”
16. (L) “1+2”

L2 - 3 - Resolva a expressão aritmética abaixo montando todos os passos utilizados para a obtenção da solução:

01. (20%7) + 7 – 3.0 + 7/2 + (19\5) + (20 + 4)/4*3
02. 6 + 7 - 3 + 3.5 + 3.8 + 24/12
03. 10.3 + 2
04. Resultado = 12.3

L2 - 2 - Escreva as expressões abaixo na forma convencional:

1. (12 + 1)/ (4*a/45)^0.5

2. (a + x^(2 + w) -3*a)/2

3. 12*x/(36 – 9^y)

4. (17^0.5 + 4)/3