Buscar

Rota de Aprendizagem Aula 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

1 
 
 Rota de Aprendizagem – Aula 1 
 
Contextualização 
Linguagem de Programação é uma ferramenta que permite ao programador ou 
usuário de computação escrever programas. Como programa define-se um 
conjunto de instruções a serem seguidos pelo computador para realizar um 
determinado processo. 
Várias são as linguagens de programação existentes no mercado (tais como C, 
Java, PHP, entre outras), porém para cada linguagem faz-se necessário que o 
programador ou usuário saiba os símbolos e sintaxes definidas por esta, no 
intuito de combiná-los para produzir um programa válido. 
Dentre os benefícios de se estudar linguagens de programação, podemos 
destacar (Varejão, 2004): 
 Maior capacidade de desenvolver soluções computacionais para 
problemas, ou seja, quanto maior a compreensão sobre os conceitos de 
linguagens de programação maior a habilidade do programador em 
como pensar e resolver problemas. 
 Maior habilidade ao usar uma nova linguagem de programação. À 
medida que o programador vai agregando conhecimento de outras 
linguagens, mais fácil do programador entender as modificações entre 
as linguagens, bem como a utiliza-las de forma mais inteligente e 
otimizada. 
 Maior capacidade para escolher linguagens de programação 
apropriadas, isto é, quanto maior o domínio sobre as linguagens maior a 
capacidade de determinar qual linguagem melhor se adequa na 
resolução dos problemas. 
 Maior habilidade para aprender novas linguagens de programação. Por 
exemplo, programadores que sabem os conceitos de orientação a 
2 
 
objetos possuem maior facilidade em aprender linguagem que utilizem 
destes paradigmas. 
 Maior habilidade para projetar novas linguagens de programação. 
As linguagens de programação foram criadas para possibilitar o trabalho do 
programador mais produtivo. Logo, o objetivo principal da linguagem de 
programação é tornar mais efetivo o processo de desenvolvimento de software. 
Cabe ressaltar que, por meio destas linguagens de programação, é possível 
torna-los mais produtivos em sua geração e manutenção, como também, 
garantir que toda produção de software seja feita respeitando os padrões de 
qualidade. 
Independentemente de como é seguido o processo de desenvolvimento de 
software, é necessário que as linguagens de programação apresentem as 
seguintes propriedades desejáveis, a saber: 
 Legibilidade: esta propriedade trata da facilidade para se ler e entender 
um determinado programa. Quanto mais fácil for entender e seguir suas 
instruções, mais fácil será de entender o que está sendo feito, bem 
como de descobrir possíveis erros de programação. 
Exemplo: media = (nota1 + nota 2)/2; 
No exemplo é possível entender que a instrução se trata de calcular a 
média com base na soma de duas notas (1 e 2). Desta forma, pode-se dizer 
que este trecho do código apresenta uma boa legibilidade. 
 
 Redigibilidade: possibilita ao programador se dedicar aos aspectos mais 
relevantes da implementação, ou seja, não perde tempo entendendo 
outras características que não são necessárias a resolução do 
problema. 
 
 Confiabilidade: são os mecanismos fornecidos pela própria linguagem 
de programação para incentivar a construção de programas confiáveis. 
Por exemplo, as linguagens de programação que requerem a declaração 
3 
 
de dados permitem verificar automaticamente erros de tipos durante a 
compilação ou execução do programa. 
 
 Eficiência: determinadas linguagens de programação são mais 
recomendadas que outras devido às demandas por recursos de um tipo 
de aplicação. Desta forma, a propriedade eficiência é direcionada 
normalmente ao uso de linguagens de programação que minimizem o 
tempo de execução e de acesso aos dispositivos periféricos, bem como 
o consumo de espaço de memória. 
 
 Facilidade de aprendizado: capacidade de o programador aprender a 
linguagem com facilidade. Linguagens de programação que apresentam 
muitas características e formas de realizar a mesma funcionalidade 
tendem a ser mais complexas de aprender. Por exemplo, na linguagem 
de programação C pode-se executar o comando de incremento de 
várias formas: c = c+1; c+=1; c++; 
 
 Ortogonalidade: possibilidade de o programador combinar seus 
