Buscar

Algoritmos I (Unidade Curricular 6) - Positivo Tecnologia em Sistemas para Internet

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 21 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 21 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 21 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Competências da Aula
• C6 - (N) - Identificar e aplicar estruturas 
homogêneas de armazenamento com duas ou 
mais dimensões em problemas algorítmicos. 
Vetor Bidimensional
• Nas situações anteriores, cada estrutura do
tipo vetor armazena os dados em uma única
“fileira” (uma dimensão).
• Há muitas situações, porém, em que a
natureza dos dados nos indica que a sua
forma de armazenamento possui mais de uma
dimensão, e para isso podemos criar matrizes.
Vetor Bidimensional
• Em programação, uma matriz é um vetor que 
possui mais de uma dimensão, geralmente 
duas.
• Sendo bidimensional, a variável atua como 
uma grade de linhas e colunas, onde a 
interseção entre uma linha e uma coluna 
armazena um valor.
Vetor Bidimensional
• Uma matriz também pode ser considerada 
como um conjunto de caixinhas, contendo 
dados de mesma natureza.
Vetor Bidimensional
• Abaixo segue a forma de declaração de 
uma matriz
• Os colchetes indicam o intervalo que será 
utilizado para os índices (linha e coluna) de 
cada posição da matriz
• Sintaxe:
<var>: vetor[inicio..fim,inicio..fim] de <tipo>;
Vetor Bidimensional
• Exemplo: Suponha que se queira armazenar 
um conjunto de valores reais dispostos em 
3 linhas e 4 colunas.
matriz : vetor[1..3,1..4] de real;
• A variável é uma só, no nosso caso
declarada como matriz, mas é capaz
de armazenar 12 valores reais
diferentes.
Vetor Bidimensional
• Cada posição de uma matriz é referenciada 
pela seguinte sintaxe:
<nome_matriz>[<linha>,<coluna>]
Exemplo
• Faça um algoritmo que o usuário informe os
valores de uma matriz 3x3, multiplique a
mesma por um valor informado pelo usuário e
apresente a matriz resultante na tela.
algoritmo exemplo_matriz;
variaveis
inteiro: matriz[3][3];
inteiro: linha, coluna, multiplicador;
Inicio
para (linha=0; linha<3; linha++) faca
para(coluna=0; coluna<3; coluna++) faca
escreva (“Entre com um valor para 
a posição”,linha,coluna
“da matriz”);
leia (matriz[linha][coluna]);
fimpara
fimpara
escreva(“Entre com o multiplicador”);
leia (multiplicador);
para (linha=0; linha<3; linha++) faca
para(coluna=0; coluna<3; coluna++) faca
matriz[linha][coluna]  matriz[linha][coluna] *
multiplicador;
fimpara
fimpara
....
....
escreval(“Matriz Final”);
para (linha=0; linha<3; linha++) faca
para(coluna=0; coluna<3; coluna++) faca
escreva(matriz[linha][coluna], “-”);
fimpara
escreval(“”);
fimpara
fim.
Exercício
• Construa um algoritmo para gerar e exibir a 
matriz abaixo:










22191613
21181512
20171411
algoritmo gera_matriz;
var
matriz [3,4]de inteiro;
linha, coluna, valor : inteiro;
inicio
valor  11;
para(linha=1; linha<=3; linha++) faca
para(coluna=1; coluna<=4; coluna++) faca
matriz[linha,coluna]  valor;
valor  valor + 3;
fimpara
valor valor -8
fimpara
para(linha=1; linha<=3; linha++) faca
para(coluna=1; coluna<=4; coluna++) faca
escreval(matriz[linha,coluna]);
fimpara
fimpara
fim.
Exercício
• Faça um algoritmo para ler uma matriz
(10x10) e depois escreva a soma dos
elementos da diagonal principal.
algoritmo soma_diagonal;
variaveis
matriz : vetor[1..10,1..10] de real;
linha, coluna : inteiro;
soma : real;
inicio
soma  0;
para(coluna=1; coluna<=10; coluna++)faca
para(linha=1; linha<=10; linha++) faca
ler matriz[linha,coluna];
se linha == coluna entao
soma  soma + matriz[linha,coluna];
fimse
fimpara
fimpara
escreva(soma);
fim
Exercício
• Construa um algoritmo para ler uma matriz
(4x3) de inteiros e imprimir a soma dos
elementos de uma linha fornecida pelo
usuário.
algoritmo soma_linha_matriz;
variaveis
matriz : vetor[1..4,1..3] de inteiros;
linha, coluna, soma : inteiro;
inicio
soma  0;
para(linha=1; linha<=4; linha++) faca
para(coluna=1; coluna<=3; coluna++) faca
leia(matriz[linha,coluna]);
fimpara
fimpara
escreva (“Somar a linha :”);
leia(linha);
para(coluna=1; coluna<=3; coluna++) faca
soma  soma + matriz[linha,coluna];
fim-para;
escrever soma;
fim.
Matriz
• Um distribuidor de refrigerante vende seu 
produto em todo o país. Em cada trimestre 
do ano passado, ele vendeu uma certa 
quantidade de garrafas em cada região do 
Brasil (1 – Norte; 2 – Nordeste; 3 – Sul; 4 
– Sudeste; 5 – Centro-Oeste). Podemos 
desenhar a representação destes dados 
assim (os números são exemplos)
Matriz
• Faça um algoritmo para ler as quantidades vendidas e escrever a
quantidade total vendida no decorrer de 1 ano em todo o país.
• Obtenha também o soma dos valores vendidos no primeiro
semestre nas regiões Sul e Sudeste.
150 1150 900 1500 400
180 980 1100 2300 650
140 1000 950 2100 500
210 1600 1400 2600 840
1 - Norte 2 - Nordeste 3 - Sul 4 - Sudeste 5 – Centro-oeste
1° Trimestre
2° Trimestre
3° Trimestre
4° Trimestre
Variaveis
vendas : vetor[1..4, 1..5] de inteiro;
i, j, total, Tot_S : inteiro;
Inicio
total0
para(i=1; i<=4, i++) faca
para(j=1; j<=5; j++) faca
escreva(‘Digite a quantidade do ‘, i, ‘trimestre e ‘, j, ‘regiao’);
leia(vendas[i,j]);
fimpara
fimpara
para(i=1; i<=4, i++) faca
para(j=1; j<=5; j++) faca
total <- total +vendas[i,j]; 
se ( (i=1 || i=2)&&(j=3 || j=4)) então
Tot_STot_S+vendas[I,j];
fimse
fimpara
fimpara
escreva(total);
fim
Exercícios
• Faça um algoritmo para ler uma matriz 3x4 de 
números reais, e depois exibir o elemento do 
canto superior esquerdo e do canto inferior 
direito;
• Ler uma matriz 5x5 e gerar outra em que cada 
elemento é o cubo do elemento respectivo na 
matriz original. Ao final, imprima o elemento do 
meio dessa matriz.
• Faça um algoritmo para ler uma matriz 3x3 real 
e imprimir a soma da diagonal principal.

Continue navegando