Programação de Computadores II

Documentos relacionados
Avaliação e Desempenho Aula 1 - Simulação

Exercícios: Recursão

Raiz quadrada. Índice. Propriedades

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

A. Equações não lineares

CAP. II RESOLUÇÃO NUMÉRICA DE EQUAÇÕES NÃO LINEARES

Introdução a Ciência da Computação Sistemas Numéricos Conversão entre Bases PROFESSORA CINTIA CAETANO

SOLUÇÕES N item a) O maior dos quatro retângulos tem lados de medida 30 4 = 26 cm e 20 7 = 13 cm. Logo, sua área é 26 x 13= 338 cm 2.

Arte e Matemática. Série Matemática na Escola

Exercícios: comandos de repetição

Actividade de enriquecimento. Algoritmo da raiz quadrada

A Derivada. 1.0 Conceitos. 2.0 Técnicas de Diferenciação. 2.1 Técnicas Básicas. Derivada de f em relação a x:

Matemática Discreta. Leandro Colombi Resendo. Matemática Discreta Bacharel em Sistemas de Informações

PROVA DE MATEMÁTICA CONCURSO DE ADMISSÃO 2013/2014 1º ANO DO ENSINO MÉDIO

21- EXERCÍCIOS FUNÇÕES DO SEGUNDO GRAU

Expressões de sequencias

Capítulo 4. Retas e Planos. 4.1 A reta

Lista de Exercícios 5: Soluções Teoria dos Conjuntos

1. Escreva um programa em Pascal que leia três valores inteiros e mostre-os em ordem crescente. Utilize seleção encadeada.

O cilindro deitado. Eduardo Colli

Aula 6 Propagação de erros

Matemática para a Economia I - 1 a lista de exercícios Prof. - Juliana Coelho

3º Ano do Ensino Médio. Aula nº09 Prof. Paulo Henrique

Estruturas de Repetição

Exercícios: Comandos de Repetição

Aula 4 Função do 2º Grau

Prática. Exercícios didáticos ( I)

Prova Escrita de MATEMÁTICA A - 12o Ano a Fase

ÁLGEBRA. Aula 1 _ Função Polinomial do 2º Grau Professor Luciano Nóbrega. Maria Auxiliadora

2ª Lista de Exercícios

O Método do Lugar das Raízes Parte 2. Controle de Sistemas I Renato Dourado Maia (FACIT)

Programação Orientada a Objetos

Conteúdo. 1 Introdução. Histograma do 1o Sorteio da Nota Fiscal Paraná 152/15. 1º Sorteio Eletrônico da Nota Fiscal Paraná

AVALIAÇÃO DA APRENDIZAGEM EM PROCESSO. Matemática. 3ª Série do Ensino Médio Turma 2º bimestre de 2015 Data / / Escola Aluno

OBSERVAÇÕES: EXERCÍCIOS

CONTEÚDOS PARA A PROVA DE RECUPERAÇÃO SEMESTRAL AGOSTO / 2016 MATEMÁTICA

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

Prof. Michel Sadalla Filho

MATEMÁTICA (11º ano) Exercícios de Exames e Testes Intermédios Equações de retas e planos

Álgebra Linear I - Aula 20

Semana 7 Resolução de Sistemas Lineares

Polos Olímpicos de Treinamento. Aula 6. Curso de Combinatória - Nível 2. Jogos. 1. Simetria. Prof. Bruno Holanda

Introdução à Programação com Python

Questão 1. Questão 3. Questão 2. Resposta. Resposta. Resposta

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

a) 2 b) 3 c) 4 d) 5 e) 6

FUNÇÃO DO 2º GRAU PROF. LUIZ CARLOS MOREIRA SANTOS

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

AF Não-determinísticos Equivalência entre AFND e AFD

BC 0208 Fenômenos Mecânicos. Experimento 2 - Roteiro

PARTE 11 VETOR GRADIENTE:

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Conteúdo. 1 Introdução. Histograma do Quinto Sorteio da Nota Fiscal Paraná 065/16. Quinto Sorteio Eletrônico da Nota Fiscal Paraná

