Buscar

Programação em Scilab - Aula 1 - Conceitos basicos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

1 
1 
Universidade	
  Federal	
  de	
  Ouro	
  Preto	
  -­‐	
  UFOP	
  	
  
Departamento	
  de	
  Computação	
  	
  -­‐	
  DECOM	
  
Programação	
  de	
  Computadores	
  I	
  –	
  BCC701	
  
www.decom.ufop.br/moodle	
  
}  Ambiente Scilab 
}  Variáveis, expressões, 
comando de atribuição 
}  Entrada e Saída básica 
UFMG DCC001 2013-1 2 
2 
}  Scilab é um ambiente de programação 
voltado para cientistas e engenheiros 
}  Foi criado em 1990, por pesquisadores do 
INRIA, sendo baseado no sistema MatLAB. 
}  É gratuito: download www.scilab.org 
 
3 
4 
console: janela 
de comandos 
histórico de 
comandos 
navegador de 
variáveis janela de 
arquivos 
prompt de comandos 
3 
UFMG DCC001 2013-1 
5 
a é uma variável 
que passa a existir, 
recebe e guarda um 
valor 
Variáveis 
criadas 
Histórico O Scilab “ecoa” o 
valor recebido pela 
variável 
UFMG DCC001 2013-1 6 
O valor atribuído pode ser uma expressão 
aritmética com variáveis já conhecidas 
^ denota 
exponenciação 
* denota 
multiplicação 
Literal 
4 
UFMG DCC001 2013-1 7 
}  São nomes para espaços de memória gerenciados 
pelo Scilab 
}  O programador não precisa ter qualquer ideia sobre 
como é feito esse gerenciamento 
}  Nomes de variáveis usados em um programa são 
livremente escolhidos pelo programador, mas devem 
satisfazer as seguintes regras: 
◦  O primeiro caractere do nome deve ser uma letra 
◦  Os outros podem ser letras ou dígitos, ou qualquer dos 
caracteres '_', '#', '!', '$‘ e '?' 
◦  O nome de uma variável em Scilab deve ter no máximo 24 
caracteres 
UFMG DCC001 2013-1 8 
5 
}  Válidos: 
◦  a, A, raio, total_de_alunos, funcionarios 
}  Não válidos 
◦  1Aluno (o primeiro caractere é um algarismo) 
◦  total de alunos (tem espaços) 
◦  José (é acentuado) 
}  O mais importante é escolher nomes com 
significado claro para quem lê o programa 
UFMG DCC001 2013-1 
9 
UFMG DCC001 2013-1 10 
}  Forma: 
<variável> = <expressão> 
}  A <variável>, se não existia, passa a existir 
}  Se existia, o valor anterior é perdido 
}  A <expressão> é calculada, e o resultado é 
atribuído à <variável> 
}  O comando de atribuição é a construção básica de 
transformação de informação, em Scilab e em várias 
outras linguagens de programação. 
6 
11 
O Scilab usa uma variável default, ans, 
quando uma expressão é digitada no prompt 
e não é atribuída a uma variável. 
O segundo fator está ausente na 
expressão aritmética. 
12 
As variáveis de um expressão, do lado 
direito de uma atribuição, devem estar 
definidas. 
Não foi definido um valor para a variável lucro ! 
7 
13 
Funções pré-definidas em Scilab 
podem ser usadas uma expressão. 
Expressão do lado direito: o valor corrente 
de x é adicionado a 8, resultando 
8.0000927; esse resultado é atribuído a x. 
O valor da expressão do lado direito da 
atribuição, 22, é atribuído à variável x; o 
antigo valor é substituído na memória. 
-->d = a+x 
 !--error 4 
Undefined variable: x 
 
-->b = 1024 
-->b = 2*b 
 b = 
 2048. 
UFMG DCC001 2013-1 14 
Todas as variáveis em 
uma expressão devem 
estar definidas, ou o 
Scilab reclama A expressão pode conter 
a própria variável que é 
referenciada do lado 
esquerdo da atribuição. 
8 
-->a = %pi 
 a = 
 3.1415927 
 
