Você está na página 1de 24

Linguagens de Programao

Estruturas de Dados
Prof. Vincius de Paula
viniciusdepaula@unitri.edu.br

Objetivos desta Aula


o Apresentar conceitualmente o que so Estruturas de Dados; o Apresentar conceitualmente os Vetores e por quais motivos eles so alternativas interessantes para se resolver problemas computacionais.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

Roteiro
1. Estruturas de Dados 2. Necessidade de Utilizao das Estruturas de Dados 3. Vetores

Prof. Vincius de Paula

Centro Universitrio do Tringulo

Estruturas de Dados
o Estruturas de dados so formas genricas de se estruturar informao de modo a serem registradas e processadas pelo computador. Exemplos:
lista ordenada; vetores; rvores; grafos, etc.
Prof. Vincius de Paula Centro Universitrio do Tringulo 4

Necessidade de Utilizao das Estruturas de Dados


o Suponhamos que seja requisitado um algoritmo para calcular a mdia das notas de 5 alunos. Nesse contexto, o algoritmo seria o seguinte.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

Necessidade de Utilizao das Estruturas de Dados


o Suponhamos, agora, que se deseja saber quantos alunos tiveram nota acima da mdia. Para saber o nmero de alunos com nota acima da mdia necessrio saber as notas e a mdia de cada um deles. Dessa forma, existem duas abordagens possveis para este algoritmo:

Prof. Vincius de Paula

Centro Universitrio do Tringulo

Necessidade de Utilizao das Estruturas de Dados


1 Abordagem o Fazer dois algoritmos:
um que l as notas e calcula a mdia e outro que leia a mdia e novamente todas as notas para que as comparaes possam ser feitas.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

Necessidade de Utilizao das Estruturas de Dados


2 Abordagem o Fazer um nico algoritmo e:
armazenar cada uma das notas numa varivel; calcular a mdia dessas notas e finalmente; calcular a quantidade de alunos com nota superior a mdia.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

Necessidade de Utilizao das Estruturas de Dados


Nenhuma das solues completamente adequada, pois:
1 Abordagem: implica na releitura das notas dos alunos. Supondo que essas notas fossem informadas via teclado, isso seria bastante desagradvel para quem utiliza esse algoritmo.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

Necessidade de Utilizao das Estruturas de Dados


Nenhuma das solues completamente adequada, pois:
2 Abordagem: no traz problemas para o usurio, mas implica em termos uma quantidade possivelmente grande de variveis que representam o mesmo tipo de informao. Imaginemos que no fossem 5 alunos e sim 5000; a elaborao desse algoritmo seria impraticvel.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

10

Vetores
o Correspondem a posies de memria, identificadas por um mesmo identificador, individualizadas por ndices e cujo contedo do mesmo tipo.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

11

Vetores
o Vetores possuem um tamanho definido; o Cada item em um Vetor chamado de elemento; o Cada elemento acessado pela posio numrica.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

12

Vetores
Declarao
lista_de_identificadores: vetor [li .. ls] de t o Onde: lista_de_identificadores: so nomes associados s variveis que se deseja declarar. vetor: palavra reservada. li: o limite inferior do intervalo de variao dos ndices. ls: o limite superior do intervalo de variao dos ndices. t: tipo dos componentes do vetor ( inteiro, real, literal, logico ).
Prof. Vincius de Paula Centro Universitrio do Tringulo 13

Vetores
Exemplo
o Algoritmo que realiza o clculo da quantidade de alunos com nota acima da mdia, contemplando 10 alunos.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

14

Dvidas

Prof. Vincius de Paula

Centro Universitrio do Tringulo

15

Exerccios
1) Utilizando um vetor, crie um algoritmo que receba 10 valores fornecidos pelo usurio e os imprima na tela.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

16

Exerccios
2) Crie um algoritmo que receba 6 valores fornecidos pelo usurio e imprima na tela o total de nmeros negativos.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

17

Exerccios
3) Desenvolva um algoritmo que leia 200 nmeros e verifique quantos deles so iguais a 30. Se existirem, escrever as posies onde eles esto armazenados.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

18

Exerccios
4) Desenvolva um algoritmo que leia n nmeros ( n < 200) e verifique quantos deles so iguais a um nmero k. Se existirem, escrever as posies onde eles esto armazenados.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

19

Exerccios
5) Implemente um algoritmo que leia 200 nmeros. Esse algoritmo deve escrever quantos deles so maiores que um nmero ki e menores que um nmero kj. (ki e kj tambm lidos).

Prof. Vincius de Paula

Centro Universitrio do Tringulo

20

Exerccios
6) Deseja-se saber se existem alunos cursando, simultaneamente, as disciplinas Programao de Computadores e Clculo Numrico. Existem disponveis na unidade de entrada os nmeros de matrcula dos alunos de Programao de Computadores (no mximo 150 alunos) e de Clculo Numrico (no mximo 220 alunos).
Prof. Vincius de Paula Centro Universitrio do Tringulo 21

Exerccios
Cada conjunto dos nmeros de matrcula dos alunos de uma disciplina tem a matrcula fictcia 9999 no final. Formular um algoritmo que imprima o nmero de matrcula dos alunos que esto cursando ambas as disciplinas simultaneamente.

Prof. Vincius de Paula

Centro Universitrio do Tringulo

22

Exerccios
Trata-se, ento, da verificao da ocorrncia de um elemento de um conjunto em outro conjunto. Assim, aps a leitura dos dados, poderiam estar montadas as seguintes variveis compostas unidimensionais PC e CN contendo, respectivamente, os nmeros de matrcula dos alunos que esto cursando: Programao de Computadores e Clculo Numrico.
Prof. Vincius de Paula Centro Universitrio do Tringulo 23

Bibliografia
o Manzano, J.A.; Oliveira, J.F.; Algoritmos-Lgica para Desenvolvimento de Programao; Editora Erica. o Forbellone, A.L.V.; Lgica de Programao; Makron Books. o APOIO INFORMTICA - Manual de utilizao do Software VisuAlg - Editor e Interpretador de Algoritmos.
Prof. Vincius de Paula Centro Universitrio do Tringulo 24