• Nenhum resultado encontrado

Programação Imperativa

N/A
N/A
Protected

Academic year: 2021

Share "Programação Imperativa"

Copied!
35
0
0

Texto

(1)
(2)

Linguagem de Programação

Linguagem de Programação é um sistema de notações para descrição de computação sob forma legível tanto para o ser humano quanto para as máquinas.

É um método padronizado para comunicar instruções para um computador, respeitando regras semânticas e sintáticas.

(3)

Um Paradigma de Programação fornece e determina a visão que o programador possui sobre a estruturação e execução do programa.

Paradigma Imperativo (C, C++, Pascal) Paradigma Funcional (ML, LISP, Haskell) Paradigma Orientado a Objeto (C++, Java) Paradigma Concorrente (ADA, Java)

Paradigma Orientado a Aspecto (AspectJ)

(4)

As linguagens imperativas são orientadas a acções, onde a computação é vista como uma sequência de instruções que manipulam valores de variáveis

O fundamento da Programação Imperativa é o conceito de Máquina de Turing, que nada mais é que uma abstração matemática que corresponde ao conjunto de funções computáveis

Sua criação foi influenciada pela arquitetura de computadores Von Neuman, onde programas e dados são armazenados na mesma memória.

(5)

MODELO COMPUTACIONAL VON NEUMANN

Os operando das expressões são passados da memória para a CPU e o resultado da expressão é passado de volta para uma célula da memória.

(6)

Linguagens imperativas são caracterizadas por três conceitos: variáveis, atribuições e sequências.

O estado de um programa imperativo é mantido em variáveis de programa que são associados com localizações de memória que correspondem a um endereço e um valor de armazenamento.

O valor da variável pode ser acessado directa e indirectamente, e pode ser alterado através de um comando de atribuição. O comando de atribuição introduz uma dependência de ordem no programa: O valor de uma variável

(7)

• As funções de linguagem de programação imperativas são descritas como algoritmos que especificam como processar um intervalo de valores, a partir de um valor de domínio, com uma série de passos prescritos.

• A repetição, ou laço, é usada extensivamente para processar os valores desejados. Laços são usados para varrer uma sequência de localizações de memória tal como vetores, ou para acumular um valor em uma

(8)

CARACTERÍSTICAS PRINCIPAIS

• As características principais 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 sequencial de instruções;

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

(9)

• O repetição (laços) é utilizada extensivamente para computar valores desejados. Laços são usados para varrer um vetor ou acumular valores numa variável.

• Por causa dessas características, as linguagens imperativas têm sido chamadas de orientadas a estado ou orientadas à atribuição.

(10)

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 • Muito flexível

DESVANTAGENS

• Descrições demasiadamente operacionais • Focaliza o “como” e não o “quê”

(11)

EXEMPLOS DE LINGUAGENS DE PROGRAMAÇÃO BASEIADAS NO MODELO IMPERATIVO:

•Ada •Algol •Basic •C •PHP •Java •Cobol •Fortran •Pascal •Python •Lua •Mathematica

(12)

Fortran

A família de linguagens de programação conhecida globalmente como Fortran foi desenvolvida a partir da década de 1950 e continua a ser usada hoje em dia. O nome é um acrônimo da expressão "IBM Mathematical FORmula TRANslation System"

É principalmente usada em Ciência da computação e Análise numérica. Apesar de ter sido inicialmente uma linguagem de programação procedural, versões recentes de Fortran possuem características que permitem suportar programação orientada por objetos.

(13)

Valores e tipos:

interger, real, double precision, complex, logical;

• vector: dimension<nome>(dim1, dim2, dim3), real, interger • constantes lógicas: .true., .false.

Expressões:

• operadores: **, *, /, +, -, .ge., .gt., .le., .lt., .eq., .ne., .not.,

.and., .or.

(14)

Comandos e Sequências: if(<exp>)then ... end if if(<exp>) ... else if ( ) then ... else ... end if

• comandos I/O: open, close, read, write,print, rewind, endfile • comandos: goto, continue, pause, stop

(15)

Declarações:

declaração var.: <tipo> <id>

Procedimentos e Funções:

•funções: function <id> (<parâm.>) •proc.: procedure <id> (<parâm.>)

(16)

PASCAL

