Buscar

Aula 07 Linguagem de Programação I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula
07Linguagem de Programação I - UNIGRAN
VETORES
Nesta aula veremos as estruturas de dados homogêneas, mais 
conhecidas como vetor ou em inglês (array). 
É um tipo de variável usada para armazenar vários valores de 
um mesmo tipo (int, float, char...). Desta forma, eliminamos a criação 
de várias variáveis, e passamos a manipular apenas uma. 
Esta estrutura é composta por elementos, onde cada um deles 
fica em uma posição diferente, e seus valores são armazenados, um a 
um nessas posições.
Vetores trabalham em conjunto com estruturas de repetição, 
assim é possível percorrer todo o vetor, da primeira à última posição. 
Esta é maneira mais fácil e indicada de se manipular um vetor, usando-
se estruturas de repetição.
A primeira posição de um vetor será sempre zero e a última, 
será o tamanho dele menos um.
Nesta aula, veremos os seguintes tipos de arrays:
• Array unidimensional
• Array multidimensional
131
Linguagem de Programação I - UNIGRAN
Objetivos de aprendizagem
Ao término desta aula, vocês serão capazes de:
• conhecer os tipos de arrays acima propostas;
• identificar a melhor tipo de array para cada situação;
• aprender a manipular os arrays utilizando estruturas de repetição.
Seções de estudo
• Seção 1 – Arrays unidimensionais 
• Seção 2 – Arrays multidimensionais
Seção 1 – Array unidirecionais
Um array é uma estrutura de dados homogêneos (uma sequencia de 
vários valores de um mesmo tipo), composta por uma quantidade x de elementos. 
Desta forma, esses elementos ficam armazenados sequencialmente na memória 
do computador, e é possível acessá-los por uma única variável que apontará para 
todos eles. Mesmo utilizando-se apenas uma variável para acessar eles valores, 
é possível acessá-los individualmente, informando a sua posição. Cada elemento 
dentro do array fica em uma posição exclusiva, ou seja, não podemos colocar 
dois elementos em uma mesma posição no array, e se o fizermos, substituiremos 
o primeiro valor, pelo segundo. 
Sintaxe: 
tipo_dos_elementos nome_do_array[número_de_elementos];
O vetor tem seu tamanho defi nido na sua declaração, e não é possível aumentar ou 
diminuir o tamanho do vetor no decorrer do programa.
132
Linguagem de Programação I - UNIGRAN
Vamos entender melhor?
Quando criamos um array ou vetor, criamos uma variável que pode 
armazenar mais de um valor. Como isso é possível? Um vetor tem mais de uma 
posição, e os valores armazenados ficam nestas posições individuais. 
Vamos propor um vetor de tamanho 5, este vetor terá as seguintes 
posições: 0,1,2,3,4. Em cada uma dessas posições poderá ficar armazenado 
qualquer valor que seja necessário, lembrando que é preciso respeitar o tipo do 
vetor, se ele for do tipo char nas posições dele poderemos armazenar apenas 
valores do tipo char.
Detalhando a figura acima:
• o elemento 2 está na posição 0;
• o elemento 5 está na posição 1;
• o elemento 7 está na posição 2;
• o elemento 9 está na posição 3;
• o elemento 10 está na posição 4;
• o elemento 12 está na posição 5;
• o elemento 13 está na posição 6;
• o elemento 15 está na posição 7;
• o elemento 16 está na posição 8;
• o elemento 19 está na posição 9.
Vamos ver alguns exemplos?
Exemplo: Criar um vetor de cinco posições de inteiros, e atribuir os 
valores 10, 20, 30, 40 e 50 em suas posições.
FIGURA 7.1 – Ilustração de um vetor de tamanho dez
Fonte: criação nossa
133
Linguagem de Programação I - UNIGRAN
Neste exemplo que acabamos de ver, os valores do vetor não são 
informados pelo usuário, eles são atribuídos ao vetor na sua declaração. O 
programa foi feito desta maneira, para que seja possível entender como um vetor 
pode ser inicializado.
Agora vamos ver um exemplo em que o usuário informa os valores a 
serem armazenados no vetor.
Exemplo: Criar um programa que contenha um vetor de 10 posições 
e que o usuário irá informar os seus valores. Depois de informados os valores, 
mostrar na tela de saída, os valores informados.
FIGURA 7.2 - Utilização do array 
Fonte: criação nossa
FIGURA 7.3 – Tela de saída do programa representado pela fi gura 7.2
Fonte: criação nossa
134
Linguagem de Programação I - UNIGRAN
A tela de saída do programa acima pode ser vista através da figura abaixo, 
com os seguintes valores informados: 1,2,3,4,5,6,7,8,9 e 10
Vamos ver agora um exemplo com variável do tipo char. 
Exemplo: Criar um programa para ler 15 caracteres que deverão ser 
armazenados em um vetor. E ao final mostrar esses caracteres separados por vírgula.
FIGURA 7.4 - Utilização do array 
Fonte: criação nossa
FIGURA 7.5 – Tela de saída do programa representado pela fi gura 7.4
Fonte: criação nossa
135
Linguagem de Programação I - UNIGRAN
Podemos ver a saída do programa apresentado na figura 7.6, através da 
figura abaixo, com os seguintes valores de entrada: a, b, c, d, e, f, g, h, i, j, k, l, 
m, n e o
Note que o tipo char, nada mais é do que um vetor, assim como em um vetor 
de inteiros, podemos manipular os elementos do vetor de char individualmente. 
Vermos como manipular strings (ou vetor de char) mais a frente.
FIGURA 7.6 - Utilização de um array de char
Fonte: criação nossa
FIGURA 7.7 – Tela de saída do programa representado pela fi gura 7.6
Fonte: criação nossa
136
Linguagem de Programação I - UNIGRAN
Seção 2 – Array multidimensional
Até agora vimos arrays unidimensionais, que simplificando, podemos 
dizer que possuem apenas uma linha. Os dados ficam lado a lado, armazenados 
em uma mesma dimensão (linha). 
Agora veremos os arrays multidimensionais, que são vetores com mais de 
uma dimensão, ou seja, mais de uma linha. Então, para facilitar o entendimento, 
vou dizer que uma matriz é uma tabela, que possui duas ou mais linhas que usadas 
para referenciar estas dimensões. As mesmas regras que foram vistas para os 
arrays aplicam-se a matrizes também. Portanto, quando definimos uma matriz 
de inteiros não podemos armazenar nela valores de outro tipo, como float, por 
exemplo. Da mesma forma que informamos o número de elementos do vetor 
também é necessário informar o número de elementos de uma matriz. 
Uma matriz pode ser representada da seguinte forma:
Sintaxe:
tipo nome_da_matriz[número_de_linhas][número_de_colunas]
Explicando melhor:
• tipo -> é o tipo de informação que a matriz vai armazenar (float, int, char)
• nome_da_matriz -> o nome é dado para que seja possível acessar os 
dados à ela atribuídos
• número_de_linhas -> como é uma tabela, então podemos ter mais de 
uma linha. Assim, na sua declaração, é preciso informar o número de linhas que a 
matriz possui, assim como é preciso informar o número de colunas.
FIGURA 7.8 – Ilustração de matriz de três por três
Fonte: criação nossa
137
Linguagem de Programação I - UNIGRAN
• número_de_colunas -> é o número de colunas que a matriz possui, 
assim como em um array unidimensional, em uma matriz também é necessário 
informar o número de colunas.
Vamos ver um exemplo?
Exemplo: Criar um programa que contenha uma matriz de três por três de 
inteiros. Ler os valores para a matriz e mostrar os valores que foram informados.
A tela de saída do programa visto na figura 7.9 pode ser vista na figura 
7.10, com os seguintes valores de entrada: 1,2,3,4,5,6,7,8 e 9
FIGURA 7.9 - Utilização de uma matriz de três por três de inteiros
Fonte: criação nossa
138
Linguagem de Programação I - UNIGRAN
Sobre o exemplo apresentado:
Como podemos ver, agora, além de uma variável para contar o número 
de posições que o vetor tem (colunas), precisamos também de uma variável para 
contar o número de linhas. Essas variáveis servem como um índice, utilizado 
para determinar em qual posição o elemento está. Não é mais possível acessar um 
elemento passando apenas a coluna em que ele se encontra, é preciso também, 
informar a linhaem que o elemento está.
Note que precisamos criar um for aninhado (um for dentro do outro for), 
para que possamos percorrer todas as linhas e colunas da matriz. O primeiro 
for (aquele em que a variável de controle é “i”), é criado para que seja possível 
acessar todas as linhas da matriz, e o segundo (a variável de controle é “j”) para 
acessar todas as suas colunas.
Atribuindo valores à matriz:
Assim como com vetores, podemos inicializar uma matriz informando os 
valores dos elementos em uma única instrução. Abaixo são apresentados vários 
métodos de inicializar a matriz.
int vt[3][3] = {1,2,3,4,5,6,7,8,9} -> nesse caso, estamos atribuindo os 
valores que estão entre chaves à todos os elementos da matriz, seguindo a ordem 
linear, partindo de 0 até 2, que é o último elemento.
int vt[3][3] = {0} -> nesse caso, estamos atribuindo o valor zero a todas 
as posições da matriz, quer dizer que todos os elementos receberão o valor zero.
FIGURA 7.10 – Tela de saída do programa representado pela fi gura 7.9
Fonte: criação nossa
139
Linguagem de Programação I - UNIGRAN
int vt[3][3] = {{1,2,3},{4,5,6},{7,8,9}} -> nesse caso estamos atribuindo 
valores individuais para cada um dos elemento da matriz. Seria o mesmo que 
vt[0][0] = 1; vt[0][1] = 2; vt[0,2] =3; vt[1,0] = 4 e assim por diante. 
Vamos ver mais um exemplo?
Exemplo: Criar um programa que contenha uma matriz de cinco por 
cinco de inteiros, leia os valores dos elementos desta matriz. Mostre na tela de 
saída do programa a multiplicação da primeira coluna pela última linha da matriz.
FIGURA 7.11 - Utilização de uma matriz de cinco por cinco de inteiros
Fonte: criação nossa
140
Linguagem de Programação I - UNIGRAN
Observe que para multiplicar a primeira coluna pela última linha, 
precisamos de apenas um for, isto porque, não é preciso percorrer todos os 
elementos da matriz, precisamos apenas dos elementos que se encontram na 
primeira coluna (definida por zero) e na última linha (definida por quatro). Assim 
utilizamos o “i” apenas para movimentar para o lado e para baixo, isso simplificou 
a manipulação dos elementos, e apenas mudando o “i” de lugar conseguimos ir 
para a próxima linha e para a próxima coluna.
Retomando a conversa inicial
• Seção 1 – Arrays unidimensionais
Vimos que o arrays unidimensionais são capazes de armazenar/manipular 
vários valores em uma única variável, modificando-se apenas a posição em que 
os elementos estão dispostos. Isso diminui a necessidade da criação de inúmeras 
variáveis que tem uma mesma finalidade no programa.
• Seção 2 – Arrays multidimensionais
Muito semelhante ao array visto anteriormente, modifica-se unicamente 
pela utilização de várias linhas (dimensões) que o array possui. Também é utilizado 
para eliminar a criação de várias variáveis que são criadas para um mesmo fim, 
agrupando as informações nelas contidas em uma única estrutura – matriz.
FIGURA 7.12 – Tela de saída do programa representado pela fi gura 7.11
Fonte: criação nossa
Vamos relembrar um pouco do que vimos na aula 7?
141
Linguagem de Programação I - UNIGRAN
Sugestões de leituras e sites
Leituras
Leia o capítulo 3 do livro: Treinamento em linguagem C.
Sites
• http://www.metropoledigital.ufrn.br/aulas/disciplinas/prog_est/aula_06.html
Autoavaliação
Veja se aprendeu a Aula 05 respondendo ao questionário auto-avaliativo. Depois confi ra 
o resultado das respostas, que está disponível na ferramenta Arquivos da plataforma.
1. Em um array unidimensional podemos ter várias linhas e várias colunas.
( ) Verdadeiro ( ) Falso
2. O tamanho do array pode ser modifi cado, quando surgir a necessidade para tal.
( ) Verdadeiro ( ) Falso
3. Em um array todos os valores nele armazenados são de um mesmo tipo.
( ) Verdadeiro ( ) Falso
4. Podemos manipular individualmente cada um dos elementos de uma matriz.
( ) Verdadeiro ( ) Falso
5. Os valores da matriz estão armazenados de maneira sequencial.
( ) Verdadeiro ( ) Falso
6. Somente com um laço é possível percorrer todos os elementos de uma matriz.
( ) Verdadeiro ( ) Falso
7. Matrizes e vetores são utilizado afi m de diminuir a criação de variáveis de um 
mesmo tipo e criadas para um mesmo fi m
( ) Verdadeiro ( ) Falso
142

Outros materiais