Exercicios

segunda-feira, 22 de dezembro de 2014
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

Matrizes...em Algoritmo!

sábado, 20 de dezembro de 2014
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.
vetor e matriz (array)
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. 

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)?