Scanner de ip simples para fins de estudo

Scanner de ip simples para fins de estudo

Feito em C#.

Code..:





using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.NetworkInformation;
using System.Globalization;


namespace Scanner
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        public IPAddress ip;
        public PingReply pr;
        public string ip1;
        public Ping ping;
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {


            for (int i = Convert.ToInt32(txtStart.Text); i <= Convert.ToInt32(txtEnd.Text); i++)
            {
                try
                {
                    if (backgroundWorker1.CancellationPending == true)
                    {
                        e.Cancel = true;
                        break;
                    }
                    else
                    {


                        ip1 = (txtIp.Text + "." + i.ToString());
                        ip = IPAddress.Parse(ip1);


                        ping = new Ping();
                        pr = ping.Send(ip, 5);
                        backgroundWorker1.ReportProgress(i);
                    }
                }
                catch
                {


                }


            }
        }
        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            if (pr.Status.ToString() == "Success")
            {
                resultsListView.Items.Add(ip1);
            }


            try { this.progressBar1.Value = e.ProgressPercentage; }
            catch { this.progressBar1.Maximum += 1; }
        }
        private void btStart_Click(object sender, EventArgs e)
        {
            progressBar1.Value = 0;
            progressBar1.Maximum = Convert.ToInt32(txtEnd.Text);
            backgroundWorker1.RunWorkerAsync();


        }
        private void btCancelar_Click(object sender, EventArgs e)
        {
            if (backgroundWorker1.WorkerSupportsCancellation == true)
            {


                backgroundWorker1.CancelAsync();
            }
        }
        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            MessageBox.Show("Scanner Terminou!");
        }
    }
}








Ferramentas Visual Studio:  http://www.microsoft.com/visualstudio/11/pt-br/downloads


Baixar Código fonte:  http://Baixar/Scanner.rar



Baixar Programa: http://Baixar/Scanner_exe.rar
Necessário para rodar .NET Framework 3.5 

Aprenda a programa $Part – 09

Bem vindo algoritmizeiros…
Parece que foi ontem que começamos nossa série de posts sobre algoritmos, na tentativa de fazer esse mundo melhor com mais programadores =D
Agora, no nono post da série, vamos aprender sobre estruturas de repetição.

Bom, até o momento, sempre fizemos algoritmos lineares, ou seja, ele possui um começo, meio e fim, e segue essa ordem…
As estruturas de repetição, irão repetir determinados comandos, até que uma comparação lógica se torne verdadeira ou falsa.
Vou explicar com exemplos, assim o entendimento se tornará mais fácil.
O Algoritmo abaixo, lê o nome e a nota de três provas de três alunos diferentes…
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
36
37
38
39
40
41
42
43
Algoritmo "MediaHarmonica"
 
var
a, b, c, MH: real
nome: caractere
 
inicio
 
escreva ("Entre com o nome do aluno: ")
leia (nome)
escreval ("Entre com as notas das três provas")
escreva ("Digite a primeira nota: ")
leia (a)
escreva ("Digite a segunda nota: ")
leia (b)
escreva ("Digite a terceira nota: ")
leia (c)
MH <- 3/(1/a + 1/b +1/c)
escreval ("A média harmônica do aluno: ", NOME, " é ", MH)
escreva ("Entre com o nome do aluno: ")
leia (nome)
escreval ("Entre com as notas das três provas")
escreva ("Digite a primeira nota: ")
leia (a)
escreva ("Digite a segunda nota: ")
leia (b)
escreva ("Digite a terceira nota: ")
leia (c)
MH <- 3/(1/a + 1/b +1/c)
escreval ("A média harmônica do aluno: ", NOME, " é ", MH)
escreva ("Entre com o nome do aluno: ")
leia (nome)
escreval ("Entre com as notas das três provas")
escreva ("Digite a primeira nota: ")
leia (a)
escreva ("Digite a segunda nota: ")
leia (b)
escreva ("Digite a terceira nota: ")
leia (c)
MH <- 3/(1/a + 1/b +1/c)
escreval ("A média harmônica do aluno: ", NOME, " é ", MH)
 
fimalgoritmo

Ainda bem que só tínhamos três alunos…
E se fosse uma turma de 40 alunos?
Para isso vamos utilizar estruturas de repetição =)

