Arquivo de fevereiro, 2014

Hello World – Python – Linux

Publicado: 1 de fevereiro de 2014 em Python

Como aprender Python neste site?

O Linux já contempla uma instalação Python, após instalar o Python caso pretenda utilizar o sistema operacional Windows, no menu categorias clique em Python e vá para o primeiro post, cada post contem uma teoria e um código fonte, siga os em ordem decrescente ou seja do ultimo para o mais recente, o post mais antigo contem as primeiras lições e como usar o Python, continue acompanhando o site para se atualizar e aprender mais sobre Python.

Download Python: https://www.python.org/downloads/

Vim

Vim

Primeiro vamos instalar o editor de textos VIM para o terminal, entre no terminal e digite:

sudo apt-get install vim -y

Após a instalação vamos criar um arquivo .py para ser executado posteriormente no terminal:

vim helloworld.py

no editor certifique que esta no modo de inserção com a tecla insert e digite o seguinte código:

#!/usr/bin/env python
# isto é um comentario em python
print "Hello World"

Aperte a tecla esc para sair do modo de inserção e digite :wq (dois pontos wq) para salvar e sair, voltando para o terminal vamos, deixar o arquivo .py executável:

Em sistemas Unix, scripts Python podem ser transformados em executáveis​​, como shell scripts, colocando a linha #!/usr/bin/env python (assumindo que o intepretador está no PATH do usuário) no início do script e dar ao arquivo um modo executável. O #! devem ser os dois primeiros caracteres do arquivo. Em algumas plataformas, esta primeira linha deve terminar com uma linha no estilo Unix final (‘\ n’), e não um Windows (‘\ r \ n’) linha final. Note que o hash, ou libra, caráter, ‘#’, é usado para iniciar um comentário em Python.

Veja como converter o formato texto entre Linux e Windows e vice versa aqui.

digite os códigos abaixo para executar o arquivo Python:

chmod +x helloworld.py
./helloworld.py

pronto você recebeu o seguinte texto:

Hello World

Obs: se a primeira linha: #!/usr/bin/env python não estiver correta você encontrara a seguinte mensagem :

Warning: unknown mime-type for "Hello World" -- using "application/octet-stream"
Error: no such file "Python hello world"
user1@TargServ1:/var/www/cgi-bin$ . helloworld.py
Warning: unknown mime-type for "Hello World" -- using "application/octet-stream"
Error: no such file "Hello World"

A linguagem Python, enquanto orientada a objetos, é fundamentalmente diferente tanto de C + + e Java. A natureza dinâmica e introspectiva do Python permitem a mecânica da língua ao contrário das linguagens estáticas. Esta palestra tem como objetivo esclarecer os programadores novos em Python sobre esses fundamentos, a mecânica de idiomas que fluem a partir dele e como colocar em uso. Entre os temas abordados são  as interfaces, descritores, decoradores, metaclasses, de contagem de referência e o coletor de lixo cíclico, a divisão entre dados C/C++ e os objetos do Python e a implementação CPython em geral.

 

Arrays – Java, C++ e C#

Publicado: 1 de fevereiro de 2014 em C#, C/C++, Java

Uma Array também conhecido como matriz é uma lista seqüencial de itens. O tipo de item que você pode armazenar na matriz são definidas pelo tipo de matriz na declaração. Arrays podem ser simples ou multi-dimensional, e cada dimensão pode ter diferentes comprimentos.

No exemplo a seguir complementando o post anterior sobre looping usaremos aqui o comando Continue. este comando força transferência de controle para a proxima expressão, ou seja continua a execução do looping ignorando o ponteiro atual usado nos comandos: do, for e while.

Imagine o seguinte cenário:

Em uma maratona temos 16 corredores homens e mulheres cada um com uma pulseira que envia um sinal para uma rede sem fio e ao cruzar a linha de chegada e automaticamente nos é dados nome e o tempo dos corredores o que fazemos é identificar nos dados quem fez o primeiro e segundo lugar:

Java

public class Looping {

public static void main(String[] args)

 {

      String[] nomes ={     "Elena", "Tomas", "amilton", "Susie", "Felipe", "Mateus", "Alex",     "Fabia", "Joao", "James", "Jane", "Emilia", "Daniel", "Leda",     "Ariana", "Kate"     };

        int[] tempos ={     341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299,     343, 317, 265     };

          int primeiro = 0;

     int segundo = 0;

     String ganhador = null ;

     String vice = null ;

               for (int i = 0; i < nomes.length; i++)

{

System.out.println(nomes[i]+ ":       " + tempos[i]);

                  if (tempos[i] > primeiro) {primeiro = tempos[i];

                                ganhador = nomes[i];

                               }

}

           System.out.println("Primeiro lugar: "+ ganhador + " com segundos: " + primeiro);

          for (int i = 0; i < nomes.length; i++)

{

if (tempos[i] == primeiro) {continue;}

if (tempos[i] > segundo) {segundo = tempos[i];

                                vice = nomes[i];

                               }

}

               System.out.println("Segundo lugar: "+ vice + " com segundos: " + segundo);   }

}

