introdu o informal programa o
Download
Skip this Video
Download Presentation
Introdução (Informal) à Programação

Loading in 2 Seconds...

play fullscreen
1 / 16

Introdução (Informal) à Programação - PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on

Introdução (Informal) à Programação. Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2005/2006. input. output. Programa. Programa e Algoritmo.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Introdução (Informal) à Programação' - jillian-bond


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
introdu o informal programa o

Introdução (Informal) à Programação

Jorge Cruz

DI/FCT/UNL

Introdução aos Computadores e à Programação

1º Semestre 2005/2006

Introdução (Informal) à Programação

programa e algoritmo

input

output

Programa

Programa e Algoritmo
  • Um programa é um conjunto de instruções que aplicadas aos dados de entrada (input) e a outros intermédios auxiliares produz um resultado (output).
  • Um programa é a materialização para uma dada máquina (computador e linguagem de programação) de um algoritmo.

Introdução (Informal) à Programação

n veis de abstra o

Saia da sala

Saia do Edifício

Dirija-se à portaria

Vá para a paragem de autocarro

Apanhe o autocarro

....

Vá para Lisboa

Níveis de Abstração
  • Um programa pode ser entendido a vários níveis de abstracção (detalhe).
  • Quanto mais “inteligente/conhecedor” for o interlocutor, a mais alto nível podem ser dadas as instruções.

Introdução (Informal) à Programação

n veis de abstra o1

LDA 1005

LDB 22345A91

ADD A,B

STA 1234FE88

C  A + B

Níveis de Abstração

Nível Máquina e Nível “Humano”

  • Um computador só executa instruções extremamente simples. Por exemplo:
    • Transferir palavras entre a memória e os registos
    • Processar dados nos registos (p.ex. soma binária)
  • Um programador humano raciocina a um nível mais alto de abstração.

Introdução (Informal) à Programação

linguagens de programa o

LDA 11A810A0

LDB 22345A91

ADD A,B

STA 1234FE88

C  A + B

Linguagens de Programação
  • As linguagens de programação permitem a um utilizador especificar um programa de uma forma semelhante ao algoritmo.
  • Um compilador/interpretador da linguagem deverá fazer a tradução das intruções de alto nível para as de nível máquina (por exemplo, manter os endereços de memória onde estão guardadas as variáveis).

Introdução (Informal) à Programação

linguagens de programa o 2
Linguagens de Programação (2)
  • Existem vários tipos de linguagens de programação baseadas em diferentes paradigmas (estilos) de programação.
    • Linguagens imperativas:Fortran, Pascal, C, Octave/MATLAB
      • Controle explícito da execução
    • Linguagens Orientadas por Objectos: Smalltalk, C++, Java
      • Controle implícito na manipulação dos dados
    • Linguagens Funcionais: LISP, Scheme
      • Baseadas na especificação de funções
    • Linguagens Lógicas: Prolog
      • Implementando a Lógica de Predicados

Introdução (Informal) à Programação

programa o imperativa
Programação Imperativa
  • No paradigma de programação imperativa, o programador especifica explicitamente o controle de execução, isto é, a sequenciação das instruções base.
  • Informalmente podemos considerar as seguintes instruções base, na especificação de algoritmos:
    • Afectação: A Expressão
      • A variável A toma o valor da Expressão
    • Entrada: Entra A
      • A variável A toma um valor dado do exterior (teclado, ficheiro)
    • Saída: Sai A
      • A variável A é passada para o exterior (monitor, ficheiro)

Introdução (Informal) à Programação

controle de execu o
Controle de Execução
  • A ordem pela qual as várias instruções são executadas é controlada explicitamente por instruções de
    • Sequência
    • Execução Condicional
    • Execução Repetida
  • Sequência (“;”)
    • Exemplo:
  • entra A ; % O valor de A é “entrado”. Seja A = 2
  • B  A + 3 ; % A variável B toma o valor 2+3 = 5
  • C  B * 2 ; % A variável C toma o valor 5*2 = 10
  • sai C ; % O valor de C é passado para o exterior

Introdução (Informal) à Programação

controle de execu o1
Controle de Execução
  • Execução condicional (“se”)
    • Exemplo:
  • entra A; % o valor de A é “entrado”
  • se A > 0 então
  • B  A % à variável B é atribuído
  • senão%o valor absoluto
  • B  - A %da variável A
  • fim se;
  • sai B ; % o valor de B é comunicado

