12
Métodos de Programação I Ano Lectivo 2004/2005 APONTAMENTOS Ana Maria de Almeida Departamento de Matemática da FCTUC Universidade de Coimbra

Métodos de Programação I - mat.uc.ptamca/MPI0405/textos1.pdf · A história do software como peça fundamental no funcionamento de um computador começa, portanto, na década de

Embed Size (px)

Citation preview

Métodos de Programação I

Ano Lectivo 2004/2005

APONTAMENTOS

Ana Maria de Almeida

Departamento de Matemática da FCTUC

Universidade de Coimbra

“Programming is the most difficult part of applied mathematics.”– Edsger W. Dijkstra

“It has often been said that a person does not really understand something until he teachs it to someone else. Actuallty a person does not really understand

something until he can teach it to a computer, i.e., express it as an algorithm.”- Donald E.Knuth

CAP'ÍTULO I – CONTEÚDO

1.1 Pequena história da evolução do computador1.2 A Informática e suas prinicipais utilizações1.3 Descrição básica de um Computador Digital

Funções Básicas de um ComputadorModelo de Organização de um Computador Digital - Modelo de Von Neumann

1.4 Hardware versus SoftwareFunções gerais de um sistema operativoLinguagens de Programação

1.5 Representação digital: noções básicas

Capítulo 1

1.1. Pequena História da Evolução do Computador

... - Com a necessidade de efectuar contagens o homem primitivo, para além da invenção de umsistema numérico (decimal baseado nos dez dedos de uma mão humana), sentiu a necessidade deguardar e alterar a informação numérica. É assumido pelos historiadores que, mesmo antes dodesenvolvimento da linguagem escrita, o homem já conhecia o conceito de inventariação deobjectos ou animais que possuía, gravando sulcos em varas de madeira ou nas paredes de cavernas.Para além disso, com as trocas comerciais e o assumir da propriedade (como terras para cultivo oupastorícia e bens acumulados), os paus, as pedras ou as conchas deixam de ser eficientes pois hácada vez mais informação a manipular. Surgem os primeiros dispositivos mecânicos de cálculo: osábacos.

Foi com o uso do ábaco que o cálculo sofreu a sua primeira sistematização, reflectindo ofuncionamento de uma hierarquia de valores conforme a coluna onde se efectue os cálculos(sistema decimal). Cada conta na parte inferior do ábaco representa uma unidade e cada conta daparte superior representa 5 unidades.

1623 - Baseado nos bastões de Napier (1614), documentados pelo inventor dos logaritmos, JohnNapier (matemático e astrónomo), Wilhelm Schickard, em Tuebigen (Alemanha), cria o seu“Relógio-Calculadora”: uma máquina capaz de somar e subtrair números com 6 dígitos, e queindica ultrapassagem de capacidade com o som de uma campainha.

1633 – Ainda com base nos bastões de Napier, nasce a primeira versão de uma régua de cálculo,que permitia ainda multiplicações e cálculo de alguns logaritmos.

Esta última foi, ao longo dos tempos, melhorada e aumentada e, era de tal modo completa, que foimuito popular até cerca da década de 70, onde foi, finalmente, substituída pelas calculadorasautomáticas.

1642 - Com a idade de dezanove anos, o matemático francês Blaise Pascal projecta uma calculadoramecânica que permitiu demonstrar as vantagens práticas do cálculo mecanizado.

Para operar a Máquina de Pascal, fazia-se girar uma série de rodas que tinham gravadas, ao longoda sua circunferência, os dígitos de zero a nove. Assim que uma das rodas efectuasse uma voltacompleta em torno do seu eixo, um mecanismo de rodas dentadas fazia rodar o dígito da roda à suaesquerda de uma unidade. Os resultados (quer finais quer intermédios) eram visualizados naspróprias rodas através do uso de indicadores.

1804 - Com o advento da revolução industrial e a possibilidade de mecanização do trabalhorepetitivo, Joseph Marie Jackard desenvolve (fisicamente) uma ideia que se começou a formar naprimeira metade do século XVII: a automatização de sequências de instruções repetitivas, que sãocodificadas em cartões perfurados e permitem a construção de um objecto - Tear de Jackard.

1812 - Charles Babbage constrói a sua primeira máquina diferencial, Máquina das diferenças,capaz de gerar tabelas logarítmicas com uma precisão de seis casas decimais. Babbage pretendiamecanizar o cálculo logarítmico e as tabelas de astronomia.

