ATPS   Paradigmas de Linguagem de Programação
26 pág.

ATPS Paradigmas de Linguagem de Programação


DisciplinaParadigmas de Linguagens de Progamação126 materiais486 seguidores
Pré-visualização5 páginas
\ufffdPAGE \* MERGEFORMAT\ufffd26\ufffd
FAV \u2013 Faculdade Anhanguera de Valinhos
Nome R.A. 
Atividades Práticas Supervisionadas
Paradigmas de Linguagem de Programação
Valinhos
2015
Nome R.A. 
Atividades Práticas Supervisionadas
Paradigmas de Linguagem de Programação
Atividade Pratica Supervisionada apresentada como exigência para conclusão da matéria de Paradigmas de Linguagem de Programação do grau de Bacharelado em Ciência da Computação da FAV - Faculdade Anhanguera de Valinhos.
Orientador: professor
Valinhos
2015
RESUMO
Inicialmente, os computadores eram programados através de código binário, que representava as sequências de controle que a CPU deveria executar. Tal processo era difícil e propício a erros; os programas estavam em código de máquina, que é um paradigma de programação de muito baixo nível. Para facilitar a programação foram desenvolvidas linguagens de montagem, elas substituíam as funções do código de máquina. A linguagem de montagem foi e ainda é usada para sistemas críticos, e frequentemente usada em sistemas embarcados.
Nessa ATPS como é pedido para simularmos uma contratação de programadores para um determinado projeto, aprenderemos um pouco sobre como os programadores devem conhecer sobre critérios e avalições, para julgar sua aplicabilidade em um determinado projeto. Nesses critérios vamos falar sobre a Simplicidade global, Ortogonalidade, Instruções de Controle, Tipos de dados e estruturas, Sintaxe e semântica. Um exercício também será exemplificado sobre algumas linguagens que foram colocadas como teste para serem resolvidas pelo profissional em avaliação.
Palavras-chave: paradigmas, programação, critérios de avaliação, cobol, fortran, atps, propósitos, desenvolvimento, profissional, sintaxe, semântica, lisp, smalltalk, evolução, simplicidade global, ortogonalidade, tipos de dados, estrutura de controle. 
ABSTRACT
Initially, computers were programmed by binary code, representing the control sequences that CPU should run. This process was difficult and prone to errors; were programs in machine code, which is a very low level programming paradigm. To facilitate mounting programming languages \u200b\u200bhave been developed, they replaced the functions of the machine code. The assembly language was and is still used for critical systems, and often used in embedded systems.
ATPS like this are asked to simulate a hiring programmers for a particular project, we will learn a bit about how programmers should know about criteria and owner? To judge its suitability for a particular project. These criteria will talk about the global Simplicity, Orthogonality, control instructions, data types and structures, Syntax and Semantics. An exercise will also be exemplified on some languages \u200b\u200bthat have been placed as a test to be dealt with by professional evaluation.
Keywords: paradigms, programming, evaluation criteria, cobol, fortran, ATPs, purposes, development, professional, syntax, semantics, lisp, smalltalk, evolution, overall simplicity, orthogonality, data types, control structure
SUMÁRIO
71	Introdução	\ufffd
82	Relatório 1 - Critérios de avaliação das linguagens de programação.	\ufffd
123	Relatório 2 \u2013 Estudo comparativo de linguagens de programação	\ufffd
133.1	Analise do código da Figura 1:	\ufffd
143.2	Programa "Ola, Mundo!" em diversas linguagens	\ufffd
154	Relatório 3 \u2013 Tipos de dados	\ufffd
154.1	Tipo de dados primitivos.	\ufffd
174.2	Tipos String de caracteres	\ufffd
184.3	Tipos ordinais definidos pelo usuário	\ufffd
204.4	Analise do algoritmo	\ufffd
215	Relatório 4 \u2013 Expressões aritméticas e lógicas	\ufffd
215.1	Expressões aritméticas:	\ufffd
225.2	Expressões Logicas:	\ufffd
235.3	Analise do algoritmo	\ufffd
246	Conclusão	\ufffd
257	Referências	\ufffd
\ufffd
13Figura 1 - Código Fonte	\ufffd
14Figura 2 - Ola mundo em diversas linguagens	\ufffd
16Figura 3 - Ponto Flutuante	\ufffd
20Figura 4 - Algoritmo para calcular media final	\ufffd
23Figura 5 - Programa que calcula a área de um círculo	\ufffd
23Figura 6 - Programa que efetua subtrações de acordo com condições estabelecidas.	\ufffd
\ufffd
Introdução 
Tecnicamente, programação é a atividade de criar soluções computacionais (normalmente algorítmicas) para problemas cotidianos. Geralmente, envolve a concepção de uma solução e sua subsequente implementação através de uma linguagem de programação. Um paradigma de programação fornece e determina a visão que o programador possui sobre a estruturação e execução do programa. Por exemplo, em programação orientada a objetos, os programadores podem abstrair um programa como uma coleção de objetos que interagem entre si, enquanto em programação funcional os programadores abstraem o programa como uma sequência de funções executadas de modo empilhado.
	Os paradigmas de programação são muitas vezes diferenciados pelas técnicas de programação que proíbem ou permitem. Por exemplo, a programação estruturada não permite o uso de goto. Esse é um dos motivos pelo qual novos paradigmas são considerados mais rígidos que estilos tradicionais.