Na estrutura repita – ate, todos os comandos serão executados e, ao final, haverá uma expressão lógica, para que avalie a repetição, esta que somente irá cessar quando essa expressão for verdadeira.
1
2
3
4
// sintaxe da estrutura de repetição
repita
    
ate
Agora um exemplo didático…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
algoritmo "DemonstraRepeticao"
 
var
i: inteiro
 
inicio
 
i <- 1
repita
    escreva(i)
    i <- i + 1
ate i > 10
 
fimalgoritmo
Este algoritmo irá retornar na tela do usuário os números: 1 2 3 4 5 6 7 8 9 10

Mais porquê?

Primeiramente foi declarado a variável i como inteiro, logo em seguida utilizamos uma estrutura de repetição, o repita-ate, pedimos para escrever o valor de i e acrescentamos ao seu valor mais uma unidade, ou seja, i + 1.

e até quando isso será repetido?

Até que o valor de i seja maior que 10…
Então quando o valor de i chegou a 11, ele perguntou se i era maior que 10, como a resposta foi verdadeira, ele encerrou a repetição e foi para o próximo comando…
Como não temos mais nada, encerramos nosso algoritmo.

Só que dessa vez, nós teremos 40 alunos em nossa classe!

Não! Agora que já sabemos utilizar uma estrutura de repetição, vamos poupar trabalho e resumir nosso algoritmo!
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
Algoritmo "MediaHarmonica"
 
var
a, b, c, MH, i: real
NOME: caractere
 
inicio
 
i <- 1
Repita
    escreva("Entre com o nome do aluno: ")
    leia(nome)
    escreval ("Entre com as notas das três provas")
    escreva("Digite a primeira nota: ")
    leia(a)
    escreva("Digite a segunda nota: ")
    leia(b)
    escreva("Digite a terceira nota: ")
    leia(c)
    MH <- 3/(1/a + 1/b +1/c)
    escreval("A média harmônica do aluno: ", NOME, " é ", MH)
    i <- i + 1
ate i > 40
 
FimAlgoritmo

Aprenda a programa $Part – 08

Olá algoritmizeiros, chegamos hoje ao oitavo post de nosso curso/série/aula (como queiram chamar =) sobre algoritmos.
Para quem não conhece ainda, o ‘Aprenda a Programar‘, é uma série de posts lançados toda semana, geralmente na terça ou quarta-feira, ensinando uma linguagem de cunho didático para que se possa iniciar no fantástico mundo da programação. Essa linguagem chama-se Portugol.
Você pode ver todos os posts já lançados clicando aqui, ou no menu lateral do site.
Então vamos ao que interessa!!!
No último post, aprendemos sobre estrutura condicional, quando e como utilizar o operador SE-ENTAO-SENAO, porém, dependendo da ocasião, quando se há muitas escolhas diferentes, nosso código pode ficar grande, e de difícil leitura…
Nesse caso, entra mais uma função em nosso querido algoritmo, o ESCOLHA… CASO… CASO… OUTROCASO… =)
Ele é tão simples quanto o SE, e acredito que não deve haver tantas dúvidas.
Abaixo tem um algoritmo, sobre a classificação de atletas pela sua faixa etária, este exemplo, poderia ter sido feito utilizando a estrutura condicional se – então, mas aqui utilizarei o escolha – caso, para que vocês entendam como funciona o mesmo.
Mas antes do algoritmo…

Futebol, religião, fofoca…
Não, não é nada disso!
os comentários que direi agora, são trechos no código em que podemos escrever algo sem que o interpretador ache que isso é uma linha de código.
Em portugol, nossos comentários são tudo aquilo precedido por // (duas barras)

Os comentários em um código, serve para facilitar o entendimento por outros programadores. Não podemos ser egoístas em pensar que apenas você que o escreveu deve entende-lo, outras pessoas mais cedo ou mais tarde, precisarão ter acesso ao código para dar manutenção ao mesmo, seja elesoftware livre ou não.

