Números de Fibonacci. f n = f n 1 + f n 2. A condição inicial é de que há um par no primeiro mês e dois pares no segundo mês: f 1 = 1, f 2 = 2

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

Download "Números de Fibonacci. f n = f n 1 + f n 2. A condição inicial é de que há um par no primeiro mês e dois pares no segundo mês: f 1 = 1, f 2 = 2"

Transcrição

1 Números de Fibonacci Leonardo Pisano Fibonacci nasceu por volta de 1170 e morreu por volta de 1250 em Pisa, atualmente pertencente à Itália. Durante sua vida ele viajou pela Europa e pelo Norte da África, escreveu diversos textos matemáticos que, entre outras coisas, introduziu a Europa à notação Hindu-Arábica para os números. No seu livro mais famoso, Liber Abaci, publicado em 1202, ele apresenta o seguinte problema: "Um homem coloca um par de coelhos em um lugar cercado de muros por todos os lados. Quantos pares de coelhos podem ser produzidos a partir desse par em um ano supondo que todo mês cada par gera um novo par que pode se reproduzir dois meses depois?" Hoje, a solução desse problema é conhecida como sequência de Fibonacci ou números de Fibonacci. Os números de Fibonacci são bem famosos entre os matemáticos, existe até mesmo uma Fibonacci Association que publica um jornal chamado Fibonacci Quarterly. Se Fibonacci não tivesse estabelecido um mês até que os coelhos recém nascidos se tornassem férteis, ele não teria uma sequência com seu nome. Os número de pares simplesmente dobraria a cada mês, de forma que, após n meses, haveriam 2 n pares de coelhos. Seja f n o número de pares de coelhos após n meses. Um fator chave é que o número de coelhos no fim de um mês é o número de coelhos no início do mês mais o número de coelhos nascidos dos pares maduros: f n = f n 1 + f n 2 A condição inicial é de que há um par no primeiro mês e dois pares no segundo mês: f 1 = 1, f 2 = 2 A seguinte função do MATLAB, armazenada em um arquivo chamado fibonacci.m produz um vetor conto os primeiros n números de Fibonacci.

2 24 experimentos com matlab function f = fibonacci(n) % FIBONACCI Fibonacci sequence % f = FIBONACCI(n) generates the first n Fibonacci numbers. f = zeros(n,1); f(1) = 1; f(2) = 2; for k = 3:n f(k) = f(k 1) + f(k 2); Com as condições iniciais supracitadas, a resposta para a questão original de Fibonacci, sobre o tamanho da população de coelhos após um ano é dada por: fibonacci(12) O comando produz uma sequência: Ou seja, a resposta é 233 pares de coelhos. A função fibonacci é um bom exemplo de como criar uma função no MATLAB. A primeira linha é function f = fibonacci(n) A primeira palavra da primeira linha diz que o arquivo fibonacci.m é uma função e não um script. O restante da primeira linha diz que essa função produz um resultado de saída, f, e recebe um argumento, n. O nome da função, especificado na primeira linha, não é utilizado, porque o MATLAB, porque o MATLAB procura pelo nome do arquivo.m onde a função está armazenada, de forma que é recomável que ambos os nomes sejam iguais; As duas linhas seguintes são comentários que são mostradas como ajuda quando você chama help. help fibonacci produz FIBONACCI Fibonacci sequence

3 números de fibonacci 25 f = FIBONACCI(n) generates the first n Fibonacci numbers. O nome da função aparece em letras maiúsculas porque, historicamente, o MATLAB foi case insensitive 3 porque rodava em terminais com apenas uma fonte. A linha seguinte f = zeros(n,1); 3 Uma linguagem case sensitive é uma linguagem que diferencia letras maiúsculas e minúsculas. Em uma linguagem case insensitive as funções fibonacci(n), FIBONACCI(n) ou FiBoNaCcI(n) são exatamente a mesma coisa. Cria uma matriz n 1 conto apenas zeros e a armazena em f. No MATLAB, uma matriz com apenas uma coluna é um vetor coluna e uma matriz com apenas uma linha é um vetor linha. As proximas duas linhas f(1) = 1; f(2) = 2; inserem as condições iniciais. ]As três linhas finais são um loop for que faz o trabalho de calcular a sequência: for k = 3:n f(k) = f(k 1) + f(k 2); Usualmente usamos espaços ou tabulação (Tab) para indentar o corpo de estruturas for e if. A função desenvolvida é similar ao que se faria em qualquer linguagem de programação. Ela produz um vetor, mas não utiliza nenhuma das operações em vetores e matrizes do MATLAB. A sequir está uma outra função fibonacci, fibnum.m, que retorna apenas o n-ésimo número de Fibonacci. function f = fibnum(n) % FIBNUM Fibonacci number. % FIBNUM(n) generates the nth Fibonacci number. if n <= 1 f = 1; else f = fibnum(n 1) + fibnum(n 2); O comando fibnum(12) produz ans = 233