1813 - Babbage projecta uma máquina que conseguiria realizar qualquer operação matemáticaautomaticamente. Movida a vapor e baptizada de Máquina Analítica, seria capaz de trabalharbaseada num conjunto de instruções de operação, armazenadas em cartões perfurados, tal como nosteares de Jackard.

Pela primeira vez, aparecem princípios e conceitos que só no século XX serão, efectivamente,implementados: a máquina analítica deveria ser constituída por uma unidade aritmética, umaunidade para entrada de dados e instruções, uma unidade para imprimir resultados e seria capaz derealizar operações lógicas (que, como veremos seguidamente, são os constituintes principais de umcomputador).As ideias de Babbage foram documentadas e ampliadas por Augusta Ada Byron, condessa deLovelace (filha do conhecido poeta inglês Lord Byron), actualmente reconhecida como a primeiraprogramadora da história. Dotada de uma mente extremamente arguta para a resolução deproblemas matemáticos, deixou-nos uma herança que, talvez somente nos nossos dias, se esteja aapreciar devidamente.

1890 - Herman Hollerith, do serviço de censos dos Estados Unidos, foi a primeira pessoa a usarequipamento de cálculo eléctrico para análise estatística de informação, engendrando um processode codificar o nome, sexo, endereço e outros dados estatísticos em cartões perfurados. Este códigoera posteriormente contado electricamente quando o cartão passava numa unidade de leitura. É esteprocesso que permite ao governo dos EUA, em 1890, realizar todas as contagens em menos demetade do tempo que tinha demorado a realizar o censo anterior (1880) ainda que, relativamente aeste último, a população tenha sofrido um aumento de 25%.

1896 - Hollerith funda a Tabulating Machine Company que, mais tarde, se passa a chamarInternational Business Machines Corporation - IBM. Máquinas construídas com base na máquinade Hollerith são melhoradas e tornam-se mais rápidas permitindo o processamento de vencimentos,facturação, análise de vendas, cálculo científico, etc.

1937 a 1944 - Principalmente com o eclodir da segunda guerra mundial e os problemas associadosà invenção e melhoramento do armamento e da bomba atómica, há uma aceleração nodesenvolvimento de sistemas informáticos, nascendo a primeira geração de calculadores digitaisautomáticos de grande escala - MARK I (sucessivamente MARK II,III e IV).

Desenvolvido(s) pela IBM para a Universidade de Harvard, segundo um projecto de um elementodesta universidade, Howard H. Aiken, o MARK I pesava 5 toneladas e era constituído por 78dispositivos interligados por cerca de 800Km de cabos. Trabalhou durante 15 anos e foi retirado defuncionamento em 1959. Realizava operações com números com 23 dígitos (subtracções e adiçõesem 3 décimos de segundo e multiplicações em 6 segundos). Era programável com fita perfurada ecapaz de controlar automaticamente máquinas de escrever eléctricas. Uma vez começado umprograma tinha que ser levado até ao fim sem hipótese de (inter)acções humanas ou alterações dequalquer ordem.

A história do software como peça fundamental no funcionamento de um computador começa,portanto, na década de 40 e, particularmente, com a contratação, por parte da marinha dos EUA,duma jovem matemática, Grace M. Hopper, que tem como missão trabalhar com Howard Aiken emHarvard.

1945 - Seria contudo necessário um outro avanço particular para atingirmos o conceito actual decomputador: o conceito de armazenamento de informação. O armazenar das instruções e dados numdispositivo físico que funcionaria como uma memória e que pudesse ser alterado pelo própriocomputador nasceu com Von Neumann e foi rapidamente aproveitado para a construção de novasmáquinas, como:

1946 – o ENIAC (Electronic Numerical Integrator And Calculator), que constitui o primeirocomputador electrónico digital. Nasceu na Universidade da Pensilvânia, através dos esforços de J.Presper Eckert e John W. Mauchly, e foi desenvolvido para o exército dos EUA, usando já válvulas(ao invés de relés eléctricos e dispositivos mecânicos) e flip-flops para a memória;

1949 – o EDSAC (Electronic Delay Storage Automatic Computer ), britânico, construído noLaboratório Matemático da Universidade de Cambridge por Maurice Wilkes, constituí-se como o

primeiro computador electrónico digital com memória para programas completamente operacional.(Pelo que discute com o ENIAC o título de verdadeiro primeiro computador!)