algoritmo “Classificação de Atletas”
var
nome, categoria: caractere
idade: inteiro
inicio
escreva(“Digite o nome do atleta: “)
leia(nome)
escreva(“Informe a idade do atleta: “)
leia(idade)
// Até aqui tudo bem, ele pede o nome e idade, lê os valores e joga nas respectivas variáveis
escolha idade
// A função escolha irá interpretar os casos abaixo em cima da variável idade
caso 5,6,7,8,9,10
// Caso a variável idade receba os valores de 5 a 10, irá atribuir na variável categoria o valor:infantil
…. categoria <- “infantil”
caso 11,12,13,14,15
// Caso a variável idade receba os valores de 11 a 15, irá atribuir na variável categoria o valor:juvenil
…. categoria <- “juvenil”
caso 16,17,18,19,20
// Caso a variável idade receba os valores de 16 a 20, irá atribuir na variável categoria o valor:junior
…. categoria <- “junior”
caso 21,22,23,24,25
// Caso a variável idade receba os valores de 21 a 25, irá atribuir na variável categoria o valor:profissional
…. categoria <- “profissional”
outrocaso
// E se a variável idade não receber nenhum dos valores acima mencionados, vamos atribuir a variável categoria o valor: inválido
…. categoria <- “INVALIDO”
fimescolha
// O fimescolha finaliza a função que abrimos anteriormente
escreva(“Categoria: “,categoria)
// E este último escreva, serve para que possamos mostrar o resultado ao usuário
fimalgoritmo

Aprenda a programa $Part – 07

Vejamos…
Se “o Flamengo vencer” entao
…. “ele será campeão da libertadores”
fimse
=D
Sim, na vida, as vezes nos deparamos em situações na qual precisamos escolher algo somente seoutra coisa acontecer…
Chamamos isso de condição.
Nos algoritmos, também utilizaremos isto, como vocês notaram no começo do post, o que utilizei ali, foi uma estrutura condicional. Observem bem, o que está em negrito, as palavras se, entao, fimse. Elas serão importantíssimas em nosso algoritmo…
então, poderia basicamente dizer que em um algoritmo a sintaxe seria a seguinte:
se <condição> entao
…. <ações a serem realizadas se a condição for verdadeira> //pode ser uma ou mais
fimse

Esse foi um exemplo bem didático, mas em portugol, seria mais ou menos o seguinte:
se (vencedor = “Flamengo”) entao
…. escreva(“Flamengo será o campeão da Libertadores!!!”)
fimse

Não, esses quatro pontos, é um artifício que estou usando aqui no blog para indicar que ali, existe um espaço ou uma tabulação, já que se eu simplesmente der o espaço aqui no blog, ele não irá interpretar e ficará como se não houvesse nada…

Esse espaço, é o que chamamos de identação, que além de ser uma questão de ética entre os programadores, ele vai servir para que seu código tenha uma melhor aparência, e fique mais fácil para entendê-lo e dar manutenção.

“Se você não mandar o computador fazer nada, ele nada fará!” (by eu)
Nesse caso, podemos fazer nosso algoritmo de duas maneiras:
1 – utilizar dois condicionais SE.
Um exemplo bem didático e de fácil entendimento:
  1. se dinheiro >= 30 entao
  2. …. ir_ao_cinema <- verdadeiro
  3. …. assistir_tv <- falso
  4. fimse
  5. se dinheiro < 30 entao
  6. …. ir_ao_cinema <- falso
  7. …. assistir_tv <- verdadeiro
  8. fimse
e a segunda opção, que é bem melhor e de mais agradável leitura…
  1. se dinheiro >= 30 entao
  2. …. ir_ao_cinema <- verdadeiro
  3. …. assistir_tv <- falso
  4. senao
  5. …. ir_ao_cinema <- falso
  6. …. assistir_tv <- verdadeiro
  7. fimse
Observem que agora na linha quatro, apareceu uma palavrinha nova para nós… O senao

senao, será executado sempre que o resultado do “se” for falso.
No exemplo acima, o interpretador fez uma pergunta, “o dinheiro é maior ou igual a 30?”
Caso fosse, a variavel “ir_ao_cinema” receberia o valor verdadeiro, e a variável “assistir_tv” receberia o valor falso.
Se o dinheiro não fosse maior que 30, ou seja, caso ele fosse menor, o valor recebido das variáveis “ir_ao_cinema” e “assistir_tv” seriam outros.

Fácil não?

Agora, um algoritmo facin facin, para que vocês entendam por vez, como funciona a estrutura condicional se.
Como desafio de hoje…
Tentem entender o algoritmo acima sem copia-lo no VisualG. E caso não tenham conseguido entender, pode postar nos comentários que explicarei linha por linha
E mais dois desafios extras… =)
  1. Faça um algoritmo que receba um número e mostre uma mensagem caso este número seja maior que 10.
  2. Faça um algoritmo que receba um número, e informe se este número está no intervalo de 100 a 200.