4 26 experimentos com matlab A função fibnum é recursiva. O termo recursivo é usado tanto em matemática quanto em ciência da computação. Em matemática, a relação f n = f n 1 + f n 2 é uma relação recursiva. Em computação, uma função que chama ela mesma é uma função recursiva. Programas recursivos são elegantes, mas caros computacionalmente. Você pode medir p tempo utilizando tic e toc, tente fazer: tic, fibnum(24), toc Não tente fazer: tic, fibnum(50), toc Fibonacci encontra a Razão Áurea A Razão Áurea pode ser representada como um fração continuada infinita φ = Para verificar essa afirmação, suponha que não conhecemos o valor dessa fração. Seja x = Como podemos ver, o primeiro denominador é apenas uma cópia de x. Em outras palavras: Que, imediatamente, leva a: x = x x 2 x 1 = 0 que é a equação utilizada para definir φ. Podemos definir um script para gerar uma string com os primeiros n termos da fração da Razão Áurea: p = '1'; for k = 2:n p = ['1 + 1/(' p ')']; display(p)

5 números de fibonacci 27 Começamos com um valor 1, que corresponde a n = 1. Após isso, repetidamente tornamos a string atual o denominador de uma nova string. Para n = 7 temos: 1 + 1/(1 + 1/(1 + 1/(1 + 1/(1 + 1/(1 + 1/(1)))))) Seja φ n a fração continuada truncada em n temos. Podemos expressar φ n como a razão de dois inteiros φ n = p n q n Podemos calcular p n e q n utilizando o seguinte script: p = 1; q = 0; for k = 2:n t = p; p = p + q; q = t; Podemos comparar o resultado do script para n = 7 com o resultado da função fibonacci(7). O script gera uma fração 21/13 enquanto o resultado da função termina com 13 e 21. Isso não é só uma coincidência, a fração continuada é obtida pela repetição do seguinte comando: p = p + q; enquanto os números de Fibonacci são gerados por: f(k) = f(k 1) + f(k 2); De fato, a fração da Razão Áurea truncada em n termos pode ser representada como: φ n = f n f n 1 Quando temos ao infinito, a razão entre dois números de Fibonacci consecutivos te à Razão Áurea: f n lim n f n 1 Para testar, calcule 40 números de Fibonacci: n = 40; f = fibonacci(n); Então, compute as razões:

6 28 experimentos com matlab r = f(2:n)./f(1:n 1) Esse comando pega o vetor conto f(2) até f(n) e divide, elemento por elemento, pelo vetor conto f(1) até f(n-1). A saída termina com: Podemos notar que a população de coelhos, segundo Fibonacci, não dobra a cada mês, ela é multiplicada pela Razão Áurea a cada mês. Encontrando uma Expressão Analítica É possível encontrar uma solução fechada para a relação de recorrência dos números de Fibonacci. A chave é olhar pra soluções da seguinte forma: f n = cp n para certas constantes c e p, a relação f n = f n 1 + f n 2 se torna cp n = cp n 1 + cp n 2 Dividindo ambos os lados por cp n 2 temos: p 2 = p + 1 A solução dessa equação, já vista quando falamos da Razão Áurea, é φ e 1 φ; A solução geral pra essa recorrência é: f n = c 1 φ n + c 2 (1 φ) n As constantes c 1 e c 2 são determinadas a partir das condições iniciais: f 0 = c 1 + c 2 = 1, f 1 = c 1 φ + c 2 (1 φ) = 1. Resolvo esse sistema à mão temos: c 1 = φ 2φ 1

7 números de fibonacci 29 c 2 = (1 φ) 2φ 1 Inserindo o resultado na equação temos: f n = 1 2φ 1 (φn+1 (1 φ) n+1 ) O interessante dessa equação é que ela envolve potência e quocientes de números irracionais, mas gera como resultado números inteiros. Podemos verificar no MATLAB fazo: n = (1:40)'; f = (phi.^(n+1) (1 phi).^(n+1))/(2*phi 1) f = round(f) O operador.ˆ realiza uma operação de potenciação elemento por elemento; Não é necessário utilizar./ porque o denominador, (2*phi-1), é uma quantidade escalar. A função round converte números de ponto flutuante nos valores inteiros mais próximos 4. O resultado de f termina com: Teoricamente, o resultado deveria ser um número inteiro, porém devido a erros de aproximação o resultado precisa ser aproximado para o valor inteiro mais próximo. Exercícios Os exercícios devem ser enviados por em um documento pdf com o código utilizado em cada exercício e uma análise escrita de cada solução 1. Quais números de Fibonacci são pares? Porque? 2. Use a função isprime para descobrir quais dos 40 primeiros números de Fibonacci são primos. 3. O comando semilogy(fibonacci(18),' o') gera um gráfico logarítmico dos números de Fibonacci pelo seu índice. O gráfico é aproximadamente linear. Qual é o coeficiente angular da linha? 4. O quanto o tempo de execução de fibnum(n) depe do tempo de execução de fibnum(n-1) e fibnum(n-2)? Obtenha uma função

