Social Icons

Mostrando postagens com marcador Linguagens. Mostrar todas as postagens
Mostrando postagens com marcador Linguagens. Mostrar todas as postagens

Python - Conceitos e Iniciação


Python é uma linguagem de programação de alto nível, open source, multiplataforma, interpretada e com uma extensa biblioteca padrão. Criada por Guido van Rossum em 1989, com a primeira versão lançada em 1991, Python, uma homenagem ao grupo humorístico inglês Monty Python, vem com uma sintaxe elegante, simples e clara, sem aqueles montes de “{” e “}” (chaves) por todo o código.

Existem várias linguagens de programação para os mais diversos fins e quem está querendo começar, não sabe qual escolher. Uma das febres é o Java, mas a sua sintaxe é complexa para quem nunca teve contato com programação.
Existem linguagens mais simples como o Pascal, mas não é mais tão usada e está defasada. Por isso o indicado é poder usar uma linguagem atual, que já usufrui das novas tecnologias, mas que seja fácil de aprender e acredito que não existe linguagem que se encaixe mais nesse perfil do que o Python.
O Python ajuda e muito a aprender noções básicas de programação, como também permite a criação de sistemas robustos com bancos de dados. A sua sintaxe é muito simples e lógica. Ele é baseado em palavras curtas em inglês, como print, function, dentre muitas outras.

 Principais características do Python

  • Sintaxe elegante, simples e clara: A sintaxe do Python facilita e encoraja a legibilidade do código, o que o torna mais fácil de manter e reutilizar;
  • Multiparadigmática: OOP, estruturada e procedural;
  • Tipagem forte e dinâmica;
  • Estruturas de dados de alto nível: tuplas, listas de dicionários;
  • Fácil de aprender;
  • Interpretador interativo: shell;
  • Blocos de código são delimitados por endentação!
É possível trabalhar em Python desde pequenas agências até grandes empresas, como Google, Industrial Light & Magic, Nortel, Nokia, Sepro, Interlegis, isto só para citar algumas…Aliás, Python é uma das três linguagens oficiais do Google, sendo adotada na primeira implementação do motor de busca, e hoje é a tecnologia que move o YouTube, entre tantos outros projetos da empresa.
  • Por que Python?
Essa resposta depende do ponto de vista de cada pessoa, mas na minha opinião pessoal eu escolhi a linguagem Python por ser clara e simples de se aprender.
Poderiamos utilizar também a linguagem Java, mas esta dá acesso limitado as funções do sistema operacional, tornando os aplicativos mais limitados.
Além de disso, podem os ainda, se desejarmos, utilizar pontes de outras linguagens com python para suprir quaisquer que sejam as necessidades do aplicativo.
Se você quer usar coisas como Wi-Fi, Bluetooth, etc.. no java terá na minha opnião uma dificuldade maior, pois a implementação por hardware tem q ser puzada do C, então ou você escreve tudo em C ou Mistura tudo com java, mas pode também fazer tudo apartir do Python, como é o caso de muitos programas que usam porta serial por exemplo, para linux, e alguns aplicativos para Symbian...
  • O que podemos fazer com o tal do Python ?
Posso citar alguns exemplos: podemos no caso de aparelhos  Celulares com Symbian manipular eventos de teclas, fazer conexões bluetooth ou wi fi, mandar mensagens SMS, acessar a câmera, fazer chamada s, utilizar informações de contatos e calendário, localizar o aparelho através do sinal GPRS, desenhar gráficos na tela, enfim ... poderia passar o dia todo aqui isso sem contar a aplicação dele em computadores ..

Vamos Trabalhar? 

Sabermos como funciona a sintaxe da linguagem e nos nos familiarizarmos mais.


Para Windows Pode se baixar o IDE Python Clicando aqui.
Sua instalação é simples, igual a qualquer outro instalador (Next, Next, Finish).
Para Linux: você já tem o Python instalado por padrão, diversos pacotes que movem o Linux são feitos em Python.Para Achar seu Python no Linux faça Assim:

- CRTL+ALT+T(abrindo terminal);
- Digite "Python" Sem Aspas, e seu terminal ficará +- assim:
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
A melhor forma de aprender a programar é usando um interpretador em modo interativo. Dessa forma você pode digitar comandos linha por linha e observar a cada passo como o computador interpreta e executa esses comandos. Por tanto vamos ao interpretador:

1
2
3
4
5
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
A partir dai, é só executar os comandos. Vamos começar com alguns comandos bem básicos, para nos acortumarmos com o interpretador:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15

>>> 2 + 2
4
>>> (1 + 2) * 3
9
>>> list = ["Macelo", 17, "Engenheiro"]
>>> print list[0]
Marcelo
>>> print list[1]
17
>>> print list[2]
Engenheiro
>>> print list[1:]
[17, 'Engenheiro']
>>> print list[:2]
['Marcelo', 17]
>>>
Para sair do interpretador basta apertar Crtl + d ou executar quit().

Eu estou estudando sobre Python também, e conforme for descobrindo coisas interessantes vou postando aqui para compartilhar e aprender também!
Qualquer dúvida ou sugestões é só comentar.

Pascal - História


Homenageado Blaise Pascal
Pascal é uma linguagem de programação estruturada, que recebeu este nome em homenagem ao matemático Blaise Pascal. Foi criada em 1970 pelo suíço Niklaus Wirth, tendo em mente encorajar o uso de código estruturado.

Criador da Linguagem


O próprio Niklaus Wirth diz que Pascal foi criada simultaneamente para ensinar programação estruturada e para ser utilizada em sua fábrica de software. Simultaneamente, a linguagem reflete a liberação pessoal de Wirth das restrições impostas após seu envolvimento com a especificação de ALGOL 68, e sua sugestão para essa especificação, o ALGOL W.
Pascal originou uma enorme gama de dialetos, podendo também ser considerada uma família de linguagens de programação. Grande parte de seu sucesso se deve a criação, na década de 1980, da linguagem Turbo Pascal, inicialmente disponível para computadores baseados na na arquitetura 8086 (com versões para 8080 no seu início).



Pascal é normalmente uma das linguagens de escolha para ensinar programação, junto com Scheme, C e Fortran. Comercialmente, a linguagem foi sucedida pela criação da linguagem Object Pascal, atualmente utilizada nos IDEs Embarcadero Delphi (Object Pascal), Kylix e Lazarus. Academicamente, seus sucessores são as linguagens subsequentes de Niklaus Wirth: Modula-2 e Oberon. A partir da versão 2005, o Delphi passou a se referir a sua linguagem de programação como Delphi Language.
Assim como a linguagem C, que foi padronizado pela ANSI (ANSI C), o Pascal possui padrões pela ISO, como o Pascal Standard e o Advanced Pascal.


É acima de tudo uma linguagem de Alto Nível, embora não seja considerada por muitos, é excelente para iniciar em programação, sendo mais voltada para cálculos e outros algoritmos simples, ainda é baseado no sistema operacional de linha de comando (não gráfico), legal para estudar a programação em códigos fonte e fórmulas onde até pra inserir 'janelas' é necessário desenhar utilizando ASCII, e tem todos procedimentos do tipo declarações de variáveis, etc.

1.3.2) Fluxogramas

Fluxogramas

Esta forma de representação de algoritmos emprega várias formas geométricas para descrever cada uma das possíveis açoes durante a execução do algoritmos. Existem algumas formas geométricas que são empregadas normalmente e que estão mostradas na Figura abaixo. Cada uma destas formas se aplica a uma determinada ação como está indicado. Existem outras formas que podem ser aplicadas, no entanto nesta apostila estas formas serão suficientes para os exemplos que serão mostrados.
Formas utilizadas em Fluxogramas
Como primeiro exemplo de um algoritmo descrito por meio de fluxogramas vamos considerar o exemplo do algoritmo para decidir o que fazer em um dia de domingo. A Figura a seguir mostra o fluxograma equivalente à descrição feita por meio da linguagem natural.

Fluxograma para decidir o que fazer em um dia de domingo.
Outro exemplo de um algoritmo descrito por meio de fluxogramas é o problema de calcular a solução da equação de primeiro grau
ax+b=0
que vale
x=-(b/a)
se a for diferente de zero. A Figura abaixo mostra um possível algoritmo para resolver este problema.

Fluxograma para equação do primeiro grau 
 
 
 
 
 
Fluxogramas Engraçados Para descontrair...
 
Clique para Aumentar
 

1.3.1) Linguagem Natural

Linguagem Natural