Polos Olímpicos de Treinamento. Aula 1. Curso de Teoria dos Números - Nível 3. Divisibilidade 1. Carlos Gustavo Moreira e Samuel Barbosa Feitosa

MATEMÁTICA II. Aula 12. 3º Bimestre. Determinantes Professor Luciano Nóbrega

GEOMETRIA ANALÍTICA II

UNICAMP ª Fase MATEMÁTICA BERNOULLI COLÉGIO E PRÉ-VESTIBULAR

Capítulo 4 Inferência Estatística

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Matemática Aplicada às Ciências Sociais

FUNÇÃO QUADRÁTICA. Resumo

Universidade dos Açores Curso de Especialização Tecnológica Gestão da Qualidade Matemática

Projeção ortográfica e perspectiva isométrica

Congruências Lineares

UNIVERSITÁRIO DE SINOP CURSO DE ENGENHARIA CIVIL

Jogos com números Colocando números

TECNÓLOGO EM CONSTRUÇÃO CIVIL. Aula 6 _ Função Polinomial do 2º Grau Professor Luciano Nóbrega

2. Qual dos gráficos abaixo corresponde à função y= x? a) y b) y c) y d) y

CURSO DE MATEMÁTICA BÁSICA PROGRAMA DE EDUCAÇÃO TUTORIAL CENTRO DE ENGENHARIA DA MOBILIDADE

Sendo o polinômio P(x), de grau quatro e divisível por Q(x) = x 3, o resto de sua divisão por D(x) = x 5 é

Exercícios: Vetores e Matrizes

Lista 4 Introdução à Programação Entregar até 07/05/2012

Aula de Hoje. Processamento Estatístico da Linguagem Natural. Decodificação. Decodificação. A treliça do algoritmo Viterbi

1 - RECORDANDO 2 - CENTRO NA ORIGEM 3 - EQUAÇÃO GERAL DA CIRCUNFERÊNCIA. Exercício Resolvido 2: Exercício Resolvido 1: Frente I

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Algoritmo e Pseudo-código

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.

Unidade 5. A letra como incógnita equações do segundo grau

Seqüências. George Darmiton da Cunha Cavalcanti CIn - UFPE

f (x) = a n x n + a n - 1 x n a 0 = 0 (a n > 0)

Gabarito de Matemática do 6º ano do E.F.

Lista de Exercícios - Programação I (Pascal/ Python)

Metodologias de Programação

Parte 05 - Técnicas de programação (mapas de Veitch-Karnaugh)

PROGRAMAÇÃO DE COMPUTADORES I - BCC Lista de Exercícios do Módulo 1 - Preparação para a Prova 1

FUNÇÕES MATEMÁTICAS NÚMERO : PI() SENO E COSSENO: SEN() E COS()

Introdução à Programação com Python

Aula 1 Variáveis aleatórias contínuas

O Jogo da Velha Dançarina

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Matemática Básica Intervalos

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação

Sumário 1. PROBLEMAS DE RACIOCÍNIO INTUITIVO ESPACIAL, NUMÉRICO E VERBAL PROBLEMAS DE ARGUMENTAÇÃO LÓGICA INTUITIVA...55

Relatório das Provas da 2ª. Fase - Vestibular 2016

Engrenagens IV. Para grandes problemas, grandes soluções. Cálculo para engrenagem cônica

Montadores e Compiladores

Transcrição:

Programação de Computadores II TCC 00.174 Profs.: Leandro A. F. Fernandes (A1) & Marcos Lage (B1) & Isabel Rosseti (C1) (Turma A1) www.ic.uff.br/~laffernandes (Turma B1) www.ic.uff.br/~mlage (Turma C1) www.ic.uff.br/~rosseti Conteúdo: Introdução ao Java (exercícios) Material elaborado pelos profs. Anselmo Montenegro e Marcos Lage com contribuições do prof. Leandro A. F. Fernandes Conversão de cores Diferentes sistemas são utilizados para representar cores. Por exemplo, o sistema mais comum para representação de cores em display LCD, câmeras digitais e páginas web conhecido como sistema RGB, especifica os níveis de vermelho(r), verde(g) e azul(b) em uma escala de 0 a 255. O sistema utilizado na publicação de livros e revistas, conhecido como CMYK, especificaosníveisdeciano,magenta,amareloepretoemum escala de 0.0 a 1.0. 10/09/2013 Programação de Computadores II 2 1

Conversão de cores Escreva um programa Java que receba três inteiros r, g e b representando um cor no sistema RGB e imprima os valores das componentes c, m, y, k correspondentes no sistema CMYK. Se r=g=b=0 então c=m=y=0 e k = 1, caso contrário utilize a fórmula abaixo: w max(r / 255, g /255,b /255); c (w (r / 255)) / w m (w (g / 255)) / w y (w (b /255))/w k 1 w 10/09/2013 Programação de Computadores II 3 Padrão de divisores EscrevaumprogramaJavaque receba um inteiro N e imprima um tabela NxN com um asterisco na linha i e coluna j se ou i divide j ou j divide i. 10/09/2013 Programação de Computadores II 4 2

Fatoração de Inteiros EscrevaumprogramaJavaque receba um inteiro N e imprima sua fatoração. (sequencia de inteiros primos que multiplicados iguala a N). Escreva umaversão maiseficiente do seu algoritmo. 10/09/2013 Programação de Computadores II 5 Fatoração de Inteiros EscrevaumprogramaJavaque receba um número inteiro N e gere todos os fatores primos de N. 10/09/2013 Programação de Computadores II 6 3

Cálculo de Raiz Quadrada Escreva um programa Java que ache a raiz quadrada de um número real c utilizando método de Newton Raphson. Sob certas condições, dada uma função f(x), o método de Newton Raphson é capaz de encontrar as raízes de uma equação f(x)=0. Algoritmo: 1. O método inicia com uma estimativa da raíz t 0 2. A partir de uma estimativa t i,computeumanovaestimativat i+1 onde t i é a interseção da linha tangente ao gráfico de f(x) no ponto (t i,f(t i )) com o eixo das abcissas. 10/09/2013 Programação de Computadores II 7 Cálculo de Raiz Quadrada t i f(t i+1 ) f(t i ) t i+1 t i f (t i ) f (t ) 0 i t i t i 1 f (t i )(t i t i 1 ) f (t i ) t i 1 t i f (t ) i f (t i ) 10/09/2013 Programação de Computadores II 8 4

Cálculo de Raiz Quadrada Computar a raiz de um número é equivalente a achar a raíz da função f(x)=x 2 c. Considere uma estimativa inicial t 0 =c. Se t i *t i c<eps;entãotomet i como raiz de c. 10/09/2013 Programação de Computadores II 9 Jogo de senhas EscrevaumprogramaemJavaque simule um jogo de senhas. Objetivo: descobrir a senha gerada aleatoriamente pelo computador. A cada rodada: o jogador tenta descobrir a senha e o computador retorna * para os dígitos que ainda não foram descobertos e o valor do digito nas posições corretas. Fim do jogo: Jogo continua até que a senha seja descoberta ou o numero máximo de jogadas seja atingido. Obs: As senhas são compostas por números inteiros de 0 ao numero de dígitos da senha. O número de tentativas é igual ao número de dígitos da senha. 10/09/2013 Programação de Computadores II 10 5

