Este relatório apresenta os resultados de um trabalho prático de cálculo numérico utilizando o método de interpolação polinomial de diferenças divididas para estimar o tempo de ordenação de 95.000 elementos usando o algoritmo BubbleSort. O polinômio interpolador foi calculado e aplicado para estimar o tempo em 109 segundos.
Cálculo Numérico: Integração Numérica com Bubble SortJohnnatan Messias
Estimativa do tempo médio de execução do algoritmo de ordenação interna bubble sort através de métodos numéricos: Integração numérica e ainda o teorema do valor médio.
Cálculo Numérico: Integração Numérica com Bubble SortJohnnatan Messias
Estimativa do tempo médio de execução do algoritmo de ordenação interna bubble sort através de métodos numéricos: Integração numérica e ainda o teorema do valor médio.
The Computer Science solves a lot of daily problems in our lifes, one of them is search problems. These problems sometimes are so hard to find a good solution because is necessary study hard to comprehend the problem, modeling it and after this propose a solution. In this homework, my goal is define and explain the differ- ences between the algorithms DFS - Depth-First Search and Backtrancking. Firstly, I will introduce these algorithms in the section 2 and 3 to DFS and Backtracking respectively. In the section 4 I will show the differences between them. Finally, the conclusion in the section 5.
This paper aims to make students become familiar with the UNIX environment, developing programming skills in C, to increase their exposure to a shell functionality and put into practice concepts of management processes.
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...Johnnatan Messias
Tornar voos não tripulados autônomos sem dúvida capacitará novas oportunidades de desenvolvimento científico. Os drones podem ser utilizados em serviços militares como, por exemplo, em combates ou ainda bem como para missões de resgate, pesquisa aérea, supervisão e inspeção de um território, atraindo bastante atenção dos veículos de comunicação como, por exemplo, emissoras de televisão, rádio, jornais e internet. O objetivo desse projeto é saber se é possível tornar voos autônomos viáveis no drone AR.Drone 2.0 bem como a compreensão sobre o seu funcionamento. Para isso será necessário a implementação de um programa de controle para voos autônomos. Esta realização requer a aquisição de dados durante o voo, os quais são obtidos através de sensores que utilizam Arduino. A comunicação do Arduino com o drone é necessária para a inclusão de novos sensores e a utilização destes pelo Ar.Drone é realizada mediante o framework Node.js. Cada botão do controle remoto possui um comando específico, podendo ser com o objetivo de o próprio usuário criar missões ou até mesmo executar algumas missões anteriormente implementadas pelo desenvolvedor. Todos os testes foram executados no AR.Drone 2.0, utilizando o framework Node.js, sensores e um controle remoto. Mediante os experimentos e estudos apresentados tornou-se possível atingir o objetivo proposto, tornando viável a aplicação de voos autônomos no drone.
Como resultado, para a realização de voos autônomos foi elaborado um framework onde o usuário poderá criar missões de voos autônomos para o drone executa-las. Esses comandos são enviados ao drone pelo usuário devido a utilização de um controle remoto. Esse controle remoto envia dados a um sensor conectado ao Arduino que processa os dados e em seguida é lido e interpretado pelo drone.
Become autonomous unmanned flights undoubtedly enable new opportunities for scientific development. The drones can be used in military services, for example, in combat or as well as for rescue missions, aerial survey, supervision and inspection of a territory, attracting significant attention from media outlets such as, for example, television stations, radio, newspapers and internet. The goal of this project is whether it is possible to make viable autonomous flights at AR.Drone 2.0 and the understanding of its operation. This will require the implementation of a control program for autonomous flights. This framework requires the acquisition of data during the flight, which are obtained using sensors which use Arduino. The Arduino communication with the drone is needed for the inclusion of new sensors and the use of the AR.Drone is performed by the framework Node.js. Each remote button has a specific command, and may be in order for the user to create own missions or even perform some missions previously implemented by the developer. All tests were run on the AR.Drone 2.0, using the Node.js framework, sensors
Este trabalho consiste na criação de um simulador funcional onde cada instrução executada demora quatro ciclos para completar. Estes ciclos
são denominados: IF, ID, EX/MEM e WB.
Otimização e Implementação dos Algoritmos de Caminhos Mínimos: Dijkstra e Floyd-Warshall.
Este trabalho obteve a primeira colocação na 1ª Competição de Caminhos Mínimos do DECOM/UFOP.
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
LIVRO MPARADIDATICO SOBRE BULLYING PARA TRABALHAR COM ALUNOS EM SALA DE AULA OU LEITURA EXTRA CLASSE, COM FOCO NUM PROBLEMA CRUCIAL E QUE ESTÁ TÃO PRESENTE NAS ESCOLAS BRASILEIRAS. OS ALUNOS PODEM LER EM SALA DE AULA. MATERIAL EXCELENTE PARA SER ADOTADO NAS ESCOLAS
Egito antigo resumo - aula de história.pdfsthefanydesr
O Egito Antigo foi formado a partir da mistura de diversos povos, a população era dividida em vários clãs, que se organizavam em comunidades chamadas nomos. Estes funcionavam como se fossem pequenos Estados independentes.
Por volta de 3500 a.C., os nomos se uniram formando dois reinos: o Baixo Egito, ao Norte e o Alto Egito, ao Sul. Posteriormente, em 3200 a.C., os dois reinos foram unificados por Menés, rei do alto Egito, que tornou-se o primeiro faraó, criando a primeira dinastia que deu origem ao Estado egípcio.
Começava um longo período de esplendor da civilização egípcia, também conhecida como a era dos grandes faraós.
LIÇÃO 9 - ORDENANÇAS PARA UMA VIDA DE SANTIFICAÇÃO.pptx
Cálculo Numérico: Interpolação Polinomial com Bubble Sort
1. Universidade Federal de Ouro Preto
Instituto de Ciências Exatas e Biológicas
Departamento de Computação
Cálculo Numérico
Primeiro Trabalho Prático
Johnnatan Messias P. Afonso
Professor - José Álvaro Tadeu Ferreira
Ouro Preto
5 de maio de 2010
3. 1 Denição do Problema
Realizando testes com o método de ordenação BubbleSort obteve-se o seguinte
resultado de tempo, em segundos, para as quantidades de elementos a serem orde-
nados:
Figura 1: Tabela
Através dessa tabela de resultados deseja-se obter uma estimativa de tempo para
que o algoritmo ordene 95.000 elementos.
2 Modelagem Matemática
A função é crescente no intervalo x = [25000;150000], logo podemos resolver esse
problema utilizando interpolação polinomial.
3 Solução Numérica
Utilizarei o Método das Diferenças Divididas para estimar o tempo para ordenar
95000 (noventa e cinco mil) elementos de um vetor, uma vez que esse método realiza
menos operações aritméticas quando comparado ao Método de Lagrange.
4 Obtenção dos Resultados
Figura 2: Tabela dos Resultados
O polinômio interpolador é:
p(x) = y0 + (x−x0)DY0 + (x−x0)(x−x1)D2
Y0 + (x−x0)(x−x1)(x−x2)D3
Y0 +
(x−x0)(x−x1)(x−x2)(x−x3)D4
Y0 + (x−x0)(x−x1)(x−x2)(x−x3)(x−x4)D5
Y0
1
4. Sabe-se que:
Dr
Yi =
Dr−1
Yi+1 − Dr−1
Yi
Xi+r − Xi
;
i = 0, 1, 2, ..., n
r = 0, 1, 2, ..., n − r
(1)
Sendo
D0
Yi = Yi ; i = 0, 1, 2, ..., n (2)
Então podemos calcular as diferenças divididas de ordem 1, 2, 3, 4 e 5 nesse caso:
4.1 Primeira Ordem
DYi =
Yi+1 − Yi
Xi+1 − Xi
, i = 0, 1, 2, ..., n − 1 (3)
DY0 =
Y1 − Y0
X1 − X0
= 0, 000773 (4)
DY1 =
Y2 − Y1
X2 − X1
= 0, 00147 (5)
DY2 =
Y3 − Y2
X3 − X2
= 0, 00213 (6)
DY3 =
Y4 − Y3
X4 − X3
= 0, 00252 (7)
DY4 =
Y5 − Y4
X5 − X4
= 0, 00358 (8)
4.2 Segunda Ordem
D2
Yi =
DYi+1 − DYi
Xi+2 − Xi
, i = 0, 1, 2, ..., n − 2 (9)
D2
Y0 =
DY1 − DY0
X2 − X0
= 0, 000000012 (10)
D2
Y1 =
DY2 − DY1
X3 − X1
= 0, 000000011 (11)
D2
Y2 =
DY3 − DY2
X4 − X2
= 0, 000000009 (12)
D2
Y3 =
DY4 − DY3
X5 − X3
= 0, 000000021 (13)
2
5. 4.3 Terceira Ordem
D3
Yi =
D2
Yi+1 − D2
Yi
Xi+3 − Xi
, i = 0, 1, 2, ..., n − 3 (14)
D3
Y0 =
D2
Y1 − D2
Y0
X3 − X0
= −1, 3x10−14
(15)
D3
Y1 =
D2
Y2 − D2
Y1
X4 − X1
= −2, 5x10−14
(16)
D3
Y2 =
D2
Y3 − D2
Y2
X5 − X2
= 1, 714x10−13
(17)
4.4 Quarta Ordem
D4
Yi =
D3
Yi+1 − D3
Yi
Xi+4 − Xi
, i = 0, 1, 2, ..., n − 4 (18)
D4
Y0 =
D3
Y1 − D3
Y0
X4 − X0
= −1, 26x10−19
(19)
D4
Y1 =
D3
Y2 − D3
Y1
X5 − X1
= 1, 785x10−18
(20)
4.5 Quinta Ordem
D5
Yi =
D4
Yi+1 − D4
Yi
Xi+5 − Xi
, i = 0, 1, 2, ..., n − 5 (21)
D5
Y0 =
D4
Y1 − D4
Y0
X5 − X0
= −1, 528x10−23
(22)
4.6 O Resultado
Para calcular a estimativa de tempo foram escolhidos os pontos:
(80000;77,80),(100000;120,40),(120000;170,90).
Figura 3: Pontos escolhidos
3
6. Portanto:
p(x) = 77, 80+(x−80000)(0, 00213)+(x−80000)(x−100000)(0, 000000009) (23)
p(95000) = 77, 80+(95000−80000)(0, 00213)+(95000−80000)(95000−100000)(0, 000000009)
(24)
p(95000) = 109,075 ∼= 109 segundos
5 Análise dos Resultados
O resultado obtido é coerente com o polinômio do problema, uma vez que 95000 ∈
[80000; 100000] e ainda, de forma correspondente, 109 ∈ [77, 80; 120, 40].
6 Bubble Sort
BubbleSort é um simples método de ordenação que verica todas as posições do
vetor a m de ordená-lo, comparando todos os elementos.
Para esse trabalho utilizou-se o seguinte algoritmo em C:
void BubbleSort ( TArray∗ pA)
{
int i , j ;
TItem aux ;
5 for ( i =0; i pA−Size −1; i ++)
{
for ( j =1; jpA−Size −i ; j++)
{
if (pA−P o s i t i o n s [ j ] . keypA−P o s i t i o n s [ j −1]. key )
10 {
aux = pA−P o s i t i o n s [ j ] ;
pA−P o s i t i o n s [ j ]=pA−P o s i t i o n s [ j −1];
pA−P o s i t i o n s [ j −1]=aux ;
}
15 }
}
}
Programa 1: Algoritmo BubbleSort
Ainda é possível otimizá-lo bastando-se incluir uma variável trocaque veri-
que se houve uma troca de posições dos elementos do vetor, diminuindo o tempo
necessário para a execução do algoritmo bem como o número de comparações.
Possui ordem de complexidade em número de comparações On2
, isto é:
O(n) =
n−2
i=0
n − i − 1 =
n−2
i=0
n −
n−2
i=0
i −
n−2
i=0
1 =
n2
− n
2
(25)
[1]
Na prática esse algoritmo não é comumente utilizado para ordenação de uma
grande quantidade de elementos, uma vez que é muito lento para execução, por isso
4
7. frequentemente, em computação, utiliza-se o método QuickSort. O QuickSort é o
algoritmo de ordenação interna (Memória RAM) mais rápido que se conhece e em
seu melhor caso possui ordem de complexidade n log(n), ou seja, O(n log(n)). [2]
Referências
[1] David Menotti. Algoritmos e Estruturas de Dados I: Ordenação I SelectSort,
InsertSort, BubbleSort. 2009.
[2] David Menotti. Algoritmos e Estruturas de Dados I: Ordenação III QuickSort.
2009.
5