Como ilustração de algoritmo em linguagem natural vamos considerar a receita abaixo. Por economia de texto e facilidade a receita não mostra as quantidades dos ingredientes (as entradas). Alguns mais maldosos dizem que o cozinheiro não quis divulgar o seu segredo.
  • Filé de peixe com molho branco.
    • {preparo dos peixes}
      • Lave os filés e tempere com o suco dos limões, sal, pimenta e salsinha picada. Deixe por 1/2 hora neste tempero. Enxugue e passe cada filé na farinha de trigo. Depois passe pelos ovos batidos e frite na manteiga até ficarem dourados dos dois lados.
    • {preparo do molho branco}
      • Coloque numa panela a manteiga, a farinha e o leite e misture bem. Em fogo médio, cozinhe até engrossar. Adicione o sal, a pimenta e o queijo. Continue com a panela no fogo, cozinhando até que o queijo derreta, mexendo constantemente.
    • {juntando os dois}
      • Adicione queijo parmesão ralado e queijo gruyère. Misture e ponha sobre os filés.
  • Fim da receita do filé de peixe com molho branco.
Observe que a receita foi subdividida em partes: preparo dos peixes, preparo do molho branco e finalmente juntar as duas partes. Esta é uma técnica comum na resolução de problemas: dividir para conquistar. Vamos considerar agora uma outra receita que tenha molho branco como parte, para ilustrar uma outra técnica comum da criação e descrição de algoritmos. A próxima receita é esta:
  • Alface com molho branco.
    • {preparo do molho branco}
      • Coloque numa panela a manteiga, a farinha e o leite e misture bem. Em fogo médio, cozinhe até engrossar. Adicione o sal, a pimenta e o queijo. Continue com a panela no fogo, cozinhando até que o queijo derreta, mexendo constantemente.
    • {preparo da alface}
      • Derreta a manteiga. Junte a alface cortada. Salpique o sal e deixe cozinhar por uns 5 a 10 minutos ou até a alface ficar tenra, ou o líquido da panela secar.
    • {juntando os dois}
      • Junte ao molho branco e ao suco de limão. Coloque numa travessa e enfeite em volta com pão torrado cortado em triângulos.
  • Fim da receita do alface com molho branco
Imagine que os pratos abaixo fazem parte de um livro de receitas. Observe atentamente as receitas. Perceba que os dois pratos usam molho branco e que, as duas receitas, ensinam ao leitor como preparar molho branco. Imagine que este livro de receitas tem 20 outros pratos ao molho branco. É fácil perceber que este livro terá numerosas páginas uma vez que, provavelmente, outras receitas básicas (molho de tomate, molho de mostarda, etc.) estarão repetidas em vários pontos do livro.
Observe agora uma nova maneira de descrever estas duas receitas:
  • Molho branco
    • Coloque numa panela a manteiga, a farinha e o leite e misture bem. Em fogo médio, cozinhe até engrossar. Adicione o sal, a pimenta e o queijo. Continue com a panela no fogo, cozinhando até que o queijo derreta, mexendo constantemente.
  • Fim da receita do molho branco
  • Filé de peixe com molho branco
    • {preparo dos peixes}
      • Lave os filés e tempere com o suco dos limões, sal, pimenta e salsinha picada. Deixe por 1/2 hora neste tempero. Enxugue e passe cada filé na farinha de trigo. Depois passe pelos ovos batidos e frite na manteiga até ficarem dourados dos dois lados.
    • {preparo do molho branco}
      • Prepare a receita básica de molho branco.
    • {juntando os dois}
      • Adicione queijo parmesão ralado e queijo gruyère. Misture e ponha sobre os filés.
  • Fim da receita do Filé de peixe com molho branco.
  • Alface com molho branco
    • {preparo do molho branco}
      • Prepare o molho branco segundo a receita básica.
    • {preparo da alface}
      • Derreta a manteiga. Junte a alface cortada. Salpique o sal e deixe cozinhar por uns 5 a 10 minutos ou até a alface ficar tenra, ou o líquido da panela secar.
    • {juntando os dois}
      • Junte ao molho branco e ao suco de limão. Coloque numa travessa e enfeite em volta com pão torrado cortado em triângulos.
  • Fim da receita do Alface com molho branco.
