Você está na página 1de 14

LINGUAGENS DE PROGRAMAÇÃO

Adriano Avelar eam.avelar@gmail.com

O que caracteriza uma Linguagem de Programação?

Gramática e significado bem definidos Implementável (executável) com eficiência ‘‘aceitável’’ Universal: deve ser possível expressar todo problema computável Natural para expressar problemas (em um certo domínio de aplicação)

Aspectos do estudo de linguagens

Sintaxe: gramática (forma) Semântica: significado Pragmática (ex.: metodologias) Processadores:

compiladores, interpretadores, editores, ambientes visuais

Por que tantas linguagens?

Propósitos diferentes Avanços tecnológicos Interesses comercias Cultura e background científico

O que é um paradigma de programação?

Modelo, padrão ou estilo de programação suportado por linguagens que agrupam certas características comuns A classificação de linguagens em paradigmas é uma consequência de decisões de projeto que impactam radicalmente a forma na qual uma aplicação real é modelada do ponto de vista computacional

Imperativo Orientado a Objetos Funcional Lógico

O Paradigma Imperativo

Programas centrados no conceito de um estado (modelado por variáveis) e ações (comandos) que manipulam o estado

Paradigma também denominado de procedural, por incluir sub-rotinas ou procedimentos como mecanismo de estruturação

Primeiro paradigma a surgir e ainda é o dominante em aplicações “legadas”

Modelo Computacional do Paradigma Imperativo

Entrada
Entrada
Modelo Computacional do Paradigma Imperativo Entrada Estado Saída
Estado
Estado
Saída
Saída
Modelo Computacional do Paradigma Imperativo Entrada Estado Saída

Definição

Programação imperativa é um paradigma de programação que descreve a computação como ações ou comandos que mudam o estado (variáveis) de um programa

Eficiência (embute modelo de Von Neumann) Atribuição como elemento central Modelagem “natural” de aplicações do mundo real Paradigma dominante e bem estabelecido

Linguagens de Programação Imperativas

Ada

ALGOL

Basic

C

PHP

Java

Cobol

Fortran

Pascal

Python

Lua

Mathematica

Características Comuns

Estruturas de controle Entrada/Saída Manipulação de Exceções e Erros Abstração Procedural (Interface/Funções) Expressões e Atribuições Suporte a Bibliotecas.

Execução Sequencial e o Problema do GOTO

Saltos incondicionais na linguagem C.

Execução Sequencial e o Problema do GOTO • Saltos incondicionais na linguagem C.

Mãos na Massa!

Linguagem C

Estruturas de controle (IF/ELSE)

Entrada/Saída (PRINT/SCAN)

Manipulação de Exceções e Erros (Try/Catch)

Abstração Procedural (Interface/Funções)

Não precisamos saber como as funções fazem o que foram desenvolvidas para fazer.

Expressões e Atribuições.

Suporte a Bibliotecas.

http://bit.ly/ufra_lp_c

Trabalho 1.

Crie um programa que peça 3 valores positivos ao usuário e calcula o maior valor dentre os números. O programa deve seguir os passos de implementação abaixo. Passos de Execução:

1 – Pedir 3 números aos usuário

2 – Verificar se algum valor é negativo

3 – Chamar a função de calculo

4 – Apresentar o resultado ao usuário.

Faça um texto contendo uma análise sobre as 4 implementações que você fez. Descrevendo Semelhantes, Diferenças e Conformidades com as diretrizes das Linguagens Imperativas.

C

Python

Java

C++

Ponto Extra:

PHP