Disciplina de Fundamentos da Programação

Tamanho: px
Começar a partir da página:

Download "Disciplina de Fundamentos da Programação"

Transcrição

1 Exercício Desao N o 2 O Y funciona! Disciplina de Fundamentos da Programação Nota: Este exercício foi desenvolvido para aqueles alunos que pretendem ir mais além. Não substitui de forma alguma os exercícios preparados para a cadeira. Não faz parte da avaliação. E caso o consiga resolver não pense que basta para passar à cadeira. Deverá ser realizado no seu tempo livre. Depois destes avisos, algo desanimadores, espero que continue com vontade de realizar o exercício. Posso dizer-lhe que depois de o realizar se sentirá muito melhor consigo mesmo porque pelo menos tenho a certeza que aprenderá alguma coisa... não será com certeza um dia perdido! Boa sorte! Qualquer esclarecimento, dúvida ou se pretender conrmar a sua solução contacte o Docente Eng o Paulo Jorge Matos pelo pocm@sat.inesc-id.pt. (Versão de 20 de Novembro de 2005). Contextualização Neste desao abordaremos um conceito conhecido como combinador Y. Para introduzir este conceito verique-se que o seguinte calcula, trivialmente, a função factorial: (dene factorial ( n (factorial (sub n)))))) Esta função calcula o factorial, correcto? Óptimo! Então suponha-se que deixamos de ter o (dene ). Surge um problema. Deixamos de poder referir-nos ao factorial no corpo do factorial. Então nesse caso retiramos a chamada recursiva. (dene factorial

2 ( n (naointeressa (sub n)))))) Mas surge um problema. O (dene ) não funciona! Então camos com algo assim: ( n (naointeressa (sub n))))) Assim a função deixou de ser recursiva. E pior, só funciona se lhe passarmos zero. Mas e então o que é que faz o naointeressa? Não interessa! Seja como for a nossa função não funciona para valores diferentes de zero. Se esta função só funciona para o zero, passa a ser chamada de factorial 0. E se quisermos calcular também o factorial de? ( n (factorial0 (sub n))))) Mas como o dene não funciona substituimos o factorial 0 pela sua denição. ( n ( ( n (naointeressa (sub n))))) (sub n))))) Ah, esta função já calcula o factorial de zero e o de. Mas não é suciente. Quero o de 2 também. 2

3 ( n ( ( n ( ( n (naointeressa (sub n))))) (sub n))))) (sub n))))) E se quiser agora o de 3 tenho de voltar a substituir a função que calcula um passo da recursão no naointeressa. Bom, isto não é muito agradável. Se pudesse denir uma função innita o problema estaria resolvido. Dado que não podemos teremos que resolver o problema de outra forma. Seja como for, olhando para a função actual que calcula o factorial 2 esta apresenta muitos padrões e repetições. Vamos abstrair... Voltemos ao factorial 0 ( n (factorial (sub n)))))) naointeressa) Tentemos denir factorial usando o mesmo estilo: ( n (factorial (sub n)))))) ( n (factorial (sub n)))))) 3

4 naointeressa)) E factorial 2 ( n (factorial (sub n)))))) ( n (factorial (sub n)))))) ( n (factorial (sub n)))))) naointeressa))) Mas anal estávamos a tentar abstrair mas acabamos com mais repetições. Para simpli- car esta função e remover as repetições de uma vez por todas criemos uma função que recebe o factorial e devolve uma função que se parece com o factorial. Chamemos-lhe cria-factorial porque é isso que ela faz, cria o procedimento factorial. Então usaremos este truque para criar o factorial 0. (cria-factorial naointeressa)) (lambda (factorial) ( n (factorial (sub n))))))) Então e o factorial (cria-factorial 4

5 (cria-factorial naointeressa))) (lambda (factorial) ( n (factorial (sub n))))))) E o factorial 2 (cria-factorial (cria-factorial (cria-factorial naointeressa)))) (lambda (factorial) ( n (factorial (sub n))))))) Bom, e agora camos com uma torre de cria-factorial. Não é agradável. Recursão é então uma torre innita de aplicações de cria-factorial. No entanto, não precisamos de uma torre innita. Para cada valor do factorial, utilizamos sempre um número nito de vezes de aplicações da função factorial, nunca sabemos à partida é de quantas precisamos. Podemos criar uma torre muito grande mas nunca será igual à função factorial a que estamos habituados pois existem sempre muitos valores para os quais não funciona. A partir do momento que tentamos aplicar a função naointeressa começamos a ter sarilhos, signicando isto que a torre não era grande o suciente para o valor de factorial que estamos a tentar calcular. Como podemos resolver este problema? Visto que não interessa a função que passamos para cria-factorial podemos passar-lhe o próprio cria-factorial. Ah, esta é a ideia certa! Estamos no bom caminho. E depois invocamos cria-factorial com naointeressa e o resultado disto em (sub n). Vejamos 5

