Lista de Exercícios de Programação Orientada a Objetos

Documentos relacionados
Estruturas de Repetição e String. Vanessa Braganholo

Estruturas de Repetição e String

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

Instituto de Computação Programação de Computadores (TCC00326)

Lista de Exercícios 1 Algoritmos, Pseudocódigo e Fluxograma

Estruturas de Repetição. Leonardo Murta

Programação de Computadores I BCC 701 Lista de Exercícios Módulo

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

Estruturas de Repetição. Vanessa Braganholo

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018.

Estruturas de Repetição. Vanessa Braganholo

Lista de Exercícios 5

Fluxogramas. Vanessa Braganholo

Fluxogramas. Leonardo Gresta Paulino Murta.

Variáveis Compostas. Vanessa Braganholo

Disciplina: Algoritmos e Programação Professor: Paulo César Fernandes de Oliveira, BSc, PhD

Algoritmos e Lógica de Programação. 6ª Lista de Exercícios Comandos de Repetição

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

Exercícios: Comandos de Repetição

Exercícios: Vetores e Matrizes

Exercícios Repetição

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Lógica de Programação Módulo I Prof.: Ricardo Lokchin. Fazer os exercícios abaixo na Linguagem C ou em ALGORITMOS.

Instituto Federal de Minas Gerais - Campus avançado de Ponte Nova - IFMG Disciplina: Introdução a programação Professor: Saulo Henrique Cabral Silva

EXERCICIO DE JAVA PARA FIXAÇÃO DE CONTEÚDO - Introdução a Prática de Programação Docente Pedro F. Carvalho /

Atenção! Siga as instruções a seguir:

Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP

Atenção! Siga as instruções a seguir:

SEGUNDA LISTA DE EXERCÍCIOS ALGORÍTMOS SEQUENCIAS E CONDICIONAIS

Estruturas de Repetição WHILE e DO- WHILE

ESTRUTURA CONDICIONAL E SELEÇÃO

GEQ Prof. Paulo R. Coelho. Lista para prova

LISTA DE ATIVIDADES ...

PROGRAMA HelloWorld.java ESTRUTURA SEQUENCIAL. Programa HelloWorld.java

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

1 Faculdade FUCAPI Profº. Sérgio Roberto

Grupo A Exercícios Básicos. 1. Comente o resultado de cada um dos programas abaixo:

DCC001 - Programação de Computadores. Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores).

Subprogramação. Vanessa Braganholo

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

LISTA DE EXERCÍCIOS 2

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

Programação Estruturada

LISTA DE EXERCÍCIOS: 1ª Unidade

LISTA DE EXERCÍCIOS - ro. 04

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

MCG126 Programação de Computadores II

Exercícios: comandos condicionais

Computação II Orientação a Objetos

Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

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

Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática. Oficina de Programação CI

Universidade Federal de Goiás Instituto de Informática 1ª Prova de Introdução a Programação 06/04/11

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

Aula 10: Manipulação do fluxo de laços

PROGRAMAÇÃO DE COMPUTADORES I - BCC Vetores e matrizes

Introdução a programação Vetores

Série de Exercícios - Comandos Repetitivos 1. Codificar o algoritmo para imprimir os N primeiros números naturais pares.

Programação II Prof. Marcos Antonio Estremote ESTRUTURAS CONDICIONAIS E DE REPETIÇÃO

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

1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma. subtração, multiplicação e a divisão dos números lidos.

Lista de exercícios 1 (Cast)

1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco.

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

Lista de Exercícios Estrutura de Repetição

EXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão)

Faculdades Integradas Rui Barbosa Programação II Prof. Marcos Antonio Estremote. Exercícios com Vetores e Matrizes

Informática Aplicada I Lista: Fluxograma

Exercícios de Fixação Introdução ao FORTRAN

Exercícios: comandos condicionais

Lista de exercícios 2

2. Indique a saída dos trechos de programa do pedaço de fluxograma a seguir. Considerando os seguintes de valores: A = 2, B = 3, C = 5, D = 9.

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

BCC701 Programação de Computadores I Lista de Exercícios 05: Funções Definidas pelo Usuário

Comandos de Repetição

PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15

Programação de Computadores I. Aula - Vetores. Professor Ilaim Costa Junior.

Introdução a Orientação a Objetos

Laboratório de Programação A Exercícios sobre vetores e matrizes

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

que imprima os n primeiros termos da série de Fibonacci, lembrando que esta série é definida da seguinte forma:

LISTA DE EXERCÍCIO. 2) Fazer um algoritmo para calcular a soma entre dois números e multiplicar o resultado pelo primeiro.

Resolva os exercícios utilizando a linguagem de programação C

Programação Básica. Estrutura de um algoritmo

LISTA DE EXERCÍCIOS: 1ª Unidade

Lista de Exercícios Algoritmos Vetores. 10) Escreva um algoritmo em PORTUGOL que armazene em um vetor todos os números

Aula 16: Laços aninhados e desvios

1ª LISTA DE EXERCÍCIOS - Extra

Transcrição:

Exercícios básicos Lista de Exercícios de Programação Orientada a Objetos 1. Determine as raízes de uma equação de 2º grau: ax 2 + bx + c = 0 (recordar que o discriminante Δ = b 2 4ac, e que a raiz r = ( b ± Δ)/2a). 2. Calcule a distância entre dois pontos num espaço de 3 dimensões. 3. O programa a seguir estranhamente sempre escreve A distancia e: 1.0. Identifique onde está o defeito. public class Distancia { double x1, y1, x2, y2, distancia; System.out.println("Entre com as coordenadas x e y dos pontos nesta ordem:"); x1 = teclado.nextfloat(); y1 = teclado.nextfloat(); x2 = teclado.nextfloat(); y2 = teclado.nextfloat(); distancia = Math.pow(Math.pow(x2-x1, 2) + Math.pow(y2-y1, 2), 1/2); System.out.println("A distância é: " + distancia); 4. Para cada produto informado (nome, preço e quantidade), escreva o nome do produto comprado e o valor total a ser pago, considerando que são oferecidos descontos pelo número 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 Exercícios de estrutura de repetição 5. Construa a tabela de multiplicação de números de 1 a 10 (ex.: 1 x 1 = 1, 1 x 2 = 2, etc.). 6. Determine o número de dígitos de um número informado. 7. Considere os programas a seguir, que leem um código repetidamente e imprimem o código lido até que o código lido seja igual a -1. O código -1 não deve ser impresso. a. Qual das duas soluções é a correta? b. Como a solução incorreta poderia ser corrigida?

Programa A public class Codigo { int codigo; System.out.println("Informe o código: "); while (codigo!= -1) { System.out.println("Código: " + codigo); System.out.println("Informe o código: "); Programa B public class Codigo { int codigo; do { System.out.print("Informe o código: "); System.out.println("Código: " + codigo); while (codigo!= -1); 8. Calcule a série de Fibonacci para um número inteiro não negativo informado pelo usuário. A série de Fibonacci inicia com os números F 0 = 0 e F 1 = 1, e cada número posterior equivale à soma dos dois números anteriores (F n = F n-1 + F n-2 ). Por exemplo, caso o usuário informe o número 9, o resultado seria: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34. 9. Determine a saída do seguinte programa: public class Loop { for (int i = 2; i <= 8; i = i + 2) { for (int j = i; j <= 4; j++) { for (int k = 1; k <= j; k = k + i) { System.out.println(i + ", " + j + ", " + k); 10. Calcule o retorno de um investimento financeiro fazendo as contas mês a mês, sem usar a fórmula de juros compostos. O usuário deve informar quanto será investido por mês e qual será a taxa de juros mensal. O programa deve informar o saldo do investimento após um ano (soma das aplicações mês a mês considerando os juros compostos), e perguntar ao usuário se ele deseja que seja calculado o ano seguinte, sucessivamente. Por exemplo, caso o usuário deseje investir R$ 100,00 por mês, e tenha uma taxa de juros de 1% ao mês, o programa forneceria a seguinte saída: Saldo do investimento após 1 ano: 1280.9328043328942 Deseja processar mais um ano? (S/N)...

11. Calcule a raiz quadrada aproximada de um número inteiro informado pelo usuário, respeitando o erro máximo também informado pelo usuário. Não utilize funções predefinidas. Exercícios de variáveis compostas 12. Leia uma matriz 3 x 3 que representa um tabuleiro de jogo da velha e indique qual posição deveria ser jogada para ganhar o jogo (se possível) ou ao menos para evitar uma derrota. 13. Ordene um vetor de 100 números inteiros gerados aleatoriamente. 14. Crie dois vetores de 50 posições com valores inteiros aleatórios, ordene cada vetor individualmente, e combine os dois vetores gerando um novo vetor de 100 posições, de forma que esse novo vetor já seja criado ordenado. Exercícios de subprogramação 15. Faça um método que calcule a média de um aluno de acordo com o critério definido neste curso. Além disso, faça um outro método que informe o status do aluno de acordo com a tabela a seguir: Nota acima de 6 à Aprovado Nota entre 4 e 6 à Conceito Verificação Suplementar Nota abaixo de 4 à Conceito Reprovado 16. Leia do usuário o tempo em segundos e escreva em horas, minutos e segundos. Utilize cinco métodos, para a leitura e escrita de dados e para obtenção de horas, minutos e segundos a partir do tempo em segundos. 17. Leia um número decimal (até 3 dígitos) e escreva o seu equivalente em numeração romana. Utilize métodos para obter cada dígito do número decimal e para a transformação de numeração decimal para romana (Dica1: 1 = I, 5 = V, 10 = X, 50 = L, 100 = C, 500 = D, 1.000 = M; Dica2: utilize um vetor guardando a tradução para cada um dos dígitos). 18. Escreva um número por extenso aceitando números de até 9 dígitos, usando métodos para as traduções e vetores de Strings que guardam cada tradução (ex.: unidades = { zero, um, dois,..., nove ). Exercícios de OO 19. Identifique as classes e implemente um programa para a seguinte especificação: O supermercado vende diferentes tipos de produtos. Cada produto tem um preço e uma quantidade em estoque. Um pedido de um cliente é composto de itens, onde cada item especifica o produto que o cliente deseja e a respectiva quantidade. Esse pedido pode ser pago em dinheiro, cheque ou cartão. 20. Faça um programa de agenda telefônica, com as classes Agenda e Contato.

21. Faça um programa para controle de empréstimo de livros, com as classes Emprestimo, Livro e Pessoa. 22. Faça uma programa para representar a árvore genealógica de uma família. Para tal, crie uma classe Pessoa que permita indicar, além de nome e idade, o pai e a mãe. Tenha em mente que pai e mãe também são do tipo Pessoa. 23. Faça um programa que calcule a área de uma figura geométrica. Aceite quatro tipos de figura geométrica: quadrado, retângulo, triângulo e círculo. Use herança e polimorfismo. 24. Adicione a funcionalidade de exibição do total de contatos registrados na agenda disponível em 25. Adicione a funcionalidade de busca por contato na agenda disponível em 26. Adicione a funcionalidade de ordenação dos contatos na agenda disponível em 27. Adicione o registro de mais de um telefone por contato na agenda disponível em 28. Adicione o registro de endereço comercial e residencial por contato na agenda disponível em 29. Explique com suas palavras como é o mecanismo de listener usado no Swing para permitir que os eventos de clique dos botões sejam tratados pelo programa. 30. Qual a diferença entre abstração, encapsulamento e modularidade? Exercícios de Tratamento de Exceções 31. Refaça os exercícios 1, 2 e 3 para protegê-los de qualquer tipo de exceção que pode ocorrer durante a interação com o usuário. 32. Qual a diferença entre uma exceção (subclasses de Exception) e um erro (subclasses de Error)? Exercícios de Coleções 33. Refaça os exercícios 13 e 14 usando List no lugar de vetor. 34. Refaça o exercício 17 usando Map para guardar a tradução dos números decimais para romanos. 35. Refaça o exercício 22 usando Set para guardar o conjunto de filhos de uma pessoa no lugar dos seus pais. Exercícios de Threads

36. Faça um programa que leia um número n informado pelo usuário e diga quantos números primos há entre 0 e n. Esse seu programa deve rodar em 2 threads, de forma que o esforço computacional seja uniformemente dividido entre as threads. 37. Faça com que a funcionalidade de persistência da agenda disponível em passe a rodar em uma thread em separado, tanto para leitura dos dados, na abertura da janela, quanto para a escrita dos dados, no fechamento da janela. 38. Qual a diferença do efeito produzido pelos programas abaixo? Qual deles é mais eficiente, assumindo que o computador tem mais de um processador? Programa A Thread[] threads = new Thread[10]; threads[i] = new Thread(new MeuRunnable()); threads[i].start(); threads[i].join(); Programa B Thread[] threads = new Thread[10]; threads[i] = new Thread(new MeuRunnable()); threads[i].start(); threads[i].join(); 39. Para que serve o modificador synchronized? Em que situações ele deve ser usado? Por que não usar em todos os métodos do programa? 40. Qual a diferença entre o método sleep() e o método join() da classe Thread?