BCC701- Programação de Computadores I 02 - Introdução ao Scilab Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 BCC701-2018-02 DECOM 02 - Introdução ao Scilab BCC701-2018-02 1 / 49
Sumário 1 O Ambiente Scilab 2 A linguagem Scilab 3 Exercícios 01 e 02 (Expressões matemáticas no Console) 4 Desenvolvendo programas com o SciNotes 5 Exercícios 03 e 04 (Expressões matemáticas no SciNotes) 6 Variáveis e Expressões 7 Instruções de Entrada e Saída 8 Exercícios 05 a 08 DECOM 02 - Introdução ao Scilab BCC701-2018-02 2 / 49
Inicializando pela primeira vez Ao iniciar o Scilab pela primeira vez a tela padrão será aberta. Onde: No centro: a principal janela do ambiente, o Console. Onde você digita, executa e visualiza o resultado dos comandos; DECOM 02 - Introdução ao Scilab BCC701-2018-02 3 / 49
Inicializando pela primeira vez Ao iniciar o Scilab pela primeira vez a tela padrão será aberta. Onde: Na coluna à esquerda: é exibida a janela de arquivos. Você pode navegar entre as pastas de seu computador; DECOM 02 - Introdução ao Scilab BCC701-2018-02 3 / 49
Inicializando pela primeira vez Ao iniciar o Scilab pela primeira vez a tela padrão será aberta. Onde: Na coluna à direita, na parte superior: é exibida a janela de variáveis. Você pode ver nome, tipo e valor de variáveis criadas; DECOM 02 - Introdução ao Scilab BCC701-2018-02 3 / 49
Inicializando pela primeira vez Ao iniciar o Scilab pela primeira vez a tela padrão será aberta. Onde: Na coluna à direita, na parte inferior: é exibida a janela de histórico de comandos. Você pode ver uma lista de comandos executados; DECOM 02 - Introdução ao Scilab BCC701-2018-02 3 / 49
Sobre o ambiente O ambiente do Scilab é composto de diferentes janelas, cada uma com suas funções específicas; As janelas podem estar integradas na tela principal (como visto anteriormente) ou flutuantes (como janelas individuais); O ambiente é customizável, como veremos ao longo da aula; DECOM 02 - Introdução ao Scilab BCC701-2018-02 4 / 49
Sobre o ambiente: Customização Customizando a janela, primeiro exemplo; Ao clicar no ícone x no canto superior direito a janela será fechada; As duas janelas à direita foram fechadas; DECOM 02 - Introdução ao Scilab BCC701-2018-02 5 / 49
Sobre a linguagem A linguagem Scilab é (basicamente) composta de: Comandos (ou instruções); Valores primários; Valores compostos; Operadores; Expressões; Variáveis; Funções; Tudo isso será visto ao longo do semestre; DECOM 02 - Introdução ao Scilab BCC701-2018-02 6 / 49
Sobre a linguagem: Um exemplo Na janela de Console: Digite o comando através do prompt ( >); Após digitar o comando, tecle < ENTER >; DECOM 02 - Introdução ao Scilab BCC701-2018-02 7 / 49
Sobre a linguagem: Um exemplo Primeiro comando: > %pi 2.5 2 Resultado: 19.634954, armazenado na variável ans; DECOM 02 - Introdução ao Scilab BCC701-2018-02 7 / 49
Sobre a linguagem: Um exemplo Segundo comando: > x1 = 10 + 2.36 89.6 1/25 + 14 2.986 Resultado: 19.79, armazenado na variável x1; DECOM 02 - Introdução ao Scilab BCC701-2018-02 7 / 49
Sobre a linguagem: Um exemplo Terceiro comando (usando duas linhas com... ): > x2 = 10 + 2.36 89.6... > 1/25 + 14 2.986 Resultado: 19.79, armazenado na variável x2; DECOM 02 - Introdução ao Scilab BCC701-2018-02 7 / 49
Sobre a linguagem: Um exemplo Quarto comando: > x3 = x1 + x2 Resultado: 39.58, armazenado na variável x3; DECOM 02 - Introdução ao Scilab BCC701-2018-02 7 / 49
Sobre a linguagem: Nem tudo são flores Primeiro comando: > x5 = x1 + x2 + x3 x4 Resultado: ERRO, variável x4 não existe; DECOM 02 - Introdução ao Scilab BCC701-2018-02 8 / 49
Sobre a linguagem: Nem tudo são flores Segundo comando: > x6 = x1+ Resultado: ERRO, falta algo para usar operador + (soma); DECOM 02 - Introdução ao Scilab BCC701-2018-02 8 / 49
Sobre a linguagem: Nem tudo são flores Erros acontecem; O Scilab te avisa; O comando não é completado (variáveis x5 e x6 não foram criadas); DECOM 02 - Introdução ao Scilab BCC701-2018-02 8 / 49
Exercício 01 Calcule o valor da expressão: (24 + 4.5 3 ) e 4.4 log 10 (12560) Dicas: Os parênteses na expressão modificam a precedência das operações; Operação de potência: x y equivale a x y; Valor do número neperiano: constante %e (similar ao %pi); Logaritmo na base 10, função log10: log10(12560); Parêntese para função é diferente de parêntese de precedência; Em números reais utiliza-se sempre o. como separador de parte inteira e fracionada; DECOM 02 - Introdução ao Scilab BCC701-2018-02 9 / 49
Exercício 01 Calcule o valor da expressão: (24 + 4.5 3 ) e 4.4 log 10 (12560) Dicas: Os parênteses na expressão modificam a precedência das operações; Operação de potência: x y equivale a x y; Valor do número neperiano: constante %e (similar ao %pi); Logaritmo na base 10, função log10: log10(12560); Parêntese para função é diferente de parêntese de precedência; Em números reais utiliza-se sempre o. como separador de parte inteira e fracionada; Solução: > (24 + 4.5 3)/(%e 4.4 log10(12560)) Resultado: 1.4883284, armazenado na variável ans; Importante: uso de parênteses para numerador e denominador; O resultado pode aparecer um pouco diferente: precisão e formatação; DECOM 02 - Introdução ao Scilab BCC701-2018-02 9 / 49
Exercício 02 Calcule o valor da expressão: 2 0.036 ( 250 10.5) 2 e 0.2 Dicas: Raiz quadrada - função sqrt: sqrt(250); DECOM 02 - Introdução ao Scilab BCC701-2018-02 10 / 49
Exercício 02 Calcule o valor da expressão: 2 0.036 ( 250 10.5) 2 e 0.2 Dicas: Raiz quadrada - função sqrt: sqrt(250); Solução: > (2/0.036) (sqrt(250) 10.5) 2/%e 0.2 Resultado: 1914.2669, armazenado na variável ans; Importante: uso de parênteses é obrigatório apenas quando é necessário alterar a precedência; Nesta expressão, potência tem prioridade sobre as demais operações; DECOM 02 - Introdução ao Scilab BCC701-2018-02 10 / 49
Desenvolvendo Programas Nesta disciplina desenvolveremos programas em Scilab; Não se implementa programas usando o Console; Um programa será composto de uma sequência de comandos salvos em um arquivo; Para criar o arquivo do programa, usaremos o editor SciNotes; DECOM 02 - Introdução ao Scilab BCC701-2018-02 11 / 49
Desenvolvendo Programas: SciNotes Abra o editor SciNotes (primeiro ícone das ferramentas); O SciNotes aparecerá em uma janela individual; DECOM 02 - Introdução ao Scilab BCC701-2018-02 12 / 49
Desenvolvendo Programas: SciNotes Você pode integrá-la à janela principal; Para isso, clique no título da janela (parte superior, em preto) e arraste até a janela principal. DECOM 02 - Introdução ao Scilab BCC701-2018-02 12 / 49
Desenvolvendo Programas: SciNotes Você pode abrir arquivos existentes; O arquivo exe01.sce foi aberto; DECOM 02 - Introdução ao Scilab BCC701-2018-02 12 / 49
Desenvolvendo Programas: Primeiro programa Abra o editor SciNotes; Digite o có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 - Introdução ao Scilab BCC701-2018-02 13 / 49
Exercício 03 Calcule o valor da expressão criando um programa no SciNotes: cos( 5π 6 ) sin2 ( 7π 8 ) + tan( π 6 ln8) 7 + 2 Dicas: Crie variáveis conforme conveniência (termos mais complexos); Valor do número neperiano: constante %pi (similar ao %e); Cosseno de x - função cos: cos(x); Seno de x - função sin: sin(x); Seno ao quadrado de x: sin(x) 2; Tangente de x - função tan: tan(x); Logaritmo neperiano - função log: log(x); DECOM 02 - Introdução ao Scilab BCC701-2018-02 14 / 49
Exercício 04 Calcule o valor da expressão criando um programa no SciNotes: cos 2 ( 3π 5 ) + tan( π ln6 5 ) 8 7 2 Dicas: Crie variáveis conforme conveniência (termos mais complexos); Valor do número neperiano: constante %pi (similar ao %e); Cosseno de x - função cos: cos(x); Cosseno ao quadrado de x: cos(x) 2; Tangente de x - função tan: tan(x); Logaritmo neperiano - função log: log(x); DECOM 02 - Introdução ao Scilab BCC701-2018-02 15 / 49
Solução - Exercício 03 cos( 5π 6 ) sin2 ( 7π 8 ) + tan( π 6 ln8) 7 + 2 DECOM 02 - Introdução ao Scilab BCC701-2018-02 16 / 49
Solução - Exercício 04 cos 2 ( 3π 5 ) + tan( π ln6 5 ) 8 7 2 DECOM 02 - Introdução ao Scilab BCC701-2018-02 17 / 49
Variáveis - Definição Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab; Os endereços indicam a localização de armazenamento das informações na memória; O programador não precisa ter qualquer ideia de como tal gerência é realizada; DECOM 02 - Introdução ao Scilab BCC701-2018-02 18 / 49
Variáveis - Nomes Para dar nomes às variáveis, algumas regras devem ser seguidas: Não podem conter acentos e nem espaços; Não podem iniciar com números; Além das letras e caracteres alfanuméricos, pode conter os seguintes caracteres: %, #, $, _,? e! ; É recomendado que variáveis tenham nomes significativos; Scilab é sensível a maiúsculas e minúsculas, ou seja: Nome nome NOME DECOM 02 - Introdução ao Scilab BCC701-2018-02 19 / 49
Variáveis - Nomes A escolha de nomes significativos para as variáveis ajuda ao programador entender o que o programa faz e a prevenir erros; Nomes válidos: a total_de_alunos #funcionarios %valor Nomes inválidos: 1Aluno (o primeiro caractere é um algarismo) total de alunos (tem espaços) José (é acentuado) DECOM 02 - Introdução ao Scilab BCC701-2018-02 20 / 49
Variáveis - Atribuição de valores Uma instrução de atribuição armazena um valor na memória: < variável >=< express~ao > < variável >: nome da variável. Se não existir será criada; caso exista, será alterada; =: operador de atribuição; < express~ao >: resulta no valor a ser atribuído à variável. Pode ser: Um valor numérico: 2, 2.7698 ou 0.0023, por exemplo; Um valor textual (string): Um texto qualquer ; Um valor booleano (lógico): %t ou %f ; Uma função elementar: sin, cos ou modulo, por exemplo; Variáveis previamente definidas; Uma expressão envolvendo variados elementos da linguagem; DECOM 02 - Introdução ao Scilab BCC701-2018-02 21 / 49
Variáveis e Expressões - Exemplos > 8 + 3 1 (resultado: ans = 10.); > 9+ (resultado:!-error 2. > a = 6 (resultado: a = 6.); > x = a/3 (resultado: x = 2.); > total = 5 + lucro (resultado:!-error 4. Variável indefinida.); Fator inválido.); > 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 - Introdução ao Scilab BCC701-2018-02 22 / 49
Expressões - Operadores aritméticos Operador Símbolo Exemplo Resultado Adição + 8+2 10 Subtração - 8-2 6 Multiplicação * 8*2 16 Divisão / 8/2 4 Exponenciação 8 2 64 Menos unário - -8-8 Mais unário + +8 8 DECOM 02 - Introdução ao Scilab BCC701-2018-02 23 / 49
Expressões - Funções elementares Chamada de funções: < nome > (< lista de argumentos >); Alguns exemplos de funções do Scilab: Função Nome Exemplo Resultado Resto da divisão modulo modulo(9, 2) 1 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.225D-16 Funções trigonométricas recebem os ângulos em radianos; sin(%pi) = 1.225D-16 devido à precisão matemática, veja que trata-se do valor 0 (zero) para 15 casas decimais; DECOM 02 - Introdução ao Scilab BCC701-2018-02 24 / 49
Expressões - Funções elementares Função Nome Exemplo Resultado Parte inteira Menor inteiro maior Maior inteiro menor Inteiro mais próximo int ceil floor round int(2) 2 int(2.3) 2 int(2.8) 2 int(-2.8) -2 ceil(2) 2 ceil(2.3) 3 ceil(2.8) 3 ceil(-2.8) -2 floor(2) 2 floor(2.3) 2 floor(2.8) 2 floor(-2.8) -3 round(2) 2 round(2.3) 2 round(2.8) 3 round(-2.8) -3 DECOM 02 - Introdução ao Scilab BCC701-2018-02 25 / 49
Expressões - Valores predefinidos Alguns exemplos de valores predefinidos no Scilab: Denotação valor %pi O número π %inf Valor infinito (maior valor numérico) -%inf Menos infinito (menor valor numérico) %i 1 %e Base do logaritmo natural %t ou %T Valor booleano verdadeiro %f ou %F Valor booleano falso -%inf é simplesmente a utilização do valor predefinido %inf aplicando-se o operador menos unário; Lembrete: Scilab é sensível a maiúsculas e minúsculas; DECOM 02 - Introdução ao Scilab BCC701-2018-02 26 / 49
Expressões - Precedência e associatividade de operadores A precedência de operadores indica qual operador deverá ser executado primeiro: Assim, na expressão aritmética 2 + 3 6, a subexpressão 3 6 é executada primeiro; Portanto, tem-se como resultado para a expressão o valor 20; A associatividade define a regra usada quando os operadores possuem a mesma precedência: Define se a ordem de avaliação será da esquerda para a direita ou o contrário, da direita para a esquerda; Para a expressão A B + C + D, A B é avaliado primeiro; Para a expressão A B C D, C D é avaliado primeiro; DECOM 02 - Introdução ao Scilab BCC701-2018-02 27 / 49
Expressões - Precedência e associatividade de operadores Prioridade Operação Associatividade 1 direita para esquerda 2 + e (unários) esquerda para direita 3 e / esquerda para direita 4 + e (binários) esquerda para direita Para 2 + 10/5 10/5 será avaliado primeiro; Para A + B/C + D B/C será avaliado primeiro; Para R 3 + B 3/2 + 1 B 3 será avaliado primeiro; Parênteses alteram precedência: Para (2 + 10)/5 2 + 10 será avaliado primeiro; DECOM 02 - Introdução ao Scilab BCC701-2018-02 28 / 49
Instruções de Entrada e Saída Normalmente, em um programa, é necessário interagir com o usuário; Em determinadas ocasiões é necessário que o usuário defina certos valores, que servirão de Entrada para o programa; Em outras, o programa deverá gerar algum resultado que deverá ser exibido ao usuário, que servirão como Saída do programa; Existem diferentes instruções de Entrada e Saída fornecidos pelo Scilab; DECOM 02 - Introdução ao Scilab BCC701-2018-02 29 / 49
Instrução de Entrada - input Sintaxe: < variável >= input(< mensagem >) < variável >: nome da variável que receberá o valor de entrada; =: operador de atribuição; input: nome da função que realiza a entrada do usuário; < mensagem >: string (valor textual) que será exibida na tela para orientar o usuário a respeito do valor que ele deverá definir; A entrada está associada a uma atribuição, pois o valor digitado pelo usuário deverá ser utilizado para algum processamento posterior; Ao executar a instrução, o programa primeiro exibirá a mensagem na tela, aguardará até que o usuário digite algo e conclua com a tecla < ENTER >, depois, avalia o que foi digitado como uma expressão e realiza a atribuição; DECOM 02 - Introdução ao Scilab BCC701-2018-02 30 / 49
Instrução de Entrada - input Exemplo: qtdalunos = input( Informe a quantidade de alunos: ) A mensagem Informe a quantidade de alunos: será impressa na tela; O programa aguardará até que o usuário digite a quantidade de alunos e tecle < ENTER >; O programa avaliará o valor digitado pelo usuário e fará a atribuição do valor resultante à variável qtdalunos; DECOM 02 - Introdução ao Scilab BCC701-2018-02 31 / 49
Instrução de Entrada - input Sintaxe: < variável >= input(< mensagem >, string s ) < variável >: nome da variável que receberá o valor de entrada; =: operador de atribuição; input: nome da função que realiza a entrada do usuário; < mensagem >: string (valor textual) que será exibida na tela para orientar o usuário a respeito do valor que ele deverá definir; string s : utiliza-se string ou s para indicar que o resultado da atribuição será o texto digitado; Ao executar a instrução, o programa primeiro exibirá a mensagem na tela, aguardará até que o usuário digite algo e conclua com a tecla < ENTER >, depois, atribui o valor digitado como conteúdo textual à variável; DECOM 02 - Introdução ao Scilab BCC701-2018-02 32 / 49
Instruçã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 - Introdução ao Scilab BCC701-2018-02 33 / 49
Instrução de Saída - disp Sintaxe: disp(< lista de express~oes >) disp: nome da função que realiza a saída para o usuário; < lista de express~oes >: valores a serem impressos na tela, separados por vírgula. Ao menos um valor deve ser definido: x 1 [, x 2, x 3,..., x n ]; Cada valor fornecido será impresso em uma linha na saída conforme formatação padrão para o tipo de valor em questão; DECOM 02 - Introdução ao Scilab BCC701-2018-02 34 / 49
Instrução de Saída - disp DECOM 02 - Introdução ao Scilab BCC701-2018-02 35 / 49
Instrução de Saída - printf A função disp é limitada, imprime apenas em formato padrão; Quando se deseja personalizar a saída, é necessário utilizar printf; Sintaxe: printf(< mensagem > [, < lista de express~oes >]) printf: nome da função que realiza a saída para o usuário; < mensagem >: mensagem (valor textual) que será exibida na tela. Pode conter padrões especiais, tags, que serão substituídas pelos valores passados em uma lista; < lista de express~oes >: valores que substituirão as tags contidas na < mensagem >, separados por vírgula. Deve ser definido exatamente um valor para cada tag existente na < mensagem >; DECOM 02 - Introdução ao Scilab BCC701-2018-02 36 / 49
Instrução de Saída - printf Tags que podem ser usadas na < mensagem >: %s: formato geral para expressões com valores textuais; %g: formato geral para expressões com valores numéricos; %f: formato específico para expressões com valores numéricos: Sintaxe: %[T].<P>f; [T]: opcional, 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 é preenchido com o caractere espaço. Caso o tamanho definido seja menor, o valor ocupará o espaço necessário para sua exibição; <P>: obrigatório, número de casas decimais a serem utilizadas na formatação. Arredonda para o número de casas decimais definidas; DECOM 02 - Introdução ao Scilab BCC701-2018-02 37 / 49
Instrução de Saída - printf Caracteres especiais que podem ser usados na < mensagem >: n: quebra de linha; t: tabulação; ou " : caractere (aspas simples - apóstrofo) no texto; " ou "": caractere " (aspas duplas) no texto; %%: caractere % no texto; DECOM 02 - Introdução ao Scilab BCC701-2018-02 38 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console Variáveis x, y 30, 60 z, w -2.5, 5.75 DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console Variáveis x, y 30, 60 z, w -2.5, 5.75 m mensagem de texto DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console Mensagens impressas na tela: Variáveis x, y 30, 60 z, w -2.5, 5.75 m mensagem de texto DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console Mensagens impressas na tela: O valor de x é 30, e o de y é 60. Variáveis x, y 30, 60 z, w -2.5, 5.75 m mensagem de texto DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console Mensagens impressas na tela: O valor de x é 30, e o de y é 60. O valor de y é 60, e o de x é 30. Variáveis x, y 30, 60 z, w -2.5, 5.75 m mensagem de texto DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console O valor de x é 30, e o de y é 60. O valor de y é 60, e o de x é 30. O valor de z é -2.50, e o de w é 5.75. Variáveis x, y 30, 60 z, w -2.5, 5.75 m mensagem de texto DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console O valor de y é 60, e o de x é 30. O valor de z é -2.50, e o de w é 5.75. O valor de w é 5.7500, e o de z é -2.5000. Variáveis x, y 30, 60 z, w -2.5, 5.75 m mensagem de texto DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console O valor de z é -2.50, e o de w é 5.75. O valor de w é 5.7500, e o de z é -2.5000. Coloco uma mensagem de texto aqui. Variáveis x, y 30, 60 z, w -2.5, 5.75 m mensagem de texto DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console O valor de w é 5.7500, e o de z é -2.5000. Coloco uma mensagem de texto aqui. Coloco outra mensagem de texto aqui. Variáveis x, y 30, 60 z, w -2.5, 5.75 m mensagem de texto DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console Coloco uma mensagem de texto aqui. Coloco outra mensagem de texto aqui. Coloco mais uma mensagem (...) aqui. Variáveis x, y 30, 60 z, w -2.5, 5.75 m mensagem de texto DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Instruçã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 é %g, e o de y é %g., x, y ) 5 p r i n t f ( \n\to v a l o r de y é %g, e o de x é %g., y, x ) 6 p r i n t f ( \n\to v a l o r de z é %5. 2 f, e o de w é %5. 2 f., z, w) 7 p r i n t f ( \n\to v a l o r de w é %. 4 f, e o de z é %. 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 é de %. 4f%%., w) Console Coloco outra mensagem de texto aqui. Coloco mais uma mensagem (...) aqui. O valor do aumento é de 5.7500%. Variáveis x, y 30, 60 z, w -2.5, 5.75 m mensagem de texto DECOM 02 - Introdução ao Scilab BCC701-2018-02 39 / 49
Exercício 05 Implemente um programa que leia dois valores e calcule sua soma, armazenando o resultado em uma variável. A seguir o programa imprime o resultado da soma armazenado na variável. DECOM 02 - Introdução ao Scilab BCC701-2018-02 40 / 49
Exercício 05 - Solução 1 v1 = i n p u t ( D i g i t e um v a l o r : ) 2 v2 = i n p u t ( D i g i t e o u t r o v a l o r : ) 3 soma = v1 + v2 4 p r i n t f ( R e s u l t a d o da soma é %g., soma ) Console Digite um valor: Variáveis DECOM 02 - Introdução ao Scilab BCC701-2018-02 41 / 49
Exercício 05 - Solução 1 v1 = i n p u t ( D i g i t e um v a l o r : ) 2 v2 = i n p u t ( D i g i t e o u t r o v a l o r : ) 3 soma = v1 + v2 4 p r i n t f ( R e s u l t a d o da soma é %g., soma ) Console Digite um valor: 10 Variáveis v1 10 DECOM 02 - Introdução ao Scilab BCC701-2018-02 41 / 49
Exercício 05 - Solução 1 v1 = i n p u t ( D i g i t e um v a l o r : ) 2 v2 = i n p u t ( D i g i t e o u t r o v a l o r : ) 3 soma = v1 + v2 4 p r i n t f ( R e s u l t a d o da soma é %g., soma ) Console Digite um valor: 10 Digite outro valor: Variáveis v1 10 DECOM 02 - Introdução ao Scilab BCC701-2018-02 41 / 49
Exercício 05 - Solução 1 v1 = i n p u t ( D i g i t e um v a l o r : ) 2 v2 = i n p u t ( D i g i t e o u t r o v a l o r : ) 3 soma = v1 + v2 4 p r i n t f ( R e s u l t a d o da soma é %g., soma ) Console Digite um valor: 10 Digite outro valor: 5 Variáveis v1 10 v2 5 DECOM 02 - Introdução ao Scilab BCC701-2018-02 41 / 49
Exercício 05 - Solução 1 v1 = i n p u t ( D i g i t e um v a l o r : ) 2 v2 = i n p u t ( D i g i t e o u t r o v a l o r : ) 3 soma = v1 + v2 4 p r i n t f ( R e s u l t a d o da soma é %g., soma ) Console Digite um valor: 10 Digite outro valor: 5 Variáveis v1 10 v2 5 soma 15 DECOM 02 - Introdução ao Scilab BCC701-2018-02 41 / 49
Exercício 05 - Solução 1 v1 = i n p u t ( D i g i t e um v a l o r : ) 2 v2 = i n p u t ( D i g i t e o u t r o v a l o r : ) 3 soma = v1 + v2 4 p r i n t f ( R e s u l t a d o da soma é %g., soma ) Console Digite um valor: 10 Digite outro valor: 5 Resultado da soma e 15. Variáveis v1 10 v2 5 soma 15 DECOM 02 - Introdução ao Scilab BCC701-2018-02 41 / 49
Exercício 05 - Solução 1 v1 = i n p u t ( D i g i t e um v a l o r : ) 2 v2 = i n p u t ( D i g i t e o u t r o v a l o r : ) 3 soma = v1 + v2 4 p r i n t f ( R e s u l t a d o da soma é %g., soma ) Console Digite um valor: 10 Digite outro valor: 5 Resultado da soma e 15. Variáveis v1 10 v2 5 soma 15 DECOM 02 - Introdução ao Scilab BCC701-2018-02 41 / 49
Exercício 06 Modifique o programa anterior, onde o resultado da soma será o numerador de uma divisão e o denominador será um novo valor lido. O programa imprime apenas o resultado final da divisão, que também deverá estar armazenado em uma variável. DECOM 02 - Introdução ao Scilab BCC701-2018-02 42 / 49
Exercício 06 - Solução 1 v1 = i n p u t ( D i g i t e um v a l o r : ) 2 v2 = i n p u t ( D i g i t e o u t r o v a l o r : ) 3 den = i n p u t ( D i g i t e o denominador : ) 4 num = v1 + v2 5 r e s u l t a d o = num / den 6 p r i n t f ( R e s u l t a d o da d i v i s ã o é %g., r e s u l t a d o ) DECOM 02 - Introdução ao Scilab BCC701-2018-02 43 / 49
Exercício 07 Implemente um programa que imprima a hipotenusa (h) de um triangulo retângulo de acordo com a leitura de seus catetos (a e b). OBS: h = a 2 + b 2 DECOM 02 - Introdução ao Scilab BCC701-2018-02 44 / 49
Exercício 07 - Solução 1 a = i n p u t ( D i g i t e o c a t e t o a : ) 2 b = i n p u t ( D i g i t e o c a t e t o b : ) 3 p r i n t f ( A h i p o t e n u s a é %g., s q r t ( a a + b b ) ) Obervações: No enunciado não solicitou que o resultado fosse armazenado em uma variável; Assim, posso colocar a expressão dentro do printf, a expressão é avaliada e o valor resultante substitui o %g; a a equivale a a 2, mas a multiplicação é executada mais rapidamente pelo processador; DECOM 02 - Introdução ao Scilab BCC701-2018-02 45 / 49
Exercício 08 Implemente um programa que leia do teclado um valor de temperatura em 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 - Introdução ao Scilab BCC701-2018-02 46 / 49
Exercício 08 - Solução 1 1 C = i n p u t ( D i g i t e a t e m p e r a t u r a em C e l c i u s : ) 2 F = C 1. 8 + 32 3 K = C + 273. 15 4 p r i n t f ( A t e m p e r a t u r a em F a r e n h e i t é %g. \ na t e m p e r a t u r a em K e l v i n é %g., F, K) Obervações: Posso utilizar um único printf, mas na saída serão impressas duas linhas, uma para o resultado de Farenheit e outra para Kelvin, devido à utilização do /n; Mas, dividir em dois printf deixa o código mais legível. Porém, o /n ainda deve ser usado para dividir a saída em duas linhas; DECOM 02 - Introdução ao Scilab BCC701-2018-02 47 / 49
Exercício 08 - Solução 2 1 C = i n p u t ( D i g i t e a t e m p e r a t u r a em C e l c i u s : ) 2 p r i n t f ( A t e m p e r a t u r a em F a r e n h e i t é %g. \ n, C 1. 8 + 32) 3 p r i n t f ( A t e m p e r a t u r a em K e l v i n é %g., C + 2 7 3. 1 5 ) Obervações: Não é necessário o uso de variáveis para as conversões, já que esta restrição não consta no enunciado; O uso de variáveis deixa o código mais legível, mas consome tempo e memória; Na disciplina não será cobrado este tipo de preocupação. Portanto, as duas soluções são equivalentes. DECOM 02 - Introdução ao Scilab BCC701-2018-02 48 / 49
DÚVIDAS DECOM 02 - Introdução ao Scilab BCC701-2018-02 49 / 49