2. Objetivos
● Introdução da ferramenta Scilab para
interpretação de algoritmos
● Conceitos básicos da linguagem de
programação Scilab
3. Scilab
● O Scilab é um software científico para
computação numérica e prototipação
– Semelhante ao Matlab
– Gratuito
● Disponível em http://www.scilab.org/
– Linux, Window e Mac.
6. Scilab
● Além de exibição de gráficos e comandos
também pode ser usado para escrita de
algoritmos.
● Para abrir o editor de algoritmos, clique no
ícone do SciNotes
10. Scilab
● Usado para análise numéricas
● Algoritmos complexos podem ser
implementados rapidamente
● Pode adicionar programas escritos em
outras linguagens
– Fortran, C, C++, Java
11. Scilab
● Existem ferramentas embutidas no Scilab
para:
– gráficos 2D e 3D, animação.
– Álgebra linear, matrizes esparsas
– Polinômios e funções racionais
– Interpolação, aproximação
– Simulação: resolvedor de sistemas de
equações diferenciais explícitos e implícitos.
12. Scilab
● Ferramentas:
– Scicos: modelador e simulador de sistemas
dinâmicos híbridos.
– Processamento de sinais.
– Grafos e Redes.
– Estatística
– entre outros
13. Scilab
● Sintaxe da sua linguagem é baseada no
Matlab.
– Matlab é pago
● Por ser interpretado, sua execução é mais
lenta que um programa equivalente
compilado.
14. Scilab
● Os modos de execução no Scilab que
veremos:
– Linha de comando
● Tela principal
– Scripts de execução
● Usando o SciNotes
15. Linha de comando
● Comandos isolados podem ser usados no
intepretador de comandos do Scilab
19. Linha de comando
● Se for colocado um ponto-e-vírgula (;) após
um comando, não é escrito o resultado
após sua execução.
– Vejamos os exemplos anteriores.
20. Script de execução
● O script de execução é um arquivo que
possui sequências de comandos que serão
executadas sequencialmente pela linha de
comando do Scilab.
● É possível usar comandos de seleçao e de
repetição dentro destes scripts para
escrever algoritmos estruturados.
– Objetivo desta segunda unidade.
22. Script de execução
● Para salvar seu arquivo, clique no botão
● Escolha o diretório e salve com a extensão
SCE.
23. Script de execução
● Para executar um script no Scilab, salve o
seu arquivo em algum diretório e aperte no
ícone:
24. Script de execução
● Também pode executar pela linha de
comando com o comando exec.
exec(<arquivo>,<modo>)
● onde
<arquivo> é a localização do arquivo de script
entre aspas (") ou apóstrofos (').
<modo> é um número inteiro, que indica o
modo de execução
25. Script de execução
● Modos:
– -1: Não exibe os valores das variáveis enquanto executa
– 0: valor padrão, utilizando as configurações padrão
– 1: exibe a execução entre cada comando
– 2 : prompt --> é impresso
– 3 : ecos + prompts
– 4 : pára antes de cada prompt. A execução retorna após
cada ENTER.
– 7 : paradas + prompts + ecos : útil para demos.
26. Script de execução
● Exemplo 1
– Assuma uso no Linux e que seu script se
chama aula01_1.sce e está no diretório
/home/yuri/Desktop/aulas/ufs/ICC/aula/codig
os/
● exec('/home/yuri/Desktop/aulas/ufs/ICC/aula/codigos
/aula01_1.sce', -1)
– Com o modo igual a -1, nada será impresso
enquanto executa
27. Script de execução
● Exemplo 2
– Assuma que esteja usando o Windows, o
arquivo se chama teste.sce e se localiza no
diretório C:UsersYuriDesktop
● exec('C:UsersYuriDesktopteste.sce', 7)
– Com o modo igual a 7, a cad comando você
deverá apertar ENTER
28. Variáveis
● Variáveis podem ser criadas sem
declaração prévia.
● Através da atribuição de valores, o Scilab
descobre o tipo da variável.
29. Variáveis
● Os nomes de variáveis (também
conhecidos por identificadores) devem
seguir as seguintes regras:
– Nomes de variáveis começam com uma letra
seguido de letras, algarismos ou sublinhados.
– Caracteres especiais não são permitidos.
● #, $, &, %, ?, !, @, <, ~, etc;
– Caracteres acentuados não são permitidos;
30. Variáveis
● Regras para formação de identificadores
(continuação):
– Nomes de variáveis são sensíveis a maiúsculas
e minúsculas.
● Por exemplo, a variável Alpha é diferente das
variáveis ALPHA, alpha e AlPhA.
31. Variáveis
● De acordo com estas regras, quais destas
são válidas?
Alpha B1 A/B nota[1] B2 b1
ALPHA A1 B23 matricula notas 5B
MEDIA 1b X@Z cor_do_objeto X bg
32. Variáveis
● De acordo com estas regras, quais destas
são válidas?
Alpha B1 A/B nota[1] B2 b1
ALPHA A1 B23 matricula notas 5B
MEDIA 1b X@Z cor_do_objeto X bg
33. Tipos de variáveis
básicas
● Números
– Podem ser valores numéricos, sejam inteiros, reais ou
complexos.
– Números complexos podem ser utilizados usando-se %i
para parte imaginária.
● Exemplos
A = 2
B = 3.14
C = 3 + 5*%i
34. Tipos de variáveis
básicas
● Texto
– Podem ser utilizados usando-se aspas (") ou
apóstrofo (')
● Exemplos
Frase = "Estamos aprendendo Scilab."
msg = 'Hello, world.'
35. Tipos de variáveis
básicas
● Lógicos
– Valores verdadeiros são representados por %t ou
%T e falsos por %f ou %F.
● Exemplo
achou = %t
presente = %T
esta_confuso = %f
eh_feriado = %F
36. Tipos de variáveis
● Uma variável muda seu tipo ao ser-lhe
atribuída um valor de tipo diferente.
● Exemplo:
A = 4
A = "ola"
37. Operações com strings
● O operador '+' pode ser usado para
concatenar duas strings.
● Exemplo 1:
– 'Rio' + ' de ' + 'Janeiro' = "Rio de Janeiro"
● Exemplo 2:
– "Jo" + "ão " + " Silva" = "João Silva"
38. Operações com strings
● Exemplo 3:
– A = 'Olá'
– B = ', humanos.'
– A + B = 'Olá, humanos.'
● Exemplo 4:
– Nome = "André"
– Sobrenome = "Santos"
– Nome + ' ' + Sobrenome = "André Santos"
39. Operações com strings
● É possível converter números para texto
usando o comando string
● Sintaxe:
– string(<expressão>)
● Exemplos
– S = string(9)
– Suponha a = 14. S = string(a) retorna “14”.
40. Operações aritméticas
● Os operadores aritméticos em Scilab são:
● A precedência é a mesma da usada nos
algoritmos, podendo ser alterada através do uso
de parênteses
Operação Símbolo Descrição
Adição + Realiza a soma entre dois operandos
Subtração - Realiza a subtração entre dois operandos
Multiplicação * Realiza a mutiplicação entre dois operandos
Divisão / Realiza a divisão entre dois operandos
Potenciação ^ Retorna o resultado de uma base elevada ao seu expoente
42. Operações relacionais
● São utilizados para construção de
expressões cuja avaliação retorna %t ou
%f. Relação Operador Exemplo Descrição
Igual == a == b Verifica se a é igual a b
Diferente ~= a ~= b Verifica se a é diferente de b
Maior > a > b Verifica se a é maior que b
Menor < a < b Verifica se a é menor que b
Maior ou Igual >= a >= b Verifica se a é maior ou igual a b
Menor ou Igual <= a <= b Verifica se a é menor ou igual a b
44. Operações lógicas
● Operações capazes de conectar duas
operações relacionais ou lógicas e retornar
um valor lógico.
Operação Resultado
& Será verdadeiro (%T), quando todos os
operandos forem verdadeiro, caso contrário
será falso (%F)
| Será verdadeiro (%T), quando todos os
operandos forem verdadeiro, caso contrário
será falso (%F)
~ Inverte o valor da expressão lógica (verdadeiro
passa a ser falso e falso passa a ser
verdadeiro)
51. Comando de leitura
● Usa-se o comando input
● Sintaxe para números
– <Variável> = input(<Texto para exibição>)
● Sintaxe para texto
– <Variável> = input(<Texto para exibição>,"s")
53. Comando de leitura
● Usa-se também o comando read para ler
valores para variáveis.
● Sintaxe para números:
– <Variável> = read(%io(1),1,1)
● Sintaxe para texto
– <Variável> = read(%io(1),1,1,'(a)')
56. Comando de impressão
● Para impressão na tela de informações
pode-se utilizar o comando disp.
● Sintaxe:
– disp(<variável>)
– disp(<variável 1>, <variável 2>, …, <variável n>)
● OBS: ao utilizar várias variáveis, a ordem de
impressão será invertida.
58. Comando de impressão
● Também pode ser feito com o comando
write.
● Sintaxe:
– write(%io(2),<Variável>)
● OBS: O comando write aceita somente uma
variável.
60. Comando de impressão
● Outro comando para impressão é o printf.
● O printf vem da linguagem C e seu uso é
idêntico.
● O comando printf() possui 1 ou mais
argumentos.
– O primeiro argumento é um texto.
– Os demais argumentos são opcionais e
representam expressões.
61. Comando de impressão
● Com um argumento podemos apenas
escrever frases.
● Exemplos:
– printf("Olá, mundo!")
– printf("Olá, mundo!n")
– printf("1n2n3n4")
62. Comando de impressão
● Para escrevermos os valores das variáveis
com printf, deve-se utilizar os argumentos
opcionais, de tal forma que cada argumento
corresponde a aparição da variável na frase
que será escrita.
● Além disso, é necessário especificar a
posição na frase em que a variável irá
aparecer e o tipo de variável.
63. Comando de impressão
● Existem várias especificações de tipos que
podem ser impressos pelo printf. Apenas os
mais usuais serão mostrados a seguir.
64. Comando de impressão
● %i ou %d: números inteiros decimais.
● %x, %X: números inteiros hexadecimais
com letras minúsculas e letras maíusculas,
respectivamente.
● %f: números reais.
● %e, %E: representa em notação científica
com e ou E, respectivamente.
65. Comando de escrita
(impressão)
● %g: Usa a menor versão entre %f e %e.
● %G: Usa a menor versão entre %f e %E.
● %s: frases literais armazenadas em
variáveis para texto
66. Comando de impressão
● Exemplos
– printf("O valor é %f.", %pi)
● O valor é 3.1415
– printf("O valor é %e.", 186000000000000)
● O valor é 1.860000e+14.
– printf("O valor é %E.", 186000000000000)
● O valor é 1.860000E+14.
67. Comando de impressão
● Exemplos
– printf("Dois valores são %g e %g.",
%pi,93000000.0);
● Dois valores são 3.14159 e 9.3e+07.
– printf("Dois valores são %G e %G.",
%pi,93000000.0);
● Dois valores são 3.14159 e 9.3E+07.
68. Exercícios
● Elaborar um programa que receba a idade de uma
pessoa em número de anos, calcule e escreva
essa idade em meses, dias, horas e minutos.
● Elaborar um programa para calcular a diferença de
preços de um determinado produto, comparando
os preços de compra atual e anterior. O programa
deve obter os preços atual e anterior e exibir a
diferença algébrica e de percentual dos preços.
69. Exercícios
● Escrever um programa para efetuar o cálculo da
quantidade de litros de combustível gastos em uma
viagem, sabendo-se que o veículo faz 9 km/litro. O
usuário informará a velocidade média e o tempo
despendido na viagem. (Obter o tempo em horas e
minutos, em separado). O programa deve apresentar
a distância percorrida e a quantidade de litros gastos.
● Dados os comprimentos dos catetos de um triângulo
retângulo, preparar um programa para determinar e
imprimir o comprimento da hipotenusa.
70. Exercícios
● Elaborar um programa para calcular a área de um
círculo, obtendo como entrada a medida do raio(r). A
fórmula da área é π*r2.
● Em certa disciplina, a nota média do aluno é
calculada com base em três provas. A primeira prova
tem peso 3, a segunda tem peso 3 e a terceira tem
peso 4. Fazer um programa para calcular e
apresentar a nota média, tendo como dados de
entrada o nome do aluno e as notas referentes as três
provas e como saída o nome e a média calculada.