8 30 experimentos com matlab que estime o tempo de execução de fibnum(n). Estime o tempo de execução de fibnum(50). 5. O que acontece se os coelhos morrerem após seis meses? A sequência seria: d n = 0, n 0 d 1 = 1 d 2 = 1 e, para n > 2 temos: d n = d n 1 + d n 2 d n 7 (a) Crie uma versão modificada de fibonacci.m e fibnum.m para essa sequência. (b) Quantos pares de coelhos haverão após 12 meses? (c) Aproxime d n por δ n. Quanto vale δ? (d) Estime quanto tempo será gasto para calcular fibnum(50) para essa sequência modificada.

Iteração e Pontos Fixos

Iteração e Pontos Fixos Iteração e Pontos Fixos Iteração é um dos pontos chave da programação numérica. Iterar consiste em repetir uma mesma operação diversas vezes levando a uma aproximação cada vez melhor da solução exata.

Leia mais

NÚMEROS DE FIBONACCI E A MODELAGEM DE GENERALIZAÇÕES DA SEÇÃO ÁUREA

NÚMEROS DE FIBONACCI E A MODELAGEM DE GENERALIZAÇÕES DA SEÇÃO ÁUREA 385 NÚMEROS DE FIBONCI E A MODELAGEM DE GENERALIZAÇÕES DA SEÇÃO ÁUREA Larissa Prado de Figueiredo (Uni-FEF) Antônio Carlos da Siva Filho (Uni-FEF) INTRODUÇÃO Fibonacci nasceu na Itália, mas foi educado

Leia mais

Funções - Primeira Lista de Exercícios

Funções - Primeira Lista de Exercícios Funções - Primeira Lista de Exercícios Vers~ao de 0/03/00 Recomendações Não é necessário o uso de teoremas ou resultados complicados nas resoluções. Basta que você tente desenvolver suas idéias. Faltando

Leia mais

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB Aula 01 Introdução ao software MATLAB O MATLAB (Matrix Laboratory) é um ambiente de programação de alto desempenho voltado para a resolução de problemas expressos em notação matemática, projeto e simulação

Leia mais

PÓS-GRADUAÇÃO PRESENCIAL MARINGÁ

PÓS-GRADUAÇÃO PRESENCIAL MARINGÁ 02/09/2016 1 / 43 PRESENCIAL MARINGÁ Professor CURSOS 2016 Introdução aos Sistemas Elétricos de Potência Circuitos Trifásicos e Laboratório MatLab Gerador Síncrono Transformadores TOTAL DE CURSO 10 10

Leia mais

Capítulo 10 Estruturas de controle de fluxo. Introdução ao MATLAB p.1/21

Capítulo 10 Estruturas de controle de fluxo. Introdução ao MATLAB p.1/21 Capítulo 10 Estruturas de controle de fluxo Introdução ao MATLAB p.1/21 Controle de fluxo O MATLAB, como toda linguagem de programação, possui estruturas que permitem o controle do fluxo de execução de

Leia mais

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS DISCIPLINA: Lab. de Programação PROF: MSc. Flávio Barros PERÍODO: 2 DATA: Aluno (s): 01 ATIVIDADE / / Revisão de Conteúdo

Leia mais

Aula 05: - Recursão (parte 1)

Aula 05: - Recursão (parte 1) MCTA028 Programação Estruturada Aula 05: - Recursão (parte 1) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-20107 1 Recursão: Se você ainda não entendeu; Ver: "Recursão". Efeito Droste Anuncio

Leia mais

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial Programa de Educação Tutorial Mini curso básico Universidade Federal do Espírito Santo Departamento de Informática Gilberto A. S. Segundo Fábio Carmo Agenda Apresentação Vetores e matrizes em matlab Comandos

Leia mais

Recursão. Aula 1. Liana Duenha. Faculdade de Computação Universidade Federal de Mato Grosso do Sul

Recursão. Aula 1. Liana Duenha. Faculdade de Computação Universidade Federal de Mato Grosso do Sul Recursão Aula 1 Liana Duenha Faculdade de Computação Universidade Federal de Mato Grosso do Sul Algoritmos e Programação II, Análise de Sistemas, 2010 Martinez & Rubert (FACOM) Recursão APIIAS 1 / 25 Conteúdo

Leia mais

INE Fundamentos de Matemática Discreta para a Computação

INE Fundamentos de Matemática Discreta para a Computação INE5403 - Fundamentos de Matemática Discreta para a Computação ) Fundamentos.1) Conjuntos e Sub-conjuntos.) Números Inteiros.3) Funções.4) Seqüências e Somas.5) Crescimento de Funções Seqüências Uma seqüência

Leia mais

MATLAB Avançado. Melissa Weber Mendonça

MATLAB Avançado. Melissa Weber Mendonça MATLAB Avançado Melissa Weber Mendonça melissa.mendonca@ufsc.br O que é o MATLAB? Linguagem computacional de alto nível e um ambiente interativo para computação numérica, visualização e programação. Console:

Leia mais

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 4 a Lista de Exercícios Gabarito de algumas questões.

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 4 a Lista de Exercícios Gabarito de algumas questões. UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO MATEMÁTICA COMBINATÓRIA 4 a Lista de Exercícios Gabarito de algumas questões. Este gabarito foi feito direto no computador

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 04 Programa Recursivo e Máquinas Prof.ª Danielle Casillo Funções recursivas Alguma função é recursiva quando

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

Gauss-Seidel para Solução de Sistemas com Matrizes Banda Usando Armazenamento Especial

Gauss-Seidel para Solução de Sistemas com Matrizes Banda Usando Armazenamento Especial Universidade Federal do Espírito Santo Departamento de Informática Algoritmos Numéricos 2016/2 Profa. Claudine Badue Trabalho 1 Objetivos Gauss-Seidel para Solução de Sistemas com Matrizes Banda Usando

Leia mais

Desafios de Programação

Desafios de Programação Desafios de Programação 2018.1 Programação Dinâmica É um método de projeto de algoritmos que utiliza a memorização para melhorar a eficiência de um algoritmo. Método parecido com o de divisão e conquista

Leia mais

Funções - Terceira Lista de Exercícios

Funções - Terceira Lista de Exercícios Funções - Terceira Lista de Exercícios Módulo - Números Reais. Expresse cada número como decimal: a) 7 b) c) 9 0 5 5 e) 3 7 0 f) 4 g) 8 7 d) 7 8 h) 56 4. Expresse cada número decimal como uma fração na

Leia mais

Técnicas de análise de algoritmos

Técnicas de análise de algoritmos CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Técnicas de análise de algoritmos Algoritmos e Estruturas de Dados I Natália Batista https://sites.google.com/site/nataliacefetmg/ nataliabatista@decom.cefetmg.br

Leia mais

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

Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013 Lista 1 - PMR2300 Fabio G. Cozman 3 de abril de 2013 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u b l i c s t a t i c void

Leia mais

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2 Universidade Federal do Rio de Janeiro Instituto de Matemática / DCC Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação - 2003/2 Prof. A. C. G. Thomé, PhD thome@nce.ufrj.br Airam C. P.

Leia mais

Aula 05: - Recursão (parte 1)

Aula 05: - Recursão (parte 1) MCTA028 Programação Estruturada Aula 05: - Recursão (parte 1) Prof. João Henrique Kleinschmidt Material elaborado pelo prof. Jesús P. Mena-Chalco 3Q-20108 Recursão: Se você ainda não entendeu; Ver: "Recursão".

Leia mais

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior Informática no Ensino de Matemática Prof. José Carlos de Souza Junior http://www.unifal-mg.edu.br/matematica/?q=disc jc Aula 03 ATIVIDADE 01 (a) Sejam u = (a b)/(a + b), v = (b c)/(b + c) e w = (c a)/(c

Leia mais

Sistemas de Equações Lineares

Sistemas de Equações Lineares Capítulo 3 Sistemas de Equações Lineares Um sistema com n equações lineares pode ser escrito na forma : ou na forma matricial onde com a 1,1 x 1 + a 1,2 x 2 + + a x n = b 1 a 2,1 x 1 + a 2,2 x 2 + + a

Leia mais

Relações de recorrência

Relações de recorrência Relações de recorrência Sequências. Relações de recorrência. Equação caraterística. Relações de recorrência de 2ª ordem não homogéneas. Referência: Capítulo: 4 Discrete Mathematics with Graph Theory Edgar

Leia mais

BC1424 Algoritmos e Estruturas de Dados I Aula 03: Recursão / Recursividade

BC1424 Algoritmos e Estruturas de Dados I Aula 03: Recursão / Recursividade BC1424 Algoritmos e Estruturas de Dados I Aula 03: Recursão / Recursividade Prof. Jesús P. Mena-Chalco 1Q-2016 1 Sobre a Lista 01 2 Lista 01 Solve me first Simple Array Sum A Very Big Sum Diagonal Difference

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aulas 5 e 6 03/2014 Erros Aritmética no Computador A aritmética executada por uma calculadora ou computador é diferente daquela

Leia mais

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

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

Recursividade. Prof. Jesus José de Oliveira Neto

Recursividade. Prof. Jesus José de Oliveira Neto Recursividade Prof. Jesus José de Oliveira Neto Algoritmos podem ser definidos de duas formas: Forma iterativa ou não recursiva: utiliza laços de repetição (while, for, do/while) Forma recursiva: métodos

Leia mais

Estatística e Modelos Probabilísticos - COE241

Estatística e Modelos Probabilísticos - COE241 Estatística e Modelos Probabilísticos - COE241 Aula passada Análise da dados através de gráficos Introdução a Simulação Aula de hoje Introdução à simulação Geração de números aleatórios Lei dos Grandes

Leia mais

Estatística e Modelos Probabilísticos - COE241

Estatística e Modelos Probabilísticos - COE241 Estatística e Modelos Probabilísticos - COE241 Aula passada Análise da dados através de gráficos Introdução a Simulação Aula de hoje Introdução à simulação Geração de números aleatórios Lei dos Grandes

Leia mais

Introdução ao MATLAB. Parte 2

Introdução ao MATLAB. Parte 2 Introdução ao MATLAB Parte 2 5 Controle de fluxo 5.1 Scripts e functions Um script m-file consiste de uma série de comandos Matlab escritos em um arquivo com a extensão.m, sem argumentos de entrada ou

Leia mais

Algoritmo. Exemplo. Definição. Programação de Computadores Comparando Algoritmos. Alan de Freitas

Algoritmo. Exemplo. Definição. Programação de Computadores Comparando Algoritmos. Alan de Freitas Algoritmos Programação de Computadores Comparando Algoritmos Um algoritmo é um procedimento de passos para cálculos. Este procedimento é composto de instruções que definem uma função Até o momento, vimos

Leia mais

Quarto projeto computacional (data de entrega: 05/06/17)

Quarto projeto computacional (data de entrega: 05/06/17) Quarto projeto computacional (data de entrega: 05/06/17) 1. Escreva um programa em MATLAB (ou na sua linguagem favorita) que implemente numericamente o modelo de neurônio integra-e-dispara com vazamento

Leia mais

Introdução a Programação na Linguagem C.

Introdução a Programação na Linguagem C. Introdução a Programação na Linguagem C. Prof. Gemilson George E-mail: gemilson@geo.com.br Skype: gemilson_geo MSN: gemilsongeorge@gmail.com Facebook: facebook.com/gemilson Fone: (83)8880-2046 Blog: informaticageo.wordpress.com

Leia mais

INTRODUÇÃO À COMPUTAÇÃO - EPET006 -

INTRODUÇÃO À COMPUTAÇÃO - EPET006 - INTRODUÇÃO À COMPUTAÇÃO - EPET006 - Heleno Pontes Bezerra Neto - helenopontes@lccv.ufal.br Variáveis Compostas Homogêneas Unidimensionais 5. ESTRUTURAS DE DADOS Conceito Até então, tratamos os diversos

Leia mais

Valdex Santos. 09 de junho de 2011

Valdex Santos. 09 de junho de 2011 Progamação Algébrica em Matlab Valdex Santos Instituto Federal da Bahia 09 de junho de 2011 Sumário 1 Introdução 2 MATLAB como linguagem de programação 3 Funções Matemáticas 4 IF, FOR e WHILE 5 outras

Leia mais

Foi criado em 1990 por pesquisadores do INRIA e da ècole Nationale des Ponts et Chaussées (França), sendo gratuito e similar ao Matlab.

Foi criado em 1990 por pesquisadores do INRIA e da ècole Nationale des Ponts et Chaussées (França), sendo gratuito e similar ao Matlab. Foi criado em 1990 por pesquisadores do INRIA e da ècole Nationale des Ponts et Chaussées (França), sendo gratuito e similar ao Matlab. Página na internet: http://www.scilab.org Consiste também de um interpretador

Leia mais

Centro Federal de Educação Tecnológica de Minas Gerais Programa de Pós-Graduação em Modelagem Matemática e Computacional

Centro Federal de Educação Tecnológica de Minas Gerais Programa de Pós-Graduação em Modelagem Matemática e Computacional Centro Federal de Educação Tecnológica de Minas Gerais Programa de Pós-Graduação em Modelagem Matemática e Computacional Disciplina: Algoritmos e Estruturas de Dados Professor: Flávio Cardeal Lista de

Leia mais

Matemática Computacional

Matemática Computacional folha de exercícios 5 :: página 1/5 exercício 5.1. Defina a função f : R R, f(x) = 4x 4 3x 3 + 2x 2 + x. Calcule f(0), f( 1), f(4/3) e f(2.88923). exercício 5.2. Defina a função g : R R R, g(x, y) = x

Leia mais

OS NÚMEROS DE FIBONACCI

OS NÚMEROS DE FIBONACCI UNIVERSIDADE ESTADUAL DE CAMPINAS INSTITUTO DE MATEMÁTICA, ESTATÍSTICA E COMPUTAÇÃO CIENTÍFICA OS NÚMEROS DE FIBONACCI Disciplina: MA148 Fundamentos da Matemática Professor responsável: Fernando Eduardo

Leia mais

Mat.Semana. PC Sampaio Alex Amaral Rafael Jesus. (Roberta Teixeira)

Mat.Semana. PC Sampaio Alex Amaral Rafael Jesus. (Roberta Teixeira) 11 PC Sampaio Alex Amaral Rafael Jesus Semana (Roberta Teixeira) Este conteúdo pertence ao Descomplica. Está vedada a cópia ou a reprodução não autorizada previamente e por escrito. Todos os direitos reservados.

Leia mais

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Operações básicas + - / * ** ou pow(a,b) % = ==,!=, , = or, and, not Valor dos operadores 10/3 10.0/3 10/3.0 10%3

Leia mais

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica. lmax Rodrigues. lcaroline Pereira. lnayara Medeiros

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica. lmax Rodrigues. lcaroline Pereira. lnayara Medeiros Minicurso de MATLAB Programa de Educação Tutorial de Engenharia Elétrica lmax Rodrigues lcaroline Pereira lnayara Medeiros lementa da aula de hoje: - Álgebra linear; - Polinômios; - Operações com polinômios;

Leia mais

Introdução ao MATLAB. Parte II. Afonso Paiva ICMC-USP

Introdução ao MATLAB. Parte II. Afonso Paiva ICMC-USP Introdução ao MATLAB Parte II Afonso Paiva ICMC-USP Dado o sistema linear 1 2 3 x1 366 4 5 6. x = 804 2 7 8 0 x 3 351 A x= b Como encontrar a solução x no MATLAB? Sistemas lineares Através do cálculo explícito

Leia mais

Determinação de uma fórmula para calcular os termos de uma sequência de Fibonacci por meio de progressões geométricas e espaços vetoriais

Determinação de uma fórmula para calcular os termos de uma sequência de Fibonacci por meio de progressões geométricas e espaços vetoriais Determinação de uma fórmula para calcular os termos de uma sequência de Fibonacci por meio de progressões geométricas e espaços vetoriais Determination of a formula for calculating the terms of a Fibonacci

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Classes de Comportamento Assintótico Se f é uma função de complexidade para um algoritmo F, então

Leia mais

SISTEMA DECIMAL. No sistema decimal o símbolo 0 (zero) posicionado à direita implica em multiplicar a grandeza pela base, ou seja, por 10 (dez).

SISTEMA DECIMAL. No sistema decimal o símbolo 0 (zero) posicionado à direita implica em multiplicar a grandeza pela base, ou seja, por 10 (dez). SISTEMA DECIMAL 1. Classificação dos números decimais O sistema decimal é um sistema de numeração de posição que utiliza a base dez. Os dez algarismos indo-arábicos - 0 1 2 3 4 5 6 7 8 9 - servem para

Leia mais

Introdução à Ciência da Computação II. Recursão. Prof. Ricardo J. G. B. Campello

Introdução à Ciência da Computação II. Recursão. Prof. Ricardo J. G. B. Campello Introdução à Ciência da Computação II Recursão Prof. Ricardo J. G. B. Campello Agradecimentos Parte dos slides a seguir são adaptações dos originais em Pascal gentilmente cedidos pelo Prof. Rudinei Goularte

Leia mais

Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C.

Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C. Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C. Prof. Gemilson George E-mail: gemilson@geo.com.br Skype: gemilson_geo MSN: gemilsongeorge@gmail.com Facebook: gemilson Fone:

Leia mais

Fundamentos IV. Introdução a OCTAVE. Clarimar Coelho. Departamento de Computação. August 11, 2014

Fundamentos IV. Introdução a OCTAVE. Clarimar Coelho. Departamento de Computação. August 11, 2014 Fundamentos IV Introdução a OCTAVE Clarimar Coelho Departamento de Computação August 11, 2014 Clarimar, Departamento de Computação Aula 1, Introdução a OCTAVE 1/42 Introdução Computação matemática integrada

Leia mais

Universidade de São Paulo

Universidade de São Paulo Universidade de São Paulo Instituto de Ciências Matemáticas e Computação SCE5763 - Tipos e Estrutura de Dados - Luis Gustavo Nonato 2 a Lista de Exercícios 1. Seja A um array de inteiros. Escreva algoritmos

Leia mais

Matemática Discreta - 06

Matemática Discreta - 06 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 06 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano. CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano aratadano@utfpr.edu.br Aula 2 08/2014 Noções Básicas sobre Erros A resolução de problemas numericamente envolve várias fases que podem ser assim estruturadas:

Leia mais

Modelagem Computacional. Parte 2 2

Modelagem Computacional. Parte 2 2 Mestrado em Modelagem e Otimização - RC/UFG Modelagem Computacional Parte 2 2 Prof. Thiago Alves de Queiroz 2/2016 2 [Cap. 2 e 3] BURDEN, R. L.; FAIRES, J. D. Numerical Analysis (9th ed). Cengage Learning,

Leia mais

III Encontro de Educação, Ciência e Tecnologia

III Encontro de Educação, Ciência e Tecnologia Área de Publicação: Matemática TERMO GERAL DA SEQUÊNCIA DE FIBONACCI E OS INCRÍVEIS CARTÕES MÁGICOS MEIRA DE FREITAS, Otacilia 1 ; DORNELLAS DIAS, Leticia 2 ; CORDEIRO DE MORAIS FILHO, Daniel 3 1 Matemática

Leia mais

Estatística e Modelos Probabilísticos - COE241

Estatística e Modelos Probabilísticos - COE241 Estatística e Modelos Probabilísticos - COE241 Aula passada Somas aleatórias Aula de hoje Introdução à simulação Geração de números aleatórios Lei dos Grandes Números Simulação de Sistemas Discretos É

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Soluções do primeiro teste 13 de Novembro de 2004 9:00-10:30 Nota Número: 20 Nome: Turma: Escreva o seu número em todas as folhas do teste. O espaço das respostas deve ser limitado

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

Programação II RECURSÃO

Programação II RECURSÃO Programação II RECURSÃO Bruno Feijó Dept. de Informática, PUC-Rio Motivação Escher: Metamorphosis (1937) - Drawing Hands (1948) Relativity (1953) http://www.worldofescher.com/gallery/ Alguém diz: Esta

Leia mais

Instruções, dados e expressões

Instruções, dados e expressões Instruções, dados e expressões Marina Andretta ICMC-USP 1 de março de 2016 Marina Andretta (ICMC-USP) sme0230-ipc 1 de março de 2016 1 / 50 Dados Um computador manipula informações presentes em sua memória.

Leia mais

Exercícios: Arquivos

Exercícios: Arquivos Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Arquivos 1. Codifique, compile e execute um programa que: (a) crie/abra

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

Computação Científica com MATLAB. Melissa Weber Mendonça

Computação Científica com MATLAB. Melissa Weber Mendonça Computação Científica com MATLAB Melissa Weber Mendonça melissa.mendonca@ufsc.br Conteúdo Algoritmos: conceito; tipos de dados; scripts. Modo interativo do MATLAB: familiarização com o software; comandos

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

Interpolaça o Polinomial

Interpolaça o Polinomial Interpolaça o Polinomial Objetivo A interpolação polinomial tem por objetivo aproximar funções (tabeladas ou dadas por equações) por polinômios de grau até n. Isso tem como intuito facilitar o cálculo

Leia mais

Computação Científica com MATLAB. Melissa Weber Mendonça

Computação Científica com MATLAB. Melissa Weber Mendonça Computação Científica com MATLAB Melissa Weber Mendonça melissa.mendonca@ufsc.br Aula passada... Algoritmos: conceito; tipos de dados; scripts; Modo interativo do MATLAB: familiarização com o software;

Leia mais

Universidade Federal de Santa Maria Departamento de Matemática Curso de Verão Lista 2. Sequências de Números Reais

Universidade Federal de Santa Maria Departamento de Matemática Curso de Verão Lista 2. Sequências de Números Reais Universidade Federal de Santa Maria Departamento de Matemática Curso de Verão 0 Lista Sequências de Números Reais. Dê o termo geral de cada uma das seguintes sequências: a,, 3, 4,... b, 4, 9, 6,... c,,

Leia mais

Estatística e Modelos Probabilísticos - COE241

Estatística e Modelos Probabilísticos - COE241 Estatística e Modelos Probabilísticos - COE241 Aula passada Função Distribuição Condicional Calculando Probabilidades condicionando Esperança Condicional Aula de hoje Análise de Comandos de Programação

Leia mais

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia. 23 de Março de 2018

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia. 23 de Março de 2018 Relações de Recorrência Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia 23 de Março de 2018 Aula de hoje Nesta aula veremos Conceitos de Relações de Recorrência Resolução

Leia mais

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica 28/03/15. lmax Rodrigues. lcaroline Pereira.

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica 28/03/15. lmax Rodrigues. lcaroline Pereira. Minicurso de MATLAB Programa de Educação Tutorial de Engenharia Elétrica lmax Rodrigues lcaroline Pereira lnayara Medeiros Ementa do Curso Primeiros Passos no MATLAB Vetores e Matrizes Resolução de sistemas

Leia mais

ESTRUTURAS DE REPETIÇÃO - PARTE 2

ESTRUTURAS DE REPETIÇÃO - PARTE 2 AULA 16 ESTRUTURAS DE REPETIÇÃO - PARTE 2 16.1 A seqüência de Fibonacci Um problema parecido, mas ligeiramente mais complicado do que o do cálculo do fatorial (veja as notas da Aula 14), é o do cálculo

Leia mais

ALGORITMOS AVANÇADOS UNIDADE II Recursividade. Luiz Leão

ALGORITMOS AVANÇADOS UNIDADE II Recursividade. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 2.1 - Definições recursivas 2.2 - Como implementar recursividade 2.3 - Quando não usar recursividade 2.4 - Desenvolvendo algoritmos

Leia mais

Modelo Matemático simples

Modelo Matemático simples Modelo Matemático simples Um modelo matemático pode ser entendido como uma expressão ou função que traduz as propriedades de um sistema físico em termos matemáticos Os modelos podem ser representados por

Leia mais

Introdução ao Scilab 3.0 Parte 2

Introdução ao Scilab 3.0 Parte 2 Introdução ao Scilab 3.0 Parte 2 Paulo S. Motta Pires pmotta@dca.ufrn.br Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte NATAL - RN Paulo Motta (DCA-UFRN)

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos O que é um algoritmo? Sequência bem definida e finita de cálculos que, para um dado valor de entrada, retorna uma saída desejada/esperada. Na computação: Uma descrição de como

Leia mais

MATLAB. Que é MATLAB?

MATLAB. Que é MATLAB? MATLAB Que é MATLAB? MATLAB é o nome abreviado de MATrix LABoratory. MATLAB é um programa para realizar cálculos numéricos com vetores e matrizes. Como caso particular pode também trabalhar com números

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano. CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano aratadano@utfpr.edu.br Aula 2 Noções Básicas sobre Erros A resolução de problemas numericamente envolve várias fases que podem ser assim estruturadas:

Leia mais

Modelagem com relações de recorrência. Exemplo: Determinada população dobra a cada ano; população inicial = 5 a n = população depois de n anos

Modelagem com relações de recorrência. Exemplo: Determinada população dobra a cada ano; população inicial = 5 a n = população depois de n anos Relações de recorrência 8. RELAÇÕES DE RECORRÊNCIA Introdução a relações de recorrência Modelagem com relações de recorrência Solução de relações de recorrência Exemplos e aplicações Relações de recorrência

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Modelagem e Análise de Sistemas - COS767

Modelagem e Análise de Sistemas - COS767 Modelagem e Análise de Sistemas - COS767 Aula de hoje Introdução à simulação Geração de números aleatórios Lei dos Grandes Números Geração de variáveis aleatórias: método da transformada inversa Simulação

Leia mais

5. SEQUÊNCIAS E SOMAS

5. SEQUÊNCIAS E SOMAS Curso: Ciência da Computação Disciplina: Matemática Discreta 5. SEQUÊNCIAS E SOMAS Prof.: Marcelo Maraschin de Souza Marcelo.maraschin@ifsc.edu.br Sejam as sequências: 1. (36, 38, 40, 42,, 70); 2. (jan.,

Leia mais

É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser

É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser executado 1 Fazendo estimativas e simplificações... O número

Leia mais

Algoritmos e Programação. AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO

Algoritmos e Programação. AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO 1 Algoritmos e Programação AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO 2 Recursividade A recursão é o processo pelo qual passa um

Leia mais

Hashing: conceitos. Hashing

Hashing: conceitos. Hashing Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado

Leia mais

Problema: Números Racionais

Problema: Números Racionais Problemas (7 o Ano) 1 Problema: Números Racionais 1. Os números de Fibonacci podem ser definidos por recorrência em que cada termo, com exceção dos dois primeiros termos, é a soma dos dois termos que o

Leia mais

Breve Introdução à Programação em Scilab 6.0

Breve Introdução à Programação em Scilab 6.0 Universidade Federal do Paraná UFPR Departamento de Engenharia Química Breve Introdução à Programação em Scilab 6.0 Prof. Éliton Fontana 2018/2 2 Conteúdo 1 Conceitos Básicos 4 2 Operando Vetores e Matrizes

Leia mais

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 07 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação ARGUMENTOS POR LINHA DE COMANDO 2 Argumento por linha de comando Na

Leia mais

ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES I. Trabalho 1 (T1)

ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES I. Trabalho 1 (T1) ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES I Trabalho 1 (T1) Grupo de até três acadêmicos; Entregar os algoritmos escritos; Entregar as implementações dos algoritmos em arquivo organizados em uma pasta,

Leia mais

Tópicos avançados sobre funções (cont.)

Tópicos avançados sobre funções (cont.) Tópicos avançados sobre funções (cont.) Definição de function handle Utilização de function handles Funções anónimas Funções em que os argumentos são funções (function functions) Funções com número de

Leia mais

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem: Computação e Programação (2009/2010-1º Semestre) 1º Teste MEMec - LEAN (11/11/2009) DURAÇÃO: 1h30m RESOLUÇÃO Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha,

Leia mais

Universidade Estadual de Campinas

Universidade Estadual de Campinas Universidade Estadual de Campinas Nathalia Cristina Ribeiro Ra: 105480 Universidade Estadual de Campinas Fernando Torres 2 Sumário. Introdução 4 Biografia de Leonardo Fibonacci 5 O que é uma seqüência?

Leia mais

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos MCG114 Programação de Computadores I Profa. Ambiente de Programação, rastreamento e entrada de dados 1 2 Ambiente Python para Programação Ambiente Python para Programação Até agora... Comandos e funções

Leia mais

Cálculo Numérico BCC760

Cálculo Numérico BCC760 Cálculo Numérico BCC760 Resolução de Sistemas de Equações Lineares Simultâneas Departamento de Computação Página da disciplina http://www.decom.ufop.br/bcc760/ 1 Introdução! Definição Uma equação é dita

Leia mais

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

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Exercícios: Funções 1. Crie uma função que recebe como parâmetro um número

Leia mais

Tópicos de Matemática Elementar

Tópicos de Matemática Elementar Tópicos de Matemática Elementar 2 a série de exercícios 2004/05. A seguinte prova por indução parece correcta, mas para n = 6 o lado esquerdo é igual a 2 + 6 + 2 + 20 + 30 = 5 6, enquanto o direito é igual

Leia mais