Aprenda a programa $Part – 06

Olá queridos algoritmizeiros, como de costume, toda semana tem posts para vocês da série:Aprenda a Programar.
No quinto post, concluimos falando dos operadores aritméticos… e creio eu que não deve haver nenhuma dúvida, já que não vi manifestações nos comentários…
Então hoje iremos abordar mais alguns tipos de operadores…
Então. está esperando o que para começar a aprender? ^^

Os operadores relacionais, servem para realizar a comparação entre duas expressões, e resultam apenas um valor… Verdadeiro ou Falso.
Observem a tabela abaixo:

Ok Bruno, tem algum exemplo?

Tem sim!
as comparações, não são nenhuma novidade do que aprendemos na escola…
por exemplo:
  • 2 + 2 < 5 ==> Verdadeiro
  • 18 <> 18 ==> Falso
Simples não?

Temos ainda mais 3 operadores, o EOU e o NAO, esses são chamados de operadores lógicos, e também irão resultar apenas um valor, podendo ser Verdadeiro ou Falso.
Vamos ver a aplicação desses operadores em uma tabela verdade.
Entenderam como eles funcionam? Bem simples não?

No desenvolvimento de um programa, nem tudo são flores, ou seja, vamos colocar nossa cabeça para pensar…
As vezes é necessário juntar, dois ou mais operadores diferentes para conseguir um resultado…
Por exemplo:
(2 + 2 < 5) e (18 <> 18) resulta FALSO, pois como podemos observar na tabela verdade acima,Verdadeiro e Falso resulta Falso.

Não!
Um macete para vocês…
  • No operador E: Será verdadeiro quando as duas expressões forem verdadeiras.
  • No operador Ou: Será verdadeiro quando qualquer uma das expressões forem verdadeiras.
Logo,
  • Se houver UMA expressão falsa no operador E, o resultado sempre será FALSO.
  • No operador OU, será FALSO apenas quando as duas expressões forem FALSAS.

Que tal responder á alguns desafios? retornando o resultado da expressão, sendo ele, Verdadeiroou Falso.
  1. ((3 + 5) / 2) > 0) :
  2. (3 * 3 > 10) ou (2 + 2 < 10) :
  3. (10 <> 5) ou (1 + 1 = 0) :
  4. (2 + 3 >= 5) e (18 / 3 < 7) :
  5. (1 + 1 = 0) e (0 – 1 > 0) :

Aprenda a programa $Part – 05

Olá algoritmizeiros…
Bem vindo ao quinto post da série Aprenda a programar
Hoje, passaremos a vocês como atribuir valor a uma variável, sem utilizar a interação com o leitor, ou seja, sem a utilização do comando leia(variavel), e também aprenderemos sobre os operadores matemáticos, para que em breve, possamos começar a fazer algoritmos de verdade!
O resultado dos desafios que passei no post anterior, estarão nos comentários do mesmo. Então vamos começar….
Mas antes…

Foi visto no post/tutorial anterior, declaração de variáveis, como escrever uma mensagem ao usuário, e inserção de dados a partir de interação com o leitor, como no exemplo abaixo:
algoritmo “exemplo”
var
empresa: caractere
inicio
escreva(“Que empresa oferece hospedagem de sites pelo melhor custo/benefício? “)
leia(empresa)
escreva(“Você digitou: “,empresa)
fimalgoritmo

Veremos agora, logo abaixo…

Utilizaremos este símbolo/sinal/setinha…, para atribuir um valor a uma variável: <-
Exemplo:
numero <- 10
id <- 18
e também, podemos atribuir a uma variável, o valor de outra variável.

Não entendi nada…

Por exemplo, eu tenho a variável x, que possui o valor 20, e também a variável id, que pode conter, ou não algum valor.
A questão é que eu quero atribuir a variável id, o valor da variável x
como seria?
simples…
id <- x

Para atribuir um valor qualquer a uma variável, basta digitar o nome da variável, seguida de uma seta para esquerda, seguido do valor que você quer que ela tenha…

