• Nenhum resultado encontrado

Classificação das linguagens de programação

N/A
N/A
Protected

Academic year: 2021

Share "Classificação das linguagens de programação"

Copied!
5
0
0

Texto

(1)

1

Introdução

Linguagem

É um meio de comunicação entre pessoas.

Faculdade de expressão audível e articulada do homem. Conjunto de sinais falados, escritos ou gesticulados de que se serve o homem para demonstrar suas ideias e sentimentos.

Linguagem de Programação

Linguagens de programação são usadas para descrever algoritmos; isto é, sequências de passos que levam à solução de um problema. Uma linguagem de programação precisa suportar a definição de ações e prover meios para especificar operações básicas de computação, além de permitir que os usuários especifiquem como estes passos devem ser sequenciados para resolver um problema. Uma linguagem de programação pode ser considerada como sendo uma notação que pode ser usada para especificar algoritmos com precisão.

Classificação das linguagens de programação

As linguagens de programação podem ser agrupadas em dois grandes grupos: Linguagens de baixo nível e linguagens

de alto nível.

As linguagens de baixo nível são restritas a linguagem de máquina e tem uma forte relação entre as operações implementadas pela linguagem e as operações implementadas pelo hardware. Elas são assim chamadas porque seu "nível", por assim dizer, está bem mais próximo da linguagem de máquina, que seria o nível mais baixo possível de interação com o computador.

As linguagens de alto nível por outro lado, aproximam-se das linguagens utilizadas por humanos para expressar problemas e algoritmos. Cada declaração numa linguagem de alto nível equivale a várias declarações numa linguagem de baixo nível.

No início da computação os programadores eram

obrigados a programar usando linguagem de máquina, que nada mais é do que seqüências de dígitos binários (0s e 1s). Por

(2)

2

exemplo, a instrução "incremente o valor no acumulador" deveria ser representada como: 10100100.

Ou na melhor hipótese, escrito sob a forma de um número hexadecimal A4. É claro que esta representação tinha muitas desvantagens:

• Há uma grande probabilidade de erro em todos os

estágios do processo de programação.

• A programação mesmo sendo com algoritmos simples

resulta em longos programas, o que dificulta o processo de validação e detecção de erros.

• O cálculo de endereços de memória deve ser feito

manualmente, com um árduo trabalho e uma grande probabilidade de erros.

Algumas das desvantagens podem ser superadas fazendo com que o computador seja o responsável pelo estágio de tradução. O programa ainda é escrito em termos de operações básicas de máquina, mas a tradução em código binário é feita pelo computador. O programa que faz essa tradução é chamado de assembler. Até mesmo o mais simples dos

assemblers modernos podem reconhecer endereçamentos simbólicos e mnemônicos representando operações de máquina. Assim, por exemplo, o programador precisa somente escrever:

ADD ival

Para especificar uma instrução para adicionar o conteúdo de localização ival para o acumulador. O assembler então faz a tradução para a string equivalente de 0s e 1s. O assembler também trata do problema de cálculo de endereço, usando nomes em formato de texto para endereçar os dados. A consequência desta automação de tradução é que os programas em linguagem Assembly são muito mais fáceis de escrever e depurar que programas em linguagem de máquina.

Não confundir:

Assembly: Principal linguagem de baixo nível. Representa as instruções simbólicas e mnemônicas, ou seja, é a linguagem.

Assembler: É o montador (ou tradutor), cuja função é traduzir a linguagem assembly para códigos binários (linguagem de máquina).

Linguagens de Alto Nível Comparadas com Linguagens de Baixo Nível

As linguagens de alto nível podem oferecer muito mais vantagens que as linguagens de baixo nível. A principal motivação para o uso de linguagens de alto nível é que os

(3)

3

problemas podem ser solucionados muito mais rapidamente e com muito mais facilidade, pois apresenta um considerável número de tipos de dados definidos, além das facilidades da programação estruturada.

Os programas em linguagem de alto nível são muito mais fáceis de serem desenvolvidos, entendidos e depurados por diversas razões:

• Nomes significativos podem ser escolhidos para

variáveis e subprogramas.

• A solução do problema não necessita ser obscurecida

pelo nível de detalhes necessários em um programa em linguagem de baixo nível.

• O programa em linguagem de alto nível é normalmente

fácil de seguir e entender cada passo da execução.

• A utilização de linguagens de baixo nível é

indicada para funções que precisam implementar instruções de máquina específicas que não são suportadas por linguagens de alto nível, embora a

