Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Introdução à Informática: Matrizes e Vetores, Exercícios de Engenharia Naval

Neste documento, a professora tatiana renata garcia aborda o tema de matrizes e vetores em informática. Ela explica as estruturas de dados homogêneas e multidimensionais, como matrizes e vetores, respectivamente. Elas também discutem a necessidade de um número diferente de índices para acessar os elementos de uma matriz, em comparação com um vetor. Além disso, a professora fornece exemplos de como declarar e manipular matrizes e vetores em diferentes linguagens de programação, como python. O documento também inclui exercícios para prática.

Tipologia: Exercícios

2012

Compartilhado em 12/11/2012

evandro-machado-3
evandro-machado-3 🇧🇷

4.5

(15)

44 documentos

1 / 18

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Professora: Tatiana Renata Garcia
Introdução à Informática
Estruturas de Dados
Matrizes
Referência: FORBELLONE, André Luiz Villar e EBERSPACHER, Henri Frederico,
Lógica de Programação, 3a Edição, São Paulo, Pearson Prentice Hall, 2005.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Pré-visualização parcial do texto

Baixe Introdução à Informática: Matrizes e Vetores e outras Exercícios em PDF para Engenharia Naval, somente na Docsity!

Estruturas de Dados

Matrizes

Referência: FORBELLONE, André Luiz Villar e EBERSPACHER, Henri Frederico, Lógica de Programação, 3a Edição, São Paulo, Pearson Prentice Hall, 2005.

Relembrando Vetores

• Estrutura de dados composta, homogênea e unidimensional;

Permitem a manipulação de um conjunto de informações de

um mesmo tipo primitivo;

• As posições do vetor são identificadas a partir de Li, com

incrementos unitários, até Lf;

Li Li+1 Li+2 Li+3 .... Lf

Matrizes

  • Exemplo: distribuição de lugares em

uma sala de aula

  • (^) São necessários dois índices para acessar

uma posição  linha e coluna

  • (^) Seria possível adicionar outra dimensão para

identificar as salas  neste caso seriam necessários 3 índices

1 2 3 4

Sala de aula

1 2

3

4

5

6

7

9 8

10

11

12

Matrizes nos algoritmos

  • Sintaxe de construção de uma matriz:

tipo = matriz [li1 .. lf1, li2 .. lf2, ... ] de ;

Onde li= limite inferior e lf= limite superior de cada dimensão;

tipo primitivo = tipo conhecido.

Manipulação de matrizes:

  • (^) Número de elementos da matriz: 16

MSALA [ i, j ] – i indexa a linha e j a coluna

MSALA[ 2, 3 ] ← 5

MSALA [ 3, 2 ] ← 6; MSALA [ 1, 2 ] ← 7; A ← 4;

MSALA [ A, B ] ← 8; MSALA [ A, B-2 ] ← 9; MSALA [ A-2, B-2 ] ← 10;

1 2 3 4índice j

MSALA

1 2

3

4

Índice i = linha

5

6

7

9 8

10

11

12

MSALA [ B, A ] ← 11; MSALA [ B-2, A ] ← 12;

B ← 3;

Manipulação de Matrizes

  • Algoritmo para preencher todas as posições de uma matriz 4x4 com 1:

início tipo Sala = matriz [1..4, 1..4] de inteiros ; Sala: M; // declaração das variáveis compostas inteiro: x, y; // declaração das variáveis simples

para x de 1 até 4 passo 1 faça //fixa a linha para y de 1 até 4 passo 1 faça //varia a coluna M[x,y]  1; fimpara; fimpara; fim.

Manipulação de Matrizes

  • Modificar o algoritmo anterior, onde nas linhas pares escreve-se 2 e nas ímpares escreve-se 1:

início tipo Sala = matriz [1..4, 1..4] de inteiros; Sala: M; // declaração das variáveis compostas inteiro: x, y; // declaração das variáveis simples para x de 1 até 4 passo 1 faça //fixa a linha se x mod 2 = 0 então //linha par para y de 1 até 4 passo 1 faça //varia a coluna M[x,y]  2; fimpara; senão para y de 1 até 4 passo 1 faça //varia a coluna M[x,y]  1; fimpara; fimse; fimpara; fim.

Relembrando Vetores no Python

  • (^) É preciso sempre criar e inicializar os vetores:

v = [ini]tam*

v= vetor

ini = valor da inicialização

tam= tamanho do vetor

  • (^) O primeiro índice de um vetor é o 0

Exemplos de Matrizes no Python

  • (^) Criar uma matriz com 3 linhas e 4 colunas e inicializar com 0 em todas posições:

M = [0]*3 #total de linhas = 3

for j in range(3):

M[j] = [0]*4 #total de colunas em cada linha = 4

Resultado:

M = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]][[0, 0, 0, 0],

[0, 0, 0, 0], [0, 0, 0, 0]]

M[0][0] = 55  M = [[55, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

M[2][3] = 77  M = [[55, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 77]]

Programa em Python para o algoritmo que preenche todas as posições de uma matriz 4x4 com 1:

sala = [0]*4 #criacao das linhas

for j in range(4): #criacao de um vetor para cada linha

sala[j] = [0]* 4

for j in range(4):

for k in range(4): sala[j][k] = 1

print sala

Funcionalidades utilizadas:

  • import random → carrega o módulo para trabalhar com números randômicos
  • random.randint(a,b) → gera um número inteiro n tal que a <= n <= b
  • random.random() → gera um número entre 0.0 e 1.
  • random.uniform(a,b) → gera um número real entre a e b
  • Para mostrar os elementos de uma linha ou coluna basta representar [:]

for j in range(linhas):

print 'linha',j, sala[j][:] #acessa todas as colunas [:]

Exercício:

  • Escreva um algoritmo em Python que some duas matrizes e coloque o resultado em uma terceira matriz.
  • Este problema pode ser resolvido seguindo os seguintes passos:
    • (^) Crie as matrizes
    • (^) Utilize uma função randômica para gerar os elementos das matrizes
    • (^) Calcule a soma e mostre o resultado