Você está na página 1de 13

Estrutura de Dados

Para trabalharmos com informações no computador é preciso


representá-la de forma adequada. Todos os computadores possuem
formas fundamentais de representação de informações: as variáveis.

Estas estruturas primitivas conseguem armazenar grande


variedade de informações, porém esta variedade é limitada.

As estruturas de dados existem de forma a permitir que problemas


que exigem formas complexas de representação de dados possam
ser implementados. Principais estruturas de dados:

a) Vetores e Matrizes (array);


b) Registro (record);
c) Pilha (stack);
d) Fila (queue); e,
e) Lista.
Estrutura de Dados
Vetores (Pág. 23 até 30) – Apostila de Algoritmos Básica
Até agora trabalhamos com variáveis simples, que nos permitem armazenar um valor a
cada momento. Muitas vezes, porém, precisamos usar um grupo de variáveis do
mesmo tipo e que possam ser referenciadas pelo mesmo nome.

Por exemplo: Um algoritmo que soma 10 números lidos e depois de imprimir o


resultado da soma, imprime também os números lidos.

ALGORITMO somanúmeros

Var
A,B,C,D,E,F,G,H,I,J,SOMA: real
Inicio
SOMA := 0
Escreva (“Entre com 10 números:”)
Leia(A,B,C,D,E,F,G,H,I,J)
SOMA := A+B+C+D+E+F+G+H+I+J
Escreva(“A soma dos 10 números lidos foi: ”, SOMA)
Escreva(“Os números lidos foram: ”, A, “,”, B, “,”, C, “,”, D, “,”, E, “,”, F, “,”, G,
“,”, H, “,”, I, “ e “, J)
Fim
Estrutura de Dados
Vetores

E se no exemplo anterior tivéssemos 100


números ao invés de 10?
Nesse caso utilizamos VETOR. Um vetor é um agregado homogêneo, ou
seja, em processamento de dados, é um grupo de variáveis de mesmo
tipo, que recebem o mesmo nome e são individualizadas por um ÍNDICE.

<<<<<<<<<< Sintaxe >>>>>>>>>>


TAMANHO
NA DECLARAÇÃO: DO VETOR

nomedovetor : Vetor[1..100 ] de TIPO (real, inteiro, etc)

DURANTE O PROGRAMA VOCÊ FAZ REFERÊNCIA DA SEGUINTE


FORMA:

nomedovetor[POSIÇÃO]
Estrutura de Dados
Vetores
AGORA, O MESMO EXEMPLO ANTERIOR USANDO VETOR

Por exemplo: Um algoritmo que soma 10 números lidos e depois de imprimir o resultado da soma,
imprime também os números lidos.
Quadro de variáveis
ALGORITMO somanúmeros
i VET soma
Var
1 3 3
SOMA: real
i : inteiro 2 5 8
VET: vetor[1..10] de real
Inicio 3 4
SOMA := 0; 4 2
Escreva (“Entre com 10 números: ”)
Para i = 1 até 10 faça 5 3
Leia (VET[i])
SOMA := SOMA + VET[i] 6 1
FimPara 7 2
Escreva (“A soma dos 10 números lidos foi: ”, SOMA)
Escreva (“Os números lidos foram: ”) 8 6
Para i = 1 até 10 faça
Escreva (VET[i], “ , ”)
9 3
FimPara 10 2
Fim
Estrutura de Dados
Vetores

OPERAÇÕES SOBRE VETORES

Quando queremos inserir algum valor no vetor, basta atribuir a um de seus elementos
este valor. Suponha que tivéssemos um vetor com 5 elementos e que se chamasse
NÚMEROS:

NUMEROS: Vetor[1..5] de inteiro

Se desejarmos inserir o valor 48 no 3º elemento do vetor e o valor 74 no 4º elemento,


bastaria fazer:
NUMEROS[3] := 48
NUMEROS[4] := 74

Suponha agora, que desejássemos imprimir o 3º elemento deste mesmo vetor. Isso é
feito, também, por meio de um índice como mostra o comando abaixo:

Escreva ( NUMEROS[3] )
Estrutura de Dados
Vetores
ALGORITMO media

