Informática | História e Teoria Matemática da Computação

Informática | História e Teoria Matemática da Computação

Informática | História e Teoria Matemática da Computação

Informática é a ciência e a tecnologia que se ocupa do armazenamento e tratamento da informação, mediante a utilização de equipamentos e procedimentos da área de processamento de dados. Em poucos anos, nas últimas décadas do século XX, a informática revolucionou a atividade humana em todos os níveis. Com o acelerado progresso obtido tanto no campo da tecnologia dos computadores, quanto no da programação, a informática deixou de ser uma área reservada a especialistas e se insinuou cada vez mais na vida cotidiana, o que permite, entre outras vantagens, o acesso das pessoas a um volume cada vez maior de informação.

História da Informática
Ao longo dos séculos, foram feitas muitas tentativas de fabricar máquinas capazes de realizar automaticamente cálculos aritméticos e outras operações inteligentes. Exemplos disso são a machina arithmetica, construída pelo filósofo e matemático francês Blaise Pascal entre 1642 e 1644; a máquina de calcular inventada nessa mesma época pelo também filósofo e matemático Gottfried Wilhelm Leibniz; e o "enxadrista" que o espanhol Leonardo Torres Quevedo construiu no início do século XX.

Entre as máquinas que antecederam os modernos computadores ou processadores eletrônicos estão, principalmente, a máquina analítica projetada na primeira metade do século XIX pelo matemático e inventor britânico Charles Babbage, que foi o primeiro computador mecânico, e a máquina tabuladora do americano Herman Hollerith, que trabalhava no departamento de censo dos Estados Unidos e idealizou um sistema de tratamento de informações com o qual, mediante o uso de cartões perfurados, conseguiu aumentar de dois para duzentos o número de dados processados por minuto. Esses cartões, que receberam o nome do inventor, foram utilizados pelos computadores até 1970 como sistema de entrada e saída de dados. Da companhia fundada por Hollerith, a Tabulating Machine Company, surgiu mais tarde a International Business Machines Corporation (IBM).

Três décadas antes de Hollerith concretizar seu projeto, foi publicada a obra do matemático britânico George Boole, An Investigation into the Laws of Thought (1854; Investigação das leis do pensamento). Boole considerava que os processos mentais do ser humano eram resultado de uma associação sucessiva de elementos simples que se podiam expressar sobre uma base de duas únicas alternativas: sim ou não. Foi essa a origem do método matemático de análise formal conhecido como álgebra de Boole. Considerado na época uma simples curiosidade, o método viria a constituir o fundamento teórico da informática moderna.

Só depois da segunda guerra mundial, entretanto, foram construídos os primeiros computadores eletrônicos propriamente ditos, capazes de realizar grande número de operações em alta velocidade. Essas máquinas só podiam ser operadas por especialistas, que delas obtinham um rendimento muito inferior ao que oferecem, por exemplo, as mais simples calculadoras pessoais de hoje. Consumiam, além disso, muita energia elétrica e apresentavam todo tipo de dificuldades técnicas para a instalação. Como funcionavam com válvulas eletrônicas, tinham de ser refrigeradas mediante sistemas de ar condicionado. Esse era o caso do ENIAC (sigla de electric numerical integrator and calculator), primeiro computador digital eletrônico de grande porte. Criado por John Presper Eckert e John William Mauchly, em 1946, para solucionar problemas militares, o ENIAC funcionava com 18.000 válvulas.

Em pouco tempo, os transistores substituíram as válvulas eletrônicas, o que aumentou notavelmente a rapidez dos computadores. A microeletrônica permitiu depois que se incorporassem numa pequena pastilha, que recebeu o nome de circuito integrado, ou chip, todos os elementos da unidade central de processamento, ou processador, de um computador. Os microcomputadores, baseados em microprocessadores de um único chip, são cada vez mais potentes e acessíveis, e seu emprego estende-se às mais diversas aplicações.

