FUNDAMENTOS DA COMPUTAÇÃO
Alceu
Bernardino Rodrigues
Professor Tutor Externo: Viviana
Centro
Universitário Leonardo da Vinci – UNIASSELVI
Curso
Licenciatura em Informática (LIN0159) – Prática do Modulo III
30/11/2013
RESUMO
Este paper apresenta uma
breve contextualização bibliográfica a cerca da Computação, considerando sua
trajetória a partir do desejo e da necessidade de automatizar os cálculos,
juntamente com a evolução da tecnologia de fabricação do hardware, que em
conjunto com as linguagens de programação, automatizaram os processos
computacionais e resultaram na Tecnologia da Informação. Apontaremos as
principais invenções e a criação de conceitos usados até hoje na Informática,
tais como as máquinas de calcular mecânicas que alavancaram a invenção de novos
sistemas numéricos como o sistema Binário, Octal e Hexadecimal. Destacaremos a
importância dos Algoritmos instruções rotineiras que automatizam os processos e
cálculos. Finalizando pontuaremos a evolução dos computadores tanto analógicos
quanto digital, suas aplicações e variados modelos que proporcionam melhor
qualidade na interação entre o ser humano e a máquina chamada computador.
Palavras chaves; Computação;
Cálculos; Hardware; Informática; Algoritmo;
1 INTRODUÇAO
Para entender
como as maquinas revolucionaram os dias de hoje, faremos uma viagem pelas
gerações de computadores, sua evolução tecnológica, como as máquinas surgiram e
os computadores e, quem os desenvolveu.
A ciência tecnologia propiciou o
tratamento racional e automático da Informação dando origem ao que se conhece
hoje como informática. É importante expor que o conceito Informação vem
do latim “Informare” (dar forma) ao conjunto de dados que produz significado,
ou melhor, o dado (informação) é uma célula básica da Informação, que pode ser
armazenada por dispositivos, automáticos e, que se realiza por meios mecânicos
ou eletrônicos o qual se denomina Máquina (GADELHA, 2013).
Esta informação pode através do algoritmo
raciocinar e através da razão resolver um dado problema proporcionando o
tratamento da informação ao realizar operações sobre certa informação. Assim, este estudo propõe-se narrar os elementos e
conceitos fundamentais que proporcionaram o desenvolvimento do computador mecânico
e sua evolução para o computador eletrônico, e sua evolução. Pontuaremos os diversos tipos de computadores
atuais.
Este estudo
iniciar-se-á ilustrando a história do computador os primeiros dispositivos de
calcular mecânicos; os elementos
e conceito fundamentais; Computador mecânico; Computador Eletrônico; Evolução
dos Computadores; Algoritmo e Linguagens de programação.
2
ELEMENTOS E CONCEITOS FUNDAMENTAIS
O termo COMPUTAR
significa fazer cálculos, contar, efetuar operações aritméticas, COMPUTADOR é a
máquina que auxilia e automatiza essa tarefa, com vantagens no tempo gasto e na
precisão.
Inicialmente
o homem utilizou seus próprios dedos para essa tarefa, dando origem ao sistema
DECIMAL e ao termo DIGITAL e DIGITO. Para auxílio deste método, eram usados
gravetos, contas ou marcas na parede. A partir do momento que o homem
pré-histórico trocou seus hábitos nômades por aldeias e tribos fixas,
desenvolvendo a lavoura, tornou-se necessário um método para a contagem do
tempo, delimitando as épocas de plantio e colheita (GADELHA, 2013, p.01).
De acordo com
Gadelha (2013, p. 01) as Tábuas de argila contendo tabuadas de multiplicação foram
escritas por volta de 1700 A.C e usavam o sistema sexagesimal (base 60), dando
origem às nossas atuais unidades de tempo. “Para auxiliar os cálculos há cerca
de 2.500 anos surgiu o ÁBACO. A variante do ábaco mais conhecida é o SOROBAN,
ábaco japonês simplificado (com 5 contas por fio, agrupadas 4x1), ainda hoje
utilizado. Esse sistema de contas e fios recebeu o nome de calculi pelos romanos, dando origem à palavra cálculo”.
De acordo com
Dias (2006) o matemático inglês Charles Babbage é conhecido como o "Pai do
Computador". Babbage projetou o chamado "Calculador Analítico",
muito próximo da concepção de um computador atual. “O projeto, totalmente mecânico,
era composto de uma memória, um engenho central, engrenagens e alavancas usadas
para a transferência de dados da memória para o engenho central e dispositivo
para entrada e saída de dados. O calculador utilizaria cartões perfurados e
seria automático” (DIAS, 2006, p. 02).
Segundo Dias
(2006, p.02) o matemático húngaro John Von Neumann formalizou o projeto lógico
de um computador. Em sua proposta, Von Neumann sugeriu que as instruções fossem
armazenadas na memória do computador. “Até então elas eram lidas de cartões
perfurados e executadas, uma a uma’’. ‘’Armazená-las na memória, para então
executá-las, tornaria o computador mais rápido, já que, no momento da execução,
as instruções seriam obtidas com rapidez eletrônica”.
2.1
COMPUTADORES MECÂNICO
Os computadores
mecânicos começaram a ser projetados em 1834, eram acionados por manivelas,
realizavam cálculos através de um sistema de engrenagens, ou outro sistema
mecânico qualquer. Este tipo de sistema, comum na forma de caixas registradoras
era bastante utilizado naquela época. No final do século XIX surgiu o relê, um
dispositivo eletromecânico, formado por um magneto móvel, que se desloca unindo
dois contatos metálicos (ZANELATO, CALDAS,
2012).
O Relê foi muito
usado no sistema telefônico, depois vieram os eletromecânicos, como o Z3,
criado em 1941, ele podia ser programado para fazer três ou quatro adições por
segundo e multiplicar dois números em quatro ou cinco segundos (ZANELATO,
CALDAS, 2012 ).
2.2 COMPUTADORES ELETRÔNICOS
No final do
século XIX, surgiram as primeiras válvulas. As válvulas foram usadas para criar
os primeiros computadores eletrônicos, na década de 40. As válvulas tem seu
funcionamento baseado no fluxo de elétrons no vácuo. As válvulas já eram bem
mais rápidas que os relês, atingiam frequências de alguns Mega-hertz, o
problema é que aqueciam muito, consumiam muita eletricidade e queimavam-se
facilmente (MORIMOTO, 2005).
MORIMOTO (2013) expõe que construir
computadores, que usavam milhares delas era difícil, e muito caro. Apesar de
tudo isso, os primeiros computadores começaram a surgir durante a década de 40,
naturalmente com propósitos militares. Os principais usos eram a codificação e
decodificação de mensagens e cálculos de artilharia.
O Transistor
substituiu a válvula, sem possuir partes móveis, consome menos energia é mais
rápido. A ideia do uso do silício para
construir transistores é que adicionando certas substâncias em pequenas
quantidades é possível alterar as propriedades elétricas do silício. Um transistor
é composto basicamente de três filamentos, chamados de base, emissor e coletor.
O emissor é o polo positivo, o coletor o polo negativo, enquanto a base é quem
controla o estado do transistor, pode estar ligado ou desligado (MORIMOTO, 2013).
Outro grande
salto veio quando os fabricantes deram-se conta que era possível construir
vários transistores sobre o mesmo waffer
de silício. Havia surgido então o circuito integrado, vários transistores
dentro do mesmo encapsulamento. Assim logo surgiram os primeiros microchips.
2.3 EVOLUÇÃO
DOS COMPUTADORES
Em 1890, o norte
americano Hermann Hollerith (1860-1929) desenvolve o primeiro computador
mecânico. A partir de 1930. O Mark I, concluído em 1944 por uma equipe liderada
por Howard Aiken, é o primeiro computador eletromecânico capaz de efetuar
cálculos mais complexos sem a interferência humana. Ele mede 15 m x 2,5 m e
demora 11 segundos para executar um cálculo. Em 1946, surge o Eniac (Electronic Numerical Integrator and Computer), primeiro computador
eletrônico e digital automático: pesa 30 toneladas, emprega cerca de 18 mil
válvulas e realiza 4.500 cálculos por segundo (GADELHA, 2013).
O Eniac contém a arquitetura básica de um
computador, empregada até hoje: memória principal (área de trabalho), memória
auxiliar (onde são armazenados os dados), unidade central de processamento (o
"cérebro" da máquina, que executa todas as informações) e
dispositivos de entrada e saída de dados que atualmente permitem a ligação de
periféricos como monitor, teclado, mouse, scanner, tela, impressora, entre
outros (GADELHA, 2013).
O tamanho e o
preço dos computadores começam a diminuir a partir da década de 50. Neste
período, inicia-se a pesquisa dos circuitos integrados, os chips, responsáveis pela crescente miniaturização dos equipamentos
eletrônicos. Em 1974, a Intel projeta o microprocessador, dispositivo que reúne
num mesmo chip, todas as funções do processador central essa tecnologia que
permite a criação do computador pessoal, ou microcomputador. O primeiro
computador pessoal é o Apple I,
inventado em 1976 pelos americanos Steve Jobs e Stephan Wozniak (SIMON, 2013).
Em 1981, a IBM
lança o seu PC (Personal Computer),
que se torna um sucesso comercial. O sistema operacional usado é o MS-DOS, desenvolvido pela empresa de softwares Microsoft. Na época, Bill Gates,
o dono da Microsoft, convence a IBM e as demais companhias a adotarem o sistema
operacional de sua empresa. Isso permite que um mesmo programa funcione em
micros de diversos fabricantes. Posteriormente, os PCs passam a usar microprocessadores
cada vez mais potentes: 286, 386SX, 386DX, 486SX, 486DX. O Pentium, que surge nos anos 90, é atualmente o processador mais
avançado usado em PCs (GADELHA, 2013).
Para Gondim
(2013, p. 01) “na
década de 90 surgem os computadores que, além do processamento de dados, reúnem
fax, modem, secretária eletrônica, scanner, acesso à Internet e drive para CD-ROM. Os CDs-ROM, sigla de compact disc read-only memory,
criados no início da década, são discos a laser
que armazenam até 650 megabytes, 451
vezes mais do que um disquete (1,44 megabytes)”.
Além de armazenar grande quantidade de texto, o CD-ROM tem capacidade de
arquivar fotos, vídeos e animações. Em 1996 é anunciado o lançamento do DVD (digital vídeo disc), que nos próximos
anos vem a substituir o CD-ROM e as fitas de videocassete. O DVD é um compact disc com capacidade de 4,7 gigabytes (cerca de 7 CDs-ROM).
Segundo os
fabricantes, terá a capacidade de vídeo de um filme de 135 minutos em padrão de
compressão MPEG (tela cheia) e alta qualidade de áudio. Terá o mesmo diâmetro e
espessura dos CDs atuais, mas será reproduzido em um driver específico,
que também poderá ser ligado à televisão. Alguns CDs-ROM são interativos, ou
seja, permitem que o usuário controle, à vontade, a navegação pelo seu
conteúdo. Os computadores portáteis (laptops e palmtops), marcas da
miniaturização da tecnologia, também se popularizam nos anos 90. A partir de sec.
XXI os tablets e os smartphones começam a substituir os desktops e laptops (GADELHA,
2013).
2.4 ALGORÍTMO E LINGUAGEN DE
PROGRAMAÇÃO
Linguagem de Programação é um método padronizado para
expressar instruções para um Computador. É um conjunto de regras sintáticas e
semânticas usadas para definir um programa de computador. O primeiro projeto de
linguagem de programação surgiu para um computador que não existia, sendo
idealizada por Ada Lovelace em 1983. O projeto do primeiro computador foi
idealizado por Charles Babbage que, após gastar fortunas e um longo tempo, não
conseguiu concretizar o projeto. (GONÇALVES, 2011).
Segundo Souza, Andrade, Gonçalves e Cunha (2010, p. 04) A primeira
linguagem de programação de alto nível amplamente usada foi Fortran, criada em
1954. “Em 1957 foi criada B-0, que daria origem a Flow-Matic (1958), antecessor
imediato de COBOL, de 1959. Lisp e ALGOL foram criadas em 1958. As Linguagens
de programação também tornam os programas menos dependentes dos computadores ou
ambientes computacionais específicos (propriedade chamada de portabilidade)”.
Isto acontece porque os programas escritos em linguagens de programação são
traduzidos para o código de máquina do computador no qual será executado.
2.4.1 Linguagens de Baixo Nível
De acordo com Langa (2006, p. 01) são linguagens
totalmente dependentes da máquina, ou seja, que o programa que se realiza com
este tipo de linguagem não pode ser migrado ou utilizado em outras máquinas. Ao
estar praticamente desenhado a medida do hardware,
aproveitam ao máximo as características do mesmo. Dentro deste grupo se
encontram:
·
A
linguagem de máquina: esta linguagem ordena à máquina as operações
fundamentais para seu funcionamento. Consiste na combinação de 0's e 1's para
formar as ordens entendíveis pelo hardware da máquina. Esta linguagem é muito mais rápida que as
linguagens de alto nível. A desvantagem é que são bastante difíceis de manejar
e usar, além de ter códigos fonte enormes onde encontrar uma falha é quase
impossível.
·
A
linguagem Assembler é um derivado da linguagem máquina e está formada por
abreviaturas de letras e números chamados mnemotécnicos. Com o aparecimento
desta linguagem se criaram os programas tradutores para poder passar os
programas escritos em linguagem assembler
à linguagem máquina. Como vantagem com respeito ao código máquina é que os
códigos fontes eram mais curtos e os programas criados ocupavam menos memória.
As desvantagens desta linguagem continuam sendo praticamente as mesmas que as
da linguagem assembler, acrescentando
a dificuldade de ter que aprender uma nova linguagem difícil de provar e
manter.
2.4.2 Linguagens de Alto Nível
Para Langa (2006,
p. 02) as linguagens de alto nível são aquelas que se encontram mais próximas à
linguagem natural que à linguagem máquina. Trata-se de linguagens independentes
da arquitetura do computador. Sendo assim, a princípio, um programa escrito em
uma linguagem de alto nível, pode ser migrado de uma máquina a outra sem nenhum
tipo de problema.
Estas linguagens
permitem ao programador se esquecer completamente do funcionamento interno da
máquina/s para a que está desenhando o programa. Somente necessita de um
tradutor que entenda o código fonte como as características da máquina. Costumam
usar tipos de dados para a programação e existem linguagens de propósito gerais
(qualquer tipo de aplicação) e de propósito específicas.
2.4.3 Linguagens de Médio Nível, C.
Trata-se de um
termo não aceito por todos, porém certamente vocês já devem ter escutado. Estas
linguagens se encontram em um ponto médio entre as duas anteriores. Dentro
destas linguagens poderia se situar em ‘‘C’’ já que pode acessar aos registros
do sistema, trabalhar com endereços de memória, todas elas características de
linguagens de baixo nível e ao mesmo tempo realizar operações de alto nível
(LANGA, 2006).
2.4.4 Gerações das linguagens de
programação
Langa (2006, p.
03) expõe que a evolução das linguagens de programação pode ser dividida em 5
etapas ou gerações.
·
Primeira
geração: Linguagem máquina.
·
Segunda
geração: Criaram-se as primeiras linguagens assembler.
·
Terceira
geração: Criam-se as primeiras linguagens de alto nível. Ex: C, Pascal,
Cobol…
·
Quarta
geração: São linguagens capazes de gerar código por si só, são os chamados
RAD, com o qual pode-se realizar aplicações sem ser um expert na linguagem.
Aqui também se encontram as linguagens orientadas a objetos, tornando possível
a reutilização de partes do código para outros programas. Ex: Visual, Natural
Adabes…
·
Quinta
geração: Aqui se encontram as linguagens orientadas à inteligência
artificial. Estas linguagens ainda estão pouco desenvolvidas.
2.4.5 Conceitos
Importantes na Linguagem de Programação
Compilador é um programa de sistema que traduz um
programa descrito em uma linguagem de alto nível para um programa equivalente
em código de máquina para um processador. “Em geral, um compilador não produz
diretamente o código de máquina mas sim um programa em linguagem simbólica (Assembly) semanticamente equivalente ao
programa em linguagem de alto nível. O programa em linguagem simbólica é então
traduzido para o programa em linguagem de máquina através de montadores” (RICARTE,
2003, p. 01).
O Algoritmo é uma sequência finita de instruções bem
definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente
num período de tempo finito e com uma quantidade de esforço finita. O conceito
de algoritmo é frequentemente ilustrado pelo exemplo de uma receita, embora
muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer interações)
ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa
seja completada (AMARAL, 2010).
Um
algoritmo corretamente executado não irá resolver um problema se estiver
implementado incorretamente ou se não for apropriado ao problema. Um algoritmo
não representa, necessariamente, um programa de computador, e sim os passos
necessários para realizar uma tarefa. Sua implementação pode ser feita por um
computador, por outro tipo de autômato ou mesmo por um ser humano. Diferentes
algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de
instruções em mais ou menos tempo, espaço ou esforço do que outros (AMARAL ,
2010).
Tal
diferença pode ser reflexo da complexidade computacional aplicada, que depende
de estruturas de dados adequadas ao algoritmo. Por exemplo, um algoritmo para
se vestir pode especificar que você vista primeiro as meias e os sapatos antes
de vestir a calça enquanto outro algoritmo especifica que você deve primeiro
vestir a calça e depois as meias e os sapatos. Fica claro que o primeiro
algoritmo é mais difícil de executar que o segundo apesar de ambos levarem ao
mesmo resultado (AMARAL , 2010).
3 CONSIDERAÇÕES
FINAIS
Ao final deste
estudo expomos que a evolução tecnológica surgiu da necessidade da
automatização dos cálculos e revolucionou o mundo atual e marcou este século
com grandes avanços científicos e tecnológicos. A cada dia que passa, novas
descobertas alimentam a esperança de se encontrar a solução para grandes
problemas que ameaçam o homem ou lhe causam sofrimentos.
Por outro lado, a
de se destacar que inúmeras pesquisas são realizadas com a finalidade de
melhorar as condições da vida humana ou para atender as necessidades criadas
pelo próprio homem. Em todas essas situações contamos com uma fonte ilimitada
de armazenamento e processamento de informações ou dado sendo um aliado
inseparável e inadiável, o computador.
AMARAL,
Wanessa Machado do. Algoritmos e programação de computadores.
Disponível em: http://www.dca.fee.unicamp.br/~wmamaral/mc102/files/aula01/aula01Intro.pdf
Acesso em 16 de novembro de 2013.
GADELHA, Julia. A EVOLUÇÃO DOS COMPUTADORES. Disponível em: http://www2.ic.uff.br/~aconci/evolucao.html
Acesso em 15 de novembro de 2013.
GONDIM ,
Thiago Souza. Informática e Computadores.
Disponível em: http://amigonerd.net/exatas/informatica/informatica-e-computadores
Acesso em 15 de novembro de 2013.
LANGA, Sara Alvarez.
Tipos de linguagens de programação. Disponível em: http://www.criarweb.com/artigos/685.php.
Acesso em 16 de novembro de 2013.
MORIMOTO,
Carlos E. Válvula. Disponível
em: http://www.hardware.com.br/termos/valvula
Acesso
em 15 de novembro de 2013.