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

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

CURSO de NIVELAMENTO Métodos Computacionais Data: 10 a 12 de fevereiro de 2009 e 17 a 19 de fevereiro de 2009 Rogério Pagano (MatLab) Eduardo Lemos (Maple.

Apresentações semelhantes


Apresentação em tema: "CURSO de NIVELAMENTO Métodos Computacionais Data: 10 a 12 de fevereiro de 2009 e 17 a 19 de fevereiro de 2009 Rogério Pagano (MatLab) Eduardo Lemos (Maple."— Transcrição da apresentação:

1 CURSO de NIVELAMENTO Métodos Computacionais Data: 10 a 12 de fevereiro de 2009 e 17 a 19 de fevereiro de 2009 Rogério Pagano (MatLab) Eduardo Lemos (Maple e EMSO) Eduardo Lemos (Maple e EMSO) PARTE I - INTRODUÇÃO À PROGRAMAÇÃO

2 INTRODUÇÃO À PROGRAMAÇÃO Lógica de Programação Lógica de programação é a técnica de encadear pensamentos (instruções) para atingir determinado objetivo. Instruções Instruções são regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar.

3 INTRODUÇÃO À PROGRAMAÇÃO Algoritmo [Do lat. med. algorismos, algorithmos, 'algarismo', por infl. do gr. arithmós, 'número'.] 1. Matemática. Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, regras formais para a obtenção do resultado, ou da solução do problema. 2. Informática. Conjunto de regras e operações bem definidas e ordenadas, destinadas à solução de um problema, ou de uma classe de problemas, em um número finito de etapas. [AURÉLIO]

4 INTRODUÇÃO À PROGRAMAÇÃO Exemplos de Algoritmos instruções para se utilizar um aparelho eletrodoméstico; uma receita para preparo de algum prato; guia de preenchimento para declaração do imposto de renda; a regra para determinação de máximos e mínimos de funções por derivadas sucessivas; a maneira como as contas de água, luz e telefone são calculadas mensalmente; etc.

5 INTRODUÇÃO À PROGRAMAÇÃO Características Todo algoritmo deve apresentar algumas características básicas: ter fim não dar margem à dupla interpretação (não ambíguo) capacidade de receber dado(s) de entrada poder gerar informações de saída para o mundo externo ao do ambiente do algoritmo ser efetivo (todas as etapas especificadas no algoritmo devem ser alcançáveis em um tempo finito)

6 INTRODUÇÃO À PROGRAMAÇÃO Formas de Apresentação DESCRIÇÃO NARRATIVA EXEMPLO Receita de Bolo: Providencie manteiga, ovos, 2 Kg de massa, etc. Misture os ingredientes Despeje a mistura na fôrma de bolo Leve a fôrma ao forno Espere 20 minutos Retire a fôrma do forno Deixe esfriar Prove VANTAGENS: o português é bastante conhecido por nós; DESVANTAGENS: imprecisão; pouca confiabilidade (a imprecisão acarreta a desconfiança); extensão (normalmente, escreve-se muito para dizer pouca coisa).

7 INTRODUÇÃO À PROGRAMAÇÃO FLUXOGRAMA EXEMPLO VANTAGENS: Uma das ferramentas mais conhecidas Figuras dizem muito mais que palavras Padrão mundial DESVANTAGENS: Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los, além disso, complica-se à medida que o algoritmo cresce.

8 INTRODUÇÃO À PROGRAMAÇÃO LINGUAGEM ALGORITMICA EXEMPLO VANTAGENS: Usa o português como base Pode-se definir quais e como os dados vão estar estruturados Passagem quase imediata do algoritmo para uma linguagem de programação qualquer DESVANTAGENS: Exige a definição de uma linguagem não real para trabalho Não padronizado

9 INTRODUÇÃO À PROGRAMAÇÃO PSEUDOCÓDIGO EXEMPLO TESTE DE MESA EXEMPLO X = 5 Y = 9 SOMA = ESCREVA SOMA = 14

10 INTRODUÇÃO À PROGRAMAÇÃO ALGORITMOS EXEMPLOS

11 INTRODUÇÃO À PROGRAMAÇÃO OPERADORES Os operadores são meios pelo avaliamos dados dentro do computador. Operadores Aritméticos Operadores Relacionais Operadores Lógicos

12 INTRODUÇÃO À PROGRAMAÇÃO Operadores Aritméticos Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da adição, subtração, multiplicação e divisão, podem utilizar também o operador para exponenciação.

13 INTRODUÇÃO À PROGRAMAÇÃO Operadores Relacionais Os operadores relacionais são utilizados para comparar String de caracteres e números. Os valores a serem comparados podem ser caracteres ou variáveis. Estes operadores sempre retornam valores lógicos (verdadeiro ou falso/ True ou False)

14 INTRODUÇÃO À PROGRAMAÇÃO

15 Operadores Lógicos Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso.

16 INTRODUÇÃO À PROGRAMAÇÃO A tabela abaixo mostra todos os valores possíveis criados pelos três operadores lógicos (AND, OR e NOT) Exemplo: Suponha que temos três variáveis A = 5, B = 8 e C =1

17 INTRODUÇÃO À PROGRAMAÇÃO Estruturas de Decisão e Repetição SE... ENTÃO / IF... THEN

18 18 Estrutura Condicional Simples Exemplo:.. A = 4 B = 3 SE SE (A > B)ENTÃO ESCREVA ESCREVA A > B FIM SE Atribui 4 a variavel A Atribui 3 a variavel B A > B ??? Condição Como a resposta é verdadeira : 4 é > 3 ENTÃO(THEN) ENTÃO (THEN) Executa comando de escrita

19 INTRODUÇÃO À PROGRAMAÇÃO Estruturas de Decisão e Repetição SE... ENTÃO... SENÃO/ IF... THEN... ELSE

20 20 Estrutura Condicional Composta Exemplo:.. A = 4 B = 5 SE SE (A > B)ENTÃO ESCREVA ESCREVA A > BSENÃO ESCREVA B > A ESCREVA B > A FIM SE Atribui 4 a variavel A Atribui 5 a variavel B A > B ??? Condição Como a resposta não é verdadeira : 4 não é > 5 Executamos o caso contrário (ELSE) Executa comando de escrita

21 INTRODUÇÃO À PROGRAMAÇÃO SE... ENTÃO... SENÃO/ IF... THEN... ELSE

22 INTRODUÇÃO À PROGRAMAÇÃO Estruturas de Decisão e Repetição ENQUANTO... PROCESSAR / DO WHILE... LOOP

23 Exemplos:..... n = 10 %Número de peças compradas!!!! preço = 5 %Preço de cada peça ENQUANTO ENQUANTO i < n TOTAL = TOTAL + preço i = i+1 FIM ENQUANTO SE (TOTAL >= 40) ENTÃO ESCREVA NÃO TENHO COMO PAGAR!!!! ESCREVA NÃO TENHO COMO PAGAR!!!!SENÃO ESCREVA ACHO QUE DÁ! ESCREVA ACHO QUE DÁ! FIM SE 23 i > 10 ??? Enquanto i < > 40??? Condição Executa Caso contrário Estrutura de Repetição Simples Executa se verdade

24 INTRODUÇÃO À PROGRAMAÇÃO Estruturas de Decisão e Repetição PARA... ATÉ... PROCESSAR / DO... UNTIL... LOOP

25 Exemplos:..... n = 10 %Número de peças compradas!!!! preço = 5 %Preço de cada peça PARA PARA i = 1 até n TOTAL = TOTAL + preço i = i +1 FIM PARA SE (TOTAL >= 40) ENTÃO ESCREVA NÃO TENHO COMO PAGAR!!!! ESCREVA NÃO TENHO COMO PAGAR!!!!SENÃO ESCREVA ACHO QUE DÁ! ESCREVA ACHO QUE DÁ! FIM SE 25 i > 10 ??? Para i < > 40??? Condição Executa Caso contrário Estrutura de Repetição Simples Executa se verdade

26

27 Leia altura Leia sexo início Se sexo=M P = 72.7*altura - 58 P = 62.1*altura – 44.7 Escreva P fim

28 Leia idade início Se id<5 Sem classificação Se id<=7 Infantil A Se id<=11 Infantil B Se id<=18 Adulto fim

29 CURSO de NIVELAMENTO Métodos Computacionais Rogério Pagano (MatLab) PARTE II - INTRODUÇÃO AO MATLAB

30 MATLAB O Matlab é um software destinado a fazer cálculos com matrizes (Matlab = MATrix LABoratory). OBJETIVO Introduzir comandos básicos do MATLAB para permitir um rápido acesso às potencialidades do ambiente. O utilizador iniciante poderá dispor de uma referência rápida para algumas possibilidades de uso do MATLAB.

31 MATLAB

32 O MatLab é case sensitive (a A) Comandos Básicos Inserir dados (variáveis, vetores, matrizes) Manipulação de vetores e matrizes clear variable; clear all; Comando lookfor: lookfor [-all] inverse MATLAB

33 Exercício 1 Gere uma sequência de números pares com início em 4 e a terminar no número 100. Exercício 2 Gere uma sequência numérica decrescente com início em 5 e a terminar em -5. Exercício 3 Gere uma sequência numérica com 100 elementos pertencentes ao intervalo [0... 1]. Exercício 4 Considere uma matriz A com 20 linhas e 30 colunas. Construa um comando que permita extrair para uma matriz B uma sub-matriz de A constituída pelas linhas de 10 a 15 e as colunas de 9 a 12. Exercício 5 Gere uma sequência de números múltiplos de 3 compreendidos entre 100 e 132, dispostos num vector por ordem decrescente. Exercício 6 Gere uma sequência a começar em π e a acabar em π com um passo de π /15. MATLAB

34 Comandos Básicos (matrizes especiais) eye(n) = matriz identidade de dimensão n ones(n) = matriz somente com elementos iguais a unidade inv(A) = inversa da matriz A diag(u) = constrói uma matriz diagonal com o vetor u A = retorna a transposta de A zeros(n) = constrói uma matriz de dimensão n com zeros rand(n) = fornece uma matriz aleatória de dimensão n zeros(n) = constrói uma matriz de dimensão n com zeros MATLAB

35 Números e matrizes associadas a A det(A) é o determinante (se A for uma matriz quadrada) [S,E] = eig(A) fornece uma matriz diagonal E de valores característicos e uma matriz S de vetores característicos rank(A) é o posto (número de pivôs = dimensão do espaço da linha e do espaço da coluna) size(A) é o par de números [m n] trace(A) é o traço = soma das entradas diagonais = soma dos valores característicos MATLAB

36 Polinômios f(x) = x 2 – 3x + 2 p = [1 -3 2]; r = roots(p) raízes do polinômio q = poly(r) calcula coeficientes com as raízes polyval(p,r) calcula o valor de r num polinômio de coef p MATLAB

37 Outras funções (Polinômios) polyvalm - avalia o polinômio com o argumento sendo uma matriz conv - multiplicação deconv - divisão residue - expansão em frações parciais polyder - derivada do polinômio polyfit - ajuste do polinômio Exercício 10 Calcule o valor da função sin(x+pi/10) cos(x) em 100 pontos do intervalo [ π... π ]. Exercício 11 Calcule o produto dos polinómios x e x 2 2x + 3. Exercício 12 Obtenha o polinômio cujas raízes são os números inteiros 1, 2 e 3. MATLAB

38 Formato numérico format short format short e format long format long e format hex MATLAB

39 Operadores MATLAB aritiméticos elemento a elemento lógicos

40 Funções intrínsecas MATLAB

41 Otimização MATLAB EDO

42 Gráficos MATLAB t = 0:pi/100:2*pi; x = sin(t); plot(t,x) t = 0:pi/100:2*pi; x1 = sin(t); x2 = sin(t+pi/2); x3 = x1.*x2; plot(t,x1,t,x2,t,x3) legend(sin,cos,asin*cos) fplot(sin(x),[ -pi, pi]) fplot(x^2+3, [ -1, 2]) fplot(sin(x),[ -0, pi])

43 Gráficos MATLAB t = linspace(0,10*pi,1001); x = t + 3*sin(2*t); y = t + 5*cos(5*t); figure(1) plot(x,y) t = linspace(0,5*pi,5001); x = cos(t) - cos(80*t).*sin(t); y = 2*sin(t) - sin(80*t); figure(2) plot(x,y) Lembrar as funções hold on e hold off

44 Gráficos MATLAB Outros tipos:

45 MATLAB

46 Gráficos MATLAB X = 0:0.05:1; subplot(121), plot(X,X.^2,k*) subplot(122), plot(X,X.^2,b --)

47 Gráficos 3D MATLAB mesh [X,Y] = meshgrid(-8:.5:8); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; mesh(X,Y,Z)

48 MATLAB Outros tipos de Gráficos 3D:


Carregar ppt "CURSO de NIVELAMENTO Métodos Computacionais Data: 10 a 12 de fevereiro de 2009 e 17 a 19 de fevereiro de 2009 Rogério Pagano (MatLab) Eduardo Lemos (Maple."

Apresentações semelhantes


Anúncios Google