quarta-feira, 2 de novembro de 2011

Tipos de Programação

Os tipos ou técnicas de programação são bastante variados, embora pode ser que haja muitos leitores que só conheçam uma metodologia para realizar programas. Na maioria dos casos, as técnicas centram-se em programação modular e programação estruturada, porém existem outros tipos de programação. Explicaremos isso melhor ao longo do artigo.

Programação estruturada (PE) 

A programação estruturada é composta por um conjunto de técnicas que foram se evoluindo aumentando consideravelmente a produtividade do programa reduzindo o tempo de depuração e de manutenção do mesmo.

Esta programação estruturada utiliza um número limitado de estruturas de controle, reduzindo assim consideravelmente os erros.

       Esta técnica incorpora :


  • Design descendente (top-dow): o problema se descompõe em etapas ou estruturas hierárquicas.
  • Recursos abstratos (simplicidade): consiste em descompor as ações complexas em outras mais simples capazes de ser resolvidas com maior facilidade.
  • Estruturas básicas: existem três tipos de estruturas básicas:
  • Estruturas seqüenciais: cada ação segue a outra ação seqüencialmente. A saída de uma ação é a entrada de outra.
  • Estruturas seletivas: nestas estruturas avaliam-se as condições e em função do resultado das mesmas realizam-se umas ações ou outras. Utilizam-se expressões lógicas.
  • Estruturas repetitivas: são seqüências de instruções que se repetem um número determinado de vezes.


As principais vantagens da programação estruturada são:


  1. Os programas são mais fáceis de entender
  2. Reduz a complexidade das provas
  3. Aumenta a produtividade do programador
  4. Os programas ficam melhor documentado internamente.


Um programa está estruturado se possui um único ponto de entrada e só um de saída, existem de "1 a n" caminhos desde o princípio até o fim do programa e por último, que todas as instruções são executáveis sem que apareçam loops infinitos.

Programação modular 

Na programação modular consta de várias seções dividas de forma que interagem através de chamadas a procedimentos, que integram o programa em sua totalidade.

Na programação modular, o programa principal coordena as chamadas aos módulos secundários e passa os dados necessários em forma de parâmetros.

Por sua vez cada módulo pode conter seus próprios dados e chamar a outros módulos ou funções.

Programação orientada a objetos (POO) 

Trata-se de uma técnica que aumenta consideravelmente a velocidade de desenvolvimento dos programas graças à reutilização dos objetos.

O elemento principal da programação orientada a objetos é o objeto.
O objeto é um conjunto complexo de dados e programas que possuem estrutura e fazem parte de uma organização.
Um objeto contém vários dados bem estruturados e podem ser visíveis ou não dependendo do programador e as ações do programa nesse momento.

O polimorfismo e a herança são umas das suas principais características e por isso dedicaremos mais adiante um artigo exclusivamente para tratar destes dois termos.

Publicamos em CriarWeb.com anteriormente uma explicação do que é a programação orientada a objetos.


Programação concorrente 

Este tipo de programação se utiliza quando temos que realizar várias ações de só uma vez.

Costuma-se utilizar para controlar os acessos de usuários e programas a um recurso de forma simultânea.

Trata-se de uma programação mais lenta e trabalhosa, obtendo uns resultados lentos nas ações.

Programação funcional 

Caracteriza-se principalmente por permitir declarar e chamar a funções dentro de outras funções.

Programação lógica 

Costuma-se utilizar na inteligência artificial e em pequenos programas infantis. Trata-se de uma programação baseada no cálculo de predicados (uma teoria matemática que permite conseguir que um computador baseando-se em fatos e regras lógicas, que pode dar soluções inteligentes).(Sara Alvarez Langa)

domingo, 16 de outubro de 2011

Codigo Matrix - Turbo Pascal

Program MATRIX;
Uses Crt;

Var
col,lin,ql,cont,aux:integer;
letra:char;

Begin
     Clrscr;
     Repeat
        col:=1+Random(79);
        lin:=1+Random(23);
  ql:= Random(10);
  for cont:= lin to lin+ql do
          Begin
                    if cont<24 then
              Begin
           letra:= chr(Random(255));
           for aux:=1 to 2 do
               Begin
                    if aux= 1 Then
                Textcolor(10)
    else
    Textcolor(2);
    gotoxy(col,cont);
    write(letra);
    delay(50);
                       end;
              end;
      end;
     until keypressed;
end.

The "Go" linguagem de programação da Google


O Google anunciou sua nova linguagem de programação, chamada-se "Go".
Ela tem design orientado a objetos com sintaxe parecida com C/C++, e oferece entre muitas coisas garbage-collector, suporte a multi-processamento e reflections.


O objetivo da empresa é obter uma linguagem que possa unir a velocidade de desenvolvimento de linguagens dinâmicas (como Python) com a performance e segurança de uma linguagem compilada (como C ou C++). Ou seja, querem juntar o melhor de dois mundos, e esse é o sonho de toda linguagem de programação: ser fácil, eficiente e segura.


Com uma nova linguagem de programação própria a Google pode fixar e dar mais apoio a seus sistemas operacionais (Android e Chrome OS).


Robert Griesemer, Ken Thompson, e Rob Pike iniciaram o projeto em 2007, que agora está reforçando a linha opensource do Google, pois "Go" é distribuída sob a licença BSD.


Atrair os programadores concerteza é a intenção da Google com o "Go" , Duvidas ?
acesse o site Oficial da "Go"


http://www.infoworld.com/d/developer-world/google-goes-forward-go-language-864



segunda-feira, 10 de outubro de 2011

Ralph Johnson

“Antes do software poder ser reutilizável ele primeiro tem de ser utilizável.” Ralph Johnson

Bill Gates

" Medir o progresso da programação por linhas de código é como medir o progresso da construção de aeronaves em termos de peso "  Bill Gates

quarta-feira, 5 de outubro de 2011

Jovem Programador

O estudante de tecnologia da computação Zdenek Kalal, da Universidade de Sarray, Inglaterra, desenvolveu um algoritmo capaz de transformar câmeras de vídeos em olhos atentos. Com ele, as câmeras se tornam aptas a rastrear objetos de forma inteligente, captando inúmeras imagens e analisando os quadros de modo a encontrar o item desejado. Esse é, provavelmente, o mais sofisticado sistema de rastreamento desenvolvido até hoje.
O vídeo abaixo, apesar de estar em inglês e sem legenda, é bastante esclarecedor para se compreender como, basicamente, funciona na prática a "Predator" (predador, em português), nome dado à pequena câmera inteligente. O próprio Kalal é quem aparece no filme e fala um pouco sobre sua criação, explicando que mesmo que o objeto saia do campo de visão da câmera, quando retorna, é novamente marcado.
A tecnologia, que parece ter saído diretamente de filmes de espionagem e ficção científica, é capaz de reconhecer o objeto a ser rastreado em poucos segundos. A partir dessa nova criação, sistemas de segurança podem se tornar muito mais eficazes, reconhecendo rostos de pessoas autorizadoas que entram em um local restrito, por exemplo.
Isso porque a câmera tem a capacidade de reconhecer rostos pré-definidos, indicando aqueles que não são conhecidos. Em suma, a "Predator" é capaz de "aprender com seus erros", armazenando o visual de todos que passam diante dela.