Ok, vocês é quem mandam!
Nem tudo na vida, é sequencial, ou seja, é possível resolver apenas de uma maneira. As vezes, é preciso haver condições para executar determinada tarefa, assim como efetuar operações matemáticas, e outros…
Nesse caso, utilizaremos operações matemáticas, condicionais, laços de repetições, etc.
Não se assustem, veremos cada um passo-a-passo, não é difícil!
A princípio, neste post, ficaremos apenas nos operadores aritméticos, e vermos o restante a partir da próxima terça-feira….

Para se realizar cálculos com variáveis, ou números definidos pelo programador, utilizaremos alguns sinais já bastante conhecidos por todos vocês:
Para entender os operadores aritméticos, é importante ressaltar, antes de mais nada, que como estamos “ensinando” algo para o computador, não podemos e não temos como passar para ele do jeito que escrevemos…
Por exemplo, em uma fórmula matemática, teríamos que passar tudo para uma linha apenas. É o que chamamos de linearização.
Vocês irão entender melhor ao visualizar a imagem abaixo:

E de onde saiu todos esses parênteses e “símbolos”?

Calma galera, de uma olhada na tabela abaixo, dos operadores aritméticos, e ficará mais fácil o entendimento…

Aprenda a programa $Part – 04

Bem vindos algoritmizeiros (acabei de inventar essa expressão =x) a mais um post da sérieAprenda a Programar.
Hoje, iremos nos aprofundar um pouco mais na pseudo-linguagem portugol, e a partir de agora será necessário para um melhor acompanhamento, que todos já tenham o VisualG instalado na máquina.
Se você é marinheiro de primeira viagem, de uma olhada nos outros posts da série:
Então vamos ao que interessa!

Todo e qualquer algoritmo, terá sempre um Nome, Declaração de variáveis, Início e Fim. Na estrutura abaixo:

Algoritmo “nome-do-seu-algoritmo”

VAR
nome-da-var: tipo
nome-da-var2: tipo
INICIO
|
|
|
|
FIMALGORITMO

Ok, entendi o “Nome” “Início” e “Fim” mas…

A declaração de variáveis, é uma parte obrigatória no portugol, assim como em outras linguagens de programação como C por exemplo.
Ela é necessária para que o interpretador entenda que aquela palavra é uma variável, além de ser útil em muitos casos, para que não dê um erro em seu programa futuramente devido a um erro de digitação, acusando de imediato onde está o erro.
Na estrutura do Portugol, dentro da seção VAR, declaramos a variável da seguinte maneira:
Nome-da-var: tipo
ex:
meunome: caractere
Ainda sobre a questão de variáveis, não vou entrar em muitos detalhes, pois as mesmas foram explicadas no post anterior.

Na tela Inicial do VisualG, já temos a estrutura de nosso portugol pronta, como expliquei no início do post.
algoritmo “olá mundo”
var
inicio
escreva(“Olá Mundo!”)
fimalgoritmo

escreva é uma palavra reservada do portugol, como expliquei no Aprenda a programar #3.
Sua função é escrever na tela o texto entre ” ” (aspas)
Se você está utilizando o visualg, ao digitar este código e apertar F9, o código será executado, e você verá que estará escrito na tela apenas a frase: Olá Mundo!

Porque ainda não utilizamos nenhuma.
No código acima, como vocês podem ver, foi utilizado apenas um minúsculo pedaço do que podemos fazer em portugol.
No algoritmo a seguir, vamos fazer o uso da função leia() e de variáveis.
algoritmo “leianumero”
var
num: inteiro
inicio
escreva(“Digite um número: “)
leia(num)
escreva(“O número digitado é: “, num)
fimalgoritmo

Foi declarado a variável num, como inteiro. Ou seja, poderá receber qualquer número não-fracionário (-2, -3, -20, 0, 1, 2, 40, 18…)
Em seguida, o algoritmo irá solicitar ao usuário que digite um número, escrevendo na tela a seguinte frase: Digite um número:
Se vocês notarem, há um espaço após os : e antes da “, isso é necessário para que o cursor dê o espaço desejado.
Como falei em um post anterior da série, o computador não é inteligente, ou seja, você tem que explicar tudo a ele, passo a passo.
leia(num) irá aguardar com o cursor na tela até que o usuário digite um número inteiro e tecle enter.
num é a variável que declaramos no início do algoritmo, lembram?
E finalmente, o resultado.
escreva(“O número digitado é: “, num)
É importante notar, que no escreva, tudo o que estiver entre aspas, vai ser tratado como um texto qualquer, então para retornarmos o conteúdo de uma variável, fechamos primeiro as aspas, colocamos uma vírgula e digitamos o nome da variável, para só então fechar o parenteses.
Testem o algoritmo acima no VisualG, e vejam o resultado.