É uma linguagem de programação estruturada, que recebeu este nome em homenagem ao matemático e físico Blaise Pascal.

Foi criada em 1970 pelo suíço Niklaus Wirth, tendo em mente encorajar o uso de código estruturado.

Criada simultaneamente para ensinar programação estruturada e para ser utilizada na fábrica de software.

(17)

Valores e tipo:

boolen, interger, char, real;

estruturados: array, file, record, set

Expressões:

•boolean: and, or, not, xor

•interger: +, -, *, div, mod, =, >=, <>. abs, sqr, trunc, round •string: var a: string; a = 'abc';

(18)

Comandos e Sequências:

•comandos simples: write, writeln, read, clrscr, gotoxy, delay, readkey, upcase

if-then, if-then-else case <exp> of case <op1>: case <op2>: else end

for x := <inic> to|downto <fim> do while <cond> do

begin ... end;

(19)

Procedimentos e Funções:

•procedure <id> (<parâm.>);

•function <id> (<parâm.>): <tipo>;

Declarações:

(20)

ADA

Ada é uma Linguagem de programação estruturada, de tipagem estática, é uma linguagem imperativa, orientada a objetos e é uma linguagem de alto nível, originada de Pascal, Simula e outras linguagens. Foi originalmente produzida por uma equipe liderada por Jean Ichbiah da CII Honeywell Bull, contratados pelo Departamento de Defesa dos Estados Unidos durante a década de 70, com o intuito de substituir as centenas de linguagem de programação usadas pelo DoD.

(21)

Ada é uma aplicação com compiladores validados para uso confiável em missões criticas, tais como softwares de aviação. Normatizada internacionalmente pela ISO, sua versão mais atual é de 2005.

O nome Ada vem de Ada Lovelace, a mulher conhecida por ter escrito o primeiro algoritmo para ser processado por uma máquina na história da computação.

(22)

Expressões:

•operadores: =, /=, >, >=, +, -, abs, **, and, or, xor, not

Comandos e sequências:

if <cond> then case <exp> is

elsif <cont> then <alt. 1> else <alt. 2> end if;

end case;

when <lista escolha> => <com.> when <others> => <comandos>

while <cond.> loop <comandos>

end loop;

for <id> in <interv> loop <comandos>

(23)

Declarações:

var.: <id>: <tipo>;

Procedimentos e Funções:

procedure <id> (parâm.>) is

(24)

LINGUAGEM DE PROGRAMAÇÃO C

Linguagem de programação em C foi desenhado e desenvolvido por Dennis Ritchie em 1970 nos laboratórios AT & T’s Bell – USA.

Originalmente C foi escrito sobre Sistema Operativo UNIX o qual mas tarde foi desenhado usando a mesma linguagem de programação.

C tornou-se rapidamente popular por causa da confiabilidade,

(25)

A linguagem de programação C está entre:

1. As linguagens do alto nível ou Linguagens Orientadas a Problemas; 2. Linguagens do baixo nível ou Linguagens Orientadas a Maquina.

C é uma linguagem intermédiaria.

C é uma linguagem do propósito geral;

C é uma linguagem de Programação Estruturada C é uma linguagem Padronizada;

C é eficiente e tem tipos de dados limitados;

Possue métodos modernos de codificação de laços;

Desenhado para permitir ao utilizador adicionar funções na linguagem; Possue cerca de 145 funções de biblioteca;

(26)

C E OUTRAS LINGUAGENS DO MESMO PARADIGMA

COBOL Processamento de Registos

PASCAL Ensino das Técnicas de Programação

FROTRAN Cálculo Científico

LISP e PROLOG – Vocacionadas para áreas de Inteligéncia Artificial

C General purpose

EVOLUÇÃO DO C

C é uma linguagem particulamente estável;

Deu origem a uma linguagem OOP que é o C++

(27)
(28)

ETAPAS DE COMPLAÇÃO E EXECUÇÃO DE UM PROGRAMA EM C Editor do Texto Código fonte C Pre-Processor Ficheiros Cabeçalhos Código Fonte Expandido Compilador de C Caso sem erro Código objecto Linker Executaveel Carregador Bibliotecas não Sim

(29)

ESTRUTURA BÁSICA DE UM PROGRAMA EM C

Comentários

Directivas pré-processadores Declaração de variáveis globais Definição da função