conceitos básicos sem que se produzam efeitos distorcidos nessa 
combinação. Linguagens de programação ortogonais são interessantes 
porque os programadores podem prever, com segurança, o 
comportamento de uma determinada combinação de conceitos (Varejão, 
2004). A falta de ortogonalidade dificulta o aprendizado da linguagem de 
programação e pode estimular a ocorrência de erros de programação. 
 
 Reusabilidade: pode-se dizer que está é uma das propriedades mais 
desejáveis de uma linguagem de programação. Pois, possibilita reutilizar 
o mesmo código pra diversas aplicações, ou seja, quanto mais reusável 
for um código, maior será a sua produtividade de programação. Por 
exemplo, este trecho de código pode ser utilizado por qualquer aplicação 
que deseje trocar os valores de duas variáveis inteiras. 
 
 
 
4 
 
void troca (int *x, int *y) 
{ 
 int z = *x; 
 *x = *y; 
 *y = z; 
} 
 
 Modificabilidade: refere-se às facilidades das linguagens de 
programação em possibilitar ao programador modificar o programa em 
função de novos requisitos (funcionalidades dos sistemas), sem que tais 
modificações impliquem mudanças em outras partes do programa. 
 
 Portabilidade: independente da linguagem em que o programa foi escrito 
este, por sua vez, deve se comportar da mesma forma independente da 
ferramenta utilizada para traduzi-lo para a linguagem de máquina ou 
então para a arquitetura computacional (hardware ou sistema 
operacional) sobre o qual está sendo executado. 
 
Métodos de Implementação de Linguagens de Programação 
Todo e qualquer programa independente de qual linguagem seja escrito 
necessita ser traduzido para uma linguagem de máquina para que possa ser 
executado. Para isso, faz-se necessário o uso de um conjunto de programas 
que recebe o código-fonte do programa a ser traduzido e gere o código 
traduzido na linguagem de máquina. Dentre os métodos de implementação de 
tradução do código-fonte em linguagem de máquina para execução estão a 
compilação, interpretação pura e híbrido, conforme ilustra a Figura 1. 
O método de implementação denominado de compilação efetua em seu 
processo a tradução integral do programa fonte para o código de máquina. 
Assim, uma vez traduzido o programa em linguagem de máquina este pode ser 
executado diretamente. 
 
5 
 
 
Figura 1. Métodos de implementação de Linguagens de Programação 
Fonte: Varejão, 2004 
 
Como vantagens deste método destaca-se a otimização da eficiência na 
execução do programa, pois esta é rápida devido a não necessitar traduzir 
durante a execução e também grande parte das verificações de erros já pode 
ser efetuada durante a tradução. Outro benefício do método é o processo de 
compilação que requer apenas o código executável para que o programa rode. 
No entanto, como desvantagens tem-se a falta de portabilidade do código 
executável, ou seja, uma vez executado para uma determinada arquitetura 
computacional este somente será executado nesta arquitetura. Por exemplo, 
um programa em C compilado sobre o ambiente Windows não é executável no 
ambiente Linux, e vice-versa. 
Diferente deste método de implementação compilado o método chamado de 
interpretação pura destina-se a simular um computador virtual capaz de 
entender as instruções da linguagem de programação. Em outras palavras, o 
código fonte é traduzido para a linguagem de máquina quando necessitaser 
executado e, posteriormente a essa execução, o código gerado é executado. 
Como vantagens este método apresenta a facilidade em prototipação, isto é, 
permite-se executar comandos ou partes do programa a medida que estes são 
6 
 
construídos, verificando, assim, se atuam corretamente estas instruções ou 
comandos. 
A execução mais lenta do programa é considerada uma desvantagem se 
comparada ao método de compilação. Sendo que, a razão para esta lentidão é 
decorrente da necessidade de o interpretador decodificar comandos complexos 
da linguagem de programação, verificar erros do programa e gerar código em 
linguagem de máquina durante a própria execução do programa. 
O processo híbrido combina tanto a execução eficiente quanto a portabilidade 
de programas pela aplicação combinada dos métodos de compilação e 
interpretação. A base para este processo é a existência de um código 
intermediário, mais fácil e ser interpretado e, ao mesmo tempo, não específico 
de uma plataforma computacional. Assim, este método de implementação 
hibrido é dividido em duas partes, uma destinada a compilação para um código 
intermediário e a segunda para a interpretação desse código. 
Para Varejão (2004), embora a execução seja mais lenta que o código 
compilado, a interpretação do código intermediário é mais rápida se comparado 
à interpretação pura do código fonte. 
 