Inicialmente, os computadores eram programados através de código binário, que representava as sequências de controle que a CPU deveria executar. Tal processo era difícil e propício a erros; os programas estavam em código de máquina, que é um paradigma de programação de muito baixo nível. Para facilitar a programação foram desenvolvidas linguagens de montagem, elas substituíam as funções do código de máquina por mnemônicas, endereços de memória absolutos referenciados por identificadores. A linguagem de montagem foi e ainda é usada para sistemas críticos, e frequentemente usada em sistemas embarcados.
O próximo avanço foi o desenvolvimento das linguagens procedimentais. As primeiras a serem descritas como de alto nível, essas linguagens da terceira geração usam um vocabulário relativo ao problema sendo resolvido. 
Posteriormente, linguagens orientadas a objeto foram criadas. Nelas, os dados e as rotinas para manipulá-los são mantidos numa unidade chamada objeto. O utilizador só pode acessar os dados através das sub-rotinas disponíveis, chamadas métodos, o que permite alterar o funcionamento interno do objeto sem afetar o código que o consome. A necessidade de cada objeto de ter métodos associados tornaria os programas muito maiores. O conceito de polimorfismo foi desenvolvido como tentativa de solucionar tal dilema. Tendo em vista que a orientação a objeto é um paradigma e não uma linguagem, é possível criar até mesmo uma linguagem de montagem orientada a objeto.
Independente do ramo das linguagens imperativas, baseadas nas linguagens procedurais, paradigmas de programação declarativa também foram desenvolvidos. Nessas linguagens se descreve o problema ao computador, não como resolvê-lo. O programa é estruturado como uma coleção de propriedades para encontrar o resultado esperado, e não um procedimento a se seguir. Dado um banco de dados ou um conjunto de regras, o computador tenta encontrar a solução ao casar todas as propriedades desejadas. Um exemplo é o SQL, assim como a família das linguagens funcionais e lógicas.
Programas escritos em programação funcional usam funções, blocos de código construídos para agir como funções matemáticas. Desencoraja-se a mudança do valor das variáveis através de atribuição, fazendo grande uso de recursividade para isso.
Na programação lógica, fatos sobre o domínio do problema são expressados como fórmulas lógicas, e os programas são executados ao se aplicar regras de inferência nas fórmulas até que uma resposta é encontrada, ou a coleção de fórmulas é provada inconsistente.
Relatório 1 - Critérios de avaliação das linguagens de programação.
A avaliação de uma linguagem de programação serve, dentre outras coisas, para julgar sua aplicabilidade em um determinado projeto. Por esse motivo, um bom programador deve ser capaz de avaliar criteriosamente