Você está na página 1de 9

UNIVERSIDADE EDUARDO MONDLANE

FACULDADE DE CIÊNCIAS

DEPARTAMENTO DE MATEMÁTICA E INFORMÁTICA

Curso de Licenciatura em Informática, 1º Ano, Pós-Laboral

Relatório Inicial

Linguagens de Programação

Disciplina de Introdução a Tecnologias de Informação e Comunicação e (ITIC)

DISCENTE:
Alósio Horácio Matsinhe

Maputo, Abril de 2020

1
Índice
1. Introdução............................................................................................................... 2

2. Linguagem de Programa................................................................................................. 4

3.Paradigmas.................................................................................................................. 4

3.1Conceito.................................................................................................................... 4

3.2 Paradigma Imperativo.................................................................................................. 4

3.2.1. Vantagens.............................................................................................................. 4

3.2.2. Desvantagens.......................................................................................................... 4

3.3.1Linguagens:............................................................................................................. 5

3.3.2. Vantagens.............................................................................................................. 5

3.3.3. Desvantagens.......................................................................................................... 5

3.4. Paradigma Orientado a Objectos..................................................................................... 5

3.4.1. Linguagens............................................................................................................. 5

3.4.2. Vantagens.............................................................................................................. 5

3.4.3. Desvantagens.......................................................................................................... 5

2.5. Paradigma Funcional................................................................................................... 6

3.5.1. Linguagens............................................................................................................. 6

3.5.2. Desvantagens.......................................................................................................... 6

3.5.3. Vantagens.............................................................................................................. 6

3.6. Paradigma Lógico...................................................................................................... 7

3.6.1. Linguagens............................................................................................................. 7

3.6.2. Vantagens.............................................................................................................. 7

3.6.3. Desvantagens.......................................................................................................... 7

4. Conclusão................................................................................................................... 8

5. Referências Bibliográficas............................................................................................... 9

2
1. Introdução
O presente relatório, insere-se no âmbito da cadeira de ITIC, cujo tema é Linguagens de
Programação, com os seguintes sub-tópicos: Definição de linguagem de programa, definição e
descrição de paradigma de programação, paradigmas e respectivas linguagens de programação e
listagem de linguagens de programação.
O estudo dos paradigmas de linguagens de programação requer dedicação na pesquisa de novas
linguagens, e sempre formalizando este estudo. O conhecimento dos diferentes paradigmas e
adquirido através do estudo dos princípios e conceitos que norteiam a construção das linguagens.
Entretanto, neste relatório apresentarei estas pesquisas ressaltando aquelas que foram mais
proeminentes dentro de cada categoria.

3
2. Linguagem de Programa
2.1 Conceito

2.1.1Linguagem de programa
Linguagem de programa é sistema de escrita, que através dum um conjunto de símbolos
convencionados, permite explicitar as operações a executar por um sistema informático,
solucionando deste modo um determinado problema.
Esta é constituída por uma:

• Componente Semântica - utilização dum conjunto de termos, palavras ou sinais, que


Transmitem um determinado significado interpretável pelo CPU;

• Componente Sintáctica - utilização dum conjunto de regras (tal como uma gramática) que
definem a forma correcta de utilização dos termos da linguagem, na construção de instruções
Válidas Para o CPU.

3.Paradigmas

3.1Conceito
2.1.O paradigma de uma linguagem de programação é a sua identidade. Corresponde a um
conjunto de características que, juntas, definem como ela opera e resolve os problemas. Algumas
linguagens, inclusive, possuem mais de um paradigma, são as chamadas multi-paradigmas.

3.2 Paradigma Imperativo

O Paradigma Imperativo é baseado na arquitectura de Von Neumann. É o primeiro paradigma a


existir e até hoje é o dominante. As linguagens imperativas são orientadas a acções, onde a
computação é vista como uma sequência de instruções que manipulam valores de variáveis
(leitura e atribuição).

Lista de linguagens de programação que baseiam-se no modelo imperativo: Ada; ALGOL;


Assembler; Basic; C; Cobol; Fortran; Pascal; Python; Lua.

3.2.1. Vantagens
As vantagens desse paradigma são: eficiência (porque embute o modelo de Von Neumann);
modelagem “natural” de aplicações do mundo real; paradigma dominante e bem estabelecido; e
também muito flexível.

4
3.2.2. Desvantagens
As desvantagens são: difícil legibilidade; erros introduzidos durante a manutenção
Descrições demasiadamente operacionais.
3.3. Paradigma Estruturado

Este paradigma preconiza que todos os programas possíveis podem ser reduzidos apenas três
estruturas: sequência, decisão e iteração. Tendo, na prática, sido transformada na Programação
modular, a Programação estruturada orienta os programadores para a criação de estruturas
simples em seus programas, usando as subrotinas e as funções.

3.3.1Linguagens: C; Basic; Pascal; Cobol;

