



























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
apostila programa scilab
Tipologia: Notas de estudo
1 / 99
Esta página não é visível na pré-visualização
Não perca as partes importantes!




























































































Resumo
Este curso apresenta a linguagem de programação do Scilab da mesma forma que um curso tradicional de introdução a programação. O Scilab é um ambiente de programa- ção dedicado a resolução de problemas científicos e de engenharia. Ele está disponível^1 para vários sistemas operacionais tais como o MS-Windows, Linux, UNIX e Macintosh. O material deste curso pode ser usado em qualquer um desses sistemas. Procure seu professor ou seu centro de computação local para informações sobre como o Scilab está instalado localmente.
(^1) Página do Scilab: http://www.scilab.org
ESTE capítulo serão apresentados o ambiente de trabalho do Scilab e conceitos bá- sicos de programação como variáveis, tipos de dados e expressões aritméticas.
1.1 Usando o Scilab como uma Simples Calculadora
O Scilab pode fazer operações aritméticas simples com números reais e complexos. Os operadores aritméticos são:
Adição + Subtração - Multiplicação * Divisão / Potenciação ˆ Execute o Scilab no seu sistema e procure pelo símbolo:
-->
As operações aritméticas devem ser digitados após este símbolo -> que é chamado de prompt do Scilab e em seguida tecla-se [ENTER]. Exemplo:
-->2+3 [ENTER] ans =
Outros exemplos:
-->5+6/ ans =
-->4^2 // 4 elevado a potência de 2 ans =
1.3 Expressões Aritméticas / UFRN-DCA - 26 de Abril de 2004 3
A ausência ou presença do ponto e vírgula no final de um comando do Scilab visualiza ou suprime, respectivamente, o resultado do cálculo. Por exemplo, o resultado do seguinte comando, digitado com ponto e vírgula, é suprimido:
-->A = 4+4^2;
-->
Se este comando é digitado sem ponto e vírgula, o resultado é visualizado:
-->A = 4+4^ A =
Mais exemplos:
-->a=2;
-->b=4;
-->area=a*b // aqui o ponto e vírgula foi area = // suprimido porque precisamos // visualizar o resultado.
1.3 Expressões Aritméticas
Os operadores aritméticos combinam números e variáveis para formar expressões aritmé- ticas. Exemplos:
A+B*C (NOTA1+NOTA2)/ 1/(a^2+b^2)
Além dos operadores aritméticos podemos usar funções matemáticas. Exemplos:
2+3cos(x) X^(2sin(y)) 2+3*tan(x)+K^
As principais funções matemáticas do Scilab são mostradas na Tabela 1.1. O número π e a base do logaritmo natural e = 2, 718281828 ... são representadas pelas variáveis especiais %pi e %e, respectivamente. Exemplos:
-->cos(2*%pi) // coseno de 2 vezes PI ans =
1.3 Expressões Aritméticas / UFRN-DCA - 26 de Abril de 2004 4
-->%e^2 // 2,718281828 ao quadrado ans =
-->abs(-5) // valor absoluto ans =
-->modulo(8,3) // Resto da divisão entre 8 e 3 ans =
-->modulo(6,3) ans =
-->sign(-4) ans =
-->sign(5) ans =
As principais funções de arredondamento do Scilab são mostradas na Tabela 1.2. Exem- plos:
-->a = 34.885;
-->fix(a) // trunca a parte fracionária ans =
-->round(a) // arredonda para o inteiro mais próximo ans =
-->ceil(3.1) // arredonda para mais. ans =
Outros exemplos são mostrados na Tabela 1.3.
1.4 Strings / UFRN-DCA - 26 de Abril de 2004 6
Tabela 1.2: Funções de Arredondamento
ceil(x) Arredondamento na direção de mais infinito. fix(x) Arredondamento na direção de zero (isto é, devolve a parte inteira de um número). floor(x) Arredondamento na direção de menos infinito. int(x) Mesmo que fix. round(x) Arredondamento para o inteiro mais próximo.
Tabela 1.3: Exemplos de Funções de Arredondamento
x ceil(x) floor(x) fix(x) round(x) 1.75 2 1 1 2 1.5 2 1 1 2 1.25 2 1 1 1 -1.25 -1 -2 -1 - -1.5 -1 -2 -1 - -1.75 -1 -2 -1 -
O mesmo vale para multiplicação e divisão:
AB/CD ←−A*B é avaliada primeiro, porque está mais a esquerda. No entanto, para potenciação, a regra da associatividade diz que a operação mais a direita deve ser avaliada primeiro:
A^B^C^D ←−CˆD é avaliada primeiro, porque está mais a direita. A ordem de prioridade pode ser alterada pelo uso do parênteses:
(A+4)/3 ←−A+4 é avaliada primeiro devido aos pa- rênteses. (A-B)/(C+D) ←−A-B é avaliada primeiro. Depois a adi- ção. Por último, a divisão. R*3+B^(3/2)+1 ←−3/2 é avaliada primeiro.
1.4 Strings
Strings são usados para toda e qualquer informação composta de caracteres alfanuméri- cos e/ou caracteres especiais (exemplo, #, $, &, %, ?, !, @, <, ~, etc). Os strings são envolvidos por aspas duplas ou simples. Exemplos:^1.
(^1) Devemos usar aspas duplas ou simples? A aspa simples é também usado como operador de transposta hermitiana (mas isto não acarreta problemas de programação). Por isso é melhor usar as aspas duplas que não possui tal duplo sentido e torna seu programa um pouco mais legível.
1.4 Strings / UFRN-DCA - 26 de Abril de 2004 7
-->a = "abcd" a =
abcd
-->b = ’efgh’ b =
efgh
-->c = "Maria e Jose" c =
Maria e Jose
Um das atividades mais comuns em programação é a concatenação de strings. Con- catenação é a junção de dois ou mais strings. Isto pode ser feito com o operador +.
-->a + b // Concatena abcd com efgh ans =
abcdefgh
-->n = "Pedro" n =
Pedro
-->m = "Paulo" m =
Paulo
-->m + n // Concatena Paulo com Pedro sem ans = // espaço entre eles.
PauloPedro
-->m + " e " + n // Concatena Paulo com Pedro ans = // inserindo espaços entre eles.
Paulo e Pedro
Muitas vezes precisamos armazenar informações que contém as aspas. Isto pode ser feito repetindo as aspas. Exemplos:
-->n = "O oráculo disse ""conheça-te a ti mesmo"" para Socrátes." n =
O oráculo disse "conheça-te a ti mesmo" para Socrátes.
Algumas funções para manipulação de strings são mostradas da Tabela 1.4. Exem- plos:
1.6 O Espaço de Trabalho / UFRN-DCA - 26 de Abril de 2004 9
x = 3 + 4*%i y = 1 - %i z1 = x - y z2 = x * y z3 = x / y real(z1) ←−Parte real de z imag(z1) ←−Parte imaginária de z abs(x) ←−Valor absoluto do número complexo atan(imag(x),real(x)) ←−Argumento do número complexo conj(z2) ←−Conjugado sin(x) ←−Seno de um número complexo
1.6 O Espaço de Trabalho
Quando um comando de atribuição como este:
-->x = 3
é digitado no Scilab, a variável x é armazenada em uma área da memória do Scilab denominada de Espaço de Trabalho (do inglês, Workplace ). O Espaço de Trabalho é uma parte da memória do computador que armazena as variáveis criadas pelo prompt e pelos arquivos de Script (mostrados adiante).
O comando clear apaga todas a variáveis do Espaço de Trabalho criadas pelo usuário. Exemplo:
-->clear // Apaga todas a variáveis
O comando clear seguido de nome de uma variável apaga somente a variável:
-->a = 2;
-->b = 3;
-->c = 4;
-->clear b; // Apaga somente b deixando as // outras variáveis intactas.
O comando who mostra todas as variáveis do Espaço de Trabalho.
As variáveis são apagadas quando o usuário termina a execução do Scilab. Para usá-las da próxima vez que executar o Scilab, você deve salva-las com o comando save(arquivo). Por exemplo,
1.7 Formato de Visualização dos Números / UFRN-DCA - 26 de Abril de 2004 10
-->a = 2;
-->b = 3;
-->c = 4;
-->save("dados.dat");
As variáveis foram salvas no arquivo dados.dat. O comando load(arquivo) é usado para recuperar variáveis que foram salvas no arquivo. Por exemplo,
-->clear // apaga todas as variáveis
-->a+b // variáveis a e b não existem !--error 4 // porque foram apagadas undefined variable : a
-->load("dados.dat"); // recupera as variáveis a, b e c
-->a+b // Ok! ans =
1.7 Formato de Visualização dos Números
O comando format modifica a quantidade de dígitos com que os números são mostrados no Scilab. Por exemplo, o comando
--> format(5)
fará com que todas os números sejam visualizados em 5 posições (incluindo o ponto decimal e um espaço para o sinal). Por exemplo,
-->sqrt(3) ans =
Para aumentar o números de posições para 16, usa-se
-->format(16)
-->sqrt(3) ans =
A raiz de 3 foi mostrada ocupando 16 posições (sendo uma posição para o ponto, um espaço reservado para o sinal, uma posição para a parte inteira e 13 posições para a parte fracionária). O comando format(’e’) mostra os números em notação científica. Por exemplo,
1.10 Ajuda / UFRN-DCA - 26 de Abril de 2004 12
-->cos(ans)+ ans =
1.10 Ajuda
O comando help informa sobre comandos e funções do Scilab. Por exemplo:
help cos ←−Informa sobre a função que calcula o co-seno help ceil ←−Informa sobre a função ceil O comando apropos procura comandos e funções utilizando uma palavra-chave. Por exemplo, se não sabemos o nome da função que calcula o seno hiperbólico, podemos digitar algo como
--> apropos hyperbolic
e o Scilab mostrará todas a funções relacionadas com a palavra-chave hyperbolic.
1.11 Exercícios
a) c = (h + 0. 5 d) ln
( 2 h p
)
b) z = 2ex^ sin^ xπ c) m = 2
( y^2 + p p − 1 + p^2
)
d) s =
√ sina+b^ x a + b e) g = L(0. 5 πr^2 − r^2 arcsin(h/r) − h(r^2 − h^2 )^1 /^2
a) 3modulo(A,3)-C b) 2^(2abs(C))/ c) (A/B-fix(A/B)+sign(C)+2.8)^(15/B) d) sqrt(cos(A)^2+sin(A)^2) + sin(D*%pi/4)
1.11 Exercícios / UFRN-DCA - 26 de Abril de 2004 13
e) (A+C)/A * round(sign(C)+D/4)-fix(D/1.5)
2.2 Comandos de Saída de Dados / UFRN-DCA - 26 de Abril de 2004 15
2.2 Comandos de Saída de Dados
Comandos de saída de dados fornece ao usuário um meio de visualizar dados e o resultado de algum processamento. A forma mais simples de visualizar dados no Scilab é suprimir o ponto e vírgula no final do comando como mostrado na Seção 1.2.2.
-->x = 3;
-->y = 4;
-->r = sqrt(xx+yy) // Com a omissão do ponto e virgula r = // o resultado é exibido
A Função disp
A função disp() é outra maneira de exibir dados. Por exemplo,
-->v0 = 2;
-->a = 4;
-->t = 3;
-->v = v0+a*t;
-->disp(v) // disp não mostra o nome // da variável
Este exemplo concatena dois strings e exibe o resultado:
-->nome = "maria";
-->disp("Seu nome é " + nome)
Seu nome é maria
A função disp é freqüentemente usada em conjunto com a função string que converte um número em string. Por exemplo,
-->disp("A velocidade final é " + string(v))
A velocidade final é 14
Use a função format para formatar a saída de dados numéricos.
A Função printf
A função printf é a forma mais flexível de exibir dados porque produz uma saída printf é um clone do comando de mesmo nome da linguagem de programação C.
formatada. Por exemplo,
2.2 Comandos de Saída de Dados / UFRN-DCA - 26 de Abril de 2004 16
-->printf("Alô mundo\n"); Alô mundo
O caracter \n (chamado de new line ) avisa ao comando printf para gerar uma nova linha. Mais precisamente, \n move o cursor para o começo da linha seguinte. Por exem- plo, colocando \n após o string Alô faz com que printf gere uma nova linha após Alô:
-->printf("Alô\nmundo"); Alô mundo
A forma geral do comando printf é:
printf(
-->A = 2;
-->printf("A variável A contém o valor %g\n",A);
A variável A contém o valor 2
A símbolo %g (chamado de caractere de formatação) indica como cada variável da lista de dados será exibido dentro da string de formatação
-->A = 8/4;
-->B = A + 3;
-->printf("Os valores calculados foram %g e %g\n",A,B); Os valores calculados foram 2 e 5
Mais exemplos:
-->printf("A = %g B = %g",A,B); A = 2 B = 5 -->printf("A = %g\nB = %g\n",A,B); A = 2 B = 5
-->F = "Os valores calculados foram %g e %g";
-->printf(F,A,B); Os valores calculados foram 2 e 5
Se a variavel for do tipo string, usa-se o caractere de formatação %s em vez de %g. Por exemplo: