23
CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃOrogerio/material_auxiliar/CLP20132_linguagens... · roteiro 1. introduÇÃo 2. linguagens imperativas 1. conceito 2. paradigma imperativo 3

  • Upload
    leliem

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

ROTEIRO

1. INTRODUÇÃO

2. LINGUAGENS IMPERATIVAS

1. CONCEITO

2. PARADIGMA IMPERATIVO

3. ORIGENS

4. MODELO COMPUTACIONAL

1. ARQUITETURA DE VON NEUMANN

2. CARACTERISTICAS CENTRAIS DAS LINGAUAGENS IMPERATIVAS

5. VANTAGENS E DESVANTAGENS

6. LINGUAGENS IMPERATIVAS NÃO ESTRUTURADAS

7. LINGUAGENS IMPERATIVAS ESTRUTURADAS

INTRODUÇÃO

Uma linguagem de programação é um

método padronizado para comunicar

instruções para um computador,

respeitando regras semânticas e

sintáticas

LINGUAGENS IMPERATIVAS

CONCEITO:

Programação imperativa é um paradigma de

programação que descreve a computação

como ações, enunciados ou comandos que

mudam o estado(variáveis) de um

programa.

LINGUAGENS IMPERATIVAS

A figura mostra graficamente a estrutura

da Programação Imperativa.

PARADIGMA IMPERATIVO

O paradigma imperativo baseia-se no

conceito de comandos e atualização de

variáveis. Como os programas são

escritos para modelar processo se

objetos do mundo real e tais objetos

frequentemente possuem estados que

variam com o tempo.

PARADIGMA IMPERATIVO

Os paradigmas imperativos se dividem em:

O paradigma procedural: Fortran e o Basic.

O paradigma de estrutura de blocos: Algol 60,

Pascal e C.

O paradigma de orientação a objetos: C++, Java,

Python e Ruby.

O paradigma da computação distribuída (Várias partes estão compõe o sistema e estão interconectadas por rede): Ada.

ORIGENS

As primeiras linguagens de programação imperativas eram linguagens de máquina, com instruções simples mas de construção complexa.

FORTRAN (1956) -> variáveis com nome,

subprogramas, expressões complexas.

ALGOL (1960) -> maior facilidade de expressar algoritmos matemáticos.

COBOL (1960) BASIC (1964) -> sintaxe mais próxima do inglês.

MODELO COMPUTACIONAL

ARQUITETURA DE VON NEUMANN

Se caracteriza pela possibilidade de uma

máquina digital armazenar seus

programas no mesmo espaço de

memória que os dados, podendo assim

manipular tais programas.

MODELO COMPUTACIONAL

ARQUITETURA DE VON NEUMANN

A máquina proposta por Von Neumann reúne os

seguintes componentes:

(i) uma memória;

(ii) uma unidade aritmética e lógica (ULA);

(iii) uma unidade central de processamento (CPU), composta por diversos registradores;

(iv) uma Unidade de Controle (UC), cuja função é buscar um programa na memória, instrução por instrução, e executá-lo sobre os dados de entrada.

MODELO COMPUTACIONAL

ARQUITETURA DE VON NEUMANN

CICLO DE VON NEUMANN

MODELO COMPUTACIONAL

CARACTERÍSTICAS CENTRAIS DAS LINGUAGENS IMPERATIVAS

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 sequencial de instruções;

E a forma iterativa de repetição, que é o método mais eficiente desta arquitetura.

VANTAGENS E DESVANTAGENS

Vantagens

Eficiência (embute o modelo de Von Neumann);

Mais fácil de traduzir para a linguagem de máquina;

Paradigma dominante e bem estabelecido;

Modelagem “Natural” de aplicações do mundo real;

VANTAGENS E DESVANTAGENS

Desvantagens

Facilita introdução de erros em sua

manutenção;

Tende a gerar códigos confusos, onde tratamento dos dados são misturados com o comportamento do programa;

Focaliza o “como” e não o “quê”;

Relacionamento indireto com a E/S (indução a erros/estados);

LINGUAGENS IMPERATIVAS NÃO

ESTRUTURADAS

São linguagens caracterizadas pela utilização da expressão goto.

Necessária para determinar a repetição e a seleção de execução de instruções

Uso de goto geralmente leva ao que chamam na literatura de código spaguetti (não segue regras de programação estruturada e abusa de desvios).

LINGUAGENS IMPERATIVAS NÃO

ESTRUTURADAS

FORTRAN foi uma das primeiras

linguagens imperativas de alto nível. As

versões originais de FORTRAN

possuíam a instrução goto. Assembly e

BASIC são outros exemplos de

linguagens imperativas que possuem o

conceito de goto.

LINGUAGENS IMPERATIVAS NÃO

ESTRUTURADAS

Exemplo de código com o uso de instrução goto, baseado na sintaxe do C:

#include <stdio.h>

int main()

{

int nro;

inicio:

printf("\nInforme um numero par: ");

scanf("%d", &nro);

if(nro % 2 == 1)

{

goto inicio;

}

else

{

goto final;

}

final:

printf("\n\n Fim da execução do programa");

return 0;

}

LINGUAGENS IMPERATIVAS

ESTRUTURADAS

Linguagens estruturadas surgiram com

o objetivo de facilitar a leitura e

acompanhamento da execução de

algoritmos.

Normalmente linguagens estruturadas

não fazem uso de comando goto.

LINGUAGENS IMPERATIVAS

ESTRUTURADAS

Instruções são agrupadas em blocos, os quais podem ser considerados como unidades de programa, abstraindo-se das suas estruturas internas.

Blocos de instruções podem ser selecionados para execução através de declarações de seleção como if...else, ou repetidamente executados através de declarações de repetição como while.

LINGUAGENS IMPERATIVAS

ESTRUTURADAS

Linguagens estruturadas procedurais permitem a criação de procedimentos (e funções), que são blocos de instruções.

Procedimentos criam um nível de abstração, onde não é necessário conhecer todos os passos de execução de um procedimento, apenas qual a sua função e quais os seus pré-requisitos para que execute de acordo com o esperado.

LINGUAGENS IMPERATIVAS

ESTRUTURADAS

Exemplo de código estruturado,

baseado na sintaxe do C:

#include <stdio.h>

int main (void)

{

printf(“Hello World!\n”);

return (0);

}

UNIVERSIDADE ESTADUAL DE

SANTA CRUZ – UESC

CLEITON FERNANDO LIMA SENA

GRADUANDO EM CIÊNCIA DA

COMPUTAÇÃO