segunda-feira, 16 de maio de 2011

Laço de repetição (Loop) com arquito .txt

Veremos como ler um arquivo de texto, onde iremos passar o caminho onde se encontra o arquivo da extensão .txt que o programa irá ler o conteúdo dele.
 Iremos criar uma aplicação do tipo Console Application e faremos o seguinte:

//vamos criar um objeto do tipo StreamReader, já passando o endereço onde se encontra o arquivo com seu nome e extensão.
StreamReader objReader = new StreamReader("c:\\wgmobile.txt");
//vamos também criar uma string para receber a linha do objeto que irá conter os dados do arquivo
string sLine = "";
//criaremos também um objeto do tipo ArrayList que vai receber os dados do arquivo
ArrayList arrText = new ArrayList();
//e aqui entra nosso laço de repetição WHILE, que fará o teste enquanto o sLine for diferente de NULL

while (sLine != null)
{
     sLine = objReader.ReadLine();
     if (sLine != null)
     arrText.Add(sLine);
}
//Fechando o objeto objReader que está com os dados do arquivo
objReader.Close();
//Outro laço que vai mostrar os dados enquanto o arrText conter dados

foreach (string sOutput in arrText)
Console.WriteLine(sOutput);
Console.ReadLine();

//O que vai conter o console aberto quando for executado
Console.ReadKey();

//sem os comentários, o código fica assim:

StreamReader objReader = new StreamReader("c:\\wgmobile.txt");
string sLine = "";
ArrayList arrText = new ArrayList();
while (sLine != null)
{
    sLine = objReader.ReadLine();
    if (sLine != null)
    arrText.Add(sLine);
}
objReader.Close();
foreach (string sOutput in arrText)
Console.WriteLine(sOutput);
Console.ReadLine();
Console.ReadKey();

espero ter contribuído para o conhecimento de todos mais uma vez.

Fiquem com Deus!

terça-feira, 10 de maio de 2011

Salve pessoal do SALTI

Olá para todos!!
Estou voltando com as postagens no blog do salti.
Passei um tempo parado por motivos superiores (minha filha nasceu), mas agora estou voltando a alimentar o blog do SALTI.
E para inicar, vamos aprender sobre  Algoritmo.


Algoritmo

Origem: Wikipédia, a enciclopédia livre.
Uma animação do algoritmo de ordenação quicksort de uma matriz de valores ao acaso. As barras vermelhas marcam o elemento pivot, no início da animação, estando o elemento para o lado direito é escolhido como o pivô.
 
Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita.
O conceito de algoritmo é frequentemente ilustrado pelo exemplo de uma receita, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada. Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema.
Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. Sua implementação pode ser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano. Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instruções em mais ou menos tempo, espaço ou esforço do que outros. Tal diferença pode ser reflexo da complexidade computacional aplicada, que depende de estruturas de dados adequadas ao algoritmo. Por exemplo, um algoritmo para se vestir pode especificar que você vista primeiro as meias e os sapatos antes de vestir a calça enquanto outro algoritmo especifica que você deve primeiro vestir a calça e depois as meias e os sapatos. Fica claro que o primeiro algoritmo é mais difícil de executar que o segundo apesar de ambos levarem ao mesmo resultado.
O conceito de um algoritmo foi formalizado em 1936 pela Máquina de Turing de Alan Turing e pelo cálculo lambda de Alonzo Church, que formaram as primeiras fundações da Ciência da computação.

Implementação

A maioria dos algoritmos é desenvolvida para ser implementada em um programa de computador. Apesar disso eles também podem ser implementados por outros modos tais como uma rede neural biológica (tal como no cérebro quando efetuamos operações aritméticas) em circuitos elétricos ou até mesmo em dispositivos mecânicos.
Para programas de computador existe uma grande variedade de linguagens de programação, cada uma com características específicas que podem facilitar a implementação de determinados algoritmos ou atender a propósitos mais gerais.

Análise de algoritmos

A análise de algoritmos é um ramo da ciência da computação que estuda as técnicas de projeto de algoritmos e os algoritmos de forma abstrata, sem estarem implementados em uma linguagem de programação em particular ou implementadas de algum outro modo. Ela preocupa-se com os recursos necessários para a execução do algoritmo tais como o tempo de execução e o espaço de armazenamento de dados. Deve-se perceber que para um dado algoritmo pode-se ter diferentes quantidades de recursos alocados de acordo com os parâmetros passados na entrada. Por exemplo, se definirmos que o fatorial de um número natural é igual ao fatorial de seu antecessor multiplicado pelo próprio número, fica claro que a execução de fatorial(10) consome mais tempo que a execução de fatorial(5).
Um meio de exibir um algoritmo a fim de analisá-lo é através da implementação por pseudocódigo em português estruturado. O exemplo a seguir é um algoritmo em português estruturado que retorna (valor de saída) a soma de dois valores (também conhecidos como parâmetros ou argumentos, valores de entrada) que são introduzidos na chamada da função:
Algoritmo "SomaDeDoisValores";
variável:
SOMA,A,B: inteiro;
inicio
Escreva("Digite um numero");
Leia(A);
escreva("digite outro numero");
leia(B);
SOMA ← A + B;
escreva(SOMA);
fim.
 
Fluxograma, um exemplo de algoritmo imperativo. O estado em vermelho indica a entrada do algoritmo enquanto os estados em verde indicam as possíveis saídas.
 
 
 
Espero que esse post, ajude aentender mais sobre algoritmo.
Fico por aqui, até a proxima. 

Fiquem com Deus!