Na evolução dos equipamentos de informática tornou-se habitual referir-se às etapas de desenvolvimento como "gerações", embora nem sempre haja acordo quanto a seu número ou quanto aos critérios utilizados em sua diferenciação. De modo geral, admite-se a existência de cinco gerações. A primeira, que foi empregada de 1945 ao fim da década de 1950, caracterizou-se pelo uso de válvulas eletrônicas. A invenção do transistor e sua incorporação aos computadores marcam o início da segunda geração da informática, que por sua vez abriu caminho, em meados da década de 1960, à terceira geração, caracterizada pela incorporação dos circuitos impressos. Com o desenvolvimento dos circuitos integrados miniaturizados (microprocessadores), no fim dessa mesma década, apareceram no mercado os computadores chamados de quarta geração. Finalmente, os computadores de quinta geração, em cujo desenvolvimento -- tanto no terreno tecnológico quanto no teórico (inteligência artificial) -- trabalhava-se intensamente desde inícios da década de 1980, seriam capazes de realizar atividades intelectuais similares às do ser humano, ou seja, de certo modo reproduzem processos tidos como próprios do raciocínio.

Teoria matemática da computação
O grande volume de operações efetuadas pelos computadores e a velocidade de solução dos problemas propostos exigem dessas máquinas uma estrutura material complexa, mas os princípios matemáticos que regem essas operações são simples e se fundamentam no sistema de numeração binário.

Sistema decimal e sistema binário
Existem tantos sistemas de numeração quanto números de um único algarismo. Assim, pode-se falar de sistemas binário, terciário, decimal etc. O mais utilizado é o sistema decimal, no qual se utilizam dez algarismos para representar todos os números, que podem também ser expressos em potências de dez.

Por exemplo, vejamos o número 37. No sistema decimal a primeira casa, da direita para a esquerda, é a das unidades; a segunda, a das dezenas; a terceira, das centenas; a quarta, dos milhares, e assim por diante. O 7, em 37, representa sete unidades ou sete "uns". O 3, na coluna seguinte da esquerda, representa três vezes dez, ou trinta. Assim:

         10.000   1.000    100   10   1
         ______________________________
            0       0        0    3   7
O sistema binário, que usa somente o 1 e o 0, baseia-se em método idêntico, exceto que cada casa equivale a somente duas vezes o valor de "um" a sua direita. Para escrever 37 no sistema binário, coloca-se 1 nas colunas que somam 37 e 0 nas restantes. A resposta é 100101 (pois 32 + 4 + 1 = 37). Assim:

           32    16    8    4    2    1
           ____________________________
            1     0    0    1    0    1
O sistema binário, que foi empregado na antiguidade pelos chineses, constitui na atualidade o sistema básico das diferentes linguagens da informática. Nele, todos os números podem ser expressos como potências de dois por combinações dos algarismos 0 e 1 apenas. Os componentes de um computador, usados para armazenamento e processamento, trabalham com um princípio bastante simples. Eles só têm dois estados possíveis, tal como uma lâmpada comum -- acesa e apagada. Nos computadores, "acesa" representa 1 e "apagada", 0. Diversas combinações de "uns" e "zeros" podem representar números ou letras. As equivalências entre números decimais e binários são:

1     1        5    101         9   1001
2    10        6    110        10   1010
3    11        7    111        11   1011
4   100        8   1000        12   1100
Para o número decimal 93.645, por exemplo, tem-se:

          9       3       6       4       5
        1001    0011    0110    0100    0101
De forma análoga, o número decimal 251 pode ser representado como potências de dez:
2 x 102 + 5 x 101 + 1 x 10

ou como potências de dois, na forma binária:

1 x 27 + 1 x 26 + 1 x 25 + 1 x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 1 x 2 (ou 11111011).

Operações no sistema binário. Como se pode observar, à facilidade de representar todos os números com apenas dois algarismos se opõe a dificuldade de trabalhar com números de muitos dígitos. Por essa característica, o sistema binário de numeração é adequado ao computador, que efetua cálculos a grande velocidade. A simplicidade das operações aritméticas binárias também recomenda a utilização desse sistema, no qual a soma e a multiplicação se resumem nas seguintes fórmulas:
soma                     multiplicação
0 + 0 =  0                 0 x 0 = 0
0 + 1 =  1                 0 x 1 = 0
1 + 0 =  1                 1 x 0 = 0
1 + 1 = 10                 1 x 1 = 1
Assim, para realizar todas as operações de soma e multiplicação, basta utilizar oito relações básicas, que seriam muito mais numerosas no sistema decimal.

Hardware
Todo sistema de informática consta de duas partes fundamentais e complementares. De um lado, o equipamento físico do sistema, chamado hardware; de outro, o software, ou suporte lógico, denominação que compreende, em sentido amplo, todos os programas (séries de instruções lógicas) que dirigem o funcionamento do computador. Existem também circuitos impressos capazes de conter, de forma permanente, programas e dados. Essa parte do sistema de informática é chamada firmware. Sua principal utilidade é proteger o sistema de cópias e falsificações que possam prejudicar comercialmente a firma que o desenvolveu.

Tipos de computadores
Os modernos computadores dividem-se em dois grandes grupos -- os analógicos e os digitais. Os analógicos operam com grandezas físicas (por exemplo, variações de voltagem) e os digitais fazem-no com valores numéricos.

De emprego muito mais restrito, os computadores analógicos são usados em cálculos nos quais as informações que entram na máquina variam com o tempo, pois uma de suas características essenciais é a facilidade de substituir parte de sua estrutura por um sistema físico real. Com isso, apresentam facilidade de trabalho em tempo real, interagindo perfeitamente com o ambiente, pelo que são amplamente utilizados na aerodinâmica e pilotagem automática de aviões. Os computadores digitais operam com números expressos diretamente como dígitos e executa basicamente cálculos aritméticos e toma decisões lógicas.

Visando a aplicações científicas, existem computadores que combinam as melhores ou mais convenientes qualidades dos computadores analógicos e digitais. As razões para o uso de um sistema híbrido são: combinar a velocidade do computador analógico com a precisão do digital; permitir fácil integração do computador com o ambiente; aumentar a flexibilidade da simulação analógica com o uso da memória e do sistema operacional do computador digital;; aumentar a velocidade da computação digital com o uso de sub-rotinas analógicas; e permitir a entrada de dados tanto em forma contínua como discreta.

Os computadores compõem-se de três elementos principais: a unidade central de processamento (UCP, em inglês CPU), capaz de realizar operações aritméticas e lógicas; a memória, que armazena a sequência de operações a realizar, os dados, os resultados intermediários e os finais; e os dispositivos de entrada e saída, ou periféricos, que permitem a introdução de programas e dados (input) e a saída de resultados (output).

A unidade básica de informação é o bit (do inglês binary digit), que só pode adotar um entre dois valores: 0 ou 1. No entanto, por meio de codificação e decodificação da informação, também se podem processar os números decimais, os caracteres gráficos habitualmente utilizados na escrita, além de símbolos e sinais procedentes de diversos sensores e dispositivos periféricos.

Denomina-se palavra uma sequência de bits que contenha uma unidade de informação capaz de ser processada de uma só vez. A palavra é geralmente formada por 8, 16, 32 ou 64 bits. Quanto maior esse número, maior também a potência (velocidade de processamento) de um computador. A palavra pode conter dados independentes entre si. O computador interpreta esse conjunto de bits de acordo com uma codificação previamente estabelecida que pode, assim, ter um significado muito diferente de seu equivalente numérico.

O sistema de codificação é um dos aspectos mais importantes para o processamento da informação. Grande parte desse processamento está centrada na transmissão de informações dentro do sistema: entre diferentes posições da memória, entre o computador e outros dispositivos periféricos a ele conectados, e também entre diferentes computadores. A transmissão de informação deve realizar-se de acordo com convenções estabelecidas, que são chamadas protocolos de comunicação. Com esses recursos é possível não só a transmissão e o intercâmbio da informação, mas também a correção de erros que, embora improváveis, podem ocorrer.

Unidade central de processamento
A CPU lê a informação contida na memória e realiza as operações solicitadas, ativando e desativando os dispositivos de entrada e saída necessários (monitor, impressora, teclado etc.). Compõe-se de uma série de circuitos eletrônicos que incluem diversos elementos, dos quais o principal é o processador. A maioria dos computadores médios e pequenos têm o microprocessador num só chip, o que simplifica seu projeto e fabricação e aumenta seu rendimento.