grande maioria das linguagens de alto nível

apresentem uma biblioteca que permite implementar instruções de baixo nível diretamente em seus programas.

• A grande eficiência e o reduzido tamanho dos

programas desenvolvidos em linguagens de baixo

nível são as principais vantagens dessas

linguagens.

Exemplo de programa escrito em linguagem de baixo nível (assembly) para imprimir 15 vezes na tela uma string. - a100

0C1B:0100 jmp 125 ;Salta para o endereço 125h 0C1B:0102 [Enter]

- e 102 'Olá, Como vai você ?' 0d 0a '$' - a125

0C1B:0125 MOV DX,0102 ;Copia a string para registrador DX 0C1B:0128 MOV CX,000F ;Quantas vezes a string será mostrada 0C1B:012B MOV AH,09 ;Copia o valor 09 para registrador AH 0C1B:012D INT 21 ;Mostra a string

0C1B:012F DEC CX ;Subtrai 1 de CX

0C1B:0130 JCXZ 0134 ;Se CX é igual a 0 salta para o endereço 0134 0C1B:0132 JMP 012D ;Salta ao endereço 012D

(4)

4

Exemplo de programa escrito em linguagem de alto nível (Java) para imprimir 15 vezes na tela uma string.

public class MostrarString{

public static void main (String args[]){ String minhaFrase = "Olá como vai você ?";

for (int nCont = 0; nCont < 15; nCont++){ System.out.println(minhaFrase); }

} }

Exemplo de programa escrito em linguagem de alto nível (linguagem C) para imprimir 15 vezes na tela uma string. #include <stdio.h>

void main () {

char minhaFrase[20]={"Olá como vai você ?"}; int nCont;

for (nCont = 0; nCont < 15; nCont++) {

printf ("%s\n", minhaFrase); }

}

Variáveis e Escopo

Variável: Uma variável representa a unidade básica de

armazenamento temporário de dados e é composta por um tipo, um identificador (nome), um tamanho e um valor.

O objetivo de uma variável é armazenar um dado de determinado tipo primitivo para que possa ser recuperado e aplicado em operações posteriores.

Exemplo:

int notaAluno = 8

Escopo: O escopo de uma variável é a região do código

onde ela é visível, podendo ser referenciada para receber

um dado ou para recuperar um valor anteriormente

armazenado. O bloco onde a variável é declarada define seu escopo. Ela somente poderá ser referenciada para atribuir-lhe algum valor ou para recupera-lo dentro deste bloco.

Tipo

Nome

valor Tamanho: 4 bytes -32.768 até 32.767

(5)

5

Exemplo:

#include <stdio.h>

int main(int argc, char *argv[]) {

char st1[22] = {"Existo dentro do main"};

//bloco1

{

char st2[17] = {"Existo no bloco1"}; printf("%s\n", st1);

printf("%s\n", st2); }

//bloco2

{

char st2[17] = {"Existo no bloco2"};

//bloco 2.1

{

char st3[19] = {"Existo no bloco2.1"}; printf("%s\n", st1); printf("%s\n", st2); printf("%s\n", st3); } printf("%s\n", st1); printf("%s\n", st2); } printf("%s\n", st1); getch(); }

Referências

Documentos relacionados

Através do estudo da previsão da sua vida útil das superfícies em betão à vista, pretende-se contribuir para que os decisores tenham mais informação relativamente ao

[r]

Este ponto da obra se inicia com a apresentação de algumas das ideias centrais da argumentação proposta pelo autor, a saber: do turismo como prática social lastreada e difusora

A partir da implementação do Programa de Apoio a Planos de Reestruturação e Expansão das Universidades Federais, a universidade brasileira abre-se para o acesso de novos e

A água usada na análise de resí- duos de pesticidas destina-se à pre- paração de soluções aquosas de sais, como a de sulfato de sódio e/ou a de cloreto de sódio para obstar aos

Realizou-se estudo do tipo ecológico com o objetivo de investigar o perfil sociodemográfico e epidemiológico, a frequência de casos, os indicadores epidemiológicos

Os campos medios do vento nos altos niveis para os meses posteriores (FMAM) mostraram a presenca de um VCAN sobre o Nordeste em fevereiro no composto seco, enquanto que no

pação do IDE na 23ª edição da Come- jus, os jovens da mocidade de sábado optaram por trocar a folia do Carnaval para estudar e confraternizar com outros companheiros espíritas