한국   대만   중국   일본 
Programa de computador ? Wikipedia, a enciclopedia livre Saltar para o conteudo

Programa de computador

Origem: Wikipedia, a enciclopedia livre.

Um programa de computador ou programa informatico e um conjunto de instrucoes que descrevem uma tarefa a ser realizada por um computador . O termo pode ser uma referencia ao codigo fonte , escrito em alguma linguagem de programacao , ou ao arquivo que contem a forma executavel deste codigo fonte.

Historia [ editar | editar codigo-fonte ]

Ver artigo principal: Historia da computacao

O programa de computador surgiu antes do desenvolvimento do computador eletronico . Um trabalho publicado em 1843 por Ada Lovelace , sugerindo uma forma para calcular os numeros de Bernoulli atraves da maquina analitica de Charles Babbage , e tido como o primeiro programa de computador. [ 1 ] [ 2 ]

A primeira aplicacao pratica da programacao surgiu com os dispositivos baseados em cartoes perfurados , que eram utilizados desde o seculo XVIII na industria da confeccao. [ 3 ] O empresario estadunidense Hermann Hollerith utilizou o conceito no processamento dos dados do censo dos Estados Unidos em 1890. [ 4 ]

Os primeiros computadores eletronicos eram programados somente atraves de linguagens de baixo nivel . Essas linguagens nao disponibilizavam um nivel de abstracao sobre o hardware e os comandos eram interpretados diretamente pelos circuitos eletronicos . No ENIAC , um dos equipamentos mais emblematicos na historia da computacao, a programacao era realizada atraves de ligacoes manuais, que uniam as unidades de processamento do computador, formando uma sequencia de execucao. [ 5 ]

As linguagens de alto nivel surgiram por volta da decada de 1940 , como a Plankalkul e a Short Code , e tiveram grande impulso com o desenvolvimento dos compiladores , que tornaram a programacao uma atividade possivel para um grande numero de pessoas. Na decada de 1950 surgiu a primeira linguagem de grande aceitacao, o Fortran . [ 6 ]

Terminologia [ editar | editar codigo-fonte ]

Um programa de computador e a formalizacao de um algoritmo em qualquer linguagem capaz de ser transformada em instrucoes que serao executadas por um computador gerando os resultados esperados.

O termo software pode ser utilizado quando se quer designar um conjunto de programas ou, mais frequentemente, quando e feita uma referencia a parte nao fisica do sistema computacional , em contraposicao ao termo hardware , que designa o conjunto de componentes eletronicos que constituem um computador.

Os programas de computador utilizados diretamente por pessoas comuns, como os editores de texto , sao chamados de software aplicativo, ou de aplicacao. Os programas voltados para dar suporte funcional aos computadores, como os sistemas operacionais , sao chamados de software de sistema. Esses softwares, assim como aqueles embutidos em outros sistemas ( firmware ), podem ser genericamente chamados de "programas".

Software ou Softwares? [ editar | editar codigo-fonte ]

Em ingles, a palavra software e um substantivo incontavel, [ 7 ] portanto, nao possui plural, assim como hardware . Entretanto, uma vez importado o termo nos paises de lingua portuguesa, com o uso cotidiano da palavra software como sinonimo de "programa de computador", ao menos no Brasil, houve uma adaptacao da palavra e a aceitacao do uso do termo softwares como plural de software . [ 8 ]

Execucao do programa [ editar | editar codigo-fonte ]

Ver artigo principal: Tempo de execucao

Um programa de computador e primeiramente carregado na memoria do computador (usualmente pelo sistema operacional ). O sistema operacional organiza tres blocos de memoria, tambem chamados segmentos. O primeiro e o segmento de codigo , que e estatico em tamanho e em conteudo. Ele recebe todo o codigo de maquina que define as sub-rotinas do programa, e o endereco de cada subrotina e definido como o menor dos enderecos das celulas de memoria que a definem.

O segundo bloco de memoria e o segmento de dados , e recebe as variaveis globais . Assim como no segmento de codigo, o endereco de cada variavel e definido como o menor dos enderecos das celulas de memoria que o definem. Ele e estatico em tamanho mas dinamico em conteudo, o que significa que este segmento nao pode criar variaveis em tempo de execucao, mas o conteudo e variavel, pode ser modificado.

O terceiro bloco de memoria e o segmento de pilha , uma area de memoria na qual armazena-se informacao em forma de uma pilha . Ele serve para armazenar informacoes como variaveis locais, parametros de sub-rotinas e enderecos de retorno (para onde o fluxo do programa deve ir apos a execucao de uma funcao, isto e, o ponto logo apos ela foi invocada). Antes da execucao do programa propriamente dita, a pilha e esvaziada.

A partir de entao o programa e executado, instrucao por instrucao, ate o seu termino. A execucao de um programa de computador pode ser abreviada em caso de erro de software ou de hardware .

Programa versus dados [ editar | editar codigo-fonte ]

A forma executavel de um programa, normalmente um codigo objeto , e frequentemente tratada como algo separado dos dados utilizados por este programa. Em algumas linguagens, como o LISP , esta distincao nao e tao clara pois os programas podem criar ou modificar os dados, que em seguida sao executados como parte do mesmo programa.

Programacao [ editar | editar codigo-fonte ]

Ver artigo principal: Programacao de computadores

O ato de programar um computador e um processo iterativo que consiste na criacao ou alteracao de codigo fonte, seguido de testes, analise e posterior refinamento do resultado. Uma pessoa que realiza este trabalho e conhecida como programador de computador ou desenvolvedor de software . A criacao de programas de computador, quando baseada em metodologias ou processos formalizados, e conhecida como engenharia de software .

Ver tambem [ editar | editar codigo-fonte ]

Referencias

  1. Dr. Betty Toole. ≪Ada Byron, Lady Lovelace (1815-1852)≫ . Consultado em 10 de abril de 2007  
  2. Augusta Ada King, Countess of Lovelace. ≪Sketch of The Analytical Engine Invented by Charles Babbage≫ . Consultado em 10 de abril de 2007  
  3. ≪Jacquard Mechanism and Cards≫ . Consultado em 10 de abril de 2007  
  4. ≪IBM Cards and keypunch≫ . Consultado em 10 de abril de 2007  
  5. ≪Technical Description of the ENIAC≫ . Consultado em 10 de abril de 2007  
  6. ≪Programming innovator made computer coding easier, more intuitive≫ . Consultado em 10 de abril de 2007  
  7. ≪What is the plural of software?≫ . WordHippo (em ingles) . Consultado em 28 de dezembro de 2020  
  8. ≪Sobre a F.A.D. Softwares≫ . Consultado em 7 de junho de 2019  
Ícone de esboço Este artigo sobre informatica e um esboco . Voce pode ajudar a Wikipedia expandindo-o .