Buscar

Parte 7 - Vetores e Matrizes (PUC)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Prof. Edson J. R. Justino
Prof. Claudio Carvilhe
Parte 7 - Teo
Pontifícia Universidade Católica do Paraná - PUCPR
Estruturas de Dados Homogêneas
� Definição de novos tipos
� Nem sempre os tipos básicos (int, real, caractere e 
lógico) são suficientes para exprimir estrutura de 
dados em algoritmos
� O tipo vetor
○ Representa uma coleção de um dos tipos básicos
tipo_básicotipo_básico nome_vetor [limite];nome_vetor [limite];
Onde Onde tipo_básicotipo_básico são int, real, são int, real, 
caractere e lógicocaractere e lógico
Estruturas de Dados Homogêneas
� Exemplo 1: Qual será o valor de X impresso pelo 
algoritmo abaixo? InícioInício
realreal x, v[5];x, v[5];
intint I;I;
v[0] <v[0] <-- 1;1;
v[1] <v[1] <-- 3;3;
v[2] <v[2] <-- 0;0;
v[3] <v[3] <-- 2;2;
v[4] <v[4] <-- 4;4;
x <x <-- v[0] + v[4];v[0] + v[4];
ImprimaImprima (x);(x);
x <x <-- v[1] v[1] –– v[4];v[4];
ImprimaImprima (x);(x);
x <x <-- v[3] * v[0] v[3] * v[0] -- x;x;
ImprimaImprima (x);(x);
I <I <-- 2; 2; 
x <x <-- v[I];v[I];
ImprimaImprima (x);(x);
x <x <-- v[I]/v[v[0]];v[I]/v[v[0]];
ImprimaImprima (x);(x);
FimFim
Estruturas de Dados Homogêneas
� Exemplo 2:Um professor tem uma turma com 80 alunos e deseja 
calcular e imprimir a nota de cada aluno seguido da média da turma
InícioInício
realreal média, soma = 0;média, soma = 0;
realreal nota[80];nota[80];
intint i = 0;i = 0;
EnquantoEnquanto i < 80 i < 80 faça:faça:
leialeia(nota[i]);(nota[i]);leialeia(nota[i]);(nota[i]);
soma <soma <-- soma + nota[i];soma + nota[i];
i <i <-- i + 1;i + 1;
FimFim--enquantoenquanto
média <média <-- soma/80;soma/80;
i <i <-- 0;0;
EnquantoEnquanto i < 80 i < 80 faça:faça:
ImprimaImprima( nota[i], média);( nota[i], média);
i <i <-- i + 1;i + 1;
FimFim--enquantoenquanto
FimFim
►► Exemplo 3: Escreva o exemplo anterior usando o comando PARAExemplo 3: Escreva o exemplo anterior usando o comando PARA
Estruturas de Dados Homogêneas
� Exemplo 4: Dado vetor CRR de caracteres abaixo
○ CRR
� Qual será a sua configuração depois de executar os comandos:
! U O T R E C A
InícioInícioInícioInício
caracterecaractere crrcrr[8]={!,U,O,T,R,E,C,A};[8]={!,U,O,T,R,E,C,A};
intint i;i;
caractere AUX;caractere AUX;
ParaPara ii dede 1 1 até até 33 passo passo 11
auxaux <<-- crrcrr[i];[i];
crrcrr[i] <[i] <-- crrcrr[7 [7 –– i];i];
crrcrr[7 [7 –– i] <i] <-- auxaux;;
FimFim--parapara
auxaux <<-- crrcrr[0];[0];
crrcrr[0] <[0] <-- crrcrr[7];[7];
crrcrr[7] <[7] <-- auxaux;;
FimFim
Exercício Exemplo
� Dados os vetores X[30], R[10] e S[20], 
escreva um algoritmo que gere o vetor 
X correspondente a união dos vetores 
R e S;R e S;
Solução
InícioInício
caracterecaractere R[10], S[20], X[30];R[10], S[20], X[30];
intint i;i;
Leia(Leia(R,SR,S); ); Leia(Leia(R,SR,S); ); 
ParaPara ii dede 0 0 até até 99 passo passo 11
X[i] <X[i] <-- R[i];R[i];
FimFim--parapara
ParaPara ii dede 0 0 até até 1919 passo passo 11
X[10+i] <X[10+i] <-- S[i];S[i];
FimFim--parapara
ImprimaImprima (X);(X);
FimFim
Exercícios Propostos
� 2) Elabore um algoritmo para somar 
respectivamente os elementos de dois 
vetores A e B de 50 posições, gerando um 
terceiro vetor C.
� 3) Elaborar um algoritmo para calcular a � 3) Elaborar um algoritmo para calcular a 
média aritmética dos valores de um vetor 
de inteiros de 20 posições.
� 4) Elaborar um algoritmo que leia um vetor 
de inteiros de 90 posições e imprima uma 
lista com os valores na ordem inversa da 
leitura. 
Matrizes
� Definição do Tipo Matriz
� O tipo matriz
○ Representa uma coleção de um dos tipos 
básicos em duas dimensões
tipo_básicotipo_básico nome_vetor [limite1][limite2];nome_vetor [limite1][limite2];
tipo_básicotipo_básico são int, real, caracteresão int, real, caractere
Matrizes
� Exemplo
int matriz_modelo[3][4];
\\ 00 11 22 33\\ 00 11 22 33
00
11
22 matriz_modelo[1][2]
Matrizes
� Matrizes com três ou mais dimensões
� Três dimensões
int matriz_modelo[3][4][5];
� Quatro dimensões� Quatro dimensões
charactere matriz_modelo[3][4][5][20];
� N dimensões
real matriz_modelo[3][4]...[5];
Matrizes
� Exemplo 1: O que será impresso no algoritmo abaixo?
InícioInício
intint m1[3][2];m1[3][2];
intint i, j;i, j;
m1[0][0] <m1[0][0] <-- 1;1;
m1[0][1] <m1[0][1] <-- 2;2;m1[0][1] <m1[0][1] <-- 2;2;
m1[1][0] <m1[1][0] <-- 3; 3; 
m1[1][1] <m1[1][1] <-- 4;4;
m1[2][0] <m1[2][0] <-- 5; 5; 
m1[2][1] <m1[2][1] <-- 6;6;
ImprimaImprima (m1);(m1);
parapara ii dede 0 0 atéaté 11
parapara j j dede 0 0 atéaté 22
imprimaimprima(m1[j][i]);(m1[j][i]);
fimfim--parapara
fimfim--parapara
FimFim
Matrizes
� Exemplo 2: O que será 
impresso no algoritmo 
abaixo?
InícioInício
intint m1[3][4];m1[3][4];
caracterecaractere n1[2][2];n1[2][2];
intint i, j;i, j;
j <j <-- 1;1;
parapara i i dede 0 0 atéaté 22
m1[i][j] <m1[i][j] <-- 2;2;
m1[i][j+2] <m1[i][j+2] <-- 2;2;
m1[i][jm1[i][j--1] <1] <-- 1; 1; 
m1[i][j+1] <m1[i][j+1] <-- 1;1;
fimfim--paraparafimfim--parapara
para para ii dede 0 0 atéaté 11
para para j j dede 0 0 atéaté 11
sese i = j i = j entãoentão
n1[i][j] <n1[i][j] <-- ‘A’;‘A’;
senãosenão
n1[i][j] <n1[i][j] <-- ‘Z’;‘Z’;
fimfim--sese
fimfim--parapara
fimfim--parapara
ImprimaImprima (m1, n1);(m1, n1);
FimFim
Matrizes
� Exemplo 3: O que 
será impresso no 
algoritmo abaixo?
InícioInício
intint i, j;i, j;
caracterecaractere m1[4][4]= {{O,Q,*,I}, {E,A,E,S}, m1[4][4]= {{O,Q,*,I}, {E,A,E,S}, 
{R,E,U,T},{R,E,U,T},
{A,*,*,S}};{A,*,*,S}};
caractere caractere auxaux;;
parapara i i dede 0 0 atéaté 3 3 passo passo 11
parapara j j dede i+1 i+1 atéaté 3 3 passo passo 11
auxaux <<-- m1[i][j];m1[i][j];
m1[i][j] <m1[i][j] <-- m1[j][i];m1[j][i];
m1[j][i] <m1[j][i] <-- auxaux; ; m1[j][i] <m1[j][i] <-- auxaux; ; 
fimfim--parapara
fimfim--parapara
auxaux <<-- m1[0][0];m1[0][0];
m1[0][0] <m1[0][0] <-- m1[3][3];m1[3][3];
m1[3][3] <m1[3][3] <-- auxaux;;
auxaux <<-- m1[1][1];m1[1][1];
m1[1][1] <m1[1][1] <-- m1[2][2];m1[2][2];
m1[2][2] <m1[2][2] <-- auxaux; ; 
ImprimaImprima (m1);(m1);
FimFim
Exercícios Propostos
� 1) Elaborar um algoritmo que leia uma matriz de 
4x5 elementos inteiros e some os elementos de 
cada linha gerando um vetor SOMALINHA. Em 
seguida, somar os elementos do vetor somalinha 
na variável TOTAL. Ao final, imprima a matriz, o 
vetor e a variável total.
2) Elaborar um algoritmo que leia duas matrizes � 2) Elaborar um algoritmo que leia duas matrizes 
reais de dimensão 3x5, calcule e imprima a soma 
das matrizes.
� 3) Escreva um algoritmo que:
� Leia uma matriz 20x20 de elementos reais;
� Divida cada elemento de uma linha da matriz pelo 
elemento da diagonal principal desta linha;
� Imprima a matriz assim modificada.

Outros materiais