LPROG - Aula 06 - Estruturas de Dados

Embed Size (px)

Citation preview

Linguagens de ProgramaoEstruturas de DadosProf. Vincius de [email protected]

Objetivos desta Aulao 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

2

Roteiro1. Estruturas de Dados 2. Necessidade de Utilizao das Estruturas de Dados 3. Vetores

Prof. Vincius de Paula

Centro Universitrio do Tringulo

3

Estruturas de Dadoso 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 Dadoso 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

5

Necessidade de Utilizao das Estruturas de Dadoso 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

6

Necessidade de Utilizao das Estruturas de Dados1 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

7

Necessidade de Utilizao das Estruturas de Dados2 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

8

Necessidade de Utilizao das Estruturas de DadosNenhuma 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

9

Necessidade de Utilizao das Estruturas de DadosNenhuma 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

Vetoreso 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

Vetoreso 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

VetoresDeclaraolista_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

VetoresExemploo 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

Exerccios1) 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

Exerccios2) 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

Exerccios3) 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

Exerccios4) 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

Exerccios5) 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

Exerccios6) 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

ExercciosCada 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

ExercciosTrata-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

Bibliografiao 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