6 ( n (cria-factorial (sub n))))))) Isto decerto que é factorial 0. Mas se aplicarmos cria-factorial uma vez mais obteremos factorial. ( n ((cria-factorial naointeressa) (sub n))))))) Se quisermos o factorial 2 podemos aplicar de novo o cria-factorial. Então e se continuarmos a passar o cria-factorial para si próprio? ( n ((cria-factorial cria-factorial) (sub n))))))) Este sim, este é o factorial. Acontece que já não tem aquela função que todos reconhecemos como sendo o factorial. Podemos extrair a auto-aplicação do cria-factorial e chamar-lhe factorial. Mas (cria-factorial cria-factorial) não é uma função, nem sequer é a função factorial porque devolve uma função. Mas não tem problema porque podemos criar um lambda à sua volta de modo a receber um número e a calcular o factorial desse número. ( n ((lambda (x) ((cria-factorial cria-factorial) x)) (sub n))))))) 6

7 Vamos retirar esta nova função para obter de volta a nossa função factorial. ( n (factorial (sub n)))))) (lambda (x) ((cria-factorial cria-factorial) x))))) Pensemos sobre isto. No fundo não zemos nada de mais. Apenas inserimos a aplicação...)) de uma nova função em que lhe passamos como argumento (lambda (x)...), ou seja, a nossa auto-aplicação do cria-factorial. Podemos então extrair agora a nossa função que se parece com o factorial e dar-lhe um nome dado que não depende em nada de cria-factorial. ((lambda (ft) (ft (lambda (x) ((cria-factorial cria-factorial) x)))))) (lambda (factorial) ( n (factorial (sub n))))))) Anal o que é que conseguimos obter? Conseguimos separar a função cria-factorial da função que calcula o factorial. Olhemos apenas para a função cria-factorial. (lambda (ft) 7

8 (ft (lambda (x) ((cria-factorial cria-factorial) x)))))) Esta função tem um nome??? SIM! É o combinador Y. Pelo menos assim é se o reescrevermos um pouco. (dene Y (lambda (ft) ((lambda (f ) (ft (lambda (x) ((f f ) x)))) (lambda (f ) (ft (lambda (x) ((f f ) x))))))) Então mas agora o (dene......) já funciona? Claro... Já sabemos o que é a recursão! E já sabemos o que é o Y! E já sabemos porque é que o Y funciona. Não sabem? Então leiam tudo de novo! E o (Y Y) também funciona! Já percebemos então como escrever uma função recursiva sem utilizar o dene. Passemos ao desao. 2. Desao O desao consiste em escrever um procedimento anónimo que resolva o problema das torres de Hanoi. É tudo! Divirta-se!!! Por uma questão de curiosidade, neste enunciado escrevi lambda 69 vezes... ou melhor, escrevi lambda 70 vezes... ou melhor, escrevi lambda 7 vezes... ou melhor, escrevi lambda 72 vezes... ou melhor, escrevi lambda 73 vezes... ou melhor, escrevi lambda 74 vezes... ou melhor, escrevi lambda 75 vezes... OK, JÁ SE PERCEBEU! 3. Referências A introdução para este desao é baseada no (Y Y) Works! por Matthias Felleisen e Daniel Friedman. Poderão ler também...and Again, and Again, and Again,... dos mesmos autores. outra leitura interesssnte é Y in Practical Programs (Extended Abstract) de Bruce McAdam. 8

CÁLCULO I. Estabelecer a relação entre continuidade e derivabilidade; Apresentar a derivada das funções elementares. f f(x + h) f(x) c c

CÁLCULO I. Estabelecer a relação entre continuidade e derivabilidade; Apresentar a derivada das funções elementares. f f(x + h) f(x) c c CÁLCULO I Prof. Marcos Diniz Prof. André Almeida Prof. Edilson Neri Júnior Aula n o 11: Derivada de uma função. Continuidade e Derivabilidade. Derivada das Funções Elementares. Objetivos da Aula Denir

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/lp Let é açúcar sintático Notem a semelhança no interpretador entre o código de let e o código de aplicar uma função

Leia mais

Relações de Recorrência

Relações de Recorrência Relações de Recorrência Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 1 / 102 Este material é preparado usando como referências

Leia mais

Processamento da Informação

Processamento da Informação Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Recursão 1 Recursão Indução Matemática Em bases matemáticas vocês aprenderam sobre indução matemática: Provamos

Leia mais

Fernando Silva DCC-FCUP. Estruturas de Dados

Fernando Silva DCC-FCUP. Estruturas de Dados 3. Recursividade, Bactracking e Dividir-para-Conquistar Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 3. Recursividade, Bactracking e Dividir-para-Conquistar Estruturas de Dados

Leia mais

Representação decimal dos números racionais

Representação decimal dos números racionais Representação decimal dos números racionais Alexandre Kirilov Elen Messias Linck 21 de março de 2018 1 Introdução Um número é racional se puder ser escrito na forma a/b, com a e b inteiros e b 0; esta

Leia mais

UNIVERSIDADE FEDERAL DO PARÁ BIBLIOTECA DE OBJETOS MATEMÁTICOS

UNIVERSIDADE FEDERAL DO PARÁ BIBLIOTECA DE OBJETOS MATEMÁTICOS UNIVERSIDADE FEDERAL DO PARÁ BIBLIOTECA DE OBJETOS MATEMÁTICOS - TEXTO: Torre de Hanói e Triângulo de Sierpinski AUTOR: Mayara Brito (estagiária da BOM) André Brito (estagiário da BOM) ORIENTADOR: Prof.