Galera, que tal treinar mais um pouco…
  1. Crie um algoritmo que leia 2 números e mostrem o resultado.
  2. Crie um algoritmo que leia o nome e a idade de alguém, e mostre na tela o que foi digitado.
Dica: no exercício 2, terá que ser declarado duas variáveis, uma do tipo inteiro e outra do tipocaractere. Se houver dúvidas, de uma olhada no post anterior.
Depois de criar o algoritmo, entrem na filosofia do Software Livre, compartilhe seu código conosco!
Porque não postar seu código nos comentários para ajudar quem tem dúvidas? Existem diversas maneiras de chegar a uma solução a partir de um algoritmo!

Aprenda a programa $Part – 03

Isso mesmo, devido ao sucesso do aprenda a programar #1 e mais alguns outros fatores não tão importantes, nesta terça-feira, um presente do algoritmizando para vocês!
Dois posts da série Aprenda a programar em um único dia!
Para quem perdeu os outros posts anteriores, está aqui uma lista do que já foi passado:
Aprenda a programar #1 – Introdução a linguagem de programação e explicação de alguns conceitos importantes.
Aprenda a programar #2 – Introdução a algoritmos, portugol e conceitos.
Então vamos ao que interessa…

Sim, variáveis.
E para quem ainda não sabe, em programação, o uso da matemática é relativamente alto e é importante também, que você possua um bom raciocínio lógico. Sabe aquela matéria de lógica matemática, que você aprendeu no ensino médio, fundamental, ou qualquer que seja… poisé, ela é bastante útil aqui!

Mas o que são variáveis em programação?

Desenho de como seria uma variável

Desenho de como seria uma variável
Vamos entender variável, como uma caixa, na qual você pode dar o nome que lhe achar conveniente, e guardar o conteúdo que desejar.
Ou seja, toda variável tem um nome, valor e tipo.

Mas você não falou de tipo, o que é isso?

As variáveis, podem sem classificadas em:
  • numérica (numeros reais ou inteiros);
  • caracteres (sequências de texto);
  • booleanas (verdadeiro ou falso);
Em portugol, temos os tipos: real, inteiro, caractere logico

Então eu posso colocar qualquer nome em minha variável?

Sim e Não!
Como assim?
Certas palavras, são reservadas para o uso da linguagem, ou seja, essas palavras não podem ser utilizadas como um nome para sua variável, pois haveria um conflito na hora de interpretar o código.
Abaixo, uma tabela sobre as palavras reservadas do portugol:

Palavras reservadas do Portugol
Não se preocupe em decorar essa tabela, não é necessário! A medida em que você for aprendendo a programar em portugol, você saberá exatamente qual palavra é, e qual não é reservada pela linguagem.
Outras restrições para o nome de sua variável é:
  • O primeiro caractere de sua variável, deve ser necessariamente letra ou underline ‘_’. Não pode começar em números
  • Nomes de variáveis não podem ter espaços em branco. Nada de Coca Cola por exemplo.Uma variável correta seria ArgoHost, tudo junto e sem espaços.
  • Essa aqui chega a ser difícil… Não é permitido variáveis com mais de 127 caracteres (pasmem! quem criaria uma variável desse tamanho?)
  • E por fim, em Portugol, diferente de outras linguagens de programação, as variáveis não sãocase sensivity, ou seja, elas não diferenciam maiúsculas de minúsculas. Logo, BrUnO = bruno.

A tabela abaixo, exemplifica que tipo de conteúdo vai em cada variável.

Tipos de variáveis do portugol.

Aprenda a programa $Part – 02

Bem vindos ao segundo post da série: Aprenda a Programar
No primeiro post da série, abordamos alguns conceitos sobre linguagem de programação. A partir de hoje, iremos aprender uma pseudo-linguagem, para facilitar o entendimento futuro e adiquirir certa lógica de programação.
Mas por onde começar?
Para maioria dos seres mortais, a base de tudo, está nos Algoritmos