Muitas das características mais importantes de um computador, como o número de bits que pode processar de uma só vez, a frequência dos impulsos do relógio, que determina sua rapidez e a quantidade de memória que pode utilizar ou controlar diretamente, são determinadas pelo tipo de processador com que é equipado. Em muitos casos, ao supervisionar todo o trabalho do computador, o processador central pode ficar saturado. Por isso, instalam-se processadores auxiliares especializados em certas atividades, como cálculos matemáticos, gerência da memória ou controle de dispositivos de entrada e saída.

Memória
A memória central de um computador é constituída de chips que se comunicam com a CPU pelo condutor (ou bus) de dados, que é um conjunto de tantos cabos elétricos quantos sejam os bits que formam a palavra no sistema de processamento da CPU. Os chips de memória central podem ser, basicamente, de quatro tipos: RAM, ROM, PROM e EPROM. A RAM (iniciais da expressão em inglês random-access memory, memória de acesso aleatório) é uma memória de acesso direto na qual se podem escrever e apagar dados a qualquer momento. A informação que contém desaparece quando se desliga o computador, mas, devido a sua velocidade e versatilidade, é a que a CPU utiliza mais intensamente. A memória ROM (do inglês read-only memory, memória somente de leitura) permite apenas a leitura dos dados que contém, em geral gravados pelo fabricante e de conteúdo inalterável. Utiliza-se sobretudo para o armazenamento de programas de partida, indicação do número de série do aparelho etc.

As memórias PROM (programmable read-only memory, memória programável somente de leitura) e EPROM (erasable programmable read-only memory, memória apagável e reprogramável somente de leitura) constituem casos particulares da anterior. O usuário pode gravar uma única vez na PROM e várias vezes na EPROM, após apagar seu conteúdo pelo emprego de radiação ultravioleta. O usuário comum não manipula, em geral, esse tipo de dispositivos, que servem para aplicações técnicas muito especializadas.

Dispositivos de entrada e saída
A principal utilidade dos dispositivos de entrada e saída, ou periféricos, é tornar possível a comunicação do computador com o exterior. Sem tais dispositivos o usuário não poderia introduzir dados e instruções no equipamento, nem receber sua resposta. Os dispositivos mais comumente empregados pelo usuário são o teclado, a tela ou monitor, os dispositivos de memória externa (discos e fitas), os mouses, scanners e canetas ópticas e as impressoras e plotters (traçadores de gráficos e quadros).

Dispositivos de memória externa
A memória externa, ou auxiliar, permite o armazenamento de grandes quantidades de informação. Tem a vantagem, em relação à memória RAM, de manter o conteúdo gravado, mesmo ao desligar-se o computador. É também intercambiável entre equipamentos similares ou compatíveis, ou seja, aqueles que são construídos segundo especificações técnicas comuns de comunicação e funcionamento. A memória externa consiste em geral de discos ou fitas magnéticas. Os discos flexíveis, também chamados floppy disks, ou disquetes, são constituídos de uma base circular de material plástico recoberto por uma película de óxido magnético. Para sua proteção, é introduzida num envoltório especial de papelão ou de plástico. São de baixo custo, mas sua capacidade de armazenamento e velocidade de acesso são reduzidas. A maioria dos equipamentos de informática possuem drives (dispositivos de acionamento) para esses disquetes: os microcomputadores pessoais mais antigos, como sistema principal; e os mais modernos, além dos de médio e grande porte, como sistema auxiliar.

Os discos rígidos têm grande capacidade de armazenamento
Neles a superfície magnética não é intercambiável e permanece ligada à cabeça de leitura e ao motor que os faz girar. São construídos segundo várias tecnologias, entre as quais se destaca a dos discos rígidos, em que as cabeças de leitura nunca tocam a superfície magnética, aumentando a rapidez de acesso e a vida útil. Há também discos rígidos intercambiáveis, que costumam apresentar problemas de ajuste, o que diminui sua confiabilidade e capacidade de armazenamento. Tanto os discos flexíveis quanto os rígidos permitem o acesso direto a uma determinada posição mediante um sistema de índices internos. Isso acelera o processo de busca e gravação de dados.