A partir deste ponto, o desenvolvimento, quer físico quer lógico, dos computadores disparou até aosnossos dias. O primeiro computador disponível comercialmente foi o UNIVAC, em 1950, aindabastante oneroso, logo, só usado por empresas com algum porte, e aparecem também os primeirosdispositivos periféricos. Em 1951, Grace Hopper regista um problema com o UNIVAC I, devido auma borboleta (traça - bug) que se introduziu no equipamento produzindo resultados errados.Desde aí, “BUG” continua a ser usado para significar erro ou defeito de um programa, e testar umprograma para verificar se não existem erros de execução diz-se : fazer o “debug” ou “debuging”do programa (isto é, retirar os “bugs”).

Na década de cinquenta aparecem os primeiros compiladores e desenvolvem-se as primeiraslinguagens.

No início da década de 60, surge a 2ª geração de computadores com a introdução dos transístoresem substituição das válvulas electrónicas. Em 1967, com a introdução generalizada de circuitosintegrados em vez de transístores, inicia-se a 3ª geração de computadores. Surgem novaslinguagens de programação e os sistemas operativos tornam-se independentes da arquitectura doscomputadores. Em 1968, Edgar W. Dijkstra, com um artigo na revista ACM (Association forComputer Machinery) observa que a qualidade da programação é função inversamenteproporcional ao uso de instruções go to. Despoleta assim um movimento que culminará com oaparecimento e definição da Programação Estruturada.Durante a década de 70 há um aumento progressivo da capacidade de memória, velocidade deoperação e diminuição do tamanho dos computadores. Fala-se pela primeira vez na possibilidade deligar mais do que um computador em rede de comunicação. Na década de oitenta, com o aparecimento dos circuitos de integração em larga escala (VLSI - VeryLarge Scale Integration) surgem os primeiros computadores pessoais e a ideia de uma rede decomputadores interligados toma forma: dá-se nascimento do correio electrónico (e outro tipo decomunicações entre computadores) que culmina, já na década de noventa pela ligação geral decomputadores de qualquer tipo através do uso de linhas telefónicas: Multimédia/Internet - acesso acomputadores remotos, comunicação inter-computador, transmissão directa de som/imagem/texto(WWW, World Wide Web).

1.2. A Informática e suas Principais utilizações

A informática é a ciência do tratamento automático da informação e o computador um sistemaelectrónico que permite armazenar grandes quantidades de informação e, sobre ela, realizar, avelocidades muito elevadas, manipulações e operações aritméticas e lógicas elementares.Comecemos por ver quais são os principais campos de aplicação da informática e do uso decomputadores.

Os computadores podem ser primariamente divididos em duas grandes áreas, consoante o tipo deaplicação pretendido:

Aplicação Específica

Destinados a realizar um tipo pré-determinado e limitado de tarefas

Aplicação Geral (ou generalistas)

Programáveis consoante a necessidade domomento

Aparecem também campos de aplicação principais, agrupados do modo seguinte:

• ÁREA COMERCIAL - GESTÃO - CONTROLO DE PROCESSO

A aplicação mais comum dos computadores e uma das grandes responsáveis pelodesenvolvimento da informática, tem a ver com o processamento de informação atravésdo uso de bases de dados - agrupamento de informação inter-relacionada em entidadesindependentes, de modo a poder ser obtida de um modo eficiente, uma consultapertinente para servir determinado objectivo.

Usualmente, o volume de dados é grande e o cálculo é diminuto, sendo a rapidez docomputador aproveitada para manusear rapidamente um volume muito grande deinformação. Desde a administração às linhas de montagem, há um lugar francamenterentável e positivo para os computadores em todas as empresas, de qualquer dimensão.

Apenas alguns exemplos:FacturaçãoContabilidadeControlo de ProduçãoAnálise Financeira

Gestão de Recursos. . .

• ÁREA CIENTÍFICA

A principal característica nesta área é o grande volume de cálculo a executar emqualquer altura, muitas vezes acompanhado de um volume enorme de dados. Milharesde aplicações científicas são executadas diariamente em computadores em todas asáreas científicas.

Exemplos:MeteorologiaEngenharia CivilEngenharia QuímicaArquitectura. . .

• SERVIÇOS PÚBLICOS E SAÚDE

