A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Introdução (Informal) à Programação DI/FCT/UNL 1º Semestre 2004/2005.

Apresentações semelhantes


Apresentação em tema: "1 Introdução (Informal) à Programação DI/FCT/UNL 1º Semestre 2004/2005."— Transcrição da apresentação:

1 1 Introdução (Informal) à Programação DI/FCT/UNL 1º Semestre 2004/2005

2 2 Linguagens de Programação Um programa é a materialização para uma dada máquina (computador e linguagem de programação) de um algoritmo. Um algoritmo é um conjunto ordenado de passos que definem como uma tarefa deve ser executada. Um compilador/interpretador da linguagem deverá fazer a tradução das instruções de alto nível para as de nível máquina (operações que possam ser executadas pela CPU). As linguagens de programação permitem a um utilizador especificar um programa de forma semelhante ao algoritmo.

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

4 4 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: –Saída:Sai A A variável A é passada para o exterior (monitor, ficheiro –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) x = (3+5)*2 x = input(Qual o valor de x?) disp(x)

5 5 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 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 Sequência (;) –Exemplo:

6 6 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

7 7 Controle de Execução Execução Repetida (enquanto) –Exemplo: entra A ; B 1 ; % o valor de A é entrado 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

8 8 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.

9 9 Estruturas de Dados Os dados simples podem ser agrupados em estruturas de dados mais complexas. As estruturas mais vulgares correspondem a matrizes. 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.

10 10 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 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

11 11 Algoritmo 1 – Raízes da equação do 2º grau entra A ; entra B ; % Ax 2 + 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); R1 (-B + D)/(2*A); R2 (-B - D)/(2*A); sai R1; sai R2; fim se;

12 12 Algoritmo 2 – Cálculo da Raiz Quadrada # iterRTdif 01.0049.0048.000 125.001.9623.040 213.483.649.845 38.565.732.832 47.146.860.281 57.00 2.81E-03 67.00 2.83E-07 77.00 3.55E-15 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)


Carregar ppt "1 Introdução (Informal) à Programação DI/FCT/UNL 1º Semestre 2004/2005."

Apresentações semelhantes


Anúncios Google