Your SlideShare is downloading. ×
Arrays e Vetores
Arrays e Vetores
Arrays e Vetores
Arrays e Vetores
Arrays e Vetores
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
60
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 3. 3.1 Arrays (o nome mais aproximado em português é conjunto de variáveis, do mesmo tipo, indexadas) Na linguagem de programação, os arrays podem ser considerados como as estruturas de dados mais simples. São variáveis, identificados por um nome, que contêm um conjunto de elementos do mesmo tipo (e geralmente do mesmo tamanho). Estes são acessíveis através do respectivo nome e da variável de índice correspondente à sua posição no array. Os arrays simplificam a utilização de muitas variáveis do mesmo tipo a guardar em memória, com designações diferentes, agrupando-as numa só variável. Entre as suas limitações, a mais notável é o facto de ter um tamanho fixo: a dimensão é determinada no momento em que é criada, e não pode ser alterada mais tarde. Os arrays podem ter mais do que uma dimensão. Os mais utilizados são os arrays unidimensionais (vectores) e os arrays bidimensionais (matrizes). 3.2 Vectores Um vector (array unidimensional) é uma estrutura de dados que armazena uma sequência de objectos, todos do mesmo tipo. Têm uma dimensão, utilizando, por isso, apenas uma variável de índice para o acesso aos elementos. Exemplo: Legenda: o quadro acima apresenta o exemplo do vector nome que guarda, neste caso, quatro valores, correspondendo a quatro nomes. Para tal, é utilizado um
  • 2. índice (variável n) para aceder a cada um dos elementos do vector (nome[n]). 3.2.1 Operações com vectores A declaração de vectores é feita na parte declarativa do programa, em Pascal. Sintaxe: para declarar um vector é utilizada a palavra Var, seguida do nome da variável (nome), a seguir o tipo de variável (array) o intervalo dos seus elementos ou índices ([1..n]) e o tipo de dado dos elementos do vector (of <tipo de dado>). Exemplo: é declarada uma variável com o nome km, do tipo array e com o intervalo de índices de 1 a 10, cujos dados são do tipo real. Sintaxe das instruções de leitura, de escrita e de atribuição de um vector: 3.2.2 Algoritmos de Ordenação Os algoritmos de ordenação têm por finalidade organizar sequências de elementos, do mesmo tipo, por ordem crescente ou decrescente dos seus valores. Na maioria das vezes, estes algoritmos são criados para serem aplicados aos elementos de um array, uma vez que, como já foi dito, este tipo de dados permite guardar, numa mesma variável, um conjunto de elementos do mesmo tipo. Existem inúmeros algoritmos de ordenação com maior ou menor grau de dificuldade de implementação, de utilização da memória, entre outros aspectos. Neste trabalho, vamos abordar os algoritmos de ordenação por: inserção (Insertion Sort), selecção (Selection Sort) e bolha (Bubble Sort). O algoritmo de ordenação por inserção (Insertion Sort) assemelha-se ao processo de organização das cartas existentes na mão de um jogador. Permite ordenar os elementos de um vector, percorrendo-os da esquerda para a direita, comparando-os dois a dois. Numa ordenação crescente, sempre que o elemento da direita for menor que o anterior, irá, por comparações sucessivas, ser posicionado mais à esquerda na ordem correcta.
  • 3. O algoritmo de ordenação por selecção (Selection Sort) permite ordenar os elementos de um vector, realizando passagens sucessivas nos elementos, para identificar o valor mínimo ou máximo em cada uma delas. O algoritmo de ordenação por bolha (Bubble Sort) permite ordenar os elementos de um vector, percorrendo os seus valores da direita para a esquerda, comparando-os com os das posições adjacentes. Neste processo de ordenação, é sempre encontrado o valor mais baixo em cada passagem e colocado na posição mais à esquerda possível de forma ordenada. Esta ordenação é obtida por comparação dois a dois entre elementos adjacentes, ainda não ordenados, efectuando permutas de posição sucessivas sempre que o valor da direita for menor que o da esquerda.
  • 4. 3.2.3 Algoritmos de pesquisa Os algoritmos de pesquisa permitem determinar se um elemento existe num vector e, caso exista, podem indicar a posição deste. Este tipo de algoritmos pode ser aplicado em vectores desordenados ou ordenados e com elementos repetidos (ou não). Quando se aplica a um vector com elementos repetidos, pode-se efectuar a pesquisa de forma a obter apenas a posição do primeiro elemento, apenas a posição do último elemento ou a todas as posições em que o elemento repetido se encontra. De seguida, abordam-se os algoritmos de pesquisa sequencial e de pesquisa binária. O algoritmo de pesquisa sequencial percorre todos os elementos de um vector (da esquerda para a direita ou da direita para a esquerda). Esta pesquisa termina quando se encontra o elemento ou, caso contrário, percorre todos os elementos do vector. O algoritmo de pesquisa binária permite efectuar a pesquisa de um elemento nos elementos de um vector com ou sem elementos repetidos, obrigatoriamente ordenados. Neste processo de pesquisa são efectuadas divisões inteiras sucessivas por dois (pesquisa binária) no número de elementos do vector, encontrando-se, desta forma, a posição do elemento do meio. Este elemento vai ser comparado com o elemento a pesquisar. Considerando que o vector está ordenado por ordem crescente, dará origem a uma de três situações: 1. se o elemento do meio for igual ao elemento a procurar, a pesquisa termina; 2. se o elemento do meio for menor que o elemento a procurar, a pesquisa continua, repetindo-se o processo nos elementos da metade direita do vector; 3. em último caso, se o elemento do meio for maior que o elemento a procurar, a pesquisa continua, repetindo-se o processo nos elementos da metade esquerda do vector.
  • 5. Bibliografia FONSECA, Dalila; PACHECO, Deolinda; MARQUES, Fernando; SOARES, Ricardo. Aplicações Informáticas B 12º Ano. 1ª edição. Porto: Porto Editora, 2013; http://pt.wikipedia.org/wiki/Array; http://www.inf.unibz.it/~calvanese/teaching/ip/lecturenotes/uni12/node2.html; http://www.ime.usp.br/~pf/algoritmos/aulas/array.html; http://www.dicasdeprogramacao.com.br/o-que-sao-vetores-e-matrizes-arrays/; http://www.cise.ufl.edu/~mssz/DatStrucAlg/DSAintro.html; http://www.arnerobotics.com.br/eletronica/metodos_pesquisa_ordenacao.htm.

×