3.3.2. Vantagens
Os problemas podem ser quebrados em vários subproblemas, a boa legibilidade e a boa
compreensão da estrutura deste paradigma motivam os programadores a iniciarem a
programação pelo modelo estruturado.

3.3.3. Desvantagens
Os dados são separados das funções; Mudança na estrutura dos dados acarreta alteração em todas
as funções relacionadas e Gera sistemas difíceis de serem mantidos.

3.4. Paradigma Orientado a Objectos

A programação Orientada a Objectos é baseada na composição e interacção de diversas unidades


de softwares denominados objectos. O funcionamento de um software orientado a objectos se dá
através do relacionamento e troca de mensagens entre esses objectos. Esses objectos são classes,
e nessas classes os comportamentos são chamados de métodos e os estados possíveis da classe
são chamados de atributos. Nos métodos e nos atributos também são definidas as formas de
relacionamento com outros objectos.

3.4.1. Linguagens
Exemplos de linguagens de programação que baseiam-se no modelo orientado a
Objectos: Smalltalk; Python; Ruby; C++; Object Pascal Java; C#; Oberon; Ada; Eiffel; Simula.

3.4.2. Vantagens
Esse paradigma possui todas as vantagens do paradigma imperativo entre outras: a alteração de
um módulo não incorre na modificação de outros módulos; quanto mais um módulo for
independente, maior a chance dele poder ser reutilizado em outra aplicação.

5
3.4.3. Desvantagens
Por exigir formas de pensar relativamente complexas, a programação orientada a objectos até
hoje ainda não é bem compreendida ou usada pela maioria

2.5. Paradigma Funcional

Este paradigma trata a computação como uma avaliação de funções matemáticas. Este método
enfatiza a aplicação de funções, as quais são tratadas como valores de primeira importância, ou
seja, funções podem ser parâmetros ou valores de entrada para outras funções e podem ser os
valores de retorno ou saída de uma função.

3.5.1. Linguagens

Exemplos de linguagens de programação que baseiam-se no modelo funcional: Lambda (não


implementado para computadores); LISP; Scheme (tentativa de simplificar e melhorar o LISP);
ML (Criada em universidade); Miranda (também criada em universidade); Haskell.

3.5.2. Desvantagens

Na programação funcional parecem faltar diversas construções frequentemente (embora


incorrectamente) consideradas essenciais em linguagens imperativas, como C. Por exemplo, não
há alocação explícita de memória nem de variáveis.

3.5.3. Vantagens

Devido ao processo automático de alocação de memória, então efeitos colaterais no cálculo da


função são eliminados. Sem estes efeitos, a linguagem assegura que o resultado da função será o
mesmo para um dado conjunto de parâmetros não importando onde, ou quando, seja avaliada e é
empregado em computações independentes para execução paralela. A recursividade em
programação funcional pode assumir várias formas e é em geral uma técnica mais poderosa que
o uso de laços do paradigma imperativo.

6
3.6. Paradigma Lógico

Nesse paradigma programas são relações entre Entrada/Saída. Possui estilo declarativo, como o
paradigma funcional. Inclui características imperativas, por questões de eficiência. Aplicações
em prototipação em geral, sistemas especialistas, bancos de dados, etc.

3.6.1. Linguagens
Exemplos de linguagens de programação que baseiam-se no paradigma lógico:
 Popler; Conniver; QLISP; Planner; Prolog; Mercury; Oz; Frill.

3.6.2. Vantagens
Possui a princípio todas as vantagens do paradigma funcional. E permite
Concepção da aplicação em um alto nível de abstracção (através de associações entre
E/S).

3.6.3. Desvantagens
Variáveis de programa não possuem tipos, nem são de alta ordem.

7
4. Conclusão
Após a pesquisa concluiu-se que um paradigma é o que determina o ponto de vista da realidade e
como se actua sobre ela, os quais são classificados quanto ao seu conceito de base, podendo ser:
Imperativo, funcional, lógico, orientado a objectos e estruturado. Cada qual determina uma
forma particular de abordar os problemas e de formular respectivas soluções, entretanto,
nenhum, por si só, deve ser considerado a solução efectiva e definitiva para todos os problemas.
Além disso, uma linguagem de programação pode combinar dois ou mais paradigmas para
potencializar as análises e soluções. Deste modo, cabe ao programador escolher o paradigma
mais adequado para analisar e resolver cada problema

8
5. Referências Bibliográficas
Para materialização desta pesquisa, recorreu-se as seguintes fontes:

5.1. Manuais:
Sampaio, A. (2008) “Paradigmas de Linguagens de Programação”.
Conceitos deLinguagens de Programação, 5ª ed., Bookman 2003

5.2. Pesquisas na Internet:

↑ https://esolangs.org/wiki/Brainfuck

↑ http://www.bell-labs.com/usr/dmr/www/chist.html

Programação funcional
http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_funcional

Programação estruturada
http://labes.inf.ufes.br/vsouza/sites/default/files/CursoOOSlides03.pdf.pdf