Paradigmas de Linguagens de Programação 
Como paradigmas de linguagem de programação chamamos um conjunto de 
características que serve para classificar um grupo de linguagens. Várias são 
as classificações dos paradigmas de linguagem de programação, porém a mais 
conhecida é a que divide estes em imperativo, orientado a objetos, funcional e 
lógico. Cabe ressaltar a não rigidez desta classificação, possibilitando as 
linguagens de programação ser enquadradas em outros paradigmas 
simultaneamente. A Figura 2 ilustra a classificação dos paradigmas em dois: 
imperativo e declarativo. 
 
7 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Figura 2 – Paradigmas de Linguagens de Programação 
O paradigma imperativo engloba os conceitos fundamentados na computação 
como um processo que realiza mudanças de estados. Os programas incluídos 
neste paradigma especificam como uma computação realizada por uma 
sequência de alterações no estado da memória do computador. 
O objetivo dos programas neste paradigma é especificar como um 
processamento deve ser realizado no computador, sendo os principais 
conceitos as variáveis, os valores e atribuições. O paradigma imperativo pode 
ser subdivido em estruturado, orientado a objetos e concorrente. 
No paradigma estruturado a programação se caracteriza pela existência de 
uma sequência monolítica de comandos e pelo uso de desvios condicionais e 
incondicionais para determinar o fluxo de controle da execução do programa. 
Desta forma, a programação estruturada organiza o fluxo de controle de 
execução dos programas desestimulando o uso de comandos de desvios 
incondicionais e incentivando a divisão dos programas em subprogramas e em 
blocos alinhados de comandos. Dentre as linguagens de programação mais 
Paradigmas 
Declarativo Imperativo 
Estruturado 
Orientado a 
Objetos 
Concorrente Funcional Lógico 
8 
 
conhecidas neste paradigma estruturado encontram-se a linguagem PASCAL e 
C. 
Por outro lado, no paradigma orientado a objetos o principal objetivo é utilizar 
os conceitos de objetos no desenvolvimento dos programas para torá-los mais 
rápidos e confiáveis. Enquanto que as linguagens que adotam o paradigma 
estruturado focam na abstração de controle de execução dos programas, as 
linguagens que adotam o paradigma orientado a objetos enfatizam a abstração 
dos dados como elemento básico da programação. 
Considera-se o paradigma orientado a objetos uma evolução do paradigma 
estruturado, principalmente no que tange a especificação dos métodos. As 
linguagens SMALTALK, C++ e Java são as mais conhecidas nesta 
classificação. 
Já o paradigma concorrente ocorre quando vários processos executam 
simultaneamente e concorrem por recursos. Este paradigma engloba 
linguagem como ADA e Java que oferecem facilidades no desenvolvimento 
destes sistemas. 
Em contraste aos paradigmas anteriores, no paradigma declarativo os 
programas são especificações sobre o que e determinada tarefa. Ou seja, o 
programador não precisa se preocupar sobre como o computador é 
implementado, muito menos saber qual melhor forma de realizar determinada 
tarefa. Para o programador o que importa é descrever de forma abstrata como 
determinada tarefa é resolvida. Este paradigma é subdivido em paradigma 
funcional e paradigma lógico. 
No paradigma funcional as linguagens de programação se caracterizam por 
operarem apenas sobre funções, as quais recebem listas de valores e retornam 
um determinado valor. Esta programação tem como finalidade definir uma 
função que retorne um valor como resposta do problema. As linguagens que se 
destacam nesta classificação são LISP e ML. 
Por outro lado, o paradigma declarativo é totalmente baseado em linguagens 
lógicas que são baseadas em subconjuntos do cálculo de predicados. Como 
9 
 
predicado define-se a relação entre constantes ou variáveis. E como 
característica principal deste paradigma lógico é que a execução dos 
programas corresponde a um processo de dedução automática.

Outros materiais