Se preferir, é apresentado um vídeo contendo sobre principais tipos e atribuição de variáveis no Scilab.
A seguir são descritos os tipos de variáveis principais.
Os tipos básicos de variáveis no Scilab são:
Quanto às variáveis númericas, elas podem ser:
Seguem alguns exemplos:
# variável inteira
a = 2
# variáveis reais
b = 2.0
c = 2e-5
# variáveis complexas
d = 3+4*%i # pode ser escrita desta forma
e = complex(3,4) # ou desta forma
print(real(e)) # a parte real pode ser acessada desta forma
print(imag(e)) # a parte complexa pode ser acessada desta forma
Sobre as variáveis numéricas estão definidas as operações clássicas de +,-,*,/
. O elevado é representado por ^
ou **
.
As variáveis tipo texto podem ser escritas com aspas simples '' ou duplas "". Exemplo:
txt = 'programacao eh legal'
txt2 = "programacao eh muito legal"
As variáveis booleanas são Verdadeiro (%t) ou Falso (%f). No Scilab podem ser escritas como:
a = %t
b = %f
Note que podemos também escrever como, por exemplo:
a = (2<3) # retorna %t
b = (2>3) # retorna %f
Uma nota sobre operadores booleanos. Os operadores booleanos podem ser representados no python como:
Operador | No python | |
---|---|---|
E | & | |
OU | $ | $ |
Os operadores and e or estendem respectivamente o conceito de E/OU para comparações múltiplas. O operador and aplicado sobre uma lista de booleanos retorna verdadeiro se todos forem verdadeiros; já o operador or aplicado sobre uma lista de booleanos retorna verdadeiro se um for veradeiro.
and([%t,%t,%f]) # generalização do E
# retorna %f
any([%t,%t,%f]) # generalização do OU
# retorna %t
As variáveis matrizes e vetores são de grande importância na programação em Scilab. Para melhor entendimento, são descritos em uma página dedicada ao assunto.
O Scilab pode fazer uso de listas como uma variável que armazena qualquer tipo de outras variáveis. Elas armazenam uma sequência de dados de qualquer tipo (podendo combinar qualquer coisa). Por exemplo, suponha que na seção 1 de um supermercado ficará armazenado a informação que de é o setor de Hortifruti
, que a fruta é maça
, e que custa 10
reais. Na seção 2, a mesma informação, mas trata-se de laranja
que custa 7
reais.
Secao1 = list('Hortifrutti','Maça',10)
Secao2 = list('Hortifrutti','Laranja',7)
As seguintes operações estão associadas à listas no Scilab (Scilab.org):
Operação | Sintaxe |
---|---|
Extração | [x,y,z,...]=L(v) no qual v é um vetor de índices [x,y,z,...]=L(:) extraem todos os elementos. |
Inserção de um elemento a em uma posição i | L(i) = a |
Inclusão de um novo a elemento na última posição | L($+1) = a |
Inclusão de um elemento a na primeira posição | L(0) = a |
Exclusão do elemento da posição i | L(i) = null() |
Concatenação de duas listas | listcat(L1,L2) |
Obtenção do número de elementos na lista | size(L) ou length(L) |
Iteração sobre uma lista | ex 'for i = L disp(i); end' |
Você pode ver um vídeo explicando estrutura de dados em Scilab
Uma estrutura de dados armazena variáveis em campos
e valores
correspondentes (Scilab.org).
st = struct(campo1, valor1, campo2, valor2, ...)
A variável da estrutura pode ser um escalar ou uma matriz ou uma célula. Uma estrutura de dados permite armazenar dados que podem ser recuperados ao informar os campos..
Considere por exemplo uma pessoa que tenha a ela atribuída os campos nome
, idade
// Inicializa uma variável pessoa com campos nome, idade, telefone
pessoa = struct('nome',[],'idade',[],'telefone',[])
// cria uma variável cadastro, que será um vetor, que conterá os dados dos indivíduos
cadastro(1) = pessoa
cadastro(1).nome = 'Emanuel'
cadastro(1).idade = 26
cadastro(1).telefone = '9857-1358'
cadastro(2).nome = 'Samia'
cadastro(2).idade = 24
cadastro(2).telefone = '9877-4778'
As seguintes variáveis e métodos associados estão disponíveis no Scilab (Scilab.org)
Variáveis | Descrição |
---|---|
SCI, WSCI | variável contendo o diretório raiz do Scilab |
SCIHOME | variável que retorna o diretório de preferência e o histórico de arquivos da sua sessão. |
TMPDIR | diretório temporário |
home | diretório do usuário |
Variáveis | Descrição |
---|---|
%chars | Conjunto de caracteres UNICODE |
%e | Número de Euler (2.7182818...) |
%eps | "Menor número de ponto flutuante que adicionado à 1 gera um número maior do que 1. Seu valor é ≈2.2204e-16 em computadores com aritmética de ponto flutuante IEEE" (Campos Filho, 2010) |
%i | unidade imaginária |
%inf | infinito |
%nan | 'not-a-number', ex, 1/0 |
%pi | 3.1415927... |
%s | usada para definir polinômios |
%z | usada para definir polinômios complexos |
Métodos | Descrição |
---|---|
checkNamedArguments | Retorna uma lista de variáveis não esperadas na chamada de funções (quando funções são chamadas com atribuição aos nomes de variáveis) |
clear | limpa uma variável da memória (a variável deixa de existir) |
clearglobal | limpa variáveis globais |
exists | verifica se uma variável existe |
global | define uma variável global |
isdef | checa se uma variável está definida |
isglobal | checa se uma variável é global |
predef | protege variáveis |
who | lista todlas as variáveis existentes |
who_user | lista as variáveis do código do usuário |
whos | lista as variáveis exibindo detalhes |