Beruflich Dokumente
Kultur Dokumente
Ciências Experimentais
2009/10
Teórica 7
Resumo
Octave
• Comandos básicos
• Scripts, Funções e Variáveis.
• Strings: texto e caracteres
• Controlo de execução
l=[1,2,3,4,5]
c=[1;2;3;4;5]
l*c
c*l
l.*c
l.*c’
O passo é opcional.
• E.g. 1:2:5
[1,3,5]
function igualdois
a=2
endfunction
A variável a da função só
existe dentro da função
Ludwig Krippahl, 2010 21
Implementação Modular
Mas normalmente queremos um valor.
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
http://en.wikipedia.org/wiki/Algorithm
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)
• !=
strcmp(s1,s2)
strcmp(“ab”,”abc”)
ans = 0
if expressão
...
else
...
endif
Ludwig Krippahl, 2010 47
Controlo condicional: if
function r=resolvente(a,b,c)
s=b^2-4*a*c;
if s<0
r=[];
elseif s==0
r=-b/(2*a);
else
r=[(-b+sqrt(s))/(2*a),(-b-sqrt(s))/(2*a)];
endif
endfunction
Ludwig Krippahl, 2010 48
Ciclo condicional: while
Executa o bloco de instruções enquanto
a expressão for diferente de 0
while expressão
...
...
endwhile
http://en.wikipedia.org/wiki/Methods_of_computing_square_roots
for f = 1:length(s)
s(f) = "*";
endfor
Nota: não é preciso usar o contador
dentro do ciclo.
Ludwig Krippahl, 2010 53
Ficheiros
Para aceder a um ficheiro temos
sempre que o identificar com um
número correspondente ao ficheiro
aberto.
Usamos a função fopen para abrir o
ficheiro e obter o identificador, fclose
para fechar e deixar livre o ficheiro para
outras aplicações.
id=fopen("teste.txt","w")
fprintf(id,"uma coisa")
fprintf(id,"outra coisa")
fclose(id);