Programa. Programa. +main() +main() Figura1. Diagrama de classe

Documentos relacionados
LP II / 1ª Lista de Exercícios

LP II / 1ª Lista de Exercícios

Escreva em Java a classe NumeroComplexo que represente um número complexo. A classe deverá ter os seguintes construtores:

Para calcular a área do trapézio considere a entrada na seguinte ordem: <base maior> <base menor> <altura>.

Algoritmos e Programação

CADERNO DE EXERCÍCIOS ALGORITMOS

Classes e Objetos POO

1ª Lista de Exercícios

9. imprimir o fatorial do número 10. imprimir o sucessor e o anterior de um número lido 11. Imprimir se um número é primo ou não 12. Imprimir os 100 p

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes, instâncias e métodos de acesso. prática

Material Didático Unificado.

Questão 1 Exemplo de execução 1 (com N=6): Exemplo de execução 2 (com N=4):

Exercícios: Comandos de Repetição

3ª Lista de Exercícios de Programação I

BCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 05 Modularização

Lista de Exercícios 06 Modularização (Procedimentos e Funções)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

Lista de exercícios 2

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Algoritmos e Lógica de Programação. Prof. Marcos Antonio Estremoe. 1 - Faça um programa que imprima a frase: Bem Vindo à Engenharia Firb 2014.

Linguagem de Programação JAVA. Tiago Alves de Oliveira

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

Programação C# + ASP.NET

Exercícios Repetição

Exercícios: Vetores e Matrizes

Universidade Estadual de Santa Cruz

Portugol. Tiago Alves de Oliveira

7 a Lista de Exercícios Assunto: Funções e passagem por referência com vetor e matriz (Tópico 7)

Aula 08: Repetição (Parte 3)

Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 02

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Introdução ao Scilab. Comandos de entrada e saída de dados.

Linguagem de Programação I Apresentação da Disciplina

GEQ Prof. Paulo R. Coelho. Lista para prova

Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab.

4ª Lista de Exercícios de Programação I

Introdução à Ciência da Computação

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C

1. Faça uma função que recebe por parâmetro o raio de uma esfera e calcula o seu volume.

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)

1ª LISTA DE EXERCÍCIOS - Extra

Simulação de Caixa Automático

Exercícios de Linguagem C

Exercícios. Faça um programa para calcular o valor de S, dado por:

Aula 4: Introdução à Linguagem C++

Introdução à Programação Orientada a Objetos. Prof. Leonardo Barreto Campos 1

Curso: Técnico em Informática Integrado Disciplina: POO Carga horária: 60h Período: 2º Ano Professor: Edmilson Barbalho Campos Neto LISTA 02.

4ª Lista de Exercícios de Programação I

Estrutura de Dados Funções e Procedimentos

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO

1. Considere o polígono irregular abaixo, formado por três retângulos e um triângulo.

Operadores e Estruturas de Decisão. Vanessa Braganholo

Aula 7 Modularização. Processamento da Informação. Universidade Federal do ABC

LISTA DE EXERCÍCIOS - ro. 04

Lista 2 TP060. Exercícios Vetores

LISTA DE EXERCÍCIOS: 2ª Unidade Funções

Working 05 : Modularização

Resumindo As estruturas de repetição são utilizadas quando necessitamos realizar comandos diversas vezes

LISTA DE EXERCÍCIOS - ro. 02

Lista de exercícios estrutura de repetição FOR e While. 3. Criar um algoritmo que imprima a soma dos nu meros pares de 230 a 520..

Exercícios sobre algoritmos

Interfaces e Classes Abstratas

INSTRUÇÕES DE REPETIÇÃO

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Linguagem de programação Java

Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela.

1ra. Avaliação - Grupo B

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes

Transcrição:

PC-2 / LP-2 2009/2 Lista 1 Prof. Alexandre Sztajnberg Ex1. Faça um programa que receba como argumentos pela linha de comando dois números inteiros e calcule o máximo divisor comum entre estes dois números. Neste primeiro exercício (apenas neste exercício), o programa todo ficará contido no método main(). Trate as exceções de entrada e conversão (mesmo que não sejam verificadas). Critique os dados de entrada. Figura1. Diagrama de classe Dica: Use o algoritmo de Euclides. >java Divisores 20 25 MDC (20,25) = 5 Ex2. Crie uma classe Angulo que deverá ter o seguintes métodos de classe: converteangulo que recebe como parâmetro um valor do tipo double que é a medida em graus de um ângulo e retorna um valor do tipo double que é a medida deste ângulo em radianos. funcaoseno que recebe como parâmetro um ângulo e retorna um valor do tipo double que é o seno deste ângulo. funcaocoseno que recebe como parâmetro um ângulo e retorna um valor do tipo double que é o coseno deste ângulo. funcaotangente que recebe como parâmetro um ângulo e retorna um valor do tipo double que é a tangente deste ângulo. funcaocotangente que recebe como parâmetro um ângulo e retorna um valor do tipo double que é a cotangente deste ângulo. Ângulo +converteangulo() +funcaoseno () +funcaocoseno () +funcaotangente () +funcaocotangente () Figura2. Diagrama de classe

