paradigmas de linguagem de programação

17
PARADIGMA SEQÜENCIAL Paradigmas de Linguagem de Programação Sistema de Informação – Faculdade Santa Emília - FASE 5º Período Professor(a): Péricles Miranda Alunos: Julio Cezar Marcos César Marcio Lisboa

Upload: marcio-lisboa

Post on 04-Jul-2015

192 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Paradigmas de Linguagem de Programação

PARADIGMA SEQÜENCIAL

Paradigmas de Linguagem de Programação

Sistema de Informação – Faculdade Santa Emília - FASE5º Período Professor(a): Péricles Miranda

Alunos:Julio CezarMarcos CésarMarcio Lisboa

Page 2: Paradigmas de Linguagem de Programação

História Dos Paradigmas De Programação

Paradigma seqüencial: anos 60 e 70

A modelagem de programação, denominada de Seqüencial, se popularizou através da linguagem Basic e, também, da tradicional linguagem Fortran. Naquela, época a complexidade inerente aos projetos era relativamente menor, e o foco do desenvolvimento de programas se centrava na implementação das operações, em termos de objetivos de programação. Nestes tempos, o bom programador era aquele que dominava o uso códigos de programação de uma linguagem computacional, pois a qualidade de um programa era mais voltada à otimização do tempo de execução e economia de memória.

Em termos do projeto de Engenharia, o paradigma Seqüencial respondia muito bem a questões técnicas bem específicas e isoladas. Em termos curriculares, a programação básica usualmente era ministrada na disciplina de Introdução à Programação, seguida, em geral, da disciplina, mais especializada, de Análise Numérica.

Page 3: Paradigmas de Linguagem de Programação

Introdução

A arquitetura dos computadores exerceu um efeito crucial sobre o projeto das linguagens de programação. A maioria das linguagens populares nos últimos 35 anos foram projetadas em torno da arquitetura do computador, conhecidas por arquitetura de Von Neumann. Estas linguagens são chamadas de imperativas. Em um computador com esta arquitetura, tanto os dados como os programas são armazenados na mesma memória, e a CPU (Unidade Central de Processamento), que executa realmente as instruções, é separada da memória. Conseqüentemente, instruções e dados devem ser transportados, ou transmitidos, da memória para a CPU. Os resultados das operações realizadas na CPU devem ser devolvidos para memória.

Page 4: Paradigmas de Linguagem de Programação

Introdução

Devido à arquitetura de Von Neumann, as características centrais das linguagens imperativas são: as variáveis, que modelam as células de memória; comandos de atribuição, que são baseados nas operações de transferência dos dados e instruções; a execução seqüencial de instruções; e a forma iterativa de repetição, que é o método mais eficiente desta arquitetura. Os operandos das expressões são passados da memória para a CPU, e o resultado da expressão é passado de volta para a célula de memória, representada pelo lado esquerdo do comando de atribuição. A iteração e rápida em computadores com este tipo de arquitetura porque as instruções são armazenadas em células adjacentes de memória. Essa eficiência desencoraja o uso da recursão para repetição.

Page 5: Paradigmas de Linguagem de Programação

Paradigmas

Um paradigma impõe a forma com que o desenvolvedor do programa analisa os dados, ou seja, determina a maneira como o mesmo enxerga o problema.

Os paradigmas, em sua grande maioria, se distinguem uns dos outros pela diferenciada técnica de programação, de maneira a permitir ou proibir determinadas relações entre comandos.

A relação entre paradigmas e linguagens de programação tendem a ficar um tanto quanto complexa pelo fato de que uma determinada linguagem possa conter vários tipos de paradigma, causando certa confusão para os programadores.

De maneira geral, um paradigma de programação trata computacionalmente os problemas encontrados no mundo real.

Page 6: Paradigmas de Linguagem de Programação

Paradigma Imperativo

Uma linguagem de programação que utiliza paradigma imperativo manipula variáveis a partir de ordens ou comandos. Por exemplo, determinado número de variáveis são lidas na entrada, são manipuladas e colocadas em outras variáveis, ditas saídas, manipulando estados.

Um programa imperativo realiza uma série de tarefas, uma atrás da outra, que o computador tende a executar. Alguns exemplos de linguagens que utilizam paradigma imperativo são: Ada, Algol, C, Fortran, Pascal,entre outras

Page 7: Paradigmas de Linguagem de Programação

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;

Também muito flexível.

Page 8: Paradigmas de Linguagem de Programação

Vantagens

É muito bem esclarecido e dominante por ser a linguagem atualmente mais utilizada. É altamente flexível, podendo ser migrado para outras paradigmas facilmente, além de ser bastante eficiente por possuir embutido o modelo Von Neumann.

Page 9: Paradigmas de Linguagem de Programação

Desvantagens

Possui relacionamento indireto com a entrada/saída, resultando numa difícil legibilidade do programa, erros introduzidos na manutenção do código, ocasionados pela difícil legibilidade.

Focaliza o “como” é feito o desenvolvimento e não o “que” é desenvolvido.

Page 10: Paradigmas de Linguagem de Programação

Sintaxe e Semântica das LPs

Sintaxe

A sintaxe de uma linguagem descreve as possíveis combinações de símbolos que formam um programa sintaticamente correto. O significado dado para uma combinação de símbolos é dada pela semântica. A sintaxe da linguagem de programação é definida usando uma combinação de expressões regulares (para estrutura léxica) e a Backus-Naur Form (para estrutura gramatical).

Page 11: Paradigmas de Linguagem de Programação

Sintaxe e Semântica das LPs

Semântica A semântica de uma linguagem define como e quando as várias

construções da linguagem poderiam produzir o comportamento do programa.

EXEMPLOS  Seja o comando if da linguagem de programação C

Sintaxe

if (<expr>) <instrução>

Semântica

Se a avaliação (valor) da expressão <expr> resultar em verdadeiro, a instrução <instrução> será executada

Page 12: Paradigmas de Linguagem de Programação

Exemplo C

#include<stdio.h> #include<stdlib.h>   int main() {    //Declaração das variáveis para guardar os

valores    int dividendo;    int divisor;        //Imprime mensagem para a inserção do primeiro

valor    printf("Digite o valor do dividendo:");    //Guarda o valor digitado pelo usuário na variável

dividendo    scanf("%d", &dividendo);//       //Imprime mensagem para a inserção do

segundo valor    printf("\nDigite o valor do divisor:");    //Guarda o valor digitado pelo usuário na variável

divisor    scanf("%d", &divisor);

//Verifica se o valor do divisor é igual a zero   if (divisor == 0) {      //Imprime o valor -1 caso o divisor seja zero      printf("-1\n");   }   //Verifica se o valor do cálculo da divisão é negativo   else if ((dividendo / divisor < 0)) {      //Imprime o valor 0 caso o resultdo da divisão seja negativo      printf("Valor encontrado: 0\n");   }   else {      //Como o divisor não é zero e o cálculo não é negativo, imprime o resultado da divisão      printf("Valor calculado: %d \n", (dividendo / divisor));   }      system("PAUSE");}

Page 13: Paradigmas de Linguagem de Programação

Exemplo Pascal

Page 14: Paradigmas de Linguagem de Programação

Paradigma Seqüencial

Em cada uma destas linguagens são abordados os seguintes tópicos:

Valores e tipos; Expressões; Comandos e Seqüências; Declarações; Procedimentos e funções;

Page 15: Paradigmas de Linguagem de Programação

Paradigma Seqüencial

Page 16: Paradigmas de Linguagem de Programação

Paradigma Seqüencial

Page 17: Paradigmas de Linguagem de Programação

Aplicabilidade