18/03/2015 INFORMÁTICA PARA ENGENHARIA Prof. Fabiano Taguchi [email protected] VARIÁVEIS ESPECIAIS %s – Polinômios (Transformada de Laplace) %z – Polinômios (Transformada z) %T – Variável booleana True %F – Variável booleana False %pi – Valor de PI (3.1415926...) %e – Número de Euler (2,7182818...) %inf – Infinito %i – Valor representativo de raiz quadrada %nan – Valor que representa um “não número” 1 18/03/2015 OPERADORES DE COMPARAÇÃO < > <= >= == ~= & | ~ MENOR MAIOR MENOR OU IGUAL MAIOR OU IGUAL IGUALDADE DIFERENTE (Também representado por <>) E OU NÃO COMANDOS DE DIRETÓRIOS mkdir(“pasta”) = Cria um diretório rmdir(“pasta”,’s’) = Remove um diretório chdir(“pasta”) = Muda de diretório 2 18/03/2015 COMANDOS BÁSICOS exec(“arquivo.sci”) = Executa um programa escrito no Scilab clc = Limpa a tela disp(variável) = Exibe o conteúdo de uma variável save(‘arquivo’,variável) = Salva variáveis em um arquivo binário load(‘arquivo’,variável) = Recupera os valores salvos das variáveis clear(variável)= Apaga uma variável clear = Apaga todas as variáveis do ambiente EXERCÍCIO DE APRENDIZAGEM 01) Crie um arquivo de texto e dentro dele desenvolva uma fórmula para conversão de valores monetários. Você deve fazer a conversão do valor em moeda Real para Dólar e Euro. Considere o câmbio em valores: Real para dólar = U$2,12 Real para euro = U$ 3,18 3 18/03/2015 COMANDO ; O comando ponto e vírgula suprime a apresentação automática de um valor no prompt de comando. OUTRAS FUNÇÕES PRÉ DEFINIDAS exp(x) = Calcula o valor exponencial de um número sum(x) = Apresenta a soma algébrica dos elementos de x max(x) = Apresenta o maior elemento de x min(x) = Apresenta o menor elemento de x 4 18/03/2015 EXPRESSÕES ARITMÉTICAS FORMATO DOS NÚMEROS O comando format modifica a quantidade de dígitos com que os números são mostrados no Scilab. Se utilizarmos uma formatação de 3, todos os números serão visualizados em 3 posições (incluindo o ponto decimal e um espaço para o sinal. format(3) Formato científico – format(‘e’) Formato em notação de variável – format (‘v’) 5 18/03/2015 STRINGS O uso de Strings dentro do Scilab necessita do posicionamento de aspas duplas antes e depois de um String, como em: A = “Pedro”; B = “Paulo”; C=A+““+B C = Pedro Paulo; VARIÁVEL ANS Answer armazena o valor corrente de saída do Scilab. Esta variável armazena o valor do último cálculo realizado e pode ser utilizada em uma expressão matemática. 4+5 ans = 9 3+ans ans = 12 6 18/03/2015 AJUDA NO SCILAB A pesquisa dinâmica no arquivo de ajuda do Scilab permite a pesquisa diretamente sobre um determinado assunto ou função. Por exemplo se precisamos de ajuda sobre a utilização da função co-seno, basta que seja digitado no console: help cos FUNÇÕES PARA MANIPULAR STRINGS length – Retorna o comprimento de um String strcat – Concatena String strsubst – Substitui uma parte de uma String por outra M =“Pedro”; length(m) 5 7 18/03/2015 EXERCÍCIOS 01) Considere as variáveis sendo A=11, B=5, C=-4 e D=2. Calcule as expressões abaixo: a) 3*modulo(A,3)-C b) 2^(2*abs(C))/8 c) sqrt(cos(A)^2+sin(A)^2) + sin(%pi/4) ARQUIVO SCE 02) Crie um programa para calcular o número de dias que serão estudados em uma disciplina a partir da sua carga horária semanal e o número de faltas que o aluno pode ter para que não seja reprovado. Considere que para um aluno não reprovar ele pode faltar até 25%. INFORMÁTICA PARA ENGENHARIA – 30 horas – 02 horas/semanais CRIPTOGRAFIA – 64 horas – 06 horas/semanais SISTEMAS MULTIMÍDIA – 64 horas – 04 horas/semanais 8 18/03/2015 CRIANDO ARQUIVOS .SCE Em projetos mais complexos é fundamental que os códigos sejam desenvolvidos a partir do editor do Scilab ao invés do simples console. Para isso devemos usar a ferramenta SciNotes. A extensão de um arquivo SciNotes é a .sce FUNÇÃO INPUT Quando algum programador deseja que o usuário atribua algum valor a uma variável, a função utilizada para esta operação é a input, sua sintaxe é a seguinte: z=input(“Expressão”) x=input(“Digite seu nome”) 9 18/03/2015 SAÍDA DE DADOS O comando tradicional de saída de dados é o disp, que exibe apenas o conteúdo da variável, porém é possível fazer uso da função printf derivada da linguagem C. printf(“Meu nome é: %s”, ‘Fabiano’) printf(“O número é: %f”, 435.7666) disp(‘Eu sou eu mesmo’) disp(“eu sou eu mesmo ” + Fabiano) VETORES Um vetor consiste em um conjunto de valores dispostos de forma unidimensional, podendo ser declarado tanto em linhas como em colunas. Um vetor em linhas é declarada da seguinte forma: X = [x1 x2 x3...] ou X = [x1, x2, x3...] Um vetor em colunas é declarado da seguinte forma: X = [x1;x2;x3...] 10 18/03/2015 VETORES A forma transposta de um vetor pode ser feito através da utilização da função X’ X’= [x1 x2 x3...] X’= [x1;x2;x3...] EXERCÍCIOS 01) Dada os vetores x=[1,2,3,4,5] e y=[2,4,6,8,10]. Calcule: a) z = x+y b) Formas transpostas de x e y 11 18/03/2015 VETORES Um vetor é declarado da seguinte forma: VETOR = ValorInicial: Incremento: ValorFinal Exemplos: A = 1:0.2:110; B = 1:2:10; C = 10: -1: 10; VETORES Exemplificação: A = 0: 2: 10 0. 2. 4. 6. 8. 10. B = 0: 10 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10 C = 10: -2: 0 10. 8. 6. 4. 2. 0. 12 18/03/2015 FUNÇÕES EM VETORES LENGTH(x) Esta função retorna a dimensão de um vetor. Ex: length(a) a = [1, 2, 3] length(a) = 3 FUNÇÕES EM VETORES ONES(x,1) Esta função gera um vetor com todos elementos iguais a 1 A = ones (4,1) A = 1. 1. 1. 1. 13 18/03/2015 FUNÇÕES EM VETORES ZEROS(x,1) Esta função gera um vetor com todos os elementos iguais a zero. A = zeros (4,1) A = 0. 0. 0. 0. OPERAÇÕES EM VETORES As operações básicas em vetor acontecem da mesma forma que com variáveis. Lembrando que para que aconteça o cálculo os vetores devem possuir a mesma dimensão, logo: A+B A-B 3*A //Multiplicação por escalar A/2 // Divisão por escalar 14 18/03/2015 OPERAÇÕES EM VETORES EXEMPLO 1 4 5 Seja X: 2 e Y: 5, a soma desses dois vetores se dá com 7 3 6 9 1 4 Seja X’: 2 e Y: 5, a multiplicação desses dois vetores se dá com 32 3 6 EXERCÍCIOS 01) Escreva um programa Scilab para calcular a distância entre dois pontos (x1, y1) e (x2, y2) em um plano cartesiano. Os pontos devem ser digitados pelo usuário. A distância por esses pontos é dado por: ݔ1 − ݔ2 ଶ + ݕ1 − ݕ2 ଶ 02) Elabore um programa Scilab para calcular a resistência equivalente entre dois registores R1 e R2 em paralelo. A resistência equivalente entre dois registores é dado por: (1/R1)+(1/R2) 15 18/03/2015 EXERCÍCIOS 03) Crie um vetor com 20 números incrementando 2 a 2. O vetor deve iniciar em 0. 04) Dados os vetores: X = [1. 2. 3. 4. 5. 6. 7. 8. 9. 10.] Y = [2. 4. 6. 8. 10. 12. 14. 16. 18. 20.] Calcule: a) X + Y b) X + Y + 2*X 16