Leia mais

Indução Matemática. Profa. Sheila Morais de Almeida. junho DAINF-UTFPR-PG

Indução Matemática. Profa. Sheila Morais de Almeida. junho DAINF-UTFPR-PG Indução Matemática Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Indução Matemática junho - 2018 1 / 69 Este material é preparado usando como referências os

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/20 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2015.2 http://www.dcc.ufrj.br/~fabiom/lp Recursão mútua com pares Agora podemos definir o par de funções mutuamente recursivas: letrec pi = cons( if x < 1

Leia mais

AmigoPai. Matemática. Exercícios de Equação de 2 Grau

AmigoPai. Matemática. Exercícios de Equação de 2 Grau AmigoPai Matemática Exercícios de Equação de Grau 1-Mai-017 1 Equações de Grau 1. (Resolvido) Identifique os coeficientes da seguinte equação do segundo grau: 3x (x ) + 17 = 0 O primeiro passo é transformar

Leia mais

Na aula passada... Introdução à lógica Resolver problemas do code.org Dúvidas? Pergunta: Quem consegue explicar o que fizemos?

Na aula passada... Introdução à lógica Resolver problemas do code.org Dúvidas? Pergunta: Quem consegue explicar o que fizemos? Aula 2 - Lógica Avisos Facebook: Curtam a página no facebook: facebook.com/pet.codifique Grupo para os alunos do curso Dúvidas: Não deixem dúvidas passar Procurem os professores (pessoalmente, pelo facebook,

Leia mais

Programação Linear. Dual Simplex: Viabilidade Dual Método Dual Simplex

Programação Linear. Dual Simplex: Viabilidade Dual Método Dual Simplex Programação Linear Dual Simplex: Viabilidade Dual Viabilidade Dual Considere o par de problemas primal (P) dual (D). Agora já sabemos como encontrar a solução de um desses PPL a partir da solução do outro.

Leia mais

Redes - Como calcular sub-redes?

Redes - Como calcular sub-redes? Redes - Como calcular sub-redes? Date : 15 de Dezembro de 2010 Como dividir a rede 192.168.1.0/24 em várias sub - redes? O assunto que trago hoje tem vindo a ser "reclamado" por alguns dos nossos leitores

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/26 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

Encriptação de Mensagens

Encriptação de Mensagens Instituto Superior Técnico Fundamentos da Programação 2016/2017 Enunciado do 1 o Projecto Data de entrega: 4 de Novembro de 2016 às 23h59 Encriptação de Mensagens Pretende-se com este trabalho a implementação

Leia mais

de Potências e Produtos de Funções Trigonométricas

de Potências e Produtos de Funções Trigonométricas MÓDULO - AULA 0 Aula 0 Técnicas de Integração Integração de Potências e Produtos de Funções Trigonométricas Objetivo Aprender a integrar potências e produtos de funções trigonométricas. Introdução Apesar

Leia mais

CÁLCULO I. Apresentar e aplicar a Regra de L'Hospital.

CÁLCULO I. Apresentar e aplicar a Regra de L'Hospital. CÁLCULO I Prof. Edilson Neri Júnior Prof. André Almeida Aula n o : Limites Innitos e no Innito. Assíntotas. Regra de L'Hospital Objetivos da Aula Denir ite no innito e ites innitos; Apresentar alguns tipos

Leia mais

Representação decimal dos números racionais

Representação decimal dos números racionais Representação decimal dos números racionais Alexandre Kirilov Elen Messias Linck 4 de abril de 2017 1 Introdução Um número é racional se puder ser escrito na forma a/b, com a e b inteiros e b 0; esta é

Leia mais

Equações exponenciais

Equações exponenciais A UA UL LA Equações exponenciais Introdução Vamos apresentar, nesta aula, equações onde a incógnita aparece no expoente. São as equações exponenciais. Resolver uma equação é encontrar os valores da incógnita

Leia mais

Problema 5a by

Problema 5a by Problema 5a by fernandopaim@paim.pro.br Resolva o sistema linear por escalonamento S = x y z=1 x y z= 1 2x y 3z=2 Resolução Utilizaremos quatro métodos para ilustrar a resolução do sistema linear acima.

Leia mais

AULA 4: EQUIVALÊNCIA DE TAXAS

AULA 4: EQUIVALÊNCIA DE TAXAS MATEMÁTICA FINANCEIRA PROF. ELISSON DE ANDRADE Blog: www.profelisson.com.br AULA 4: EQUIVALÊNCIA DE TAXAS Exercícios resolvidos e comentados Proibida reprodução e/ou venda não autorizada. REVISÃO: COMO

Leia mais

ANÁLISE DE ALGORITMOS: PARTE 4

ANÁLISE DE ALGORITMOS: PARTE 4 ANÁLISE DE ALGORITMOS: PARTE 4 Prof. André Backes 2 Função recursiva Função que chama a si mesma durante a sua execução Exemplo: fatorial de um número N. Para N = 4 temos 4! = 4 * 3! 3! = 3 * 2! 2! = 2

Leia mais

10 maneiras de pesquisar no Google que poucos conhecem

10 maneiras de pesquisar no Google que poucos conhecem 10 maneiras de pesquisar no Google que poucos conhecem Date : 4 de Novembro de 2016 Numa era de gigantes da tecnologia, o Google como motor de busca é, sem dúvidas rei. Este motor de busca tornou-se uma

Leia mais

CÁLCULO I. 1 Aproximações Lineares. Objetivos da Aula. Aula n o 16: Aproximações Lineares e Diferenciais. Regra de L'Hôspital.

CÁLCULO I. 1 Aproximações Lineares. Objetivos da Aula. Aula n o 16: Aproximações Lineares e Diferenciais. Regra de L'Hôspital. CÁLCULO I Prof Marcos Diniz Prof André Almeida Prof Edilson Neri Júnior Prof Emerson Veiga Prof Tiago Coelho Aula n o 6: Aproimações Lineares e Diferenciais Regra de L'Hôspital Objetivos da Aula Denir

Leia mais

A derivada da função inversa

A derivada da função inversa A derivada da função inversa Sumário. Derivada da função inversa............... Funções trigonométricas inversas........... 0.3 Exercícios........................ 7.4 Textos Complementares................

Leia mais

# Estrutura de Dados # Aula 08 Recursão (conceito, utilização, exemplos) Prof. Leinylson Fontinele Pereira

# Estrutura de Dados # Aula 08 Recursão (conceito, utilização, exemplos) Prof. Leinylson Fontinele Pereira # Estrutura de Dados # Aula 08 Recursão (conceito, utilização, exemplos) Prof. Leinylson Fontinele Pereira Na aula anterior... Alocação Dinâmica de Memória Introdução 3 O que vamos aprender? Recursividade

Leia mais

04 Recursão SCC201/501 - Introdução à Ciência de Computação II

04 Recursão SCC201/501 - Introdução à Ciência de Computação II 04 Recursão SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir Ponti Jr. (ICMCUSP) 04Recursão

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin (daniel.martin@ufabc.edu.br) Aula 10 (Baseada nos slides do Prof. André Balan) Recursão Recursão Da wikipedia: A recursão é o processo pelo qual

Leia mais

SCC Capítulo 2 Recursão

SCC Capítulo 2 Recursão SCC-501 - Capítulo 2 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/27 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos

Leia mais

MC102 Aula 26. Instituto de Computação Unicamp. 17 de Novembro de 2016

MC102 Aula 26. Instituto de Computação Unicamp. 17 de Novembro de 2016 MC102 Aula 26 Recursão Instituto de Computação Unicamp 17 de Novembro de 2016 Roteiro 1 Recursão Indução 2 Recursão 3 Fatorial 4 O que acontece na memória 5 Recursão Iteração 6 Soma em um Vetor 7 Números

Leia mais

Funções I. Alan Anderson. 1 Denição, Intuição e Primeiro Exemplo

Funções I. Alan Anderson. 1 Denição, Intuição e Primeiro Exemplo Funções I Alan Anderson 30 de maio de 2016 1 Denição, Intuição e Primeiro Exemplo Começaremos com dois conjuntos não-vazios A e B. Intuitivamente, uma função f : A B é uma relação entre conjuntos de A

Leia mais

CÁLCULO I. 1 A Função Logarítmica Natural. Objetivos da Aula. Aula n o 22: A Função Logaritmo Natural. Denir a função f(x) = ln x;

CÁLCULO I. 1 A Função Logarítmica Natural. Objetivos da Aula. Aula n o 22: A Função Logaritmo Natural. Denir a função f(x) = ln x; CÁLCULO I Prof. Edilson Neri Júnior Prof. André Almeida Aula n o 22: A Função Logaritmo Natural Objetivos da Aula Denir a função f(x) = ln x; Calcular limites, derivadas e integral envolvendo a função

Leia mais

De Volta ao Planeta Terra

De Volta ao Planeta Terra De Volta ao Planeta Terra Equipe: Aniura Milanés Barrientos Carmen Rosa Giraldo Vergara Leandro Augusto Rodrigues Araújo Nora Olinda Cabrera Zúñiga Taciany da Silva Pereira Universidade Federal de Minas

Leia mais

Por exemplo, calcular 30% de Ora, 30% = = 0,3. Portanto, é só fazer a multiplicação ,3. O resultado é 975. Suponha que Osvaldo tem na cade

Por exemplo, calcular 30% de Ora, 30% = = 0,3. Portanto, é só fazer a multiplicação ,3. O resultado é 975. Suponha que Osvaldo tem na cade MATEMÁTICA FINANCEIRA AULA 01: PORCENTAGEM TÓPICO 02: CÁLCULO DE PORCENTAGEM Suponha que uma loja de tecidos pague 5% de comissão sobre o total de vendas. Se o vendedor Joaquim num determinado mês vendeu

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Primeiro Teste 21 de Abril de 2012 11:30 13:00 Nome: Número: Esta prova, individual e sem consulta, tem 5 páginas com 10 perguntas. A cotação de cada pergunta está assinalada

Leia mais

Material Teórico - Sistemas Lineares e Geometria Anaĺıtica. Sistemas com três variáveis - Parte 1. Terceiro Ano do Ensino Médio

Material Teórico - Sistemas Lineares e Geometria Anaĺıtica. Sistemas com três variáveis - Parte 1. Terceiro Ano do Ensino Médio Material Teórico - Sistemas Lineares e Geometria Anaĺıtica Sistemas com três variáveis - Parte 1 Terceiro Ano do Ensino Médio Autor: Prof Fabrício Siqueira Benevides Revisor: Prof Antonio Caminha M Neto

Leia mais

Programação Funcional Cálculo Lambda - Aula Nº 3

Programação Funcional Cálculo Lambda - Aula Nº 3 Programação Funcional Cálculo Lambda - Aula Nº 3 2.3. Ordem de Redução Se uma expressão não contém mais redexes, então a avaliação está completa. Um expressão nesta forma é dita estar na forma normal.

Leia mais

Programação I Aula 15 Definições recursivas

Programação I Aula 15 Definições recursivas Programação I Aula 15 Definições recursivas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 15 Definições recursivas 2018 1 / 30 Nesta aula 1 Definições recursivas 2 Exemplos

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Recursão Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Recursão Recursão 1 Recursão 2

Leia mais

Programação Dinâmica I SCC0210 Algoritmos Avançados (2/2011) Lucas Schmidt Cavalcante

Programação Dinâmica I SCC0210 Algoritmos Avançados (2/2011) Lucas Schmidt Cavalcante Programação Dinâmica I SCC0210 Algoritmos Avançados (2/2011) Lucas Schmidt Cavalcante Introdução Soma máxima de uma subsequência contígua Problema do troco Quantidade de formas de dar troco Problema da

Leia mais

A. Talvez esta matemática não esteja a fazer-nos bem. Estávamos tão contentes ontem, mas...

A. Talvez esta matemática não esteja a fazer-nos bem. Estávamos tão contentes ontem, mas... ," A. Já acordaste? B. Que noite horrível! Não parei de me mexer e virar, a minha cabeça andou sempre às voltas. Sonhei que fazia deduções lógicas, mas quando acordei verifiquei que se tratava só de disparates.

Leia mais

Aulas 5 e 6 / 28 e 30 de março

Aulas 5 e 6 / 28 e 30 de março Aulas 5 e / 8 e 30 de março 1 Notação de soma e produto Como expressar a seguinte soma de uma maneira mais concisa? 1 + + 3 3 + + 10? Note que as parcelas são semelhantes, e que a única coisa que varia

Leia mais

Resolvendo sistemas. Nas aulas anteriores aprendemos a resolver

Resolvendo sistemas. Nas aulas anteriores aprendemos a resolver A UA UL LA Resolvendo sistemas Introdução Nas aulas anteriores aprendemos a resolver equações de 1º grau. Cada equação tinha uma incógnita, em geral representada pela letra x. Vimos também que qualquer

Leia mais

Análise Complexa e Equações Diferenciais Guia 6 João Pedro Boavida. 19 a 28 de Outubro

Análise Complexa e Equações Diferenciais Guia 6 João Pedro Boavida. 19 a 28 de Outubro 19 a 28 de Outubro Nestas teóricas, estamos a falar das últimas ideias de análise complexa. Veremos algumas aplicações do teorema dos resíduos e algumas propriedades das funções holomorfas. No livro, falta-vos

Leia mais

Programação imperativa

Programação imperativa Capítulo 8 Programação imperativa 8.1 Exercícios de revisão 1. Distinga entre programação imperativa e programação funcional. 2. Explique a necessidade da introdução do operador de atribuição. 3. Diga

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Fabrício Olivetti de França 14 de Junho de 2018 1 λ-cálculo 2 Computabilidade Computabilidade é uma área de estudo central da Ciência da Computação. Ela estuda a possibilidade

Leia mais

Recursão. Dados recursivos

Recursão. Dados recursivos Vimos nas aulas passadas o que é recursão: resolução de um problema usando a solução de um problema semelhante (geralmente de menor dimensão); Um fractal é uma figura que tem estruturas semelhantes a si

Leia mais

Informática para Ciências e Engenharias 2013/14. Teórica 7

Informática para Ciências e Engenharias 2013/14. Teórica 7 Informática para Ciências e Engenharias 2013/14 Teórica 7 Na aula de hoje... Controlo de execução ciclos condicionais while end Exemplos raiz quadrada histograma fórmula química while while e matrizes

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Segundo Teste 10 de Janeiro de 2014 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 8 páginas com 12 perguntas. A cotação de cada pergunta está assinalada

Leia mais

Introdução à Lógica de Programação

Introdução à Lógica de Programação Introdução à Lógica de Programação Não estamos aqui para sobreviver e sim para explorar a oportunidade de vencer adquirindo o saber! (Autor Desconhecido) A lógica é a arte de pensar correctamente e, visto

Leia mais

Processador de texto - funcionalidades avançadas (PTFA)

Processador de texto - funcionalidades avançadas (PTFA) Processador de texto - funcionalidades avançadas (PTFA) Estilos e Índice 1 Estilos Em vez de utilizar formatação direta, utilize estilos para formatar o documento Dessa forma, poderá aplicar um conjunto

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/lp Ambientes Substituição é uma semântica inspirada na forma como calculamos expressões algébricas, mas vimos que ela

Leia mais

PROGRAMAÇÃO PARA DESIGNERS - PENSAR COMO O INIMIGO

PROGRAMAÇÃO PARA DESIGNERS - PENSAR COMO O INIMIGO PROGRAMAÇÃO PARA DESIGNERS - PENSAR COMO O INIMIGO Introdução "Para derrotar o inimigo é preciso pensar como ele" Actionscripting na perspectiva de um designer não é muito fácil porque vê-em o mundo em

Leia mais

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

Introdução à Ciência da Computação Disciplina: Introdução à Ciência da Computação Disciplina: 113913 Prof. Edison Ishikawa Python 3.0 Aula 5 O Caminho do Programa l l l l l l l l l Sumário Dicionários Operações dos Dicionários Métodos dos Dicionários

Leia mais

Conceitos Básicos INTRODUÇÃO 1 VETORES 1.1 REPRESENTAÇÃO DOS VETORES

Conceitos Básicos INTRODUÇÃO 1 VETORES 1.1 REPRESENTAÇÃO DOS VETORES Conceitos Básicos INTRODUÇÃO Esse material foi criado por um motivo: o curso de álgebra linear II da UFRJ parte do princípio que o aluno de Engenharia da UFRJ que faz a disciplina já conhece alguns conceitos

Leia mais

Recursão. Prof. Cristiano André da Costa. [Versão de Março de 2000] Definição

Recursão. Prof. Cristiano André da Costa. [Versão de Março de 2000] Definição Recursão [Versão de Março de 2000] Definição Um objeto é dito recursivo se ele consistir parcialmente ou for definido em termos de si próprio Recursões ocorrem na matemática, informática, no dia a dia...

Leia mais

Indução Matemática. Matemática Discreta. Indução Matemática. Mayara Midori Omai e Sheila Morais de Almeida UTFPR-PG. Abril

Indução Matemática. Matemática Discreta. Indução Matemática. Mayara Midori Omai e Sheila Morais de Almeida UTFPR-PG. Abril Matemática Discreta Indução Matemática Mayara Midori Omai e Sheila Morais de Almeida UTFPR-PG Abril - 2017 Indução Matemática Se desejamos provar que A(n) B(n) é verdade para números inteiros k maiores

Leia mais

Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho

Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho Departamento de Ciências e Tecnologias da Informação ISCTE-IUL - Instituto Universitário de Lisboa Dezembro de 2016 1 Notas sobre

Leia mais

EAD DETERMINANTES CONCEITO:

EAD DETERMINANTES CONCEITO: 1 EAD DETERMINANTES CONCEITO: Dada uma Matriz Quadrada de ordem n, dizemos que Determinante de ordem n é um número associado a essa Matriz conforme determinadas leis. Representamos o Determinante de uma

Leia mais

Distâncias Mínimas. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/ / 27

Distâncias Mínimas. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/ / 27 Distâncias Mínimas Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/2015 1 / 27 Distâncias Mínimas Uma das aplicações mais típicas em grafos é o cálculo de distâncias.

Leia mais

Análise Complexa e Equações Diferenciais Guia 9 João Pedro Boavida. 23 a 30 de Novembro

Análise Complexa e Equações Diferenciais Guia 9 João Pedro Boavida. 23 a 30 de Novembro Análise Complexa e Equações Diferenciais Guia 9 24 de Novembro de 2 Este guia explica vários exemplos de determinação de formas de Jordan e cálculo de exponenciais de matrizes, bem como alguns outros exemplos

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Algoritmos Divisão e Conquista Construção incremental Resolver o problema para um sub-conjunto dos elementos de entrada; Então, adicionar

Leia mais

Aula prática 5. Funções Recursivas

Aula prática 5. Funções Recursivas Programação Funcional UFOP DECOM 2014.1 Aula prática 5 Funções Recursivas Resumo Definições recursivas são comuns na programação funcional. Nesta aula vamos aprender a definir funções recursivas. Sumário

Leia mais

1.1 DERIVADA COMO RETA TANGENTE E TAXA DE VARIAÇÃO

1.1 DERIVADA COMO RETA TANGENTE E TAXA DE VARIAÇÃO 1 PLANO DE AULA II - DERIVADAS Essa aula tem como principal objetivo, introduzir o conceito de derivadas, de uma maneira rápida, para que, quando o professor fazer uso dos softwares na resolução de problemas

Leia mais

MC102 Aula 27 Recursão II

MC102 Aula 27 Recursão II MC102 Aula 27 Recursão II Instituto de Computação Unicamp 17 de Novembro de 2016 Roteiro 1 Recursão Relembrando 2 Cálculo de Potências 3 Torres de Hanoi 4 Recursão e Backtracking 5 Exercício (Instituto

Leia mais

1 Introdução e Conceitos básicos

1 Introdução e Conceitos básicos 1 Introdução e Conceitos básicos Aula 01 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Definições 1.1.1. Por que e como usar o computador à nosso favor? 1.1.2. Linguagem humana x linguagem máquina

Leia mais

Máximos e mínimos em intervalos fechados

Máximos e mínimos em intervalos fechados Universidade de Brasília Departamento de Matemática Cálculo 1 Máximos e mínimos em intervalos fechados No texto em que aprendemos a Regra da Cadeia, fomos confrontados com o seguinte problema: a partir

Leia mais

Informática para Ciências e Engenharias 2014/15. Teórica 7

Informática para Ciências e Engenharias 2014/15. Teórica 7 Informática para Ciências e Engenharias 2014/15 Teórica 7 Na aula de hoje... Controlo de execução ciclos condicionais while end Exemplos raiz quadrada histograma fórmula química while while e matrizes

Leia mais

Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 2) Algoritmos recursivos Indução matemática, recursão, recorrências Indução matemática Uma

Leia mais

Compiladores - Gramáticas

Compiladores - Gramáticas Compiladores - Gramáticas Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2015.2 http://www.dcc.ufrj.br/~fabiom/lp Ambientes Substituição é uma semântica inspirada na forma como calculamos expressões algébricas, mas vimos que ela

Leia mais

Resolução do efólio A

Resolução do efólio A Resolução do efólio A Álgebra Linear I Código: 21002 I. Questões de escolha múltipla. Em cada questão de escolha múltipla apenas uma das armações a), b), c), d) é verdadeira. Indique-a marcando ˆ no quadrado