As fitas magnéticas, que surgiram antes, têm velocidade de acesso inferior à dos discos, uma vez que, por sua própria configuração, a busca e a gravação de dados se realizam de modo sequencial. Atualmente são usadas principalmente como suporte de cópias de segurança (back-up) de material armazenado em discos. Além dos discos e das fitas magnéticas, os sistemas recorrem a suportes ópticos como o disco compacto (compact disc), que permite o armazenamento de quantidades imensas de informação e sua leitura a velocidades muito altas. Juntamente com a central e a externa existem outros tipos de memória (Ramdisk, Buffer, Cache etc.), que servem para evitar o repetido acesso àquelas, favorecendo com isso uma maior rapidez de operação do computador.

A unidade que serve de medida da capacidade de memória de um dispositivo de informática é o byte, formado na maioria dos casos por oito bits. A combinação destes - formando os números binários que se podem obter com oito bits - permite a criação de códigos com um máximo de 256 caracteres. O mais difundido desses códigos é o ASCII (American Standard Code for Information Interchange, código-padrão americano para o intercâmbio de informação).

Telas
O periférico de saída de computador mais comum é a tela, seja de televisão ou de um monitor de vídeo. Os diferentes modelos de tela podem ser monocromáticos ou em cores, e sua capacidade de representação de caracteres é muito variável. Existe ainda a chamada touch-screen, na qual um toque na tela exerce o mesmo efeito que o uso do teclado ou mouse.

Impressoras
Os dispositivos básicos de saída são as impressoras e os traçadores de gráficos (plotters), que permitem representar sobre papel os resultados das operações realizadas pelo computador. As impressoras mais comuns são as matriciais, as de margarida e as a laser. As matriciais dispõem de um cabeçote com certo número de pequenos pinos. A configuração dos pinos que a cada impulso batem na fita de impressão, e esta no papel, determina a forma do caráter impresso. Essas impressoras podem imprimir algumas centenas de caracteres por segundo, de acordo com o modelo. As impressoras de margarida usam um dispositivo que lembra essa flor, em que cada "pétala" é uma haste que tem na extremidade externa, em relevo, um caráter, como nos tipos de máquina de escrever. São relativamente lentas, mas sua impressão é de grande qualidade. As impressoras a laser são impressoras matriciais de grande densidade de pontos, em que os pinos foram substituídos por raios laser. Elas conjugam a qualidade com a rapidez na impressão.

Outros dispositivos de entrada e saída
Existem muitos outros periféricos que podem ser conectados ao computador. O meio pelo qual se realiza essa conexão chama-se interface, e seu funcionamento é regulado por um protocolo de comunicação que deve ser o mesmo para o computador e o periférico. Um exemplo típico é o modem, abreviatura de modulador-demodulador, com o qual um pequeno computador doméstico pode comunicar-se com outros, inclusive muito maiores e mais complexos, por linha telefônica. Segundo o mesmo princípio de interconexão podem-se formar redes locais, que são conjuntos de computadores capazes de intercambiar dados e de compartilhar periféricos.

O computador é o mecanismo de controle ideal para muitos processos automatizados. A maior parte dos instrumentos de medida, como termômetros, dinamômetros, voltímetros e muitos outros podem ser conectados a computadores, que registram e analisam suas medidas.

Software
Seja qual for a complexidade de seu hardware, um sistema de informática necessita de outro componente, o software, ou suporte lógico, sem o qual o computador seria incapaz de realizar tarefa alguma, por mais simples que fosse. O software compreende basicamente os sistemas operacionais, as linguagens de programação e os programas propriamente ditos.

Sistema operacional
O sistema operacional é o gerenciador e organizador de todas as atividades realizadas pelo computador. Estabelece as regras pelas quais se trocam informações entre a memória central e a externa, e determina as operações elementares que o processador pode realizar. O sistema operacional deve ser carregado na memória central antes de qualquer outra informação, o que reduz a memória disponível para o usuário em grau que varia segundo a complexidade do sistema e as opções que ofereça. Para evitar que a memória central disponível nos computadores pessoais seja insuficiente para carregar o sistema operacional, foram desenvolvidos os chamados sistemas operacionais de disco (disk-operating systems ou DOS), em que se armazenam em discos, em forma de programas, certas funções que, em computadores mais avançados, estão disponíveis diretamente na memória central. O sistema operacional organiza também as comunicações do computador com o exterior, controlando os periféricos e as prioridades de diferentes tarefas e usuários que o sistema deve atender simultaneamente.