-->b = 2*%pi; 
 
-->c = cos(a) + sqrt(b) 
 c = 
 1.5066283 
UFMG DCC001 2013-1 15 
“;” suprime o eco 
automático 
Valor pré-definido como a 
melhor aproximação em ponto 
flutuante de 64 bits de π 
O Scilab oferece um grande 
número de funções pré-definidas, 
como cos e sqrt (square root). 
Ø  A linguagem SciLab possui os operadores aritméticos: 
16 
Operador Aritmético	
   Denotação em SciLab	
   Exemplo	
   Resultado 
Soma + 7 + 5 12 
Subtração - 10 – 9 1 
Multiplicação * 22 * 10 220 
Divisão / 50 / 2 25 
Menos Unário - -26 -26 
Exponenciação 
(potenciação) ^ 8^2 64 
9 
}  Expressões podem ser arbitrariamente complicadas 
}  A ordem em que operadores são aplicados não é óbvia: 
Qual é valor que o comando x = 2^3*4 atribui a x, 
 
 32 ou 4096 ? 
 
UFMG DCC001 2013-1 17 
3248423 =×=×
409622 1243 ==×
UFMG DCC001 2013-1 18 
Precedência Operação 
1a Potenciação 
2a Multiplicação, 
divisão 
3a Adição, 
subtração 
}  Parênteses podem alterar prioridades 
10 
UFMG DCC001 2013-1 19 
-->2^3*4 
 ans = 32. 
-->2^(3*4) 
 ans = 4096. 
-->2^3^4 
 ans = 2.418D+24 
-->2^(3^4) 
 ans = 2.418D+24 
-->(2^3)^4 
 ans = 4096. 
-->2*3+4 
 ans = 10. 
-->2*(3+4) 
 ans = 14. 
Notação Scilab (e Fortran, 
e C, e Java, e ...) para 
2.418 x 1024 
 
Ø  OBS: Nas funções trigonométricas sin, cos, tan, o argumento é um ângulo em 
radianos. Para usar ângulos em graus, utilize as funções asin, acos e atan. 
20 
Função Denotação em SciLab Exemplo Resultado 
Resto da Divisão 
Inteira modulo modulo(8, 3) 2 
Raiz Quadrada sqrt sqrt(32) 5.6568542 
Valor Absoluto abs abs(-8) 8 
Coseno cos cos(%pi/6) 0.1542514 
Tangente tan tan(7.3456) 1.7945721 
Seno sin sin(%pi) 1.225D-16 
11 
 
21 
Denotação em Scilab Valor 
%pi O número π. 
%inf Representa infinito ∞. 
%i 
%e A base do logaritmo natural. 
%t ou %T Representa o valor booleano verdadeiro. 
%f ou %F Representa o valor booleano falso. 
UFMG DCC001 2013-1 22 
12 
1.   Calcule as expressões matemáticas 
23 
2.   Calcule as expressões matemáticas 
24 
13 
3.   Calcule as expressões matemáticas, definindo valores 
para a, b, c e d 
25 
26 
14 
UFMG DCC001 2013-1 27 
}  Área do círculo de raio r: A = π r2 
}  Faça um programa para calcular a área de um círculo de raio = 5cm. 
}  OBS: 
◦  Podemos obter a solução diretamente no prompt do Scilab: 
 -->A = %pi * 5^2 
 