Leia mais

Projeto de Escalonamento Alocação de médicos

Projeto de Escalonamento Alocação de médicos Projeto de Escalonamento Alocação de médicos Atol Fortin de Oliveira 15 de dezembro de 2009 1 Sumário 1 Introdução 3 2 O Problema 4 2.1 Especicação do problema................... 4 2.2 Resumo das variáveis

Leia mais

Equações Diferenciais de Segunda Ordem. Copyright Cengage Learning. Todos os direitos reservados.

Equações Diferenciais de Segunda Ordem. Copyright Cengage Learning. Todos os direitos reservados. 17 Equações Diferenciais de Segunda Ordem Copyright Cengage Learning. Todos os direitos reservados. 17.2 Equações Lineares Não Homogêneas Copyright Cengage Learning. Todos os direitos reservados. Equações

Leia mais

Compiladores - Gramáticas

Compiladores - Gramáticas Compiladores - Gramáticas Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa

Leia mais

TEOREMA DE PITÁGORAS AULA ESCRITA

TEOREMA DE PITÁGORAS AULA ESCRITA TEOREMA DE PITÁGORAS AULA ESCRITA 1. Introdução O Teorema de Pitágoras é uma ferramenta importante na matemática. Ele permite calcular a medida de alguma coisa que não conseguimos com o uso de trenas ou

Leia mais

Marina Andretta. 10 de outubro de Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis.

Marina Andretta. 10 de outubro de Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Solução básica viável inicial Marina Andretta ICMC-USP 10 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211

Leia mais

Melhor caminho entre duas estações de metro

Melhor caminho entre duas estações de metro Melhor caminho entre duas estações de metro Concepção e Análise de Algoritmos Turma Nuno Machado Matos Tiago Daniel Sá Cunha Data: 11 de Junho de 2010 Introdução No âmbito da realização do projecto da

Leia mais

Fundamentos da Eletrostática Aula 13 Descontinuidades no Campo Elétrico & Método das Imagens

Fundamentos da Eletrostática Aula 13 Descontinuidades no Campo Elétrico & Método das Imagens Fundamentos da Eletrostática Aula 3 Descontinuidades no Campo Elétrico & Método das Imagens Prof. Alex G. Dias Prof. Alysson F. Ferrari Descontinuidades no campo elétrico Uma observação a ser feita uando

Leia mais

Exemplo 1. Consideremos a equação diferencial. y = x 2 + y 2. (1)

Exemplo 1. Consideremos a equação diferencial. y = x 2 + y 2. (1) Seção : Interpretação Geométrica Campo de Direções Definição. Dizemos que uma EDO de a ordem está em forma normal se y está isolado, ou seja, se a equação for da forma y = F(, y), onde F(, y) é uma função

Leia mais

NÚCLEO EDUCAFRO KALUNGA DISCIPLINA DE MATEMÁTICA PROFESSOR DEREK PAIVA

NÚCLEO EDUCAFRO KALUNGA DISCIPLINA DE MATEMÁTICA PROFESSOR DEREK PAIVA NÚCLEO EDUCAFRO KALUNGA DISCIPLINA DE MATEMÁTICA PROFESSOR DEREK PAIVA NOTAS DE AULA: REPRESENTAÇÕES DECIMAIS A representação decimal é a forma como escrevemos um número em uma única base, e como essa

Leia mais

Melhores momentos AULA 3. Algoritmos p.148/188

Melhores momentos AULA 3. Algoritmos p.148/188 Melhores momentos AULA 3 Algoritmos p.148/188 Análise da intercalação Problema: Dados e crescentes, rearranjar de modo que ele fique em ordem crescente. Entra: Sai: Algoritmos p.149/188 Algoritmos p.150/188

Leia mais

Principais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO

Principais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO Principais paradigmas de programação Programação imperativa Programação funcional Programação lógica Programação OO Programação Imperativa É o paradigma mais usado. Programas são definidos através de sequências

Leia mais

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE Recibo do Exame de 1ª Época de Introdução à Programação (IGE e ETI), 2003/02/25 1º semestre de 2002/2003, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Exame de 1ª Época

Leia mais

puras um ou mais apenas mesmos

puras um ou mais apenas mesmos Funções Relembrando um dos objetivos do paradigma de programação funcional: Escrever funções puras Na prática, uma função pura apresenta as seguintes características: Possui um ou mais parâmetros; Realiza

Leia mais

Recorrências Lineares de Primeira Ordem

Recorrências Lineares de Primeira Ordem 7 Recorrências Lineares de Primeira Ordem Sumário 7.1 Introdução....................... 2 7.2 Sequências Denidas Recursivamente........ 3 7.3 Exercícios Recomendados............... 4 7.4 Exercícios Suplementares...............

Leia mais

Limites. Slides de apoio sobre Limites. Prof. Ronaldo Carlotto Batista. 7 de outubro de 2013

Limites. Slides de apoio sobre Limites. Prof. Ronaldo Carlotto Batista. 7 de outubro de 2013 Cálculo 1 ECT1113 Slides de apoio sobre Limites Prof. Ronaldo Carlotto Batista 7 de outubro de 2013 AVISO IMPORTANTE Estes slides foram criados como material de apoio às aulas e não devem ser utilizados

Leia mais

USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio

USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS Bruno Maffeo Departamento de Informática PUC-Rio MÉTODO INDUTIVO O método indutivo para resolver problemas aqui empregado inspira-se na formulação mais

Leia mais

Material Teórico - Módulo Equações do Segundo Grau. Equações de Segundo Grau: outros resultados importantes. Nono Ano do Ensino Funcamental

Material Teórico - Módulo Equações do Segundo Grau. Equações de Segundo Grau: outros resultados importantes. Nono Ano do Ensino Funcamental Material Teórico - Módulo Equações do Segundo Grau Equações de Segundo Grau: outros resultados importantes Nono Ano do Ensino Funcamental Autor: Prof. Fabrício Siqueira Benevides Revisor: Prof. Antonio

Leia mais

Programação I Aula 15 Definições recursivas Pedro Vasconcelos DCC/FCUP

Programação I Aula 15 Definições recursivas Pedro Vasconcelos DCC/FCUP Programação I Aula 15 Definições recursivas DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Definições recursivas 2 Exemplos Factorial Floco de neve de Koch Torre de Hanoi DCC/FCUP 2019 2/ 30 Recursividade Uma

Leia mais

Axiomas de corpo ordenado

Axiomas de corpo ordenado Axiomas de corpo ordenado 2 a lista de exercícios Análise real A abordagem axiomática dos números reais previne erros que a intuição pode ocasionar e torna mais rigoroso o processo de demonstração matemática,

Leia mais

Geometria Analítica - Sistemas de Coordenadas no Plano

Geometria Analítica - Sistemas de Coordenadas no Plano Geometria Analítica - Sistemas de Coordenadas no Plano Cleide Martins DMat - UFPE Turmas E1 e E3 Cleide Martins (DMat - UFPE) Retas e Elipses Turmas E1 e E3 1 / 1 Para denir um sistema de coordenadas no

Leia mais

N. A. Almeida. Sudokus

N. A. Almeida. Sudokus N. A. Almeida Sudokus SUDOKU FINAL.indd 08-0-009 :7:33 Título: Sudokus Autor: Nelson Alexandre Almeida Capa: Nelson Alexandre Almeida Editor: Roma Editora Av. de Roma,129-r/c Esq. 1700-346 LISBOA Tel.

Leia mais

CÁLCULO I. 1 Velocidade Instantânea. Objetivos da Aula. Aula n o 04: Limites e Continuidade. Denir limite de funções; Calcular o limite de uma função;

CÁLCULO I. 1 Velocidade Instantânea. Objetivos da Aula. Aula n o 04: Limites e Continuidade. Denir limite de funções; Calcular o limite de uma função; CÁLCULO I Prof. Edilson Neri Júnior Prof. André Almeida Aula n o 04: Limites e Continuidade Objetivos da Aula Denir ite de funções; Calcular o ite de uma função; Utilizar as propriedades operatórias do

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Aula 11 Collections Professores: Elaine Araújo/ Rhavy Maia Baseado no material de aula do professor Frederico Costa Guedes Pereira Introdução Arrays podem dar trabalho...

Leia mais

O mais leve e o mais pesado Algoritmos de Ordenação

O mais leve e o mais pesado Algoritmos de Ordenação Atividade 7 O mais leve e o mais pesado Algoritmos de Ordenação Sumário Os computadores são muitas vezes utilizados para colocar listas em algum tipo de ordem, por exemplo, nomes em ordem alfabética, compromissos

Leia mais