Const
MAX := 10
Var
MEDIA, SOMAT : real
i, n : inteiro
VETNUM : Vetor[MAX] de real
Exemplo: Inicio
SOMAT := 0
Faça um algoritmo Escreva (“Entre com a quantidade de valores numéricos que
para calcular a serão lidos (a quantidade máxima permitida é 10): ”)
média aritmética Repita
de uma Leia (N)
Até (N > 0) e (N ≤ MAX)
quantidade N de Para i = 1 até N faça
valores Escreva (“Entre com o “, i, “ º valor numérico: ”)
numéricos lidos. Leia ( VETNUM[i] )
FimPara
Para i = 1 até N faça
SOMAT := SOMAT + VETNUM[i]
FimPara
MEDIA := SOMAT / N
Escreva (“Os valores lidos foram: ”)
Para i = 1 até N faça
Escreva ( VETNUM[i] )
FimPara
Escreva (“A Média dos valores lidos é: ”, MEDIA)
Fim
Exercícios
Vetores

1) Preencher (ler) um vetor X de 10 elementos com o valor inteiro 30.


Imprimir o vetor X após seu total preenchimento.

2) Preencher um vetor A de 10 elementos com os números inteiros de


1 a 10. Escrever o vetor A após o seu total preenchimento.

3) Preencher um vetor B de 10 elementos com 1 se o índice do


elemento for ímpar e com 0 se for par. Escrever o vetor B após o
seu total preenchimento.

4) Ler um vetor C de 10 elementos inteiros, trocar todos os valores


negativos do vetor C por 0. Escrever o vetor C modificado.

5) Ler um vetor W de 10 elementos, depois ler um valor V. Contar e


escrever quantas vezes o valor V ocorre no vetor W e escrever
também em que posições (índices) do vetor W o valor V aparece.
Caso o valor V não ocorra nenhuma vez no vetor W, escrever uma
mensagem informando isto.
Resposta Exercicio 01
Vetores

Algoritmo exercicio01

Var
i: inteiro // variável contador
VETORX : Vetor [1..10] de inteiro

Inicio

Para i: 1 a 10 faça
VETORX[i] := 30
FimPara

Para i: 1 a 10 faça
Escreva (VETORX[i])
FimPara

Fim
Resposta Exercicio 02
Vetores

Algoritmo exercicio02

Var
i, numint : inteiro
VETORA : Vetor [1..10] de inteiro

Inicio
numint := 1
Para i: 1 a 10 faça
VETORA[i] := numint
numint := numint + 1
FimPara

Para i: 1 a 10 faça
Escreva (VETORA[i])
FimPara

Fim
Resposta Exercicio 03
Vetores

Algoritmo exercicio03

Var
i : inteiro
VETORB : Vetor [1..10] de inteiro

Inicio
Para i: 1 a 10 faça
Se (i mod 2 = 0) então
VETORB[i] := 0
Senão
VETORB[i] := 1
FimSe
FimPara

Para i: 1 a 10 faça
Escreva (VETORB[i])
FimPara
Fim
Resposta Exercicio 04
Vetores
Algoritmo exercicio04

Var
i : inteiro
VETORC : Vetor [1..10] de inteiro

Inicio
Para i: 1 a 10 faça
Escreva (“Entre com o”, i, “º valor do vetor)
Leia (VETORC[i])
FimPara

Para i: 1 a 10 faça
Se (VETORC[i] < 0)
VETORC[i] := 0
FimSe
FimPara

Para i: 1 a 10 faça
Escreva (VETORC[i])
FimPara
Fim
Resposta Exercicio 05
Vetores
Algoritmo exercicio05

Var
VETORW: Vetor[1..10] de inteiro
VETORX: Vetor[1..10] de inteiro
v, cont, pos: inteiro

Inicio
v := 0; cont := 0; pos := 0;
Para pos := 1 ate 10 faça
Escreva (‘Entre com o valor', pos, ' : ')
Leia(VETORW[pos]);
FimPara
Escreva ('Digite um valor: ');
Leia(v);
Para pos := 1 ate 10 faça
Se (VETORW[pos] = v) então
cont := cont + 1;
VETORX[cont] := pos;
FimSe
FimPara
Se (cont = 0) então
Escreva ('O valor ', v, ' não aparece no Vetor VETORW!!!')
Senão
Escreva ('O valor ', v, ' apareceu ', cont, ' vez(es) no vetor VETORW!!!');
Para pos := 1 ate cont faça
Escreva (‘Ele apareceu na posição', VETORX[pos]);
FimPara
FimSe
Fim.
Universidade do Estado do Rio de Janeiro
Instituto de Matemática e Estatística

Fim!

Profº Fernando M. de Oliveira


Email: fernando@ime.uerj.br

Você também pode gostar