{

Variáveis locais e declaração de funções instruções executáveis } Função1() { .... } Função2() { } ...

1. Comentários: Usado para descrever o

programa;

2. Pre-processor: Usados para incluir macros

ou definí-los, assim como cabeçalhos atraves da directiva #include.

3. Declaração de variáveis globais: Usado

para definir variaveis que tem vida durante toda a execução do programa;

4. Definição da função: Geralmente é o

método main que é definido. Que é o ponto de execução do programa.

5. Variáveis locais: Geralmente tem sido

declaradas as variaveis que so tem vida no meio de um módulo;

6. Executáveis: São instruções que são

convertidos a linguagem máquina;

7. Funções: Usada para implementação de

(30)

PRIMEIRO PROGRAMA EM C

Programa é um conjunto de instruções escritos passo a passo numa linguagem para realizar tarefa específica.

Cada Instrução em um programa em C é escrito como uma instrução separaada/isolada.

Estas instruções devem ser escritas na ordem em que pretendemos que elas sejam executadas.

(31)

REGRAS PARA ESCREVER UM PROGRAMA EM C

1. Uma vez que C é Case Sensitive todas as instruções são escritas em letras minúsculas;

2. Numa expressão duas palavras devem estar separadas por um espaço branco de modo a aumentar a confiabilidade;

(32)

Exemplo: Programa que calcula a soma e produto de dois números.

/* Programa que calcula a soma e produto de dois numeros */

#include <stdio.h> #include<conio.h> main()

{

int n1, n2, soma, prud;

printf(“introduza os dois numeros”); scanf(“%d%d”,&n1,&n2);

soma = n1 + n2; prud = n1 * n2;

printf(“a soma dos dois numeros é: %d”, soma); printf(“o produtodos dois numeros é: %d”, prud); }

Introduza os dois numeros: 3 7 A soma dos dois numeros: 10 O produtodos dois numeros e: 21

(33)

• Em C, um programa começa com a funçào main() • O código a executar é colocado entre { }

• Um Bloco é formado por qualquer conjunto de instruções entre { }. • Cada instrução deve ser seguida por ponto-e-vírgula (;).

• A disposição do código é arbitrária e depende das preferências de cada programados.

• C faz distinção entre maiúsculas e minúsculas – case Sensitive • As Strings em C são delimitadas pelo character aspas “.

(34)

• Para escrever uma mensagem na tela usa-se a função printf().

• A função printf não faz parte da linguagem C. Pertece à sua extensa biblioteca de funções.

• Para acesso a esta e outras funções de entrada e saida devemos incluir nos nossos programas o arquivo stdio.h através da directive ao pré-processador #include<stdio.h>

• As linhas começadas por #(#include, #define, etc) não são C, mas sim directivas ao pré-processador. Por isso não devem ser seguidas por ponto e vírgula.

(35)

• A representação de caracteres especiais ou de caracteres que, de outra forma, seriam difícies de representar faz-se através de um conjunto de dois ou mais caracteres, sendo em geral o primeiro character a barra invertida ( \ - Backslash)

• Os Comentários são escritos entre /* e */ e são simplesmente ignorados pelo compilador(a menos que se encontrem dentro de uma string).

Referências

Documentos relacionados

( ) = Cursor para Cima / Programa para Cima ( ) = Cursor para a Direita / Volume + Botões de Controlo do Teletexto Botões de Controlo VCR.. ( ) = Cursor para Baixo / Programa

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Código Descrição Atributo Saldo Anterior D/C Débito Crédito Saldo Final D/C. Este demonstrativo apresenta os dados consolidados da(s)

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

Desta forma, além de retardar a oxidação lipídica, o preparado desenvolvido apresentou benefícios como estabilização da cor e manutenção das características sensoriais

2.1.1 Este Edital é destinado a pessoas jurídicas, de direito público ou privado, com o mínimo de um ano em funcionamento e sem registro de inadimplência junto ao governo

Para Piaget, a forma de raciocinar e de aprender da criança passa por estágios. Por volta dos dois anos, ela evolui do estágio sensório motor, em que a ação envolve os

A região Serrana do Brejo Paraibano, onde o município de Pilões está incluído, possui um potencial pautado em belezas naturais e cênicas, tais como: a cachoeira de