Exercicios Java Basico Algoritmo

download Exercicios Java Basico Algoritmo

of 8

Transcript of Exercicios Java Basico Algoritmo

  • 7/23/2019 Exercicios Java Basico Algoritmo

    1/8

    Faculdades Integradas Esprito-SantensesUnidade de Computao e SistemasCurso Cincia da ComputaoDisciplina: Algoritmo I - 1 perodo !turma "# - $%%&'1(ro)* +enri,ue onteiro Cristo.o

    Lista de exerccios Java Bsico

    Para cada um dos problemas a seguir, construa um programa em Java para resolver o que se pede.

    Lembre-se de, primeiramente, determinar quais so os dados de entrada e se for o caso solicit-los ao usurio. Apsesta entrada, determine o que deve ser processado (calculado, classificado, acumulado, contado etc... e, finalmente,fa!a a e"ibi!o, para o usurio, dos dados de sa#da.

    $icas para estudar% somente aps ter escrito a sua tentativa, compare com a do colega, com a do monitor ou com ado professor. Lembre-se que a nica forma de aprender algoritmos e fazer muitos exerccios. &oc' ir observarque a sua compet'ncia em escrever algoritmos para solucionar os problemas ir evoluir gradualmente na medidaem que for investindo tempo de estudo.aso ten)a pouco tempo para estudar, fa!a pelo menos * e"erc#cios do primeiro con+unto e, e"erc#cios de cadaum dos con+untos seguintes. as to logo consiga organiar o seu tempo, fa!a o restante dos e"erc#cios.

    Conjunto 1: programas seqenciais com entrada, clculo e sada

    1. $etermine qual / a idade que o usurio fa no ano atual. Para isso solicite o seu ano de nascimento e oano atual.

    0olu!o%

    /*

    Determine qual a idade que o usurio faz no ano atual.

    Para isso solicite o ano de nascimento do usurio e o ano atual.

    */

    importjava.util.Scanner;

    publicclassExercicio0 !

    publicstaticvoidmain"Strin#$% ar#s& !

    intano'tual( ano)ascimento( qtde'nos;

    Sstem.out.+rintln",Entre com o ano atual-,&;

    ano'tual newScanner"Sstem.in&.nextnt"&;

    Sstem.out.+rintln",Entre com o ano de nascimento-,&;

    ano)ascimento newScanner"Sstem.in&.nextnt"&;

    qtde'nos ano'tual ano)ascimento;

    Sstem.out.+rintln",Em ,1ano'tual1, voc2 faz "ou j fez& ,1qtde'nos1,

    anos3,&;

    4

    4

    2. alcule e e"iba a quantidade de salrios m#nimos que um determinado funcionrio gan)a. Para isto,pe!a o valor do seu salrio e o valor do salrio m#nimo atual.

    3. 0olicite a quantidade de )omens e de mul)eres de uma turma da faculdade. 1m seguida calcule ee"iba o percentual (separadamente de )omens e mul)eres desta turma.

    Obs.: em Java a diviso de valores inteiros d como resultado um nmero inteiro, ao menos que um

    dos nmeros seja do tipo ponto flutuante (double, por exemplo). ara transformar inteiro para

    double basta fa!er um cast: "(double)x# $ transforma "x# em double.

    1/8

  • 7/23/2019 Exercicios Java Basico Algoritmo

    2/8

    4. $etermine e e"iba a m/dia aritm/tica de um aluno a partir de suas 2 notas.

    5. alcule e e"iba o valor final de uma d#vida. Para isto pergunte ao usurio o valor inicial do d/bito, aquantidade de meses e os +uros mensais. 3se o calculo de +uros simples.

    6. alcule e e"iba rea ocupada por um c#rculo cu+o raio mede metros. A rea de um c#rculo / (PI)multiplicado pelo raio elevado ao quadrado. 1m Java o valor de est dispon#vel na constanteat).P4

    7. alcule e e"iba a comisso de 567 de um gar!om num restaurante a partir do valor da despesa de umcliente.

    Conjunto : programas com estruturas condicionais

    8. 8ransforme um n9mero :acional (formado por numerador e denominador para um n9mero :eal.Antes de dividir, verifique se o denominador / diferente de ero. 1mita uma mensagem de alerta aousurio se for ero.

    9. &erifique se o usurio / maior de idade ou no.

    1. 3m banco concede empr/stimo a seus clientes no valor m"imo de ;67 do valor do seu salrioliquido. :eceba o valor do salrio bruto, o valor dos descontos e o valor do poss#vel empr/stimo deum cliente, em seguida avise se ele poder ou no faer o empr/stimo.

    11. 0olicite o nome e as tr's notas de uma disciplina que o usurio cursa. 1m seguida informe se ele foiaprovado, ficou de recupera!o ou foi reprovado. A m/dia de aprova!o / .6? a m/dia derecupera!o / .6? e a m/dia do reprovado / @ .6

    0olu!o%/* Exerc5cio 6 */

    importjava.util.Scanner;

    publicclassExercicio6 !

    publicstaticvoidmain"Strin#$% ar#s& !

    Strin# nome;

    doublenota( nota6( nota7( media;

    Sstem.out.+rintln",8ual o seu nome9,&;

    nome newScanner"Sstem.in&.next"&;

    Sstem.out.+rintln",Entre com a +rimeira nota-,&;

    nota newScanner"Sstem.in&.nextDou:le"&;

    Sstem.out.+rintln",Entre com a se#unda nota-,&;

    nota6 newScanner"Sstem.in&.nextDou:le"&;

    Sstem.out.+rintln",Entre com a terceira nota-,&;nota7 newScanner"Sstem.in&.nextDou:le"&;

    media "nota1nota61nota7&/7;

    if"media

  • 7/23/2019 Exercicios Java Basico Algoritmo

    3/8

    12. A partir da idade informada de um cidado diga se ele no pode votar (idade inferior a 5, ou se ovoto / facultativo (idade igual a 5 ou 5> ou ainda maior do que >6, ou ainda se o voto / obrigatrio

    para idades entre 5B e >6 (incluindo estes valores.

    13. Acrescente no problema anterior possibilidade dele faer prova final em caso de recupera!o. Cestecaso a nota de aprova!o passa a ser

  • 7/23/2019 Exercicios Java Basico Algoritmo

    4/8

    27. $escubra e apresente o maior entre tr's n9meros fornecidos pelo usurio. aso eles se+am iguais,avise ao usurio.

    28. oloque em ordem crescente tr's n9meros quaisquer.omo desafio, tente depois faer uma solu!o com apenas ; estruturas de deciso.

    29. :eceba do usurio dois pontos do plano cartesiano. 1stes pontos devem representar os v/rticessuperior esquerdo e inferior direito de um retNngulo paralelo aos ei"os " e O.Primeiramente informe se estes pontos podem constituir um retNngulo, ou se+a%- se / um retNngulo- se / uma reta )oriontal- se / uma reta vertical- se / um ponto

    $epois, calcule e e"iba rea deste retNngulo.1m seguida, receba outro ponto e e"iba a posi!o dele em rela!o ao retNngulo.3ma das 56 seguintes situa!Ies / poss#vel%- acima e esquerda

    - acima- acima e direita- embai"o e esquerda- embai"o- embai"o e direita- esquerda- direita- dentro do retNngulo- na lin)a do retNngulo

    3. :eceba dois retNngulos atrav/s dos seus quatro v/rtices. ada v/rtice / um ponto e / formado por

    duas coordenadas " e O. a!a a cr#tica destes pontos, pois no pode )aver sobreposi!o entre eles.Kbserve que o usurio pode fornec'-los em qualquer ordem. 1m seguida informe se os doisretNngulos se interceptam em algum lugar.

    Conjunto !: programas com estruturas de repeti"#o

    31. 1"iba mil vees o n9mero 566.

    32. 1"iba todos os n9meros de 5 a 66, um ao lado do outro com um espa!o em branco de separa!o.

    33. 1"iba todos os n9meros pares de 56 a *66.

    34. 1"iba 6 n9meros sorteados de 5 a 566 para o usurio.

    35. 1"iba uma quantidade de n9meros sorteados determinada pelo usurio. Pe!a tamb/m que o usuriodetermine a fai"a do sorteio.

    36. 1"iba todos os n9meros #mpares e"istentes entre dois n9meros informados pelo usurio.$ica% use o operador 7 para calcular o resto da diviso entre dois n9meros.

    37. alcule o fatorial de um n9mero.

    38. &erifique se um n9mero / primo ou no.39. &erifique se um n9mero / perfeito, ou se+a, se a soma dos seus divisores (e"ceto o prprio n9mero /

    igual a ele mesmo.

    4/8

  • 7/23/2019 Exercicios Java Basico Algoritmo

    5/8

    4. 0olicite ao usurio a idade de cada um componente de um grupo de pessoas. A quantidade de pessoastamb/m ser determinada por ele.Aps o t/rmino da entrada, apresente%

    a. a m/dia das idades,

    !. a maior idade,

    c. a menor idade,

    d. a quantidade de pessoas maior de idade.

    41. rie um +ogo para o usurio descobrir um n9mero sorteado de 5 a 566. A cada tentativa dele, forne!auma dica falando se o n9mero / maior ou menor. Quando ele descobrir e"iba uma mensagem de

    parab/ns e mostre em quantas tentativas ele conseguiu.

    42. Aproveitando o algoritmo do e"erc#cio anterior, e"iba uma lista de 26 grupos de n9meros sorteados de6 a M. ada grupo possui ; n9meros e deve e"ibido em ordem crescente.

    43. alcule a m/dia aritm/tica de 66 valores fornecidos pelo usurio.

    44. odifique o problema anterior para que a quantidade de valores tamb/m se+a fornecida pelo usurio.

    45. $etermine o maior valor de uma lista de 566 n9meros fornecidos pelo usurio.

    46. $etermine a quantidade de )omens e mul)eres (separadamente que so maiores de idade, baseadonuma lista de *66 pessoas.

    47. Leia uma rela!o de pacientes de uma cl#nica, cada um com o nome, o se"o, o peso, a idade e a altura.Para sinaliar o fim da lista ser fornecido RfimS no nome do 9ltimo paciente.1"iba um relatrio contendo%i. a quantidade de pacientes.ii. a m/dia de idade dos )omens.

    iii. a quantidade de mul)eres com altura entre 5,6 e 5,>6 e peso acima de >6Gg.iv. a quantidade de pessoas com idade entre 5B e *.v. o nome do paciente mais vel)o.vi. o nome da mul)er mais bai"a.vii. T neste item, voc cria uma situa/o interessante constr0i o al&oritmo correspondente.

    48. $escida se um aluno ser aprovado, reprovado por nota ou reprovado por faltas. 3se o sistema deavalia!o da A10A. Pergunte ao usurio a quantidade de notas para clculo da m/dia semestral,sendo que todas elas possuem o mesmo peso.

    49. 1"iba os 6 primeiros n9meros da seqU'ncia de ibonacci

    (5,5,*,;,,B,5;,*5,;2,,BM,522,*;;,;>>,....

    5. 4mprima e"atamente o n-eimo termo da seqU'ncia de ibonacci.

    51. 1"iba os n primeiros termos da seqU'ncia de 8ribonacci (soma dos tr's anteriores. 4nicia com 5,5 e *.

    52. A )istria do rei que e tornou pobre% aps perder uma aposta com um s9dito, ele teve que pagar umaquantia muito grande em sacos de arro. A aposta feita anteriormente era que se o s9dito gan)asse orei teria que pagar um gro de arro colocado na primeira casa de um tabuleiro de "adre. Ca segundacasa teria que pagar o dobro, ou se+a, dois gros de arro, e assim sucessivamente at/ a casa n9mero2. 1"iba quantos gros de arro este s9dito teria que gan)ar, somando todas as 2 casas.$epois tente e"ibir a quantia de sacos de arroV

    5/8

  • 7/23/2019 Exercicios Java Basico Algoritmo

    6/8

    53. 1"iba a tabuada de um n9mero fornecido pelo usurio. Por e"emplo se ele digitar o n9mero , ento sermostrado%

    " 5 = " * = 56 " ; = 5 " 2 = *6 " = * " = ;6 " > = ; " B = 26 " M = 2 " 56 = 6

    54. Apresente uma tabela de converso de reais em dlares. 1la deve ser totalmente configurvel, ou se+ao usurio pode informar o valor inicial e final, o valor de incremento e o valor de 5 dlar. Apresenteos n9meros no formato monetrio com duas casas decimais.

    55. A operadora de celular &ai-&ai possui um plano com o valor mensal de 6,66 que permite 566minutos por m's para qualquer n9mero. Al/m disso, ela oferece 6 minutos a mais para liga!Iesdestinadas a um n9mero da prpria &ai-&ai. Ainda neste plano ela tem uma promo!o onde cada

    minuto gasto para telefone fi"o consome somente a metade. K valor do minuto e"cedente para outrasoperadoras / de 6., e para a prpria &ai-&ai / 6.*6.a!a um programa que permita ao usurio entrar com o tipo de liga!o (WoX = outras operadoras, WvX =a prpria &ai-&ai, ou WfX = telefone fi"o e a quantidade de minutos. A cada entrada, deve-se informaro quanto que ele tem de saldo e o valor a pagar. a!a isto enquanto ele indicar que e"istem maisliga!Ies a serem digitadas.

    56. rie um programa para simular uma urna de vota!o para e"atamente ; candidatos. Logo no in#ciodeve-se perguntar ao usurio os nomes dos candidatos. Permita votos em branco.Ao t/rmino de toda a entrada, apresente o nome, a quantidade de votos e o percentual de cadacandidato. Apresente tamb/m a quantidade e o percentual dos votos em branco e quem foi o gan)ador

    da elei!o.

    57. 1"iba todas as datas de um calendrio que esto entre duas datas informadas pelo usurio (dia, m's eano. 0upon)a que as duas datas informadas se+am vlidas.

    58. Leia uma data e uma quantidade de dias, em seguida e"iba esta data somada pela quantidade de diasfornecida. 1"emplo% *MF62F*66> E ; = 6*F6F*66>.

    Conjunto $: programas com estruturas de repeti"#o anin%adas

    59. 1"iba as 56 tabuadas (de 5 a 56.

    6. Apresente uma tabela contendo a evolu!o do valor de uma d#vida ao longo dos meses e anos a partir de+aneiro de *66>. 0olicite o valor da d#vida, a ta"a de corre!o e a quantidade de anos.Por e"emplo, para uma d#vida de :Y 566,66 ao longo de * anos e com uma ta"a de corre!o de 5.B 7 ao m's%

    Anos Jan ev ar Abr ai Jun Jul Ago 0et Kut Cov $e

    *66> 566,66 565,B6 56;,; 56,6 56>,26 56M,;; 555,;6 55;,;6 55,;2 55>,2* 55M,; 5*5,B

    *66B 5*;,B> 5*,56 5*B,;> 5;6,B 5;;,6; 5;,2; 5;>,B> 526,; 52*,B> 52,2 52B,6 56,>;

    6/8

  • 7/23/2019 Exercicios Java Basico Algoritmo

    7/8

    61. $esen)e a seguinte pirNmide de asteriscos. K usurio determina a quantidade de lin)as.

    *

    **

    ***

    ****

    *****

    ******

    ***************

    *********

    **********

    ***********

    ************

    ...

    62. $esen)e a seguinte pirNmide de n9meros. K usurio determina a quantidade de lin)as.

    0

    06 06

    07 07 07

    0@ 0@ 0@ 0@0= 0= 0= 0= 0=

    0A 0A 0A 0A 0A 0A

    0< 0< 0< 0< 0< 0< 0