Buscar

Introducao ao Scilab

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 65 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 65 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 65 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

BCC701- Programac¸a˜o de Computadores I
02 - Introduc¸a˜o ao Scilab
Universidade Federal de Ouro Preto - UFOP
Departamento de Computac¸a˜o - DECOM
Prof. Reinaldo Silva Fortes
reifortes@iceb.ufop.br
BCC701 - 2018-01
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 1 / 42
Suma´rio
1 O Ambiente Scilab
2 A linguagem Scilab
3 Exerc´ıcios 01 e 02 (Expresso˜es matema´ticas no Console)
4 Desenvolvendo programas com o SciNotes
5 Exerc´ıcios 03 e 04 (Expresso˜es matema´ticas no SciNotes)
6 Varia´veis e Expresso˜es
7 Instruc¸o˜es de Entrada e Sa´ıda
8 Exerc´ıcios 05 a 08
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 2 / 42
Inicializando pela primeira vez
Ao iniciar o Scilab pela primeira vez a tela padra˜o sera´ aberta. Onde:
Na coluna a` esquerda: e´ exibida a janela de arquivos. Voceˆ pode
navegar entre as pastas de seu computador;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 3 / 42
Inicializando pela primeira vez
Ao iniciar o Scilab pela primeira vez a tela padra˜o sera´ aberta. Onde:
Na coluna a` direita, na parte superior: e´ exibida a janela de
varia´veis. Voceˆ pode ver nome, tipo e valor de varia´veis criadas;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 3 / 42
Inicializando pela primeira vez
Ao iniciar o Scilab pela primeira vez a tela padra˜o sera´ aberta. Onde:
Na coluna a` direita, na parte inferior: e´ exibida a janela de histo´rico
de comandos. Voceˆ pode ver uma lista de comandos executados;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 3 / 42
Inicializando pela primeira vez
Ao iniciar o Scilab pela primeira vez a tela padra˜o sera´ aberta. Onde:
No centro: a principal janela do ambiente, o Console. Onde voceˆ
digita, executa e visualiza o resultado dos comandos;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 3 / 42
Sobre o ambiente
O ambiente do Scilab e´ composto de diferentes janelas, cada uma
com suas func¸o˜es espec´ıficas;
As janelas podem estar integradas na tela principal (como visto
anteriormente) ou flutuantes (como janelas individuais);
O ambiente e´ customiza´vel, como veremos ao longo da aula;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 4 / 42
Sobre o ambiente: Customizac¸a˜o
Customizando a janela, primeiro exemplo;
Ao clicar no ı´cone ’x’ no canto superior direito a janela sera´ fechada;
As duas janelas a` direita foram fechadas;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 5 / 42
Sobre a linguagem
A linguagem Scilab e´ (basicamente) composta de:
Comandos (ou instruc¸o˜es);
Valores prima´rios;
Valores compostos;
Operadores;
Expresso˜es;
Func¸o˜es;
Tudo isso sera´ visto ao longo do semestre;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 6 / 42
Sobre a linguagem: Um exemplo
Na janela de Console:
Digite o comando atrave´s do prompt (−− >);
Apo´s digitar o comando, tecle < ENTER >;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 7 / 42
Sobre a linguagem: Um exemplo
Primeiro comando:
%pi = 2.5 ∧ 2
Resultado: 19.634954, armazenado na varia´vel ans;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 7 / 42
Sobre a linguagem: Um exemplo
Segundo comando:
x1 = 10 + 2.36 − 89.6 ∗ 1/25 + 14 − 2.986
Resultado: 19.79, armazenado na varia´vel x1;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 7 / 42
Sobre a linguagem: Um exemplo
Terceiro comando:
Igual ao segundo, mas: outra varia´vel e, duas linhas (...);
Resultado: 19.79, armazenado na varia´vel x2;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 7 / 42
Sobre a linguagem: Um exemplo
Quarto comando:
x3 = x1 + x2
Resultado: 39.58, armazenado na varia´vel x3;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 7 / 42
Sobre a linguagem: Nem tudo sa˜o flores
Primeiro comando:
x5 = x1 + x2 + x3 − x4
Resultado: ERRO, varia´vel x4 na˜o existe;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 8 / 42
Sobre a linguagem: Nem tudo sa˜o flores
Segundo comando:
x6 = x1+
Resultado: ERRO, falta algo para usar operador + (soma);
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 8 / 42
Sobre a linguagem: Nem tudo sa˜o flores
Erros acontecem;
O Scilab te avisa;
O comando na˜o e´ completado (varia´veis x5 e x6 na˜o foram criadas);
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 8 / 42
Exerc´ıcio 01
Calcule o valor da expressa˜o:
(24 + 4.53)
e4.4 − log10(12560)
Dicas:
Os pareˆnteses na expressa˜o modificam a precedeˆncia das operac¸o˜es;
Operac¸a˜o de poteˆncia: xy equivale a x ∧ y ;
Valor do nu´mero neperiano: constante %e (similar ao %pi);
Logaritmo na base 10 - func¸a˜o log10: log10(12560);
Pareˆntese para func¸a˜o e´ diferente de pareˆntese de precedeˆncia;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 9 / 42
Exerc´ıcio 01
Calcule o valor da expressa˜o:
(24 + 4.53)
e4.4 − log10(12560)
Dicas:
Os pareˆnteses na expressa˜o modificam a precedeˆncia das operac¸o˜es;
Operac¸a˜o de poteˆncia: xy equivale a x ∧ y ;
Valor do nu´mero neperiano: constante %e (similar ao %pi);
Logaritmo na base 10 - func¸a˜o log10: log10(12560);
Pareˆntese para func¸a˜o e´ diferente de pareˆntese de precedeˆncia;
Soluc¸a˜o:−− > (24 + 4.5 ∧ 3)/(%e ∧ 4.4 − log10(12560))
Resultado: 1.4883284, armazenado na varia´vel ans;
Importante: uso de pareˆnteses para numerador e denominador;
O resultado pode aparecer um pouco diferente: precisa˜o e formatac¸a˜o;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 9 / 42
Exerc´ıcio 02
Calcule o valor da expressa˜o:
2
0.036
⋅ (√250 − 10.5)2
e−0.2
Dicas:
Raiz quadrada - func¸a˜o sqrt: sqrt(250);
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 10 / 42
Exerc´ıcio 02
Calcule o valor da expressa˜o:
2
0.036
⋅ (√250 − 10.5)2
e−0.2
Dicas:
Raiz quadrada - func¸a˜o sqrt: sqrt(250);
Soluc¸a˜o:−− > (2/0.036) ∗ (sqrt(250) − 10.5) ∧ 2/%e ∧ −0.2
Resultado: 1914.2669, armazenado na varia´vel ans;
Importante: uso de pareˆnteses e´ obrigato´rio apenas quando e´
necessa´rio alterar a precedeˆncia;
Nesta expressa˜o, poteˆncia tem prioridade sobre as demais operac¸o˜es;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 10 / 42
Desenvolvendo Programas
Nesta disciplina desenvolveremos programas em Scilab;
Na˜o se implementa programas usando o Console;
Um programa sera´ composto de uma sequeˆncia de comandos salvos
em um arquivo;
Para criar o arquivo do programa, usaremos o editor SciNotes;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 11 / 42
Desenvolvendo Programas: SciNotes
Abra o editor SciNotes (primeiro ı´cone das ferramentas);
O SciNotes aparecera´ em uma janela individual;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 12 / 42
Desenvolvendo Programas: SciNotes
Voceˆ pode integra´-la a` janela principal;
Para isso, clique no t´ıtulo da janela (parte superior, em preto) e
arraste ate´ a janela principal.
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 12 / 42
Desenvolvendo Programas: SciNotes
Voceˆ pode abrir arquivos existentes;
O arquivo “exe01.sce” foi aberto;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 12 / 42
Desenvolvendo Programas: Primeiro programa
Abra o editor SciNotes;
Digite o co´digo abaixo:
grau = 30
radiano = (grau * %pi) / 180
disp(radiano)
Salve o programa clicando no ı´cone de “disquete”;
Execute o programa clicando no ı´cone de “play”;
Visualize o resultado na tela do Console;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 13 / 42
Exerc´ıcio 03
Calcule o valor da expressa˜o criando um programa no SciNotes:
cos(5pi
6
) ⋅ sin2(7pi
8
) + tan(pi6 ln8)√
7 + 2
Dicas:
Crie varia´veis conforme convenieˆncia (termos mais complexos);
Valor do nu´mero neperiano: constante %pi (similar ao %e);
Cosseno de x - func¸a˜o cos: cos(x);
Seno de x -func¸a˜o sin: sin(x);
Seno ao quadrado de x: sin(x) ∧ 2;
Tangente de x - func¸a˜o tan: tan(x);
Logaritmo neperiano - func¸a˜o log: log(x);
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 14 / 42
Exerc´ıcio 04
Calcule o valor da expressa˜o criando um programa no SciNotes:
cos2(3pi
5
) + tan(pi ln65 )
8 ⋅ 72
Dicas:
Crie varia´veis conforme convenieˆncia (termos mais complexos);
Valor do nu´mero neperiano: constante %pi (similar ao %e);
Cosseno de x - func¸a˜o cos: cos(x);
Cosseno ao quadrado de x: cos(x) ∧ 2;
Tangente de x - func¸a˜o tan: tan(x);
Logaritmo neperiano - func¸a˜o log: log(x);
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 15 / 42
Varia´veis - Definic¸a˜o
Varia´veis correspondem a nomes para enderec¸os de memo´ria que sa˜o
gerenciados pelo Scilab;
Os enderec¸os indicam a localizac¸a˜o do local de armazenamento das
informac¸o˜es na memo´ria;
O programador na˜o precisa ter qualquer ideia de como tal gereˆncia e´
realizada;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 16 / 42
Varia´veis - Nomes
Para dar nomes a varia´veis, algumas regras devem ser seguidas:
Na˜o podem conter acentos e nem espac¸os;
Na˜o podem iniciar com nu´meros;
Ale´m das letras e caracteres alfanume´ricos, pode conter os seguintes
caracteres: ’#’, ’$’, ’ ’, ’?’ e ’!’;
E´ recomendado que varia´veis tenham nomes significativos;
Scilab e´ sens´ıvel a maiu´sculas e minu´sculas, ou seja:
Nome ≠ nome ≠ NOME
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 17 / 42
Varia´veis - Nomes
A escolha de nomes significativos para as varia´veis ajuda ao
programador entender o que o programa faz e a prevenir erros;
Nomes va´lidos:
a
total de alunos
#funcionarios
%valor
Nomes inva´lidos:
1Aluno (o primeiro caractere e´ um algarismo)
total de alunos (tem espac¸os)
Jose´ (e´ acentuado)
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 18 / 42
Varia´veis - Atribuic¸a˜o de valores
Uma instruc¸a˜o de atribuic¸a˜o armazena um valor na memo´ria:< varia´vel >=< express~ao >< varia´vel >: nome da vara´vel. Se na˜o existir sera´ criada; caso exista,
sera´ alterada;=: operador de atribuic¸a˜o;< express~ao >: resulta no valor a ser atribu´ıdo a` varia´vel. Pode ser:
Um valor nume´rico: 2, 2.7698 ou 0.0023, por exemplo;
Um valor textual (string): ‘‘Um texto qualquer’’;
Um valor booleano (lo´gico): %t ou %f ;
Uma func¸a˜o elementar: sin, cos ou modulo, por exemplo;
Varia´veis previamente definidas;
Uma expressa˜o envolvendo variados elementos da linguagem;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 19 / 42
Varia´veis e Expresso˜es - Exemplos
−− > 8 + 3 − 1 (resultado: ans = 10.);−− > 9+ (resultado: !--error 2. Fator inva´lido.);−− > a = 6 (resultado: a = 6.);−− > x = a/3 (resultado: x = 2.);−− > total = 5 + lucro (resultado:
!--error 4. Varia´vel indefinida.);−− > x = sin(3.1415) (resultado: x = 0.0000927);−− > x = x + 8 (resultado: x = 8.0000927);−− > x = 22 (resultado: x = 22.);−− > texto = ‘‘Um texto qualquer.’’ (resultado:
texto = Um texto qualquer.);−− > logico = %t (resultado: logico = T );
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 20 / 42
Expresso˜es - Operadores aritme´ticos
Operador S´ımbolo Exemplo Resultado
Adic¸a˜o + 8+2 10
Subtrac¸a˜o - 8-2 6
Multiplicac¸a˜o * 8*2 16
Divisa˜o / 8/2 4
Exponenciac¸a˜o ∧ 8∧2 64
Menos una´rio - -8 -8
Mais una´rio + +8 8
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 21 / 42
Expresso˜es - Func¸o˜es elementares
Alguns exemplos de func¸o˜es do Scilab:
Func¸a˜o Nome Exemplo Resultado
Resto da divisa˜o modulo modulo(8, 3) 2
Raiz quadrada sqrt sqrt(9) 3
Valos absoluto abs abs(-2) 2
Coseno cos cos(30) 0.1542514
Tangente tan tan(7.3456) 1.7945721
Seno sin sin(%pi) 1.2246467
Chamada de func¸o˜es: < nome > (< lista de argumentos >);
Func¸o˜es trigonome´tricas recebem os aˆngulos em radianos;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 22 / 42
Expresso˜es - Func¸o˜es elementares
Func¸a˜o Nome Exemplo Resultado
Parte inteira int
int(2) 2
int(2.3) 2
int(2.8) 2
int(-2.8) -2
Menor inteiro maior ceil
ceil(2) 2
ceil(2.3) 3
ceil(2.8) 3
ceil(-2.8) -2
Maior inteiro menor floor
floor(2) 2
floor(2.3) 2
floor(2.8) 2
floor(-2.8) -3
Inteiro mais pro´ximo round
round(2) 2
round(2.3) 2
round(2.8) 3
round(-2.8) -3
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 23 / 42
Expresso˜es - Valores predefinidos
Alguns exemplos de valores predefinidos no Scilab:
Denotac¸a˜o valor
%pi O nu´mero pi
%inf Valor infinito (maior valor nume´rico)
-%inf Menos infinito (menor valor nume´rico)
%i
√−1
%e Base do logaritmo natural
%t ou %T Valor booleano verdadeiro
%f ou %F Valor booleano falso
Lembrete: Scilab e´ sens´ıvel a maiu´sculas e minu´sculas;
-%inf e´ simplesmente a utilizac¸a˜o do valor predefinido %inf
aplicando-se o operador menos una´rio;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 24 / 42
Expresso˜es - Precedeˆncia e associatividade de operadores
A precedeˆncia de operadores indica qual operador devera´ ser
executado primeiro:
Assim, na expressa˜o aritme´tica 2 + 3 ∗ 6 , a subexpressa˜o 3 ∗ 6 e´
executada primeiro;
Portanto, tem-se como resultado para a expressa˜o o valor 20;
A associatividade define a regra usada quando os operadores
possuem a mesma precedeˆncia:
Define se a ordem de avaliac¸a˜o sera´ da esquerda para a direita ou o
contra´rio, da direita para a esquerda;
Para a expressa˜o A −B + C +D, A −B e´ avaliado primeiro;
Para a expressa˜o A ∧B ∧ C ∧D, C ∧D e´ avaliado primeiro;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 25 / 42
Expresso˜es - Precedeˆncia e associatividade de operadores
Prioridade Operac¸a˜o Associatividade
1 ∧ modulo(8, 3)
2 ∗ e / sqrt(9)
3 + e − (bina´rios) abs(-2)
Para 2 + 10/5 ⇒ 10/5 sera´ avaliado primeiro;
Para A +B/C +D ⇒ B/C sera´ avaliado primeiro;
Para R ∗ 3 +B ∧ 3/2 + 1 ⇒ B ∧ 3 sera´ avaliado primeiro;
Pareˆnteses alteram precedeˆncia:
Para (2 + 10)/5 ⇒ 2 + 10 sera´ avaliado primeiro;
O + una´rio tem precedeˆncia sobre todos;
O − una´rio tem um comportamento especial:−2 ∧ −2, equivale a −(2−2), o resultado sera´ −0.25;−2 + −2, equivale a (−2) + (−2), o resultado sera´ −4;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 26 / 42
Instruc¸o˜es de Entrada e Sa´ıda
Normalmente, em um programa, e´ necessa´rio interagir com o usua´rio;
Em determinadas ocasio˜es e´ necessa´rio que o usua´rio defina certos
valores, que servira˜o de “Entrada” para o programa;
Em outras, o programa devera´ gerar algum resultado que devera´ ser
exibido ao usua´rio, que servira˜o como “Sa´ıda” do programa;
Existem diferentes instruc¸o˜es de “Entrada” e “Sa´ıda” fornecidos pelo
Scilab;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 27 / 42
Instruc¸a˜o de Entrada - input
Sintaxe:< varia´vel >= input(< mensagem >)< varia´vel >: nome da vara´vel que recebera´ o valor de entrada;=: operador de atribuic¸a˜o;
input: nome da func¸a˜o que realiza a entrada do usua´rio;< mensagem >: mensagem (valor textual) que sera´ exibida na tela para
orientar o usua´rio a respeito do valor que ele devera´ definir;
A entrada esta´ associada a uma atribuic¸a˜o, pois o valor digitado pelo
usua´rio devera´ ser utilizado para algum processamento posterior;
Ao executar a instruc¸a˜o, o programa primeiro exibira´ a mensagem na
tela, aguardara´ ate´ que o usua´rio digite algo e conclua com a tecla< ENTER >, depois, avalia o que foi digitado como uma expressa˜o e
realiza a atribuic¸a˜o;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 28 / 42
Instruc¸a˜o de Entrada - input
Exemplo:
qtdAlunos = input(’Informe a quantidade de alunos: ’)
A mensagem ’Informe a quantidade de alunos: ’ sera´
impressa na tela;
O programa aguardara´ ate´ que o usua´rio digite a quantidade de alunose tecle < ENTER >;
O programa avaliara´ o valor digitado pelo usua´rio e fara´ a atribuic¸a˜o do
valor resultante a` varia´vel qtdAlunos;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 29 / 42
Instruc¸a˜o de Entrada - input
Sintaxe:< varia´vel >= input(< mensagem > , ’string’|’s’)< varia´vel >: nome da vara´vel que recebera´ o valor de entrada;=: operador de atribuic¸a˜o;
input: nome da func¸a˜o que realiza a entrada do usua´rio;< mensagem >: mensagem (valor textual) que sera´ exibida na tela para
orientar o usua´rio a respeito do valor que ele devera´ definir;< ’string’|’s’ >: utiliza-se ’string’ ou ’s’ para indicar que o
resultado da atribuic¸a˜o sera´ o texto digitado;
Ao executar a instruc¸a˜o, o programa primeiro exibira´ a mensagem na
tela, aguardara´ ate´ que o usua´rio digite algo e conclua com a tecla< ENTER >, depois, atribui o valor digitado como conteu´do textual
a` varia´vel;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 30 / 42
Instruc¸a˜o de Entrada - input
Exemplo:
--> x = 10
--> y = input(’Digite uma expressao: ’)
Digite uma expressao: x+10
y = 20.
--> y = input(’Digite um texto: ’, ’s’)
Digite um texto: x+10
y = x+10
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 31 / 42
Instruc¸a˜o de Sa´ıda - disp
Sintaxe:
disp(< lista de express~oes >)
disp: nome da func¸a˜o que realiza a sa´ıda para o usua´rio;< lista de express~oes >: valores a serem impressos na tela,
separados por v´ırgula. Ao menos um valor deve ser definido:
x1[, x2, x3, ..., xn];
Cada valor fornecido sera´ impresso em uma linha na sa´ıda conforme
formatac¸a˜o padra˜o para o tipo de valor em questa˜o;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 32 / 42
Instruc¸a˜o de Sa´ıda - disp
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 33 / 42
Instruc¸a˜o de Sa´ıda - printf
A func¸a˜o disp e´ limitada, imprime apenas em formato padra˜o;
Quando se deseja personalizar a sa´ıda, e´ necessa´rio utilizar printf;
Sintaxe:
printf(< mensagem > [,< lista de express~oes >])
printf: nome da func¸a˜o que realiza a sa´ıda para o usua´rio;< mensagem >: mensagem (valor textual) que sera´ exibida na tela.
Pode conter padro˜es especiais, tags, que sera˜o substitu´ıdas pelos
valores passados em uma lista;< lista de express~oes >: valores que substituira˜o as tags contidas
na < mensagem >, separados por v´ırgula. Deve ser definido exatamente
um valor para cada tag existente na < mensagem >;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 34 / 42
Instruc¸a˜o de Sa´ıda - printf
Tags que podem ser usadas na < mensagem >:
%s: formato geral para expresso˜es com valores textuais;
%g: formato geral para expresso˜es com valores nume´ricos;
%f: formato espec´ıfico para expresso˜es com valores nume´ricos reais:
Sintaxe: %[T].<P>f;
[T]: indica o tamanho a ser ocupado pelo valor (quantidade de
caracteres incluindo todos os s´ımbolos utilizados para representar o
valor). Quando o tamanho definido for maior do que o ocupado pelo
valor, o tamanho excedente e´ preenchido com o caractere espac¸o. Caso
o tamanho definido seja menor, o valor ocupara´ o espac¸o necessa´rio
para sua exibic¸a˜o;
<P>: nu´mero de casas decimais a serem utilizadas na formatac¸a˜o.
Arredonda para o nu´mero de casas decimais definidas;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 35 / 42
Instruc¸a˜o de Sa´ıda - printf
Caracteres especiais que podem ser usados na < mensagem >:∖n: quebra de linha;∖t: tabulac¸a˜o;
%%: caractere % no texto;
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 36 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\ t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\ t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
m String ’mens(...)’
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\ t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console
Mensagens impressas na tela:
Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
m String ’mens(...)’
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\ t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console
Mensagens impressas na tela:
O valor de x e 30, e o de y e 60.
Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
m String ’mens(...)’
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console
Mensagens impressas na tela:
O valor de x e 30, e o de y e 60.
O valor de y e 60, e o de x e 30.
Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
m String ’mens(...)’
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\ t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console
O valor de x e 30, e o de y e 60.
O valor de y e 60, e o de x e 30.
O valor de z e -2.50, e o de w e 5.75.
Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
m String ’mens(...)’
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\ t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console
O valor de y e 60, e o de x e 30.
O valor de z e -2.50, e o de w e 5.75.
O valor de w e´ 5.7500, e o de z e´ -2.5000.
Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
m String ’mens(...)’
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\ t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console
O valor de z e -2.50, e o de w e 5.75.
O valor de w e´ 5.7500, e o de z e´ -2.5000.
Coloco uma mensagem de texto aqui.
Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
m String ’mens(...)’
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\ t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console
O valor de w e´ 5.7500, e o de z e´ -2.5000.
Coloco uma mensagem de texto aqui.
Coloco outra ’mensagem de texto’ aqui.
Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
m String ’mens(...)’
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\ t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console
Coloco uma mensagem de texto aqui.
Coloco outra ’mensagem de texto’ aqui.
Coloco mais uma “mensagem (...)” aqui.
Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
m String ’mens(...)’
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Instruc¸a˜o de Sa´ıda - Exemplos de printf
1 x = 3 0 ; y = 6 0 ; z = −2 . 5 ; w = 5 . 7 5
2 m = ”mensagem de t e x t o ”
3 p r i n t f ( ” Mensagens i m p r e s s a s na t e l a : ” )
4 p r i n t f ( ”\n\tO v a l o r de x e %g, e o de y e %g. ” , x , y )
5 p r i n t f ( ”\n\tO v a l o r de y e %g, e o de x e %g. ” , y , x )
6 p r i n t f ( ”\n\tO v a l o r de z e %5. 2 f , e o de w e %5. 2 f . ” , z , w)
7 p r i n t f ( ”\n\tO v a l o r de w e %. 4 f , e o de z e %. 4 f . ” , w, z )
8 p r i n t f ( ”\n\ t C o l o c o uma %s a q u i . ” , m)
9 p r i n t f ( ”\n\ t C o l o c o o u t r a ’ ’ %s ’ ’ a q u i . ” , m)
10 p r i n t f ( ’ \n\ t C o l o c o mais uma ’ ”%s ’ ” a q u i . ’ , m)
11 p r i n t f ( ”\n\tO v a l o r do aumento e de %. 4f%%. ” , w)
Console
Coloco outra ’mensagem de texto’ aqui.
Coloco mais uma “mensagem (...)” aqui.
O valor do aumento e´ de 5.7500%.
Varia´veis
x, y float 30, 60
z, w float -2.5, 5.75
m String ’mens(...)’
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 37 / 42
Exerc´ıcio 05
Implemente um programa que leia dois valores e calcule sua soma,
armazenando o resultado em uma varia´vel. A seguir o programa imprime o
resultado da soma armazenado na varia´vel.
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 38 / 42
Exerc´ıcio 06
Modifique o programa anterior, onde o resultado da soma sera´ o
numerador de uma divisa˜o e o denominador sera´ um novo valor lido. O
programa imprime apenas o resultado final da divisa˜o, que tambe´m devera´
estar armazenado em uma varia´vel.
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 39 / 42
Exerc´ıcio 07
Implemente um programa que imprima a hipotenusa (h) de um triangulo
retaˆngulo de acordo com a leitura de seus catetos (a e b).
OBS:
h = √a2 + b2
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 40 / 42
Exerc´ıcio 08
Implemente um programa que leia do teclado um valor de temperatura em
graus Celsius (C), calcule e imprima essa temperatura em Farenheit (F) e
em Kelvin (K).
OBS:
F = C ∗ 1.8 + 32
K = C + 273.15
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 41 / 42
DU´VIDAS
DECOM 02 - Introduc¸a˜o ao Scilab BCC701 - 2018-01 42 / 42
	O Ambiente Scilab
	A linguagem Scilab
	Exercícios 01 e 02 (Expressõesmatemáticas no Console)
	Desenvolvendo programas com o SciNotes
	Exercícios 03 e 04 (Expressões matemáticas no SciNotes)
	Variáveis e Expressões
	Instruções de Entrada e Saída
	Exercícios 05 a 08

Outros materiais