Linguagens de programação
Os programas indicam ao computador a tarefa a realizar e como efetuá-la, mas para isso é preciso codificar essas ordens numa linguagem que o sistema possa entender. Em princípio, o computador só entende instruções expressas num código específico chamado código de máquina. A partir desse código elaboram-se as chamadas linguagens de alto e de baixo nível.

As linguagens de baixo nível utilizam códigos muito parecidos com os de máquina, o que possibilita a elaboração de programas muito potentes e rápidos. São, no entanto, difíceis de aprender. As linguagens de alto nível são, ao contrário, muito mais fáceis de usar, pois nelas um só comando ou instrução pode equivaler a milhares em código de máquina. O programador escreve seu programa numa dessas linguagens, sob a forma de sequências de instruções. Antes de executar o programa, o computador o traduz para o código de máquina de uma só vez (linguagens compiladoras) ou interpreta instrução por instrução (linguagens intérpretes).

Entre as linguagens em uso, podem ser citadas as seguintes:
(1) Fortran (Formula translation system). Criado em meados da década de 1950, o Fortran ainda era, na década de 1990, a linguagem mais usada para aplicações técnico-científicas.

(2) Cobol (Common business-oriented language). Criado em 1959, a Cobol é a linguagem mais usada no comércio e na indústria.

(3) basic (Beginner's all-purpose symbolic instructions Code). Criado em 1963 para usuários que não fossem programadores profissionais, a linguagem Basic é de aprendizado simples e de uso barato. Por isso logo conquistou grande aceitação, principalmente depois que os microcomputadores entraram no mercado e que se superaram certas dificuldades que limitavam a velocidade do processamento com ela.

Programas
Denomina-se programa o conjunto de instruções transmitidas a um computador - mediante uma linguagem qualquer de programação - para a execução de uma tarefa específica. Diz-se, assim, que um programa é de contabilidade, ou de administração etc. É dispensável que o usuário conheça uma linguagem e que elabore seus próprios programas, já que a cada dia aparecem no mercado mais programas, destinados a diferentes finalidades, para cuja utilização bastam algumas noções mínimas de informática. Entre os de uso mais generalizado estão os processadores de texto, as planilhas de cálculo, os bancos de dados, os programas gráficos, de editoração eletrônica etc.

Informática nas sociedades modernas
As aplicações da informática transformaram profundamente e continuam transformando quase todas as atividades humanas. Assim, além de sua importância fundamental para o cálculo e para as tarefas administrativas, primeiras finalidades para que foi orientada, a informática converteu-se numa excepcional ferramenta de trabalho em terrenos tão diversos quanto as comunicações, o ensino, a medicina e a saúde, o desenho industrial, a automação, a editoração e as artes gráficas.

Seus contínuos progressos, bem como o constante barateamento dos equipamentos de informática, abriram caminho para a chamada informática doméstica. Com o uso dos computadores pessoais, a informática deixou de ser um terreno reservado aos especialistas e profissionais, e se faz cada vez mais presente na vida cotidiana, o que, entre outras vantagens, abre acesso a quantidades cada vez maiores de informação.

A informatização generalizada de todas as atividades humanas trouxe à discussão, desde a década de 1970, questões referentes a dois temas importantes: a violação de privacidade e o desemprego causado pela automação dos processos industriais. Não obstante, a mesma revolução tecnológica que causou o desemprego exige paralelamente a incorporação ao mercado de trabalho de mão-de-obra cada vez mais especializada. A criação de grandes bancos de dados, públicos ou privados, onde podem ser armazenadas informações sobre os cidadãos de um país, levou vários governos a regulamentar o acesso a esse tipo de informação, para proteger o direito das pessoas à privacidade.

www.klimanaturali.org