Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 2.

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Operadores e Funções do LINGO
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Pesquisa Bibliográfica Disciplina de Metodologia da Pesquisa Profª Tereza Yoshiko Kakehashi 1.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
FOLHA DE CÁLCULO 1.
Sumário Bem ou serviço compósito = dinheiro Exercícios 2 Exercícios 3.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 5.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 11.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 5.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 3.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 4.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 1.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 10.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 6.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 9.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 2.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 4.
Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 6.
Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Cadeias e ficheiros.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 2.
Introdução aos Computadores e Programação DI-FCT-UNL-2005/2006 Strings, operadores e funções 3.1 Octave Matrizes (cont.) e strings.
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004 Strings, operadores e funções 3.1 Octave Strings, Operadores e Funções.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 11.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 4.
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Strings, operadores e funções 3.1 Octave Strings, Operadores e Funções.
Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Ficheiros 5.1 Octave Ficheiros.
Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Strings 4.1 Octave Strings.
Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Sistemas de Equações e Gráficos 2.1 Octave Sistemas de Equações e Gráficos.
Excel Profa. Cristina M. Nunes.
Curso de ADMINISTRAÇÃO
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
FUNÇÃO MODULAR.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Aula 4 Nomes, Vinculações, Tipos e Escopos
Técnica de Contagem.
Provas de Concursos Anteriores
Renda até 2 SM.
Hamburgo, Alemanha Definir o caminho que irá permitir a Lions Clubs International alcançar o seu potencial pleno como organização.
MECÂNICA - ESTÁTICA Cabos Cap. 7.
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
Estruturas de Dados com Jogos
Funções Universidade Federal de Ouro Preto - UFOP
Lemas (Sudkamp)  .
Coordenação Geral de Ensino da Faculdade
EXERCÍCIOS PARA GUARDA-REDES
1 2 Observa ilustração. Cria um texto. Observa ilustração.
SairPróximo Itens de Seleção Probabilidades e Combinatória Cálculo de Probabilidades. Regra de Laplace. ITENS DE SELEÇÃO DOS EXAMES NACIONAIS E TESTES.
Estatística Aula 9 – 28/02/2011.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
MATRIZ DE PARENTESCO Nas equações do Modelo Misto, é incluída a matriz de parentesco ( a inversa desta, A-1). Para que? A matriz de parentesco de n indivíduos.
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
Equipe Bárbara Régis Lissa Lourenço Lucas Hakim Ricardo Spada Coordenador: Gabriel Pascutti.
Planilha Eletrônica - Excel
Contagem Sequencial do Estoque
Transcrição da apresentação:

Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 2

Ludwig Krippahl, Na aula de hoje... Strings: texto e caracteres Gráficos Algoritmos Scripts, Funções e Variáveis

