“Introdução a Computação” Capítulo II Estruturas de Dados

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Programação em Java Prof. Maurício Braga
Linguagem de Programação I
Programação de Computadores
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Universidade Federal do Pará Serviço Público Federal Centro de Ciências Exatas e Naturais Departamento de Informática Abril/2001.
Estrutura de Dados I Profº.: ABC Sampaio
PROGRAMAÇÃO MODULAR (com uso de subprogramas) prof
Adaptado de material da profa. Maria Aparecida Livi
Algoritmos e Programação Estruturada Conceitos básicos
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
Algoritmos Escher.
Paulo Henrique Graf Fernandes
Algoritmos e Estruturas de Dados II
Apresentação da linguagem Python
Estruturas de Dados Homogêneas Unidimensionais – Vetores e Strings
Matrizes e Funções - Continuação
Algoritmos e Programação
O Portal do Estudante de Computação
O Portal do Estudante de Computação
O Portal do Estudante de Computação
GAUSS COM PIVOTEAMENTO
O Portal do Estudante de Computação
Paradigmas de programação
João Lucas de Oliveira Torres
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Variáveis, Tipos de Dados e Constantes
Estruturas de Controlo em Pascal
O Portal do Estudante de Computação
FATORAÇÃO LU.
Prof. Dr. Marcelo Duduchi
MÉTODO JACOBI.
Aula prática 6 Vetores e Matrizes
Sub-programas. Mecanismo de composição de programas Sub-programa está para peça de LEGO assim como um programa está para a construção.
Aula prática 6 Vetores e Matrizes
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Material Didático Unificado.
Introdução a Programação COM 100
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Introdução ao uso de vatores na linguagem PASCAL.
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Programação e Estrutura de Dados
Computação Eletrônica
Estrutura de dados - Vetores
Vetores e Matrizes Ameliara Freire
Computação Eletrônica Subprograma. Função O que este programa faz? Program funcao; var n,x: real; begin write('Entre n: '); readln(n); x := cos(n); write(x);
Computação Eletrônica
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Linguagem Pascal Prof. Sérgio Rodrigues.
Linguagem PASCAL1 Módulo 3 Estrutura de Dados.. Linguagem PASCAL2 Arrays (“Variáveis compostas homogêneas”) n Arrays unidimensionais: identificador: array.
Lógica Estruturada Aplicada
Computação Eletrônica
VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS (VETORES)
Vetores Bidimensionais – Debug - Ponteiros – Listas Encadeadas Simples
Computação Eletrônica
Estruturas de Dados + Algoritmos = Programas
Técnicas de Programação I
Subprogramas : Procedimentos (procedures) em Pascal
Programação de Computadores - 1
Introdução à Programação
AULA 09 PROGRAMAÇÃO I. Estruturas de Dados Heterogêneas 10/08/2010 Programação I 2 Objetivo: Estudar os tipos de dados heterogêneos:  Registros;  Arrays.
Computação Eletrônica Strings. Strings (Cadeias de Caracteres) Um string é um texto. Em Pascal, este texto deve ser delimitado por aspas simples. Exemplo:
VETORES Roteiro da aula Referência ao Programa: Estrutura de Dados.  Variáveis Compostas homogenias Objetivo: apresentar VETOR.
MODULARIZAÇÃO Existem dois tipos de sub-programas –Procedures (procedimentos).Não retorna valores –Functions (funçöes). Retorna valores.
MODULARIZAÇÃO Técnica utilizada e tida como vantajosa na confecção de programas. Consiste em dividir o programa em diversos módulos ou sub-programas, de.
Aula Prática 6 Vetores e Matrizes Monitoria
Computação Eletrônica Variáveis Inteiras. A memória A memória pode ser vista como um imenso gaveteiro Em cada gaveta, guardamos uma informação. Por exemplo,
SUB-ROTINAS EM PASCAL PROGRAMAÇÃO MODULARIZADA 252.
Transcrição da apresentação:

“Introdução a Computação” Capítulo II Estruturas de Dados Universidade Federal de São Carlos Departamento de Computação “Introdução a Computação” Capítulo II Estruturas de Dados Luanna Lopes Lobato luanna_lobato@dc.ufscar.br Mestrado em Ciência da Computação Sistemas Distribuídos e Redes São Carlos – Maio 2006

Variáveis compostas Homogêneas Possibilidade de acesso: Variáveis; Conjunto de dados agrupados. Para calcular média da sala e informar quais alunos tem nota >= média: Declarar num de variáveis = num de alunos – Impraticável Utiliza-se Estruturas de Dados: Vetores ou Matrizes

Unidimensionais - Vetores São posições de memória, de mesmo conteúdo, identificadas por um mesmo nome (identificador), individualizadas por índices; Exemplo: Conjunto de NOTAS: Declaração: Var identificador: Array [Li..Ls] of tipo; 10 20 30 40 50 60 70 80 Vetor 1 2 3 4 5 6 7 8 9