Crie uma classe para o programa principal, com o método main(), que leia através de um fluxo de entrada (a entrada de uma String vazia encerra a leitura de valores) a medida em graus de um ângulo, e utiliza os métodos da classe Angulo para convertê-lo para radianos e calcular o valor de suas funções trigonométricas, imprimindo estes valores. Trate as exceções de entrada (exceções de E/S e passagem de argumentos inválidos). Ex3. Crie a classe AnguloObj, que tem papel semelhante a da classe Angulo do exercício anterior com as seguintes modificações (o objetivo é comparar os dois estilos de arquitetura): A classe possui o campo protegido (encapsulado) arcorad que é a medida em radianos de um ângulo. A classe deverá ter um construtor que recebe um valor do tipo double, que é a medida de um ângulo em graus, e o converte para radianos. Seus métodos (os mesmos listados para a classe Angulo) agora devem ser métodos de instância, e não recebem parâmetros (obs: não recebem parâmetros neste exercício não receber parâmetros não caracteriza métodos de instância). A classe anguloobj também implementa o método tostring() que retorna uma instância da classe String na seguinte forma: Arco: <medida em radianos do ângulo> rad ÂnguloObj ang1 ang2 -arcorad ~AnguloObj() +converteangulo() +funcaoseno () +funcaocoseno () +funcaotangente () +funcaocotangente () Figura3. Diagrama de classe O programa principal deve criar duas instâncias da classe AnguloObj, lendo do teclado via stream a medida dos ângulos, calcular suas funções trigonométricas e exibir o resultado. As exceções de entrada devem ser tratadas convenientemente. java AnguloObjMain Digite a medida em graus do primeiro Ângulo: 90 Digite a medida em graus do segundo Ângulo: 60 Arco: 1.5707963267948966 Seno: 1.0 Coseno: 6.123233995736766E-17 Tangente: 1.633123935319537E16 Cotangente: 6.123233995736766E-17 Arco: 1.0471975511965976

Seno: 0.8660254037844386 Coseno: 0.5000000000000001 Tangente: 1.7320508075688767 Cotangente: 0.577350269189626 Ex4. Crie a classe Pessoa com os campos protegidos (encapsulados), nome e datanascimento, objetos da classe String, que vão representar o nome e data de nascimento. A classe Pessoa deve conter: Um construtor que recebe como parâmetros duas strings e inicializa os campos nome e datanascimento. O método tostring, que não recebe parâmetros e retorna um objeto da classe String na seguinte forma: Nome: <nome da pessoa> Data de Nascimento: <data de nascimento da pessoa> Crie a classe abstrata PessoaIMC que herde da classe Pessoa e contenha tenha os campos protegidos peso e altura, ambos do tipo double. O construtor desta classe deve receber como parâmetros duas strings e dois valores do tipo double e inicializar os campos nome, datanascimento, peso e altura. A classe PessoaIMC deve conter os seguintes métodos: public double getpeso() que retorna o peso; public double getaltura() que retorna a altura; calculaimc() que recebe como parâmetros dois valores do tipo double que são a altura e o peso e retorna um valor do tipo double correspondente ao IMC (Índice de Massa Corporal = peso / altura ao quadrado) calculado. o método abstrato resultimc() que não recebe parâmetros e retorna uma instância da classe String. (o método não é implementado nesta classe - abstrato) O método tostring() desta classe deve retornar uma string da seguinte forma: Nome: <nome da pessoa> Data de Nascimento: <sua data de nascimento> Peso: <seu peso> Altura: <sua altura> Crie as classes Homem e Mulher, herdeiras de PessoaIMC. Cada uma deve implementar o método abstrato resultimc() para realiza o calculo do IMC e exibe uma mensagem de resultado acordo com o valor obtido. Para Homem: IMC < 20.7 : Abaixo do peso ideal 20.7 < IMC < 26.4: Peso ideal IMC > 26.4 : Acima do peso ideal Para Mulher: IMC < 19 : Abaixo do peso ideal 19 < IMC < 25.8: Peso ideal IMC > 25.8 : Acima do peso ideal

Pessoa ~Pessoa() +tostring PessoaIMC -double peso -double altura ~PessoaIMC() +getpeso() +getaltura() +calculaimc(double, double) +abstract String calculaimc() +String tostring() Homem ~Homem() +String resultimc() 0..* Mulher ~Mulher() +String resultimc() 0..* Figura4. Diagrama de classe Crie uma classe para o programa principal, com o método main(), que crie instâncias das classes Homem e Mulher e armazene essas instâncias em um objeto array do tipo PessoaIMC. O programa deve perguntar ao usuário o tamanho do array, que tipo de objeto (Homem ou Mulher) deseja criar e os dados referentes a cada objeto. A leitura de dados deve ser feita através de fluxo de entrada. Após o armazenamento de todos os objetos, o programa deve ler cada posição do array, imprimindo os dados do objeto ali contido e calculando seu IMC. java PesoM Digite o numero de pessoas: 2 j --- Opcao Invalida!!! h

Digite o nome: Zezinho Digite a data de nascimento: 01/01/1901 Digite o peso: 64.8 um m --- A altura deve ser um numero real!!! 1.80 m Digite o nome: Mariazinha Digite a data de nascimento: 02/02/02/1902 Digite o peso: 64.8 1.8 Nome: Zezinho Data de Nascimento: 01/01/1901 Peso: 64.8 Altura: 1.8 IMC: 19.999999999999996 Abaixo do peso Nome: Mariazinha Data de Nascimento: 02/02/02/1902 Peso: 64.8 Altura: 1.8 IMC: 19.999999999999996 Peso ideal