São inúmeras as aplicações dos computadores na área pública. Sobretudo na projecção eplanificação de cenários possíveis para problemas tão diversos como o da poluição, umprocesso de gestão pública ou o recenseamento, seria extremamente difícil e morosorealizar estudos correctos e profundos sem o auxílio de um computador. Avaliarsistemas de transportes e propor alterações, estudar estatisticamente o funcionamentodos sinais luminosos de tráfego, realizar estudos sobre o sistema e percurso de recolhado lixo, enfim, um sem número de actividades possíveis.Por outro lado, a manutenção de ficheiros completos e actualizados sobre pacientes,programas de diagnóstico, bases de dados sobre produtos farmacêuticospermanentemente actualizadas, podem significar uma diferença notável na qualidadedo serviço e, consequentemente, no conforto e, até mesmo, na vida dos pacientes.Actualmente, a ligação via Internet permite a realização de vários actos médicos, desde(tele)consultas a intervenções cirúrgicas (orientadas) à distância.

• EDUCAÇÃO - HUMANÍSTICAS

Uma das vantagens fundamentais trazidas pelos computadores actuais é a dadisponibilidade de informação 24 horas por dia. Para além disso, podem ser uma ajudanotável ao processo de raciocínio lógico, através da formulação de processos de solução

de problemas (algoritmos). Existem mesmo disciplinas onde apenas a simulação usandoum computador pode aproximar o estudante da vida real e da implementação práticados processos teóricos, como é, por exemplo, o caso das ciências políticas. Para além das vantagens de aprendizagem óbvias, todos nós temos necessidade deproduzir texto, sendo o computador um auxiliar único no género. As possibilidadesoferecidas por um bom processador de texto, não só através da possibilidade decorrecção de erros, mas também através das bases de dados e outras combinaçõespossíveis, tornam o ofício (jornalistas), a arte (escritores) ou a necessidade de escrever(todos nós) em algo bem mais criativo.

Como nota final, merecem destaque certas aplicações especiais ou especializadas deprocessadores/programas especializados como sejam, por exemplo, o ensino por computador (CAI- Computer Assisted Instruction), o desenho de computadores assistido por computador (CACD -Computer Aided Computer Design), o controlo de rotas e, principalmente, a aterragem de aviões.

1.3. Descrição básica de um Computador Digital

Num sistema informático, dados são o material básico da informação e só podem ser considerados(eles mesmos) como informação num sentido limitado do termo. Dados são símbolos que,agrupados e manipulados convenientemente, podem construir informação. Apesar de usarmosambos os termos de um modo bastante livre ao falar, só é considerado informação um conjunto desímbolos dispostos segundo determinada ordem e forma, útil ao fim a que se destina. Oprocessamento é a manipulação dos símbolos (ou dados) de modo a criar, modificar ou consultarinformação.O processamento de informação consiste, então, nas seguintes funções elementares:

• introdução dos dados necessários • manipulação e transformação (classificação, cálculo, ordenamento, resumo)• comunicação de resultados (armazenamento, recuperação, reprodução

Assim, podemos descrever a actividade de um computador através da descrição das suas funçõesmais gerais:

• Funções Básicas de um Computador•

• Entrada de informação - Dados• Processamento• Controlo de funções• Armazenamento de informação - Memória• Saída de Resultados

Estas funções básicas são agrupadas num modelo, dito Modelo de Von Neumann, que, apesar de tersido concebido em 1945, ainda hoje representa a organização interna de qualquer computadordigital não paralelo:

• Modelo de Organização de um Computador Digital - Modelo de Von Neumann

Neste modelo esquemático de organização de um computador digital tradicional encontramos 3unidades básicas principais:

• Unidade Central de Processamento (CPU, Central Processing Unit) – onde, não só se executamas operações aritméticas e lógicas elementares estipuladas pelo programa, como também éefectuado todo o controlo do sistema informático. Assim, esta unidade central aparecedividida em 2 secções principais: a unidade de controlo e a unidade aritmética e lógica.

• Unidades de Entrada e Saída (Input/Output): são estas unidades que permitem a comunicaçãocom o exterior.

• Memória Central : onde são armazenados os programas, dados e resultados necessários àprossecução e finalização da tarefa em curso.

Unidade Processadora Central

Unidade de Controlo

C C C C - controlo I D - dados

Unidade R - resultados Aritmética e Lógica I - instruções

R RD D

Unidades de D Memória Entrada/Saída Central

R

Figura 1: Modelo de Von Neumann

A unidade de controlo é a mais importante de todas as unidades. É ela que controla todo ofuncionamento do sistema: retira, uma a uma, as intruções de execução da memória, analisa-as etransforma-as em sinais de comando a serem obedecidas pelas diversas partes físicas docomputador. Comanda a entrada de dados e saída de resultados entre todas as restantes unidades esincroniza todas as operações a serem efectuadas, a velocidades muito elevadas. Esta sincronizaçãoé feita usando um relógio interno que emite milhões de impulsos por segundo - MegaHertz (MHz)-e cada instrução toma uns tantos impulsos desses milhões para se poder realizar.

A unidade aritmética e lógica apenas executa as operações elementares de cálculo ou transformaçãoque lhe são indicadas pela unidade de controlo, na ordem por esta última sinalizada e sobre osdados por ela indicados.

A memória central serve, obviamente, para armazenar dados, resultados e programas, tendo,basicamente, 4 funções diferentes durante o processamento e que, portanto, podemos descrevercomo estando dividida em quatro áreas diferentes de armazenamento:

• área de armazenamento de dados de entrada (que conterá os dados exteriores que o programanecessita para a sua execução)

• área funcional (serve para anotar resultados intermédios do processamento)• área de armazenamento de programas (guarda as instruções de processamento do programa a

correr no momento)• área de armazenamento de saída (guarda resultados finais do processamento até que possam

sair da memória central)

Esta separação é apenas funcional, isto é, não é física nem permanente, variando de programa paraprograma.Existem também diferentes tipos de memória para além da central. Esta última tem que ser afectaao computador para que este possa trabalhar mas podemos estender a capacidade de memória deum computador usando as chamadas memórias auxiliares. Estas unidades não são essenciais aofuncionamento do computador por si só e, por isso, quando existem, são identificadas comounidades periféricas. Dentro dos diferentes tipos de memória, podemos agrupá-los em dois gruposprincipais:

• Memórias de acesso sequencial (para recolher uma informação qualquer, temos de passar todaa informação que seja anterior a esta) - fita magnética (cartuchos, bobinas, cassetes …);

• Memórias de acesso directo (podemos recolher informação directamente através do uso deendereços para localização) - discos magnéticos (disco duro, disquetes, …), discos ópticos(CD/DVD).

Claramente, estas diferenças aparecem devido a custos de construção das diferentes memórias e,mesmo dentro da memória central, teremos memórias mais rápidas e mais lentas para o trabalho docomputador. De facto, não só a velocidade de processamento é importante num computador mas,também, a velocidade de acesso à informação é extremamente importante. Que interesse tem umprocessador muito rápido se tivermos que estar à espera enquanto ele recolhe informação emmemória?Os diferentes tipos de memórias que existem são fabricados em materiais diferentes que têm,obviamente, capacidades diferentes (de armazenamento, de propagação de sinais eléctricos, etc) esão uns mais caros que outros. Podemos, portanto, falar de uma hierarquia de memória, em termosdos diferentes tipos de memória e em função da sua capacidade, tempo de acesso e custo, que seencontra esquematizada na figura seguinte:

- +

memórias

capacidade/tempo de acesso centrais custo

memórias auxiliares directas

memórias auxiliares sequenciais

+ - Figura 2: Hierarquia de memória

As unidades de entrada e saída, que servem para efectuar a comunicação com o exterior, sãoconstituídas por todos os periféricos de comunicação com o exterior como, por exemplo:

• monitor• teclado• rato• impressoras• unidades de leitura óptica ou magnética (leitores de CD/DVD, disquetes, …)• modems (unidades de comunicação digital entre computadores)• scanners (unidades de leitura digitalizadoras)• câmaras de video• microfones• joystick …

1.4. HARDWARE VERSUS SOFTWARE

Vimos já quais as componentes físicas básicas de um computador digital. O conjunto destesdispositivos toma a designação geral de hardware (equipamento físico: dispositivos mecânicos,magnéticos, eléctricos e electrónicos). A parte lógica, com a qual podemos tirar partido e fazerfuncionar o hardware, designa-se por software (aspecto lógico, domínio da programação: conjuntode programas, métodos, regras e documentação necessárias ao perfeito funcionamento do sistemainformático). Tal como não é possível conceber a existência de um computador sem a sua partefísica, também o seu funcionamento é inconcebível sem o software, por muito poderoso esofisticado que seja o sistema.Um programa é, basicamente, um conjunto de instruções, escritas numa linguagem específica,destinadas a orientar o sistema informático na execução de vários passos elementares que, no seuconjunto conduzem a um determinado objectivo. Assim, e consoante as características desseobjectivo, podemos dividir o software em 3 categorias principais:

• Software do Sistema (Sistema Operativo) - fornecido com cada computador, permite a gestãodo funcionamento integrado de todas as componentes

• Software de Suporte - fornecido pelos fabricantes, permite a gravação, aperfeiçoamento eutilização dos programas de aplicação (tradutores, compiladores, editores, programas decálculo matemático, …)

• Software de Aplicação - programas escritos pelos utilizadores e programas que usam subrotinasdas duas classes anteriores (programas de cálculo estatístico, traçadores de gráficos,processadores de texto, …)

Antes de qualquer outro, o software mais importante e que é o primeiro a ser introduzido numcomputador é o sistema operativo. É com este conjunto de rotinas que a parte física pode funcionare é graças a ele que podemos comunicar com o computador. Assim, um sistema operativo (SO) éum conjunto integrado de rotinas especializadas para controlar todo o sistema básico. Fica residenteem memória central e parte dos comandos de um sistema operativo ficam armazenados numa zonaespecial de memória (dita, área apenas para leitura - ROM, Read Only Memory), não precisandode ser activamente invocados para funcionar, basta, para tal, ligar o computador. De facto, são estescomandos que tornam possível a primeira ligação com o utilizador, testando a operacionalidade detodos os componentes e permitindo ao utilizador comandar o sistema.

Podemos visualizar as categorias de software como encapsulando todo o sistema computacional deacordo com o esquema seguinte:

Utilizador

Aplicações

Sistema Operativo

Hardware

Figura 3: Hardware/Software/Utilizador

• Funções gerais de um sistema operativo

• controlar operações de entrada e saída• controlar o fluxo de dados entre memórias centrais e auxiliares

• fornecer as instruções necessárias para que as diferentes partes do sistema cooperem entresi

• fazer a distribuição do tempo por diferentes tarefas ou utilizadores• chamar outros programas sempre que necessário

É, portanto, o sistema operativo que controla a CPU e permite a ligação com o utilizador.Como exemplos de sistemas operativos mais vulgares temos:

• UNIX / LINUX - inicialmente destinado a grandes computadores, vulgarizou-se para todos ostipos de computadores, sendo já utilizado em computadores pessoais (LINUX). Serviu deexemplo para a maior parte dos outros SO.

• DOS - nos primeiros computadores pessoais, o SO começou por ser armazenado num discoflexível, daí o seu nome, que deriva do inglês, Disk Operating System.

• Linguagens de Programação

O computador, ou a sua CPU, só entende uma linguagem especial, dita linguagem máquina, constituída apenas por zeros (0) e uns (1). Mais ainda, qualquer comando directo, tem que ser omais simples possível, porque a CPU só trabalha com ordens e operações muito elementares. Étambém necessário conhecer muito bem os componentes físicos e o modo como são interligados (aarquitectura do sistema), o que pode variar muito de máquina para máquina. Daí ser extremamentedifícil e moroso programar neste código. Uma vez que se pretende, com o computador, tornar otrabalho mais eficiente, mais rápido e mais rentável, foram criadas linguagens mais próximas doentendimento humano e das linguagens naturais. Vejamos uma tabela com alguns exemplos delinguagens de programação:

• Linguagens de baixo nível: mais próximas da parte física e do funcionamento próprio docomputador, logo, produzindo programas longos e de muito difícil leitura/correcção para umutilizador humano

• Linguagem máquina - Reflecte a estrutura interna de cada computador; Constituída porcombinações numéricas de zeros e uns (00110101 00100011 00001111) dito códigobinário;

• Assembler - Substitui pequenos arranjos de combinações numéricas em código bináriopor instruções básicas descritas por mnemónicas (SUM A1, A2); Dependente docomputador;

• Linguagens de alto nível: mais próximas dos conceitos humanos e pouco ou nada dependentesda máquina em questão. Cada instrução corresponde a muitas instruções de código máquina, oque torna os programas mais curtos, legíveis e mais facilmente alteráveis por utilizadoreshumanos.

LINGUAGEM

FORTRANLISPPASCALCADA

TIPO

cálculo intensivo simbólica e lógica genérica genérica defesa e espionagem

INICIADA EM

19551955196919711980

Tabela 1: Alguns (poucos) exemplos de linguagens de programação de alto nível