C++

#include "stdafx.h"

 #include <iostream>

 #include <string>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

const int itens = 16;

    string nomes[itens] = {   "Elena", "Tomas", "amilton", "Susie", "Felipe", "Mateus", "Alex",   "Fabia", "Joao", "James", "Jane", "Emilia", "Daniel", "Leda",   "Ariana", "Kate"  };

int tempos[itens] = {   341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299,   343, 317, 265  };

int primeiro = 0;

int segundo = 0;

string ganhador = "";

string vice = "";

for (int i = 0; i < itens ; i++)  {   cout <<  nomes[i] << ":         " << tempos[i] <<"\n";

if (tempos[i] > primeiro) {    primeiro = tempos[i];

    ganhador = nomes[i];

   }

  }

       cout  << "\nPrimeiro lugar: " << ganhador << " com segundos: " << primeiro << "\n";

for (int i = 0; i < itens; i++)

  {

if (tempos[i] == primeiro) { continue; }

   if (tempos[i] > segundo) {    segundo = tempos[i];    vice = nomes[i];   }

}

cout << "Segundo lugar: " << vice << " com segundos: " << segundo<< "\n\n";

  system("pause");

return 0;

}

C#

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication33

{

class Program

{

static void Main(string[] args)

{

String[] nomes ={     "Elena", "Tomas", "amilton", "Susie", "Felipe", "Mateus", "Alex",     "Fabia", "Joao", "James", "Jane", "Emilia", "Daniel", "Leda",     "Ariana", "Kate"     };

int[] tempos ={     341, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412, 393, 299,     343, 317, 265     };

int primeiro = 0;

int segundo = 0;

String ganhador = null ;

String vice = null ;

for (int i = 0; i < nomes.Length; i++)

{

Console.WriteLine(nomes[i]+ ":         " + tempos[i]);
                  if (tempos[i] > primeiro) {primeiro = tempos[i];
                                ganhador = nomes[i];

}

}

Console.WriteLine("Primeiro lugar: "+ ganhador + " com segundos: " + primeiro);

for (int i = 0; i < nomes.Length; i++)

{

if (tempos[i] == primeiro) {continue;}

if (tempos[i] > segundo) {segundo = tempos[i];

vice = nomes[i];

}

}

Console.WriteLine("Segundo lugar: " + vice + " com segundos: " + segundo);

Console.ReadKey();

}

}

}

Exercicios: Mostrar o tempo do terceiro ganhador e customizar o código fonte para que fique mais compacto.

Introdução ao Python – Linux

Publicado: 1 de fevereiro de 2014 em Python

Como aprender Python neste site?

Linux já possui o Python instalado ou após instalar o Python (outra plataforma), no menu categorias clique em Python e vá para o primeiro post, cada post contem uma teoria e um código fonte, sigas os em ordem decrescente ou seja do ultimo para o mais recente, o post mais antigo contem as primeiras lições e como usar algumas IDEs Python, continue acompanhando o site para se atualizar e aprender mais sobre Python.

O que é Python?

Python é uma linguagem de programação de alto nível , interpretada, imperativa, orientada a objetos, funcional, de tipos dinâmicos e forte. Foi lançada por Guido van Rossum em 1991. Atualmente possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation. Apesar de várias partes da linguagem possuírem padrões e especificações formais, a linguagem como um todo não é formalmente especificada.

O que posso fazer com o Python?

Python é uma linguagem de uso geral que pode ser empregada em vários tipos de problemas. A biblioteca padrão inclui módulos para processamento de texto e expressões regulares, protocolos de rede (HTTP, FTP, SMTP, POP, XML-RPC, IMAP), acesso aos serviços do sistema operacional, criptografia, interface gráfica etc. Além da biblioteca padrão, existe uma grande variedade de extensões adicionais para todo tipo de aplicação.

Como programar em Python?

Uma ótima maneira de aprender a programar em Python é usando um interpretador em modo interativo. Dessa forma você pode digitar linhas de comando  e observar a cada passo como o computador interpreta e executa estas instruções. A maioria das distribuições Linux já contempla uma instalação do Python, em nosso caso usaremos o Ubuntu que instalamos em uma VM, basta abrir o terminal digitar o comando:

Python - Console - Terminal

Python – Console – Terminal


python

Você vai receber a seguinte menssagem:


Python 2.7.5+ (default, Sep 19 2013, 13:48:49) [GCC 4.8.1] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

Pronto você ja está dentro interpretador, tecle enter duas vezes, você pode perceber que o interpretador espera que você digite uma instrução e continua indagando você com os caracteres “>>>”, estes caracteres são conhecidos como “prompt”.

digite após prompt:


5 + 5

e o intepretador lhe a resposta exata: 10

Então podemos perguntar ao interpretador sobre as quatro operações basicas usando numeros interiros e numeros flutuantes, tente usar os exemplos abaixo digitando sempre linha a linha:


100 + 5 + 11

100 - 60

200 * 4
20 / 2

Agora tente algo assim:


7 / 2