Introdução (Informal) à Programação

controle de execu o2
Controle de Execução
  • Execução Repetida (“enquanto”)
    • Exemplo:
  • entra A; % o valor de A é “entrado”
  • B  1; % o valor de B é inicializado a 1
  • enquanto A > 1 fazer
  • B  B * A;% à variável B é atribuído
  • A  A – 1;%o factorial de A
  • fim enquanto;
  • sai B; % o valor de B é comunicado

Introdução (Informal) à Programação

tipos de dados simples
Tipos de Dados Simples
  • Às variáveis usadas têm sido atribuídos valores inteiros. No entanto podem ser considerados outros valores nos algoritmos (e programas).
  • Os tipos de dados simples habituais são
    • Booleanos (Verdade/Falso ou 1/0)
    • Numéricos (Inteiros, Reais e Imaginários)
    • Não numéricos (caracteres)
  • Normalmente o contexto torna claro os tipos de dados pretendidos para as variáveis, mas as linguagens de programação típicas (não o Octave) requerem a declaração dos tipos de dados das variáveis.

Introdução (Informal) à Programação

estruturas de dados
Estruturas de Dados
  • Os dados simples podem ser agrupados em estruturas de dados mais complexas.
  • As estruturas mais vulgares correspondem a matrizes de dimensão arbitrária.
  • Um caso importante são as matrizes unidimensionais (vectores).
  • Como o nome indica (MATrix LABoratory), o sistema Octave /MATLAB tem um suporte muito completo dos tipos de dados matriz, permitindo a sua definição e as operações habituais.

Introdução (Informal) à Programação

estruturas de dados1

1 2 3

A = 4 5 6

7 8 9

3 3 3

B = 2 2 2

1 1 0

4 5 6

C = 6 7 8

8 9 9

D = 30 36 42

Estruturas de Dados
  • Exemplo 1:

A = [1 2 3 ; 4 5 6 ; 7 8 9]

  • Exemplo 2:

B = [3 3 3 ; 2 2 2 ; 1 1 0]

  • Exemplo 3:

C = A + B

  • Exemplo 4:

D = [1 2 3] * A

Introdução (Informal) à Programação

algoritmo 1 ra zes da equa o do 2 grau
Algoritmo 1 – Raízes da equação do 2º grau
  • entra A ;
  • entra B ; % Ax2 + Bx + C = 0
  • entra C ;
  • Disc  B^2 – 4 * A * C;
  • se Disc < 0 então
  • sai ‘não há raízes reais’
  • senão
  • D  sqrt(Disc);
  • se D = 0 então
  • sai ‘ 2 raízes iguais’
  • R  -B/(2*A);
  • sai R
  • senão
  • R1  (-B + D)/(2*A); sai R1;
  • R2  (-B - D)/(2*A); sai R2;
  • fim se;
  • fim se;

Introdução (Informal) à Programação

algoritmo 2 c lculo da raiz quadrada
Algoritmo 2 – Cálculo da Raiz Quadrada
  • entra X ;
  • entra P ;
  • % P é a precisão pretendida
  • R  1 ;
  • T  X ;
  • enquanto abs(T-R) >= P fazer
  • R  (R + T)/2;
  • T  X / R;
  • fim enquanto;
  • Sai R ;
  • % R  sqrt(X)

Introdução (Informal) à Programação

algoritmo 3 teste da primalidade
Algoritmo 3 – Teste da “Primalidade”
  • entra N ;
  • primo  verdade ;
  • limA = sqrt(N);
  • para A de 2 a limA fazer
  • limB = N / A;
  • para B de A a limB fazer
  • se A * B = N então
  • primo  falso;
  • fim se;
  • fim para
  • fim para
  • se primo então
  • sai ‘o número é primo’
  • senão
  • sai ‘o número não é primo’
  • fim se;
  • Exemplo: 23
  • sqrt(23) = 4.7958...
  • 2 * 2
  • ...
  • 2 * 11 % 23/2 = 11.5
  • 3 * 3
  • ...
  • 3 * 7 % 23/3 = 7.67
  • 4 * 4
  • ...
  • 4 * 5 % 23/4 = 5.75

Introdução (Informal) à Programação

ad