Ludwig Krippahl, Strings (texto) Uma string é uma sequência de caracteres, delimitada por aspas ou plicas. octave:67> a="string" a = string octave:68> b="outra string" b = outra string octave:69> c=string error: `string" undefined near line 69 column 3 error: evaluating assignment expression near line 69, column 2

Ludwig Krippahl, Strings (texto) Excepção para a regra de tamanho quando combinamos vectores: octave:69> [a;b] ans = string outra string (linhas ajustadas acrescentando espaços)

Ludwig Krippahl, Strings (texto) Excepção para a regra de tamanho quando combinamos vectores: (linhas ajustadas acrescentando espaços) octave:73> [[a;b]["-";"-"]] ans = string - outra string-

Ludwig Krippahl, Funções para strings (experimentem) findstr(s,t) : Encontra todas as posições de da menor na maior. split(s,t) : Divide uma string num vector (coluna) de strings separadas por t strrep(s, x, y) : substitui todas as ocorrências de x por y na string s str2num(s) : converte um número representado numa string para um número tolower(s) / toupper(s) : converte uma string para minúsculas/maiúsculas strcmp(s1,s2) : compara as strings s1 com s2, se forem iguais retorna 1, se diferentes retorna 0

Ludwig Krippahl, Funções para strings (exemplos) octave:74> findstr("a","abcababba") ans = octave:75> findstr("abcababba","a") ans =

Ludwig Krippahl, Funções para strings (exemplos) octave:76> split("um;dois;três;quatro",";") ans = um dois três quatro octave:77>

Ludwig Krippahl, Caracteres especiais A barra \ serve para indicar caracteres especiais. E.g. \b -> backspace, apaga um caracter \t -> tab \n -> nova linha \\ -> para escrever a barra. Importante no cd. Só quando string com "..."

Ludwig Krippahl, Gráficos 2D plot(x,y)(x e y vectores) hold onpara não tirar gráfico anterior clearplotapagar subplot(linha, coluna, indice)

Ludwig Krippahl, Gráficos 2D Exemplo x=-10:10; plot(x,x.^3)

Ludwig Krippahl, Gráficos 2D Exemplo x=-10:10; plot(x,x.^3)

Ludwig Krippahl, Gráficos 2D Exemplo x=-10:10; subplot(2,1,1) plot(x,x.^2)

Ludwig Krippahl, Gráficos 2D Exemplo x=-10:10; subplot(2,1,1) plot(x,x.^2) subplot(2,1,2) plot(x,100-x.^2)

Ludwig Krippahl, Algoritmos Muhammad ibn Mūsā al-Khwārizmī Compêndio do Cálculo por Completude e Balanço. Cálculo com Numerais Hindu Algoritmi de numero Indorum (sec. XII) Algoritmo Algarismo

Ludwig Krippahl, Algoritmo Conjunto finito de instruções. No sentido estrito, operações sobre símbolos (matemática, lógica, programas) No sentido lato: receitas, procedimentos de emergência, etc...

Ludwig Krippahl, «Algoritmo» da torrada Pegar no pão Se faca na bancada, Pegar na faca Caso contrário Ir buscar faca à gaveta Cortar fatia, pôr na torradeira, ligar Enquanto não está pronta Esperar

Ludwig Krippahl, Implementação Modular Pegar no pão Se faca na bancada, Pegar na faca Caso contrário Ir buscar faca à gaveta Cortar fatia, pôr na torradeira, ligar Enquanto não está pronta Esperar

Ludwig Krippahl, Implementação Modular Pegar no pão Pôr faca na mão Cortar fatia Pôr na torradeira, ligar Enquanto não está pronta Esperar

Ludwig Krippahl, Implementação Modular Pegar no pão Pôr faca na mão Cortar fatia Pôr na torradeira, ligar Enquanto não está pronta Esperar

Ludwig Krippahl, Implementação Modular Pegar no pão Pôr faca na mão Cortar fatia Torrada = Torradeira(Pão) Procedimento Função

Ludwig Krippahl, Programação Resolver problemas complexos um problema simples de cada vez Hierarquizar os problemas

Ludwig Krippahl, Programação Procedimento Mostrar valores no ecrã, gravar um ficheiro, etc. Função Devolve um ou mais valores

Ludwig Krippahl, Implementação Modular Pegar no pão Pôr faca na mão Cortar fatia Torrada = Torradeira(Pão) Como fazer no Octave... Procedimento Função

Ludwig Krippahl, Implementação Modular Script Conjunto de instruções guardado num ficheiro Ficheiro tem nome.m Quando Octave recebe um nome, se não é variável procura o ficheiro

Ludwig Krippahl, Implementação Modular Mudar para a pasta de trabalho: (exemplos, confirmar no laboratório) cd "c:\\documents and settings\\temp\\my documents" cd 'c:\documents and settings\temp\my documents Correr o editor: edit Gravar o ficheiro: teste.m Gravar antes de correr no Octave

Ludwig Krippahl, Implementação Modular Script (no teste.m) a=2 (no Octave) octave:13> a=4 a = 4 octave:14> teste a = 2 octave:15> a a = 2

Ludwig Krippahl, Implementação Modular Script Útil para guardar um pequeno programa reutilizável, mas não é um módulo independente. As variáveis no script são as mesmas que fora do script.

Ludwig Krippahl, Implementação Modular Exemplo conc.m mmNaCl=58.4 v=0.125 q=2/mmNaCl c=q/v

Ludwig Krippahl, Implementação Modular Melhorias mmNaCl=58.4; v=input("digite o volume em dm3\n") q=2/mmNaCl; c=q/v; disp("a concentração é") disp(c)

Ludwig Krippahl, Implementação Modular Procedimentos e funções: Procedimento não devolve valores Função devolve valores. Mas no Octave é tudo function, vamos chamar função a ambos.

Ludwig Krippahl, Implementação Modular Function As variáveis são locais e independentes. definir uma função function igualdois a=2 endfunction (no Octave) octave:13> a=4 a = 4 octave:14> igualdois a = 2 octave:15> a a = 4

Ludwig Krippahl, Implementação Modular Function As variáveis são locais e independentes. (num ficheiro igualdois.m) function igualdois a=2 endfunction (no Octave) octave:13> a=4 a = 4 octave:14> iguadois a = 2 octave:15> a a = 4 Mesmo nome que o ficheiro

Ludwig Krippahl, Implementação Modular Function As variáveis são locais e independentes. function igualdois a=2 endfunction A variável a da função só existe dentro da função

Ludwig Krippahl, Implementação Modular Mas queremos uma torradeira: Torrada = Torradeira (Pão) Tem que receber e devolver valores. (no soma.m) function res=soma(a,b) res=a+b endfunction (no Octave) octave:16> soma(2,5) res = 7 ans = 7 octave:17>

Ludwig Krippahl, Implementação Modular function res=soma(a,b) res=a+b endfunction Argumentos da função

Ludwig Krippahl, Implementação Modular function res=soma(a,b) res=a+b endfunction Nome da variável (na função) com o valor a devolver

Ludwig Krippahl, Implementação Modular function res=soma(a,b) res=a+b endfunction a e b são cópias dos valores

Ludwig Krippahl, Implementação Modular function x=incrementa(x) x=x+1 endfunction x é cópia do valor octave:17> x=3 x = 3 octave:18> incrementa(x) x = 4 ans = 4 octave:19> x x = 3

Ludwig Krippahl, Implementação Modular function res=soma(a,b) res=a+b endfunction Último detalhe: Não queremos o res (no Octave) octave:16> soma(2,5) res = 7 ans = 7 octave:17>

Ludwig Krippahl, Implementação Modular function res=soma(a,b) res=a+b; endfunction Último detalhe: Não queremos o res ; resolve o problema. (no Octave) octave:20> soma(2,5) ans = 7 octave:21>

Ludwig Krippahl, Implementação Modular Importante: Os argumentos da função são cópias locais dos valores. As variáveis na função são independentes mesmo que haja outras com o mesmo nome. Só sai da função o que vier antes do nome da função: function res=soma(x,y)

Ludwig Krippahl, Implementação Modular Importante: O Octave primeiro verifica se há uma variável com esse nome: octave:21> soma=0 soma = 0 octave:22> soma(2,5) error: invalid row index = 2 error: invalid column index = 5

Ludwig Krippahl, Implementação Modular Importante: O Octave primeiro verifica se há uma variável com esse nome. Se fosse ao contrário, um novo ficheiro.m podia estragar um programa já existente...

Ludwig Krippahl, Implementação Modular Importante: A variável (ou variáveis) designada para guardar o valor devolvido tem que ter um valor atribuído no final da função. function res=soma(a,b) c=a+b; endfunction octave:24> a=soma(2,5) error: value on right hand side of assignment is undefined error: evaluating assignment expression near line 24, column 2

Ludwig Krippahl, Exemplo: separar nomes Script + função function res = palavran (frase, n) m=split(frase, " " ); res=m(n,:); endfunction

Ludwig Krippahl, Exemplo: separar nomes Script + função input(mensagem)avalia expressão input(mensagen, "s")lê uma string disp( " Separador de nomes " ); n=input( " Introduza o nome completo:\n ", " s " ); p=input( " Introduza o índice da palavra que quer:\n " ); palavran(n,p)

Ludwig Krippahl, Aula de hoje Strings e gráficos. Decompor problema complexo em problemas simples. No Octave, usar funções: Reutilizáveis (como a torradeira) As variáveis locais garantem que só entra e sai o que quisermos (melhor que a torradeira!)

Ludwig Krippahl, Para estudar isto Manual Octave Capitulo 5 (introdução) Strings Secção Gráficos simples 2D Secção Vários gráficos Secção 11.1 Funções

Ludwig Krippahl, Dúvidas