Segundo a Wikipédia
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.
Ok Bruno… Agora traduz!!!
O algoritmo, é uma instrução, ou uma ordem que você dará ao computador, para que ele realize determinada tarefa. Ao contrário do que a maioria das pessoas pensam, o computador não é inteligente, quem é inteligente, é o programador!

Simplificando…

Para que o computador entenda algo, é necessário que você o “ensine” passo-a-passo, como deve proceder. Como em uma receita de bolo.
Um exemplo:
Em nossa linguagem, se eu fosse criar um algoritmo explicando o que acontece quando acordo até o momento que entro no chuveiro, seria mais ou menos o seguinte:
Inicio
Bruno Barbosa desperta
abre os olhos
senta na cama
coloca o primeiro pé no chão
põe o segundo
fica de pé
anda até a sala de estar
chuta com o mindinho do pé a ponta do sofá
diz algumas palavras de baixo calão devido ter machucado muito
continua caminhando
entra no banheiro
fica nu (ui)
entra em baixo do chuveiro
liga o chuveiro
toma banho
FIM
Pode-se perceber então, que tudo é um algoritmo.
O sistema de buscas do Google, tem um algoritmo por trás dele, o msn que vocês tanto gostam, também tem um algoritmo, e assim sucessivamente.
Para aprendermos melhor sobre isto, antes de passar para qualquer tipo de linguagem de programação propriamente dita, iremos aprender a programar em uma pseudo-linguagem, conhecida como Portugol ou Português Estruturado.

O portugol, é uma pseudo-linguagem criada para facilitar o aprendizado de algoritmos e lógica de programação, ela possui suas particularidades como qualquer outra linguagem, e a partir do próximo post, iremos passar a “programar” nesta linguagem, utilizando a ajuda do software VisualG. Então não percam e nos acompanhem, que toda terça, um post novo para você aprender a programar!

Aprenda a programa $Part – 01

Não sou matemático, muito menos especialista em estatística, mas acredito que 7 em cada 10 pessoas apaixonadas por tecnologia, já tiveram vontade de desenvolver seu próprio software, ou melhorar um outro código em um software livre.
É pensando nisso que o Algoritmizando estréia hoje uma nova seção!
Toda terça-feira, iremos postar uma matéria ensinando esse fantástico mundo de programação. começando a partir de algoritmos, e dependendo da participação do pessoal, nos comentários, dúvidas, etc, poderemos ir bem mais longe, e quem sabe, realmente formar alguns bons programadores…
Como hoje é apenas uma introdução do que há por vim, estarei dando um breve conceito sobre o que é uma linguagem de programação.Uma linguagem de programação é um método padronizado para expressar instruções para um computador.Você pode programar para alcançar inúmeros objetivos, como por exemplo, desenvolver um software, para automatizar tarefas, quem sabe vende-lo e ficar rico! ou melhor ainda, já pensou em criar um jogo de computador? ficar famoso e…. rico!
Você também pode programar para web, desenvolver aplicativos e… se fizer sucesso, hmm… pode ficar rico! rsrs
Sim, a área de tecnologia é um mercado em constante crescimento e com salários iniciais relativamente altos. Se você tem uma paixão em especial por computadores, por que não entender sua linguagem e se comunicar melhor com eles ^^
Na verdade, os computadores não são inteligentes, como todos pensam. Inteligente é o programador!
O computador entende apenas a linguagem binário, ou seja, 1 e 0, ligado ou desligado, tensão alta ou tensão baixa… Não tem meio termo…
Quer dizer que tenho que aprender a programar em 0 e 1?
Negativo. Hoje em dia, temos o que chamamos de compiladores e interpretadores. São eles que fazem essa tradução de nossa linguagem para linguagem de máquina.Na linguagem interpretada, o código fonte é traduzido para linguagem de máquina no momento da interpretação (execução), e o código fica visível, enquanto na compilada, este é feito anteriormente, não sendo possível visualizar o código fonte.Resumidamente, as linguagens de baixo nível, são aquelas que possuem contato direto com o hardware do computador, geralmente linguagens compiladas, como por exemplo C, C++, Assembly…
Enquanto as linguagens de alto nível o contato é com o software, exemplos são linguagens interpretadas como Python, PHP, JavaScript, Pascal…