algoritmo "Questao 1"
// Função : Calcular
// Autor :
// Data : 08/12/2014
// Seção de Declarações
var
i,j,L,soma:inteiro
M:vetor[1..4,1..3] de inteiro
inicio
// Seção de Comandos
//Desenvolva um algoritmo que leia uma matriz 4x3 de inteiro e
//imprima a soma dos elementos de uma determinada Linha L fornecida
// pelo usuário. O programa deve repetir a opção de digitar uma linha
//L para que seja apresentada a soma.
escreval("Digite o valor da matriz M:")
para i de 1 ate 4 faca
para j de 1 ate 3 faca
escreval("Valor de linha",i,"coluna",j)
leia(M[i,j])
fimpara
fimpara
escreval("Digite a linha desejada")
leia(L)
para j de 1 ate 3 faca
soma<-M[L,j]+soma
fimpara
escreval(soma)
fimalgoritmo
algoritmo "Questao 5"
// Função : Calcular
// Autor :
// Data : 09/12/2014
// Seção de Declarações
var
i,j:inteiro
A:vetor[1..4,1..4] de inteiro
inicio
// Seção de Comandos
escreval("Digite os valores da matriz A:")
para i de 1 ate 4 faca
para j de 1 ate 4 faca
escreval("Posicao",i,",",j)
leia(A[i,j])
fimpara
fimpara
se ((A[2,1]=0) e (A[3,1]=0) e (A[3,2]=0) e (A[4,1]=0) e (A[4,2]=0) e (A[4,3]=0)) entao
escreval("É uma matriz triangular superior")
senao
escreval("Não é uma matriz triangular superior")
fimse
escreval()
para i de 1 ate 4 faca
escreval()
para j de 1 ate 4 faca
escreva(A[i,j])
fimpara
fimpara
fimalgoritmo
algoritmo "Questao 10"
// Função : Calcular
// Autor :
// Data : 10/12/2014
// Seção de Declarações
var
A,B:vetor[1..10,1..2] de inteiro
i:inteiro
inicio
// Seção de Comandos
escreval("Digite os valores da matriz A")
para i de 1 ate 100 faca
leia(A[i])
fimpara
escreval("Digite os valores da matriz B")
para i de 1 ate 100 faca
leia(B[i])
fimpara
fimalgoritmo
algoritmo "Questao 20"
// Função : Calcular
// Autor :
// Data : 14/12/2014
// Seção de Declarações
var
i,j,soma2,soma,media2,media:inteiro
A,A2:vetor[1..12,1..12] de inteiro
inicio
// Seção de Comandos
escreval("Escreva os numeros da matriz")
para i de 1 ate 12 faca
para j de 1 ate 12 faca
leia(A[i,j])
se (i>j) entao
soma<-A[i,j]+ soma
media<-soma/12
fimse
se (i<j) entao
soma2<-A[i,j]+ soma2
media2<-soma2/
fimse
fimpara
fimpara
para i de 1 ate 5 faca
para j de 1 ate 5 faca
C[i,j]<-A2[i,j]+B2[i,j]
fimpara
fimpara
escreval("A soma das matrizes sao:")
para i de 1 ate 5 faca
escreval()
para j de 1 ate 5 faca
escreva(C[i,j])
fimpara
fimpara
fimalgoritmo
Exercicios
segunda-feira, 22 de dezembro de 2014 Marcadores: #algoritmos, #exercícios, #interessante
Vetores e Matrizes são estruturas de dados muito simples que podem nos ajudar muito quando temos muitas variáveis do mesmo tipo em um algoritmo. Imagine o seguinte problema: Você precisa criar um algoritmo que lê o nome e as 4 notas de 50 alunos, calcular a média de cada aluno e informar quais foram aprovados e quais foram reprovados. Conseguiu imaginar quantas variáveis você vai precisar? Muitas né? Vamos fazer uma conta rápida: 50 variáveis para armazenar os nomes dos alunos, (4 * 50 = ) 200 variáveis para armazenar as 4 notas de cada aluno e por fim, 50 variáveis para armazenar as médias de cada aluno. 300 variáveis no total, sem contar a quantidade de linhas de código que você vai precisar para ler todos os dados do usuário, calcular as médias e apresentar os resultados. Mas eu tenho uma boa notícia pra você. Nós não precisamos criar 300 variáveis! Podemos utilizar Vetores e Matrizes (também conhecidos como ARRAYs)!
O QUE SÃO VETORES E MATRIZES?
Vetor (array uni-dimensional) é uma variável que armazena várias variáveis do mesmo tipo. No problema apresentado anteriormente, nós podemos utilizar um vetor de 50 posições para armazenar os nomes dos 50 alunos.
Matriz (array multi-dimensional) é um vetor de vetores. No nosso problema, imagine uma matriz para armazenar as 4 notas de cada um dos 50 alunos. Ou seja, um vetor de 50 posições, e em cada posição do vetor, há outro vetor com 4 posições. Isso é uma matriz.
Cada item do vetor (ou matriz) é acessado por um número chamado de índice.
Vamos representar os vetores e matrizes graficamente para facilitar o entendimento do conceito.
Podemos ver na imagem acima que cada posição do vetor é identificado por um número (chamado de índice), no caso da matriz são dois números (um na vertical e um na horizontal).
VETORES E MATRIZES NA PRÁTICA!
Tomando o exemplo apresentado no início deste artigo, vamos implementar o algoritmo utilizando oVisualg. Nele, vamos usar algumas estruturas básicas já apresentadas aqui, tais como A estrutura de repetição PARA e a estrutura de decisão SE-ENTÃO-SENÃO. (Neste algoritmo vamos reduzir o número de alunos de 50 para 5, para facilitar a visualização do resultado.)
Preste muita atenção no modo como é criado o Vetor e a Matriz e também a forma como é acessada cada posição.
MediaDe5Alunos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
algoritmo "MediaDe5Alunos"
// Função : Calcular a média das notas de 10 alunos e apresentar quem foi aprovado ou reprovado
// Autor : Gustavo
// Seção de Declarações
var
nomes: vetor [1..5] de caractere
notas: vetor [1..5,1..4] de real
medias: vetor [1..5] de real
contadorLoop1, contadorLoop2: inteiro
inicio
//Leitura dos nomes e as notas de cada aluno
PARA contadorLoop1 DE 1 ATE 5 FACA
ESCREVA("Digite o nome do aluno(a) número ", contadorLoop1, " de 5: ")
LEIA(nomes[contadorLoop1])
PARA contadorLoop2 DE 1 ATE 4 FACA
ESCREVA("Digite a nota ", contadorLoop2, " do aluno(a) ", nomes[contadorLoop1], ": ")
LEIA(notas[contadorLoop1, contadorLoop2])
FIMPARA
//CÁLCULO DAS MÉDIAS
medias[contadorLoop1] := (notas[contadorLoop1, 1] + notas[contadorLoop1, 2] + notas[contadorLoop1, 3] + notas[contadorLoop1, 4]) / 4
FIMPARA
//APRESENTAÇÃO DOS RESULTADOS
PARA contadorLoop1 DE 1 ATE 5 FACA
SE medias[contadorLoop1] >= 6 ENTAO
ESCREVAL("O aluno(a) ", nomes[contadorLoop1], " foi aprovado com as notas (", notas[contadorLoop1, 1], ", ", notas[contadorLoop1, 2], ", ", notas[contadorLoop1, 3], ", ", notas[contadorLoop1, 4], ") e média: ", medias[contadorLoop1])
SENAO
ESCREVAL("O aluno(a) ", nomes[contadorLoop1], " foi reprovado com as notas (", notas[contadorLoop1, 1], ", ", notas[contadorLoop1, 2], ", ", notas[contadorLoop1, 3], ", ", notas[contadorLoop1, 4], ") e média: ", medias[contadorLoop1])
FIMSE
FIMPARA
fimalgoritmo
|
Repare que os arrays (vetores ou matrizes) aliados a estrutura de repetição PARA é um ótimo recurso para algoritmos que precisam de muitas variáveis do mesmo tipo.
Se você é iniciante em programação este algoritmo pode parecer complexo para você, se houver dúvidas não se acanhe em deixar um comentário aí em baixo que vamos te ajudar. Pra aprender programação (e qualquer outra coisa) o mais importante é a força de vontade!
CONCLUSÃO
Como você pode perceber nesse artigo, Vetores e Matrizes são, na verdade, a mesma coisa: array a diferença é que o vetor é um array de apenas 1 dimensão e a matriz é um array de 2 (ou mais) dimensões.
Array é uma das estruturas de dados mais simples que existe e uma das mais utilizadas também. Acho que todas as linguagens de programação têm arrays, pelo menos ainda não conheço uma linguagem que não tem. Porém, os índices podem mudar dependendo da linguagem, algumas começam os índices do array com 1 e outras com 0, essa é a grande diferença que geralmente encontramos entre linguagens. No caso das linguagens que começam os arrays com o índice 0, o último elemento do array recebe o índice (<tamanho do array> – 1).
Gostou de conhecer os Arrays (Vetores e Matrizes)?
Matrizes...em Algoritmo! » Permalink
Postado por Unknown | sábado, 20 de dezembro de 2014 1 comentários
Postado por Unknown | sábado, 20 de dezembro de 2014 1 comentários

Assinar:
Postagens (Atom)