Jogo de dados Escreva um programa em Java que simule um jogo de dados. Lançamento inicial: Se o lançador tirar um 7 ou 11 no primeiro lançamento, vence o jogo. Se os dados somarem 2, 3 ou 12, o jogador perde o jogo. Qualquer outro número que saia no lançamento inicial (4, 5, 6, 8, 9, ou 10) se torna o seu Ponto. Os lançamentos continuam até que: OPonto sair antes de um 7, e assim o jogador vence. O 7 sair antes do Ponto, e assim o jogador perde. 10/09/2013 Programação de Computadores II 11 Picos de um terreno Escreva um programa em Java que calcule os picos de um terreno. Modelagem do terreno: Podemos representar um terreno computacionalmente através de uma matriz que armazena a altura dos NxN pontos de um reticulado. 10/09/2013 Programação de Computadores II 12 6

Matriz de Hadamard A Matriz de Hadamard é uma matriz quadrada cujas entradas são 1 ou 1 e as linhas são ortogonais entre si. Podemos construir uma matriz de Hadamard NxN, com N sendo potência de 2, da seguinte forma: Para N=1 M 1 = 1 Para N = 2 M 2 = 1 1 1 1 Para N = 2 k M 2k = M 2k 1 M 2k 1 M 2k 1 M 2k 1 10/09/2013 Programação de Computadores II 13 Sequencia de Símbolos Escreva um programa em Java que receba uma sequencia de letras da linha de comando formada por um conjunto de símbolos e gere as seguintes mensagens: Para uma letra a Soco. Para uma letra b Chute lateral. Para duas letras a s consecutivas Chute circular. Para uma letra a seguida de uma letra b imprime dragon punch. 10/09/2013 Programação de Computadores II 14 7

Sequência de Símbolos O problema pode ser resolvido através de um autômato finito determinístico, que é um modelo para definição de linguagens regulares composto de cinco elementos: <Σ,S,s o, δ, F>, onde: Σ éoalfabeto sobre o qual a linguagem é definida; S é um conjunto finito de estados não vazio; s o éoestado inicial, s o S; δ:s Σ S é a função de transição de estados; Féoconjuntodeestados finais F S. 10/09/2013 Programação de Computadores II 15 Sequência de Símbolos Um AFD é uma máquina reconhecedora de cadeias que pertencem a linguagem. Ele recebe uma cadeia e diz se ela pertence ou não a linguagem modelada. Ele possui um controle de estados S. O Controle Finito de Estados sempre coloca a máquina em um estado pertencente a S. 10/09/2013 Programação de Computadores II 16 8

Sequência de Símbolos A função F diz como a máquina deve mudar de estado, à medida em que os símbolos da cadeia são analisados. Após processar todos os símbolos e realizar as mudanças determinadas o AFD aceita ou não a cadeia. Uma cadeia é rejeitada quando o autômato para em um estado que não é final. Referência: Como construir um compilador utilizando ferramentas Java. (Márcio Delamaro novatec). 10/09/2013 Programação de Computadores II 17 Sequência de Símbolos a b b a Aceita Aceita Controle finito de estados Rejeita Controle finito de estados Rejeita 10/09/2013 Programação de Computadores II 18 9

Sequência de Símbolos Autômato finito determinístico para o problema da sequência de símbolos I s 0 a CH b a CC Sx a b Estado I CH SO Inicial CH CC DP Chute b SO DP SO CC Soco Chute circular DP Dragon Punch 10/09/2013 Programação de Computadores II 19 Caminhos Aleatórios sem Auto Interseção Suponha que você abandone seu cão no meio de uma grande cidade cujas ruas formam uma estrutura de reticulado. Considere que existamnruasna direção norte sulem nadireção leste oeste. Com o objetivo de escapar da cidade, o cão faz uma escolha aleatória de qual direção ir em cada iteração, mas sabe através do faro como evitar visitar um lugar previamente visitado. Apesar de tudo é possível que o cão fique perdido em um beco sem saída onde a próxima escolha obrigatoriamente leva a um lugar já percorrido. 10/09/2013 Programação de Computadores II 20 10

Caminhos Aleatórios sem Auto Interseção Escreva um programa Java que receba como parâmetros a largura e altura do reticulado e simule o caminho percorrido porumcãotvezes. O programa deve determinar o número de vezes em que o cão fica sem saída. 10/09/2013 Programação de Computadores II 21 11