◦  E se agora quisermos calcular a área de um círculo com 16cm de 
raio? Teremos que digitar tudo de novo: 
 -->A = %pi * 16^2 
 
}  Para evitar isso, vamos escrever um programa que faz esse cálculo. 
}  Programas são arquivos texto, contendo 
somente caracteres sem formatação, com a 
terminação .sce 
}  Um arquivo-programa contém comandos Scilab 
}  Um programa é escrito usando o editor SciNotes 
}  Sua execução ocorre do mesmo modo que se os 
comandos do programa fossem digitados na 
console. 
UFMG DCC001 2013-1 28 
15 
}  Instruções bem definidas para resolver um 
problema 
}  Em arquivo, para guardar e continuar/
executar depois 
}  Comentários tornam o programa mais claro 
para as pessoas, mas são ignorados pelo 
computador 
29 
UFMG DCC001 2013-1 30 
Editor de 
Programas 
16 
31 
32 
comentário 
comandos de atribuição que 
definem os valores de r e de A 
17 
33 
abrir salvar e 
executa
r 
novo 
arquivo executar 
salvar 
UFMG DCC001 2013-1 34 
}  Para fazer o cálculo para um círculo de raio 
16cm, bastaria mudar o valor de r no programa 
e executá-lo novamente. 
}  Entretanto, o que gostaríamos é que o nosso 
programa pudesse ler o valor do raio do círculo 
e exibir o valor calculado para a área do 
círculo. 
18 
35 
comentário 
comando de 
leitrura 
comando de 
escrita 
36 
Sintaxe geral do comando input: 
<variável> = input( <mensagem> ) 
Onde: 
 <variável> é uma variável que representa 
uma posição da memória, na qual será 
armazenado o valor digitado pelo usuário. 
 <mensagem> é uma string que informa ao 
usuário qual o dado que ele deve digitar. 
Uma string é uma sequencia de caracteres, entre 
aspas duplas.ou aspas simples. 
 
19 
37 
 Suponha que o usuáriodeseje armazenar o 
valor 50, referente à quantidade de alunos em uma 
sala de aula, na variável Q. 
 Isso pode ser realizado pela instrução: 
 
Q = input(“Digite a quantidade de alunos”) 
38 
 O comando printf pode ser usado para exibir 
valores na tela do computador. Esse comando 
tem a seguinte sintaxe geral: 
printf(<frase>, <lista de expressões>) 
 
Exemplo: 
 printf(“Número de alunos = %g”, Q) 
 
20 
39 
<frase> é a sentença que se quer imprimir na 
tela, e que pode conter códigos de formatação 
de valores, tais como %g. 
Ø  %g é um código de formato geral para expressões com 
valores numéricos. 
Ø  existem vários outros códigos de formato como %d, %f 
ou %s, que vamos abordar em exercícios e em outros 
exemplos, futuramente. 
40 
<lista de expressões> é uma lista de 
expressões separadas por vírgulas, que são 
calculadas no momento da execução do 
comando. 
 As expressões na lista são mapeadas, uma a 
uma, nos códigos de formato, na mesma 
sequência em que aparecem na <frase>, e a 
sentença que é impressa é obtida pela 
substituição do valor de cada expressão na 
posição marcada pelo código de formato. 
21 
41 
Exemplo: 
 Suponha: X = 30; Y = 60; 
 
O que é impresso pelos comandos a seguir? 
 
printf(“PRIMEIRO:%g SEGUNDO:%g”, X, Y) 
printf(“DOBRO:%g QUADRADO:%g”,2*X,Y^2) 
printf(“SOMA:%g PRODUTO:%g”, X+Y, X*Y) 
 
 
 
42 
22 
Ø  Codifique os programas a seguir em Scilab. Utilize 
comentários e mensagens textuais para o usuário 
1.   O programa deve ler dois valores, calcular a soma 
desses valores, armazenando-a em uma variável e 
imprimir o resultado. 
2.   O programa deve ler dois valores, calcular o 
resultado da divisão do primeiro pelo segundo e 
imprimir o resultado. 
 
43 
3.   O programa deve imprimir o valor da hipotenusa 
de um triangulo retângulo, calculada de acordo 
com os valores lidos de seus catetos. 
 
5.   O programa deve ler um valor de temperatura em 
graus Celsius (°C) e calcular e imprimir a 
temperatura correspondente, em graus Farenheit 
(°F) e em graus Kelvin (°K). 



OBS.: °F = °C × 1.8 + 32 

 °K = °C + 273.15 
44

Outros materiais