Exemplo de atribuição Var vetInt: Array[1..10] of integer; Var vetChar: Array[1..26] of char; Var vetStr: Array[1..15] of String[2]; 10 20 30 40 50 60 70 80 1 2 3 4 5 6 7 8 9 A B C D V W X Y Z 1 2 3 4 ... 22 23 24 25 26 aa bb cc dd vv ab cd ve dv 1 2 3 4 ... 11 12 13 14 15

Atribuição Referência a todo vetor: Atribuição de um vetor para outro: V1:=V2; {V1 mesmo tipo e tam de V2} Referência a um único elemento do vetor: Atribuição Leitura Uso de Expressões

Referências ao Vetor V1[5] := 2; {V1 vetor de inteiros} V1[i+1] := V1[i+2]; {i>=0} read(V1[1]); write(V1[i]); For i:=1 to N do begin read(V1[i]); end;

Exercícios Dada uma seqüência de n números, imprimi-la na ordem inversa à da leitura. Fazer um programa que leia 50 valores inteiros, armazene-os em um vetor, calcule e imprima a média dos valores. 1/30

Resolução Exercício 2 Program calculaMedia; Uses crt; var i: integer; vetor: array [1..5] of integer; soma, media: real; begin clrscr; soma:=0; {Inicializa variavel com 0} {Leitura dos valores} for i:=1 to 5 do writeln('Informe o valor ', i); readln(vetor[i]); soma := soma + vetor[i]; {Soma os valores} end; {Calculo da media} media := soma/5; writeln('A media dos valores eh:', media:1:5); readln; end.

Bidimensionais - Matrizes Declaração: Var identificador: Array [Li..Ls, Li..Ls] of tipo; Exemplo: Var Matriz: Array [1..5, 1..2] of integer; Matriz 1 2 3 4 5 15 25 30 11 10 20 40 50

Atribuição Referência a toda matriz: Atribuição de uma matriz para outra: M1:=M2; {M1 mesmo tipo e tam de M2} Referência a um único elemento da matriz: Atribuição Leitura Uso de Expressões 1/30

Referências M1[1,2] := 2; {M1 matriz de inteiros} M1[i+1,j] := M1[i+2,j+1]; {i, j>=0} read(M1[1,3]); write(M1[i,j]); for i:=1 to N do for j:= 1 to M do begin writeln(‘Entre com M[’i,’,’,j,’]’); read(M1[i,j]); end;

Exercícios Dada uma matriz de tamanho 5 x 5, preencher a matriz com valores iguais a soma de suas posições e imprimir o resultado. Ler 2 matrizes 5x4, calcular e escrever a matriz soma entre elas. 1/30

Resolução Exercício 2 Program somaMatrizes; Uses crt; Var i,j: integer; A, B, Soma: array [1..5, 1..4] of integer; Begin clrscr; {Lendo a Matriz A} for i:= 1 to 5 do for j:= 1 to 4 do begin writeln('Escreva valor de A[',i,',',j,']'); readln(A[i,j]); end;

{Lendo a Matriz B} for i:= 1 to 5 do for j:= 1 to 4 do begin writeln('Escreva valor de B[',i,',',j,']'); readln(B[i,j]); end; writeln(' '); {Somando as matrizes} Soma[i,j]:= A[i,j] + B[i,j]; write(Soma[i,j]); {Imprime as linhas da matriz} writeln(' '); {pula linha para imprimir proxima linha} readln; end.

“Introdução a Computação” Capítulo II Estruturas de Dados Universidade Federal de São Carlos Departamento de Computação “Introdução a Computação” Capítulo II Estruturas de Dados Luanna Lopes Lobato luanna_lobato@dc.ufscar.br Mestrado em Ciência da Computação Sistemas Distribuídos e Redes São Carlos – Maio 2006

Exercício Fixação Dadas duas matrizes reais  Amxn e Bnxp, calcular o produto de A por B.

program Produto; var m, n, nb, p, i, j, k: integer; Prod: real; A, B, C: array [1..50,1..50] of real; begin write ('Entre com o tamanho(mXn) da matriz A: '); readln(m,n); write ('Digite a matriz A: '); for i:=1 to m do for j:=1 to n do read(A[i,j]); write ('Entre com o tamanho(nXp) da matriz B: '); readln(nb,p); if nb<>n then write('Nao existe o produto da matriz A por B!!') else write ('Digite a matriz B: '); for i:=1 to n do for j:=1 to p do read(B[i,j]); i := 1;

while i<=m do begin j := 1; while j<=p do Prod := 0; for k:=1 to n do Prod := Prod + A[i,k]*B[k,j]; C[i,j] := Prod; j := j+1; Prod := 0 end; i := i+1 writeln ('Matriz A X B ='); for i:=1 to m do for j:=1 to p do write(C[i,j],' '); writeln end end.