7 / 2.0

Você percebe que obteve duas respostas diferentes pela mesma pergunta, quando você não utliza o ponto decimal o interpretador assume que você trabalha com numeros inteiros.

Você também pode usar variáveis, digite:


variavel = 100

variavel + 50

nome ="Joao"

sobrenome ="Silva"

nome + " " + sobrenome

euro = 3.22

15 * euro

Podemos usar o comando print:


print nome, sobrenome

print variavel

print 15 * euro

Vamos criar nosso primeiro programa:


tab =5

for n in range(1,11) : print "tabuada ", tab," x ", n, " = ", tab * n

Como criar seu primeiro programa Python no Linux?

Clique para criar seu primeiro programa Python.

Comando Do … While e Break – Java, C++, C#

Publicado: 1 de fevereiro de 2014 em C#, C/C++, Java

O comando Do While (faça… enquanto) executa um comando repetidamente até que a condição de término especificada retorne falso.

A instrução break termina a execução do laço mais próximo em que ela aparece.

A diferença entre o comando While visto no post anterior e o comando  Do…While é que neste a instrução ou  bloco  de instruções é executado uma vez, veja o exemplo abaixo:

No exemplo abaixo você pode ver que o Do While executa uma vez independe da condição falsa:

// Exemplo comando while
while (false)
{
printf("While imprime \n"); // C++
// System.out.println("While imprime"); // Java
// Console.WriteLine("While imprime"); // C#
}

// Exemplo de comando do while
do
{
printf("Do While iprime \n");
  // System.out.println("Do While imprime"); // Java
// Console.WriteLine(Do "While imprime"); // C#
}
while (false);

A seguir temos os resultados do exercício anterior.

Exibindo numero primos:

Java

import java.io.Console;
import java.util.*;

public class Cad {

public static void main(String[] args)

{

int  Nprimo = 2;
int  numeros = 1;
do
{
for (Nprimo = 2; Nprimo <= numeros - 1; Nprimo++)
{
if ((numeros % Nprimo) == 0)
{
break; // pula numeros nao primos
}
}
if (Nprimo == numeros)
System.out.print(numeros +  ", ");
numeros = numeros + 1;
} while (numeros <= 1000);

}
}

C++

// ConsoleApplication29.cpp : Defines the entry point for the console application. //

#include "stdafx.h"

#include <iostream>

using namespace std;

int main(void)

{

int  Nprimo = 2;

int  numeros = 1;

do  {   for (Nprimo = 2; Nprimo <= numeros - 1; Nprimo++)

{    if ((numeros % Nprimo) == 0)

{

break; // pula numeros nao primos

}

}

if (Nprimo == numeros)    cout << numeros << ", ";

numeros = numeros + 1;

}

while (numeros <= 1000);

cout << "\n";

system("PAUSE");

return 0;

}

C#


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication27

{

class Program

{

static void Main(string[] args)

{

int Nprimo = 2;

int numeros = 1;

do

{

for (Nprimo = 2; Nprimo <= numeros - 1; Nprimo++)

{

if ((numeros % Nprimo) == 0)

{

break; // pula numeros nao primos

}

}

if (Nprimo == numeros)

Console.Write (Convert.ToString(numeros) + ", ");

numeros = numeros + 1;

} while (numeros <= 1000);

Console.ReadKey();

}

}

}

Comando While – Java, C++ e C#

Publicado: 1 de fevereiro de 2014 em C#, C/C++, Java

O comando while executa uma instrução ou um bloco de instruções até que uma expressão especificada seja avaliada como falsa.

No exemplo a seguir vamos criar uma lista de números pares e outra com números impares:

Java


import java.io.Console;
import java.util.*;

public class Cad {

public static void main(String[] args)

{

int Npar = 0;
int Nimpar =1;
while (Npar < 100)
{
System.out.println("Numeros pares: "+ Npar + " Numeros impares: " + Nimpar);
Npar = Npar + 2; // exclua esta linha para ver um looping infinito
Nimpar = Nimpar +2;
}
}
}

C++


#include "stdafx.h"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

int Npar = 0;

int Nimpar = 1;

while (Npar < 100)

{

cout << "Numeros pares: " << Npar<< " numeros impares: "<<Nimpar << "\n";

Npar = Npar + 2; //exclua esta linha para um looping infinito

Nimpar = Nimpar + 2;

}

system("pause");

return 0;

}

C#


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication27

{

class Program

{

static void Main(string[] args)

{

int Npar = 0;

int Nimpar = 1;

while (Npar < 100)

{

Console.WriteLine("Numeros pares:" + Convert.ToString(Npar) +

" numeros impares: " + Convert.ToString(Nimpar));

Npar = Npar + 2; // exclua esta linha para ver um looping infinito

Nimpar = Nimpar +2;

}

Console.ReadKey();

}

}

}

Exercício:

Criar um lista de números primos menores do que 1000:

Lembrando que números primos são os números naturais que têm apenas dois divisores diferentes: o 1(um) e ele mesmo.

O resultado de ver ser uma lista numérica entre 2 e 997.