Arquivo

Archive for setembro \11\UTC 2009

Trabalhando com Matrizes em C

11 de setembro de 2009 Deixe um comentário
Na matemática, uma matriz é uma tabela de m x n símbolos sobre um corpo F, representada sob a forma de um quadro com m linhas e n colunas e utilizado, entre outras coisas, para a resolução de sistemas de equações lineares e transformações lineares.

As linhas horizontais da matriz são chamadas de colunas e as linhas verticais são chamadas de linhas. Uma matriz com m(i) colunas e n(j) linhas é chamada de uma matriz m por n (escreve-se m×n) e m e n são chamadas de suas dimensões, tipo ou ordem.

http://pt.wikipedia.org/wiki/Matriz_%28matem%C3%A1tica%29

Ex.:

A matriz abaixo denominada A, possui ordem 3 x 2, ou seja, possui 3 colunas e 2 linhas.

matriz

Definimos os elementos contidos na matriz através da citação, a i j, onde: a é o valor, i é a posição da linha e j é igual a posição da coluna da matriz. Verificando a matriz A (acima) percebemos que o elemento da posição a 1 1 possui o valor 1 e o elemento da posição a 1 3 possui o valor 3.

matriz2

Sabendo a lógica da criação de uma matriz vamos começar a pensar em nosso programa. Para trabalhar com matrizes em C é essencial o conhecimento da função for.

Faça um programa onde o usuário crie uma matriz de tamanho 3 x 3 e imprima posteriormente a mesma na tela.

Código:

impressãomatriz

Analisando o Código:

A declaração da variável que receberá a matriz tem a seguinte sintaxe: nome_variável[qtd_linhas][qtd_colunas]. No código acima perceba que foram criadas as variáveis linha e coluna que receberá um valor inteiro que determinará o tamanho da matriz (no caso 3 x 3). Isso é válido, pois se você criar a variável matriz (m) possuindo o valor direto para linhas e colunas, caso você necessitar alterar o tamanho de sua matriz, toda estrutura for criada deverá ser atualizada manualmente.

Determinando esses valores em variáveis, basta você referenciar as mesmas nas posições referentes as linhas e colunas da matriz (m[linha][coluna]), assim toda a vez que necessitar alterar o tamanho de sua matriz, atualize apenas essas variáveis.

Na linha 12 do código, começamos a criação da nossa matriz. Como a matriz é um vetor bidimensional necessitamos de um for para criação das linhas e de um outro for identado (dentro do primeiro) para a criação das colunas, repare que na estrutura do for é comparado as variáveis linha e coluna, isso para evitar o problema mencionado acima.

O printf apresentado na linha 16 do código, imprime na tela a posição que será digitada, onde a variável i representa a linha de nossa matriz e a variável j a coluna. Desta forma será exibido na tela a seguinte frase: Posição[0][0]..: .

A próxima linha de código, o usuário deverá digitar o valor que a determinada posição da matriz (i = linha, j = coluna) irá receber, após a digitação desse elemento os for serão novamente acionados e a próxima posição será exibida para a digitação de seu elemento (valor).

Desta forma podemos perceber que todos os elementos da matriz foram digitados.

Passaremos agora para os códigos que exibirão a matriz digitada na tela.

Perceba que as funções for são idênticas, inicialmente a variável i terá o valor 0, sendo assim enquanto i (0) for menor que a variável linha que possui o valor 3, o for será executado somando mais 1 na variável i.

Na linha de código 27 nossa matriz será exibida na tela contendo os valores digitados.

Assim terminamos a explicação básica sobre matrizes, em breve mostrarei como imprimir  a diagonal principal da matriz e realizar a multiplicação entre duas matrizes.

Anúncios

A Importância da Identação do Código na Programação

10 de setembro de 2009 Deixe um comentário
Cada vez mais precisamos trabalhar em grupo.

Essa afirmação está presente no dia a dia de todos, não se faz mais nada sozinho… nada mesmo.

Pensando nisso e percebendo a grande importância desse assunto, apesar de muita gente achar uma bobagem, estou escrevendo esse post.
Devemos ter muito cuidado ao escrever nossos códigos, e ter em mente que com certeza ele será visto por outra pessoa que precisará entendê-lo. A identação é uma forma essencial de fazer com que a pessoa visualize o código de maneira mais “limpa”, evitando equívocos no seu entendimento.

O que é identar?
Se tratando de computação, identar é um termo utilizado para digitar o código do programa de forma hierárquica, facilitando assim a visualização e o entendimento do programa. O exemplo abaixo mostra um código identado.
codigoidentado

Perceba a facilidade de visualizar e entender o código acima. Mesmo se tratando de um código pequeno a identação foi feita de forma correta, apenas olhando conseguimos decifrar que a linha 9 só será executada quando a comparação da linha 8 for verdadeira, e que a linha 11 será executada caso a comparação for falsa. Sendo assim sabemos qual linha pertence ao if e qual linha pertence ao else, pois as mesmas foram digitadas de forma hierárquica.

Vejamos agora o mesmo código sem identação.
semidentaçao

Hum… difícil entender né? Tudo bem que se trata de um código pequeno e analisando-o bem conseguimos entendê-lo, mais imagine um código com 1000 linhas não identadas? É, com certeza a dificuldade no entendimento do mesmo será muito maior.
Por tanto seja organizado, escreva seu código de maneira identada, pois além de facilitar a sua visualização, quando necessitar de entregar para outra pessoa analisar não haverá problemas.

Obs.: A identação na maioria das linguagem de desenvolvimento é apenas uma questão de estética do código, isto é, caso você optar por não realização a identação e o código estiver correto, o mesmo será compilado/executado sem problemas.
Categorias:Dicas

Conversão de Horas

10 de setembro de 2009 Deixe um comentário

Muitas são as dificuldades encontradas pelo inciante em desenvolvimento ao trabalhar com conversão de horas. Irei escrever abaixo um simples código comentado que converterá a hora digitada em minutos, o total de minutos e o total de segundos.

Lembrando que a lógica a ser utilizada é que 1 hora possui 60 minutos, logo para se achar o valor total de minutos em determinada hora digitada, basta multiplicar a hora por 60. Ex.: 2 hs  – 2 x 60 = 120 m.

Caso a hora não for exata como no exemplo acima, deve-se somar a quantidade de minutos existente no resultado da multiplicação por 60. Ex.: 2 hs 15 m – 2 x 60 = 120 + 15 = 135 m.

Para encontrar o total de segundos, basta realizar a conversão de horas para minutos (exemplo acima)  e multiplicar o resultado por 60 + a quantidade de segundos, se houver.

Vamos ao código em C.

Código Conversão de hora