02 - Introdução ao Scilab

Documentos relacionados
Aula 03 - Introdução ao Scilab (p2)

Aula 02 - Introdução ao Scilab (p1)

Material Didático Unificado.

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab.

Material Didático Unificado.

Introdução ao Scilab. Comandos de entrada e saída de dados.

É um interpretador,, ou seja, um programa que executa programas; ao contrário de um compilador, não traduz um programa para instruções de máquina.

Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada e Saída básica

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

Introdução à Ciência da Computação

Foi criado em 1990 por pesquisadores do INRIA e da ècole Nationale des Ponts et Chaussées (França), sendo gratuito e similar ao Matlab.

Unidade 3: Linguagem de programação

LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO

Algoritmos RESUMO - LINGUAGEM C

Ambiente de desenvolvimento

Introdução à Linguagem C

Introdução à Linguagem C. Adaptado de Deise Saccol

SSC 0301 IC para Engenharia Ambiental

Introdução a Linguagem C

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Disciplina: Introdução a Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer. Índice: Aula1 - Introdução Programa Algoritmo

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

Programação de Computadores III

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Programação de Computadores III

Ocorrem em três tipos:

Capítulo 2 Operadores. A função scanf()

INFORMÁTICA PARA ENGENHARIA

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

Introdução ao Scilab. Laura Goulart. 27 de Novembro de 2018 UESB. Laura Goulart (UESB) Introdução ao Scilab 27 de Novembro de / 11

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Aula 04: Fluxogramas e condicionais

Programação de Computadores:

3. Linguagem de Programação C

INFORMÁTICA PARA ENGENHARIA

Portugol. Tiago Alves de Oliveira

Introdução à Computação

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Fluxogramas e variáveis

Introdução ao software Scilab

Exercícios Repetição

Introdução à Linguagem C. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny

Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage. Introdução à Programação

LP2 Laboratório de Programação 2 Ciência da Computação. Problema proposto

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Introdução à Computação

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Puca Huachi Vaz Penna

ALGORITMOS AULA 2. Profª Amanda Gondim

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Conceitos Básicos de Algoritmos

Iteração e Pontos Fixos

11 - Estrutura de um programa em C

Introdução à Programação

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Aula 08: Repetição (Parte 3)

Os elementos da programação

Aula 15 - Estruturas de Repetição (p3)

Conceitos Básicos de Algoritmos

Introdução à Linguagem C

Algoritmo e Programação Matemática

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 206 Departamento de Informática Centro Tecnológico

Segundo programa: media.c

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Introdução a Programação de Jogos

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

Aula 7. Noções Básicas de Octave

Linguagem C: Introdução

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DEPARTAMENTO DE FÍSICA, ESTATÍSTICA E MATEMÁTICA

Tipos de dados, constantes e variáveis. Prof.: Jesus

As bibliotecas iostream e cstdlib permitem a utilização de diversos comandos de entrada e saída e funções básicas.

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 201 Departamento de Informática Centro Tecnológico

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Aula Teórica 04. Material Didático Prof. Red

Introdução à Programação uma Abordagem Funcional

Fixação de conteúdo teórico

Fundamentos de Programação

Transcrição:

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