Observe a economia de linhas de texto que foi possível devido a separação da receita de molho branco das demais. Se o mesmo procedimento for seguido para as demais receitas básicas, é de se esperar que o livro fique mais "fininho" do que antes.
Você pode argumentar que, no método anterior, era mais rápido seguir uma receita. Agora, ao preparar o peixe ao molho branco, por exemplo, você tem de interromper a leitura, marcar a página onde você estava, abrir na página da receita de molho branco, aprender a prepará-lo e, então, retornar à receita do peixe. Você tem razão, mas, além da economia de papel, existem outras vantagens em separar a receita do molho branco. Imagine, por exemplo, que amanhã você descubra que o molho branco fica uma delícia se levar uma pitada de alho. Basta modificar a receita de molho branco, que aparece em um único lugar no livro, e todas as receitas "ao molho branco" estarão automaticamente modificadas. No método anterior, seria preciso modificar todas as receitas que usam molho branco, com o risco considerável de esquecermos de modificar alguma delas.
Observe ainda a variação abaixo da receita do peixe:
  • Filé de peixe com molho branco
    • {preparo dos peixes}
      • Lave os filés e tempere com o suco dos limões, sal, pimenta e salsinha picada. Deixe por 1/2 hora neste tempero. Enxugue e passe cada filé na farinha de trigo. Depois passe pelos ovos batidos e frite na manteiga até ficarem dourados dos dois lados.
    • {preparo do molho branco}
      • Compre molho branco no supermercado
    • {juntando os dois}
      • Adicione queijo parmesão ralado e queijo gruyère. Misture e ponha sobre os filés.
  • Fim da receita do filé de peixe com molho branco.
Você prestou atenção? Ao invés de ensinar a preparar molho branco, a receita instrui você a comprá-lo pronto, no supermercado. Ou, em outras palavras, é possível usar no preparo do seu prato, ingredientes já prontos, preparados por outra pessoa, que você talvez nem conheça. Além disso, se você não é um cozinheiro experiente, o molho à venda no supermercado já foi suficientemente testado e é, provavelmente, gostoso. Embora, nem todos vão concordar com tal infâmia! Você já tem problemas suficientes tentando preparar um bom peixe. Talvez seja melhor usar o molho do supermercado e não ter de se preocupar com essa parte do problema. O uso de algoritmos criados por outros é muito comum na informática e pode reduzir consideravelmente o tempo de criação de um sistema.
Toda a discussão acima tem uma forte analogia com o estudo de algoritmos e técnicas de programação. Isto ficará mais claro para você mais tarde, quando estudarmos procedimentos e funções.
Para ilustrar mais um conceito importante de algoritmos vamos analisar mais um exemplo, considerando o problema de calcular a área de uma mesa retangular. Este cálculo pode ser efetuado se seguirmos os seguintes passos.
  • Cálculo da área de uma mesa.
    • Medir a largura da mesa e anotar o resultado.
    • Medir o comprimento da mesa e anotar o resultado.
    • Multiplicar o comprimento pela largura e anotar o resultado.
    • O valor da área da mesa é o resultado anotado no passo anterior.
  • Fim do cálculo da área da mesa.
Vamos supor agora que dispomos de uma mesa e de uma toalha cobrindo esta mesa e gostaríamos de saber as áreas da toalha e da mesa. O algoritmo pode ser escrito da seguinte maneira.
  • Cálculo das áreas de uma mesa e de uma toalha.
    • Cálculo da área de uma mesa.
      • Medir a largura da mesa e anotar o resultado.
      • Medir o comprimento da mesa e anotar o resultado.
      • Multiplicar o comprimento pela largura e anotar o resultado.
      • O valor da área da mesa é o resultado anotado no passo anterior.
    • Fim do cálculo da área da mesa.
    • Cálculo da área da toalha.
      • Medir a largura da toalha e anotar o resultado.
      • Medir o comprimento da mesa e anotar o resultado.
      • Multiplicar o comprimento pela largura e anotar o resultado.
      • O valor da área da toalha é o resultado anotado passo anterior.
    • Fim do cálculo da área da toalha.
  • Fim do cálculo das áreas da mesa e da toalha.
Observe que os algoritmos para cálculo da área da mesa e da toalha são parecidos, trazendo a idéia que existe um algoritmo mais geral que é o de cálculo da área de um objeto retangular. Este algoritmo mais geral pode ser então aplicado tanto à mesa como à toalha.
Este algoritmo mais geral poderia ser descrito da seguinte maneira:
  • Cálculo da área de um objeto retangular ou quadrado.
    • Medir a largura do objeto e anotar o resultado.
    • Medir o comprimento do objeto e anotar o resultado
    • Multiplicar o comprimento pela largura e anotar o resultado.
    • O valor da área e o resultado anotado no passo anterior.
  • Fim do cálculo da área de um objeto retangular ou quadrado.
