Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab. - PDF
Download "Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab."
Isabella Teves Silveira
1 Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Comissão da Disciplina Programação de Computadores I CDPCI Programação de Computadores I BCC701 Material Didático Unificado. Variáveis Instrução de Atribuição Expressão da Linguagem Operadores Aritméticos Funções Elementares Valores Predefinidos Precedência e Associatividade de Operadores Instruções de Entrada de Dados e Saída de Dados Exercícios 1 2 Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab. Os endereços indicam a localização do local de armazenamento das informações na memória. O programador não precisa ter qualquer ideia de como tal gerência é realizada
2 Para dar nomes a variáveis, algumas regras deve ser seguidas: Não podem conter acentos e nem espaços; Não podem iniciar com números; Além das letras e caracteres alpha numéricos, pode conter os seguintes caracteres: # $ _?! É É recomendado que variáveis tenham nomes significativos. Scilab Scilabé sensível a maiúsculas e minúsculas, ou seja: Nome ~= nome ~= NOME A 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) 5 6 Uma instrução de atribuição armazena um valor na memória. Sua forma é: <variável> = <expressão> <variável>: se não existia, passa a existir na memória; se existia, o antigo valor será substituído pelo valor corrente definido pela expressão. na execução da instrução, a <expressão> é calculada e o resultado é atribuído à <variável>
3 Uma expressão é: um valor numérico: 2 ou ou uma função elementar do Scilab: sin, cos,, etc. variáveis previamente definidas. uma expressão entre parênteses. uma expressão aritmética: composição de duas, ou mais, expressões e operadores aritméticos. O Scilab usa uma variável default, ans, quando uma expressão é digitada no prompt e não é atribuída a uma variável. O segundo fator está ausente na expressão aritmética As variáveis de um expressão, do lado direito de uma atribuição, devem estar definidas. Uma função elementar do Scilab pode constituir uma expressão. Expressão do lado direito: o valor corrente de x é adicionado a 8, resultando em ; O valor final é atribuído a x. Não foi definido um valor para a variável lucro! O valor da expressão do lado direito da atribuição, 22, é atribuído à variável x; o antigo valor é substituído na memória
4 A linguagem SciLab possui os operadores aritméticos: Operador Aritmético Denotação em SciLab Exemplo Resultado Soma Subtração Multiplicação * 22 * Divisão / 50 / 2 25 Menos Unário Exponenciação (potenciação) ^ 8^ São exemplos de funções implementadas no SciLab: Função Denotação em SciLab Exemplo Resultado Resto da Divisão Inteira modulo modulo(8, 3) 2 Raiz Quadrada sqrt sqrt(32) Valor Absoluto abs abs(-8) 8 Coseno cos cos(30) Tangente tan tan(7.3456) Seno sin sin(% (%pi pi) 1.225D OBS: Nas funções trigonométricas os ângulos devem ser usados em radianos. O SciLab possui alguns valores pré-definidos, alguns exemplos: Denotação em Scilab Valor %pi O número π. %inf Representa infinito. %i %e A base do logaritmo natural. %t ou %T Representa o valor booleano verdadeiro. %f ou %F Representa o valor booleano falso. Como o Scilabé é sensível a maiúsculas e minúsculas, não será possível usar %PI, %Pi % Pi,, %Inf% Inf,, ou qualquer variação desta natureza
5 A precedência de operadores indica qual operador deverá ser executado primeiro. Assim, na expressão aritmética * 6, a subexpressão 3 * 6 é executada primeiro. Portanto, tem-se como resultado para a expressão o valor Para a expressão: 2^3*4 o valor resultante será: 2^12 = 4096? ou o valor será: 2^3 * 4 = 8 * 4 = 32? Para respondermos esta pergunta, além do conhecimento da precedência (prioridade) dos operadores envolvidos, devemos saber também qual são as suas associatividades. A tabela abaixo define a precedência e a associatividade para alguns operadores: Exemplos: Prioridade o / /5 é avaliada primeiro oa+b/c+d Operação 1 ª ^ 2 ª * / 3 ª + - Associatividade Da direitapara a esquerda. Da esquerda para a direita. Da esquerda para a direita. B/C é avaliada primeiro or* R*3+B^ +B^3/2+1 B^3 é avaliada primeiro
6 Associatividade Associatividadeé a regra usada quando os operadores têm a mesma prioridade. Por exemplo, para as operações de adição e subtração (que possuem mesma prioridade) a regra de associatividade diz que a operação mais a esquerda é avaliada primeiro: A-B+C+D A-B é avaliada primeiro, pois está mais à esquerda. O mesmo vale para multiplicação e divisão. Mas, para potenciação, a regra da associatividade diz que a operação mais a direita deve ser avaliada primeiro: A^B^C^D C^D é avaliada primeiro, pois está mais à direita A A precedênciade de operadores pode ser alterada mediante o uso de parênteses. Ex: (A + 4) / 3 A + 4 é avaliada primeiro (A - B) / (C + D) A - B é avaliada primeiro, depois a soma e por último a divisão R * 3 + B^(3 / 2) / 2 é avaliada primeiro
7 O comando de atribuição éa é forma que o programador possui para armazenar valores numéricos, dentre outros, na memória do computador. Outra possibilidade que dispõe o programador, é a utilização do comando de leitura de dados pelo teclado, input. Este comando permite o armazenamento de valores diferentes para uma mesma variável, a cada execução do programa. A seguir, a sintaxe geral do comando input. Sintaxe geral do comando input: <variável> = input( <frase> ) Onde: <variável>é é uma variável que representará a posição da memória que armazenará o valor digitado. <frase>é é uma stringque informa ao usuário qual o dado que ele deve digitar nesta interação. A stringdeve estar entre aspas duplas Suponha que o programador deseje solicitar ao usuário a quantidade de alunos de uma sala de aula e armazená-la lana variável qtd_alunos. Isso pode ser realizado pela instrução: qtd_alunos = input( DIGITE A QUANTIDADE DE ALUNOS: ); Após um dado ser armazenado emuma variável, seja por atribuição oupor leitura, o mesmo pode ser exibido na tela do computador através do comando printf, o qual tem a seguinte sintaxe geral: printf(<frase>, <lista de expressões>)
8 Onde: <frase> é a sentença que se quer imprimir na tela, e que pode estar entremeada por códigos de formato como%g. %géum código de formato geral para expressões com valores numéricos (veremos em seguida expressões com outros tipos de valores). existem vários outros códigos de formato como%d, d,%f ou %s, que exploraremos em exercícios e em outros exemplos futuramente. Onde: <lista de expressões> é uma lista de expressões separadas por vírgulas, que são calculadas no momento da execução do comando. As expressões na lista são mapeadas uma a uma nos códigos de formato, na mesma sequência em que aparecem na <frase>, e a sentença impressa é obtida pela substituição do valor da expressão na posição marcada pelo código de formato Por exemplo, o código abaixo: x = 30; Y = 60; printf( PRIMEIRO:%g SEGUNDO :%g, X, Y); Vai ter como saída: --> PRIMEIRO: 30 SEGUNDO:
9 Codifique os programas a seguir na linguagem Scilab. Utilize comentários e mensagens textuais para o usuário 1. Codifique um programa que leia dois valores. O programa calcula a soma desses valores, armazenando-a em uma variável. A seguir o programa imprime o resultado da soma. 2. Modifique o programa anterior, onde o resultado de (1) será o numerador de uma divisão. O denominador será um novo valor lido pelo teclado. O programa imprime o resultado final da divisão. 3. Crie um programa que imprima a hipotenusa de um triangulo retângulo de acordo com a leitura de seus catetos. 4. Crie um programa que leia do teclado um valor de temperatura em graus Celsius ( C), ( calcule e imprima essa temperatura em graus Farenheit( F) F) e em graus Kelvin ( K). ( OBS.: F= C K= C