algoritmos
Autor: Paulo Henrique | Publicado: 2010-09-07T13:19:00-07:00

Exercícios: 2-1 ~ 2-202-1 1) Escreva as expressões abaixo na forma de sintaxe do Português Estruturado.a) raizq(((2+x)*x+u)/(a+b+c))b) x^2+(3*x^(x+1))/2+raizq(x+1)c) h-((45/7*x)-4*h*(3+a))^3d) (-b-(raizq((b^2-4)*a*c)))/(2*a)e) -raizq((-6^x+2*y)/3^9)f) raizq(6)+((x*y)/(2*x))+3^2-(x^2/3)2-2Escreva as expressões abaixo na forma convencional: 1. (12 + 1)/ (4*a/45)^0.5 2. (a + x^(2 + w) -3*a)/23. 12*x/(36 – 9^y) 4. (17^0.5 + 4)/3   2-3 Resolva a expressão aritmética abaixo montando todos os passos utilizados para a obtenção da solução: (20%7) + 7 – 3.0 + 7/2 + (19\5) + (20 + 4)/4*3 algoritmo "Calculando a expressão aritmética"vartotal : realinicioescreval ("Cálculo de Expressão Aritmética")total <- (20%7) + 7 - 3.0 + 7/2 + (19/5) + (20+4)/(4 * 3)escreva ("o valor da expressão e",total)fimalgoritmo   2-4 Classifique os valores das constantes abaixo, de acordo com seu tipo, assinalando com N os dados numéricos e com L os literais: 1. ( ) 0 2. ( ) “abc”3. ( ) “João” 4. ( ) “FALSO”5. ( ) 1012 6. ( ) “V” 7. ( ) -49 8. ( ) +3429. ( ) 569 10. ( ) “Zé” 11. ( ) 5. 7 12. ( )0.0000113. ( ) 3.1415 14. ( )-545 15. ( )”444” 16. ( ) “1+2”1.(L) 0 2.(L)"abc" 3.(L)"joão" 4.(L) "FALSO"5.(N)1012 6.(L) "V" 7.(N)-49 8.(N)+3429(N)569 10(L)"Ze" 11.(N)5. 7 12.(N)0.0000113.(N)3.1415 14.(N)-545 15.(L)"444" 16.(L) "1+2"  2-5 Assinale com um X os nomes de variáveis válidos: 1. ( ) abc 2. ( )3abc 3. ( )a 4. ( )123ª 5. ( )-a 6. ( )acd1 7. ( )-_ad 8. ( )A&a9. ( ) prim-nom 10. ( ) A123 11. ( )Aa 12. ( ) prim_nom13. ( ) ABC DE 14. ( ) etc. 15. ( ) E 16. ( )”nome”1.(X)abc 2.( )3abc 3.(X)a 4.( )123ª5.( ) -a 6.(X)acd1 7.( )-_ad 8.( )A&a9.(X) prim-nom 10.(X) A123 11.(X)Aa 12.(x) prim_nom13.( ) ABC DE 14.( )etc. 15.(X) E 16.( )"nome"    2-6 Assinale com um X os comandos de atribuição considerados inválidos: varNOME, COR, TESTE, DIA, X : literalSOMA, NUM: numérico1. ( ) NOME <- 5 2. ( ) SOMA <- NUM + 2*X3. ( )TESTE <- SOMA 4. ( ) NUM <- SOMA5. ( ) COR <- “PRETO” 6. ( ) X <- X + “1”7. ( ) NUM <- “ABC” 8. ( ) DIA<- “seGUNDA”9. ( ) SOMA + 2 <- NUM 10. ( ) X <- (NOME = COR)11. ( ) “ABC” <- NOME 12. ( ) NOME <- DIA + COR1.(X) NOME <-5 2.(X) SOMA <- NUM + 2*X3.( )TESTE <- SOMA 4.( ) NUM <- SOMA5.( ) COR <- "PRETO" 6.(X) X <- X+"1"7.(X) NUM <- "ABC" 8.( ) DIA <- "seGUNDA"9.(X) SOMA +2 <- NUM 10.( ) X <-(NOME = COR)11.(X)"ABC" <- NOME 12.(X) NOME <- DIA + COR     2-7 Escreva um algoritmo que calcule o valor de base . O algoritmo deve ler o valor da base e do expoente. Após, ele deve escrever o valor de base. algoritmo "Calculando o valor da base"varbase, expoente, total:realinicioescreval("Capítulo 2 - Exercício 7")escrevalescreva("Informe o valor da base: ")leia(base)escreva("Informe o valor do expoente: ")leia(expoente)total <- base^expoenteescreva("Resultado: ", base, " elevado a ", expoente, " é ", total)   fimalgoritmo   2-8 No seguinte algoritmo existem erros de sintaxe? Em caso afirmativo, onde ? 01. altoritmo “Teste”02. var03. marca: literal04. idade: numérico05. letra: literal06. marca : numérico07. início08. leia(idade)09. escreva(idade)10. idade = 67811. leia(“letra”)12. leia(ABC)13. escreva (letra)14. letra <- 415. fimalgoritmoalgoritmo "Teste"varmarca: literalidade: numérico //numerico é sem acento agudo na letra “e”letra: literalmarca: numérico //Já existe uma variável com o nome 'marca'início //Não tem acento na letra “i”leia(idade)escreva(idade)idade = 678leia(“letra”) //Não está atribuindo valor em nenhuma variávelleia(ABC) //Não existe a variável ABCescreva (letra) //Letra não recebeu nadaletra <- 4 //Letra é do tipo literal, então não pode receber um valor inteirofimalgoritmo    2-9 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. algoritmo "Capítulo 2 - Exercício 9"varkmInicial, kmFinal, totalGasolina, mediaDiaria:realinicioescreval("Calculando média de gasolina em viagem")escrevalescreva("Informe o KM Inicial: ")leia(kmInicial)escreva("Informe o KM Final: ")leia(kmFinal)escreva("Informe quantos litros de gasolina foram usados durante a viagem: ")leia(totalGasolina)mediaDiaria <- (kmFinal - kmInicial) / totalGasolinaescreva("Média diária percorrida pelo carro por litro de gasolina: ", mediaDiaria:5:1, "Km")fimalgoritmo   2-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 emkm/h, e exibir a seguinte frase:A velocidade média do  foi km/halgoritmo "Calcular a velocidade em km/h"varnome:literalmedia,distancia:realtempo:inteiroinicioescreval("Calculando a velocidade média em Km/h")escrevalescreva("Entre com o nome do piloto:")escrevalleia(nome)escreva("Entre com a distância percorrida em km:")leia(distancia)escreva("Entre com o tempo gasto em minutos:")leia(tempo)media <- distancia /(tempo/60)escreva("A velocide media do piloto ",nome," foi de",media," km/h")fimalgoritmo   2-11 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 "Calcular a conta da pizzaria"varpessoas, chopes, pizzas, coberturas:inteirosubTotalConta, totalConta, Garcom, totalPorPessoa:realinicioescreval("Calculando o total da conta da Pizzaria")escrevalescreva("Entre com o número de pessoas: ")leia(pessoas)escreva("Entre com a quantidade de chopes que foram pedidos: ")leia(chopes)escreva("Entre com a quantidade de pizzas que foram pedidas: ")leia(pizzas)escreva("Entre com a quantidade de coberturas que acompanharam as pizzas: ")leia(coberturas)subTotalConta <- (chopes * 2.80) + (pizzas * 20) + ( (coberturas * 1.50) * pizzas)garcom <- (subTotalConta / 100) * 10totalConta <- subTotalConta + garcomtotalPorPessoa <- totalConta / pessoasescrevalescreval("Este é o Valor da Conta-------------: R$", subTotalConta:5:2)escreval("10% do Garçom---------------------: R$", garcom:5:2)escreval("Total da Conta + 10% Garçom------: R$", totalConta:5:2)escreval("Total por pessoa---------------------: R$", totalPorPessoa:5:2)fimalgoritmo   2-12 Escreva um algoritmo que calcule e escreva a soma Sn dos n primeiros termos de uma progressão aritmética dada pela formula: sn = ((a1 + an) / 2) * nOnde a1, é o primeiro termo da progressão, an, é o ultimo e n é o numero de termos, tal que: n = ((an – a1) / r) + 1Os valores de a1, an e r (a razão da progressão) serão fornecidas pelo usuário.algoritmo "Progressão Aritmética"vara1, an, r, sn, n:realinicioescreval("Calculando uma Progressão Aritmética")escreva("Entre com o valor de a1: ")leia(a1)escreva("Entre com o valor de an: ")leia(an)escreva("Entre com o valor de r: ")leia(r)n <- ((an - a1)/r) + 1sn <- ((a1 + an)/2) * nescreval("O valor de Sn é: ", sn)fimalgoritmo   2-13 Escreva um algoritmo que calcule e escreva o valor de um termo an qualquer de uma progressão geométrica dada por: an = a1 * q^(n-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 " Progressão Geométrica "vara1, an, q, n:realinicioescreval("Calculando uma Progressão Geométrica")escrevalescreva("Entre com o valor de A1: ")leia(a1)escreva("Entre com o valor de Q: ")leia(q)escreva("Entre com o valor de N: ")leia(n)an <- a1 * (q^(n-1))escreval("Valor do termo An: ", an)fimalgoritmo   2-14 ...   2-15 Escreva um algoritmo que calcule e escreva o valor de um termo an qualquer de uma progressão geométrica dada por: an = a1 * q^(n-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 " Progressão Geométrica "vara1, an, q, n:realinicioescreval("Calculando uma Progressão Geométrica")escrevalescreva("Entre com o valor de A1: ")leia(a1)escreva("Entre com o valor de Q: ")leia(q)escreva("Entre com o valor de N: ")leia(n)an <- a1 * (q^(n-1))escreval("Valor do termo An: ", an)fimalgoritmo     2-16 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 dígito 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 .(1×32 + 1x 16 + 0×8 + 1×4 + 0x 2 + 1×1 = 32 + 16 + 0 + 4 + 0 + 1 = 53)algoritmo "Conversão de Binário para Decimal"varn1, n2, n3, n4, n5, n6, decimal:numericoinicioescreva("Entre com o 1ºBit (0 ou 1)")escrevalleia(n1)escreva("Entre com o 2ºBit (0 ou 1)")escrevalleia(n2)escreva("Entre com o 3ºBit (0 ou 1)")escrevalleia(n3)escreva("IEntre com o 4ºBit (0 ou 1)")escrevalleia(n4)escreva("Entre com o 5ºBit (0 ou 1)")escrevalleia(n5)escreva("Entre com o 6ºBit (0 ou 1)")escrevalleia(n6)decimal <- (n1*32 + n2*16 + n3*8 + n4*4 + n5*2 + n6*1)escreva("Decimal: ",decimal)fimalgoritmo   2-17 ...   2-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 "Calcular sálario final de um vendedor"varnome:literalsalFixo,valorCarrosVendidos,comissaoPorCarro,salLiquido:realqtdeCarrosVendidos:inteiroinicioescreval("Entre com o nome do Vendedor:")leia(nome)escreval("Entre com o salário fixo do Vendedor:")leia(salFixo)escreval("Entre com a comissão por cada carro vendido:")leia(comissaoPorCarro)escreval("Entre com a quantidade de carros vendidos:")leia(qtdeCarrosVendidos)escreval("Entre com o total das suas vendas:")leia(valorCarrosVendidos)salLiquido<- salFixo+(comissaoPorCarro*qtdeCarrosVendidos)+(valorCarrosVendidos*0.04)escreva("O salário líquido do vendedor ",nome," é de R$: ",salLiquido:5:2)fimalgoritmo    2-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 "Calculando valor final de um veículo para o consumidor"varnomeModelo:literalcustoFabri, percentualRevenda, impostos, valorFinal:realinicioescreva("Entre com o nome do Modelo do carro: ")leia(nomeModelo)escreva("Entre com o valor de fabrica do veículo: ")leia(custoFabri)escreva("Entre com o percentual da revenda: ")leia(percentualRevenda)escreva("Entre com o percentual dos impostos: ")leia(impostos)valorFinal <- custoFabri + (custoFabri * (percentualRevenda / 100)) + (custoFabri * (impostos / 100))escreva("O Valor final do carro ", nomeModelo, " para o consumidor é de ", valorFinal:6:2)fimalgoritmo      2-20Escreva 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; 3. O salário liquido é o salário bruto mensal menos os encargos.algoritmo "Cálculo jornada de trabalho"varnome:literalvalorHora, totalHoras, salarioBruto, encargos, salarioLiquido:realinicioescreva("Entre com o nome do empregado: ")leia(nome)escreva("Entre com o valor da hora trabalhada: ")leia(valorHora)escreva("Entre com o total de horas trabalhadas: ")leia(totalHoras)salarioBruto <- totalHoras * valorHoraencargos <- (salarioBruto * (9/100)) + (salarioBruto * (8/100))salarioLiquido <- salarioBruto - encargosescreva("O empregado ", nome, " receberá o salário de: R$", salarioLiquido:5:2)fimalgoritmo1ª LISTA/EXERCICIOS_______________________________________________________________________________Faça um algoritmo que calcule a área de um triângulo que recebe a base e a altura e retorna a área. algoritmo "Calcular Área de um Triangulo"varh, b:realinicioescreval("Calculo da Área de um Triangulo")escreva("Entre com o valor da base?")leia(b)escreva("Entre com o valor da altura?")leia(h)escreva("Área do Triângulo: ", (b*h)/2)fimalgoritmo _________________________________________________________________________________ Faça um algoritmo que receba apenas 1 lado do triângulo equilátero e retorne a área. algoritmo "Calcular Área de um Triângulo Equilatero"varlado, h, area:realinicioescreval("Calcular Área de um Triângulo Equilatero")escreva("Qual e o valor de um lado?")leia(lado)h<-(lado*raizq(3))/2area<-(lado*h)/2escreva("Area de triangulo: ", area:5:2)fimalgoritmo _________________________________________________________________________________ Faça um algoritmo que solicite o peso de gatos e o peso em Kg do pacote de ração, onde deverá se calcular as porções diárias e mostrar o quanto em gramas existe no pacote de ração após 5 dias. algoritmo "Calcular Porções de Ração Diária de Gatos"varracao,g1,g2,gramasg1,gramasg2,pdiaria,p5dias,soma:realinicioescreval("Calcular Porções de Ração Diária de Gatos")escrevalescreva("Qual é o peso do Gato 1? ")leia(g1)escreva("Qual é o peso do Gato 2? ")leia(g2)escreva("Qual é o peso do Pacote de Ração? ")leia(racao)gramasg1 <- g1 * 50gramasg2 <- g2 * 50pdiaria <- gramasg1 + gramasg2p5dias <- (racao * 1000) - (pdiaria * 5)escreva("Total de ração após 5 dias: ", p5dias, " gramas")fimalgoritmo _________________________________________________________________________________ Faça um algoritmo que tendo como dados de entrada dois pontos quaisquer no plano P(X1*Y1) e P(X2*Y2). Escreva a distância entre eles. algoritmo "Distância entre dois pontos"varx1,x2,y1,y2,d:realinicioescreval("Calcular distância entre pontos")escrevalescreva("Entre com o valor de X1? ")leia(x1)escreva("Entre com o valor de X2? ")leia(x2)escreva("Entre com o valor de Y1? ")leia(y1)escreva("Entre com o valor de Y2? ")leia(y2)d <- raizq( ((x2-x1)^2) + ((y2-y1)^2) )escreva("Distância entre os pontos: ", d:5:2)fimalgoritmo _________________________________________________________________________________ Faça um algoritmo que tendo como dados de entrada dois pontos quaisquer no plano P(X1*Y1) e P(X2*Y2). Escreva a distância entre eles. algoritmo "Distância entre dois pontos"varx1,x2,y1,y2,d:realinicioescreval("Calcular distância entre pontos")escrevalescreva("Entre com o valor de X1? ")leia(x1)escreva("Entre com o valor de X2? ")leia(x2)escreva("Entre com o valor de Y1? ")leia(y1)escreva("Entre com o valor de Y2? ")leia(y2)d <- raizq( ((x2-x1)^2) + ((y2-y1)^2) )escreva("Distância entre os pontos: ", d:5:2)fimalgoritmo _________________________________________________________________________________ Faça um algoritmo que leia a idade de uma pessoa expressa em dias, meses e anos e mostre a expressa em dias. algoritmo "Idade de uma pessoa"vardias, meses, anos, total:inteiroinicioescreval("Cálculo da Idade de uma Pessoa em dias")escrevalescreval("Entre com o dia em que a pessoa nasceu: ")leia(dias)escreval("Entre com o mês do nascimento da pessoa: ")leia(meses)escreval("Entre com o ano do nascimento da pessoa: ")leia(anos)total<-(anos*365)+(meses*30)+diasescreva("O total de dias é: ", total)fimalgoritmo _________________________________________________________________________________ Faça um algoritmo que leia a idade de uma pessoa expressa em dias e mostre a expressa em anos. algoritmo "Idade de uma pessoa"vardias, meses, anos, total, sobra:inteiroinicioescreval("Cálculo da Idade de uma Pessoa")escrevalescreval("Entre com a Idade em dias: ")leia(total)anos<-total-(anos*365)meses<-sobra div 30dias<-sobra-(meses*30)escreva("IDADE:",anos," ano(s) e",meses," mês(s) e",dias," dia(s)")fimalgoritmo _________________________________________________________________________________ Faça um algoritmo que leia a idade de uma pessoa expressa em dias e mostre a expressa em anos. algoritmo "Idade de uma pessoa"vardias, meses, anos, total, sobra:inteiroinicioescreval("Cálculo da Idade de uma Pessoa")escrevalescreval("Entre com a Idade em dias: ")leia(total)anos<-total-(anos*365)meses<-sobra div 30dias<-sobra-(meses*30)escreva("IDADE:",anos," ano(s) e",meses," mês(s) e",dias," dia(s)")fimalgoritmo _________________________________________________________________________________ Faça um algoritmo que leia o tempo de duração de um evento em uma fábrica expressa em segundos e mostre-o expresso em Horas, Minutos e Segundos algoritmo "Tempo de Duração de um Evento em uma Fábrica"varseg, min, horas:inteiroinicioescreval("Tempo de Duração de um Evento em uma Fábrica")escrevalescreval("Entre com o Tempo em segundos: ")leia(seg)horas<-seg div 3600min<-(seg-(horas*3600)) div 60seg<-(seg-(horas*3600)-(min*60))escreva(horas," Horas,",min," Minutos e",seg, " Segundos")fimalgoritmo _________________________________________________________________________________ Faça um algoritmo que receba a altura de uma pessoa e informe o seu peso ideal - IMC algoritmo "Cálculo de Peso Ideal - IMC"varaltura:inteiropesoIdeal:realinicioescreval("Cálculo de Peso Ideal - IMC")escrevalescreva("Entre com sua altura sem ponto e sem vírgula: ")leia(altura)pesoIdeal<-(25*(altura^2))/10000escreva("O seu Peso Ideal é: ", pesoIdeal:5:2)fimalgoritmo