O algoritmo para cálculo da área da mesa e da toalha poderia ser reescrito de forma mais compacta com as seguintes instruções:
  • Calcular a área da mesa usando o algoritmo acima.
  • Calcular a área da toalha usando o mesmo algoritmo.
Observe que neste caso um mesmo algoritmo pode ser aplicado a diferentes objetos, reduzindo o número de algoritmos a serem definidos.
A maioria dos algoritmos contém decisões, por exemplo, para atravessar uma rua preciso verificar se o sinal de pedestres está verde e verificar se nenhum carro está avançando o sinal, somente após decidir se estes fatos se confirmaram poderei atravessar a rua.
Para considerar um algoritmo que inclua decisões vamos estudar um algoritmo que nos ajude a decidir o que fazer em um domingo. Um possível algoritmo poderia ser o seguinte:
  • Algoritmo de domingo.
    • Acordar.
    • Tomar o café.
    • Se estiver sol vou à praia senão leio o jornal.
    • Almoçar.
    • Ir ao cinema.
    • Fazer uma refeição.
    • Ir dormir.
  • Final do domingo.
A possibilidade de tomada de decisões é a característica mais importante de qualquer linguagem de programação. Ela permite que ao computador simular aproximadamente uma característica humana que é a escolha de opções. Sem esta característica o computador seria pouco mais do que uma veloz máquina de calcular.
Vamos agora considerar um exemplo um pouco mais matemático e estudar o algoritmo para calcular as raízes de uma equação do segundo grau da forma
ax2+bx+c=0
As raízes podem ser calculadas pelas fórmulas

x1=[-b+(b2-4ac)(1/2)]/(2a)

x2=[-b-(b2-4ac)(1/2)]/(2a)
Aparentemente o algoritmo se reduziria ao cálculo da fórmula, no entanto ao detalharmos as ações devemos prever tudo que pode acontecer durante o cálculo desta fórmula. Por exemplo o que fazer se o valor do coeficiente a for igual a zero? Um possível algoritmo é o seguinte:
  • Algoritmo para cálculo de uma equação do segundo grau.
    • Obter os coeficientes a, b e c
    • Se o coeficiente a for igual a zero informar que esta não é uma equação do segundo grau e terminar o algoritmo.
    • Caso contrário continue e faça
      • Calcular delta=b2-4ac
      • Se o valor de delta for negativo informar que a equação não tem raizes reais e terminar o algoritmo.
      • Caso contrário continue e faça
        • Calcular a raiz quadrada de delta e guardar o resultado como raiz
        • Calcular x1=(-b + raiz)/(2a)
        • Calcular x2=(-b - raiz)/(2a)
        • Fornecer como resultado x1 e x2
        • Terminar o algoritmo.
  • Fim do algoritmo para cálculo de uma equação do segundo grau.
Neste algoritmo em diversos pontos tivemos de tomar decisões e indicar o que fazer em cada uma das possibilidades, mesmo que seja mostrar que não podemos continuar o algoritmo. Toda vez que decisões tiverem de ser tomadas devemos incluir todas as possibilidades para o evento que estamos considerando.
Este é um dos possíveis algoritmos por diversas razões. Por exemplo, poderíamos incluir no algoritmo o cálculo das raízes imaginárias ou no caso do coeficiente a ser igual a zero calcular como se fosse uma equação do primeiro grau.

1.3) Representação Gráfica

Existem várias formas de representação gráfica e visual de algorítimos. As Mais Usadas São:

Linguagem Natural:
Os algoritmos são expressos diretamente em linguagem natural, como nos exemplos anteriores.
Fluxograma Convencional:
Esta é um representação gráfica que emprega formas geométricas padronizadas para indicar as diversas ações e  decisões que devem ser executadas para resolver o problema.
Pseudo-linguagem:
Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para descrever os algoritmos.É mais usada em aprendizado do que em prática geral, começa usando linguagem nativa da pessoa e depois passa para o inglês e uma estrutura de linguagem mesmo(Em Portugol ou Português Estruturado).
Não existe consenso entre os especialistas sobre qual seria a melhor maneira de representar um algoritmo. Atualmente a maneira mais comum de representar-se algoritmos é através de uma pseudo-linguagem ou pseudo-código. Esta forma de representação tem a vantagem de fazer com que o algoritmo seja escrito de uma forma que está próxima de uma linguagem de programação de computadores. Algoritmo de encontrar a menor temperatura dentro de registros de temperaturas mostrada na seção anterior usou linguagem natural para representar o algoritmo.