440 likes | 553 Views
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I – BCC701 www.decom.ufop.br/moodle. Aula 01 Variáveis, Expressões , Atribuição, E/ S. Tópicos. Ambiente Scilab Variáveis , expressões, comando de atribuição
E N D
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I – BCC701 www.decom.ufop.br/moodle Aula 01Variáveis, Expressões, Atribuição, E/S
Tópicos • Ambiente Scilab • Variáveis, expressões, comando de atribuição • Entrada e Saída básica UFMG DCC001 2013-1
Ambiente de ProgramaçãoScilab • Scilabé um ambiente de programaçãovoltadoparacientistas e engenheiros • Foicriadoem 1990, porpesquisadores do INRIA, sendobaseadono sistemaMatLAB. • Égratuito: download www.scilab.org
Ambiente de ProgramaçãoScilab promptde comandos navegador de variáveis janela de arquivos console: janela de comandos histórico de comandos
Variáveis e Atribuição Variáveis criadas aé uma variável que passa a existir, recebe e guarda um valor Histórico O Scilab “ecoa” o valor recebido pela variável UFMG DCC001 2013-1
Variáveis e Comandos de Atribuição - 2 Literal ^ denota exponenciação * denota multiplicação O valor atribuído pode ser uma expressão aritmética com variáveis já conhecidas UFMG DCC001 2013-1
Painel Navegador de Variáveis UFMG DCC001 2013-1
Variáveis • São nomes para espaços de memória gerenciados pelo Scilab • O programador não precisa ter qualquer ideia sobre como é feito esse gerenciamento • Variáveis têm seus nomes escolhidos pelo programador segundo algumas regras • O primeiro caractere do nome deve ser uma letra • Os outros podem ser letras ou dígitos, ou qualquer caractere dentre '_', '#', '!', '$‘ e '?' • O nome de uma variável em Scilab deve ter no máximo 24 caracteres UFMG DCC001 2013-1
Nomes de Variáveis • Válidos: • a, A, jose,total_de_alunos, funcionarios • Não válidos • 1Aluno (o primeiro caractere é um algarismo) • total de alunos (tem espaços) • José (é acentuado) • O mais importante é escolher nomes com significado claro para quem lê o programa UFMG DCC001 2013-1
Comando de Atribuição • Forma: <variável alvo> = <expressão> • A <variável alvo>, se não existia, passa a existir • Se existia, o valor anterior é perdido • A <expressão> é calculada, e o resultado é atribuído à <variável alvo> • O comando de atribuição é a construção básica de transformação de informação, em Scilab e em várias outras linguagens de programação. UFMG DCC001 2013-1
Expressão – Variável - Atribuição 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.
Expressão – Variável - Atribuição As variáveis de um expressão, do lado direito de uma atribuição, devem estar definidas. Não foi definido um valor para a variável lucro !
Expressão – Variável - Atribuição Funções pré-definidas em Scilab podem ser usadas uma expressão. Expressão do lado direito: o valor corrente de x é adicionado a 8, resultando 8.0000927; esse resultado é atribuído a x. 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.
Variáveis e Atribuição - 2 -->d = a+x !--error 4 Undefinedvariable: x -->b = 1024 -->b = 2*b b = 2048. Todas as variáveis em uma expressão devem estar definidas, ou o Scilab reclama A expressão pode conter a própria variável alvo. UFMG DCC001 2013-1
Variáveis e Atribuição – 3 Valor pré-definido como a melhor aproximação em ponto flutuante de 64 bits de -->a = %pi a = 3.1415927 -->b = 2*%pi; -->c = cos(a) + sqrt(b) c = 1.5066283 “;” suprime o eco automático O Scilab oferece um sem-número de funções pré-definidas como cos e sqrt (squareroot). UFMG DCC001 2013-1
Operadores Aritméticos • A linguagem SciLab possui os operadores aritméticos:
Expressões Aritméticas • Expressões podem ser arbitrariamente complicadas • A ordem em que operadores são aplicados não é óbvia: Qual valor o comando x = 2^3*4 atribui a x, ou ? UFMG DCC001 2013-1
Parênteses podem alterar prioridades Precedência entre Operadores UFMG DCC001 2013-1
Prioridades e Parênteses “ans” é o nome de umavariávelquerecebevalores de expressõessemvariávelalvo -->2^3*4 ans = 32. -->2^(3*4) ans = 4096. -->2^3^4 ans = 2.418D+24 -->2^(3^4) ans = 2.418D+24 -->(2^3)^4 ans = 4096. -->2*3+4 ans = 10. -->2*(3+4) ans = 14. Recomendação: use parênteses; é mais seguro Notação Scilab (e Fortran, e C, e Java, e ...) para 2.418 x 1024 UFMG DCC001 2013-1
Algumas funções elementares • OBS: Nas funções trigonométricas os ângulos devem ser usados em radianos.
Help - Funções Elementares do Scilab UFMG DCC001 2013-1
Exercícios • Calcule as expressões matemáticas
Exercícios • Calcule as expressões matemáticas
Exercícios • Calcule as expressões matemáticas, definindo valores para a, b, c e d
Cálculo da área de um círculo • Área do círculo de raio r: A = π r2 • Faça um programa para calcular a área de um círculo de raio = 5cm. • OBS: • Podemos obter a solução diretamente no prompt do Scilab: -->A = %pi * 5^2 • E se agora quisermoscalcular a área de um círculocom 16cm de raio? Teremosquedigitartudo de novo: -->A = %pi * 16^2 • Para evitar isso, vamos escrever um programa que faz esse cálculo. UFMG DCC001 2013-1
Programas Scilab • Programassãoarquivostexto, contendosomentecaracteressemformatação, com a terminação.sce • Um arquivo-programa contém comandos Scilab • Um programa é construído usando o editor SciNotes • Sua execução equivale à digitação na console dos comandos no arquivo UFMG DCC001 2013-1
Criando um Programa • Instruções bem definidas para resolver um problema • Em arquivo, para guardar e continuar/executar depois • Comentários tornam o programa mais claro para as pessoas, mas são ignorados pelo computador
Abrindo o SciNotes Editor de Programas UFMG DCC001 2013-1
Cálculo da área do círculo comentário comandos de atribuiçãoquedefinemosvalores de r e de A
Salvando e executando o programa salvar abrir salvar e executar novo arquivo executar
Cálculo da área de um círculo • Para fazer o cálculo para um círculo de raio 16cm, bastaria mudar o valor de r no programa e executá-lo novamente. • Entretanto, o que gostaríamos é que o nosso programa pudesse ler o valor do raio do círculo e exibir o valor calculado para a área do círculo. UFMG DCC001 2013-1
Cálculo da área de um círculo comentário comando de leitrura comando de escrita
Comando de Entrada de Dados • Sintaxe geral do comando input: • <variávelAlvo> = input( <frase> ) • Onde: • <variávelAlvo> é uma variável que representa uma posição da memória que irá armazenar o valor digitado. • <frase> é uma string que informa ao usuário qual o dado que ele deve digitar nesta interação. A string deve estar entre aspas duplas.
Comando de Entrada de Dados • Suponha que o usuário deseje armazenar o valor 50, referente à quantidade de alunos em uma sala de aula, na variável Q. • Isso pode ser realizado pela instrução: • Q = input(“Digite a quantidade de alunos”)
Comando de Saída de Dados • Um valor ser armazenado em uma variável pode ser exibido na tela do computador, por meio docomando printf, o qual tem a seguinte sintaxe geral: • printf(<frase>, <lista de expressões>) • Exemplo: • printf(“Número de alunos = %g”, Q)
Comando de Saída de Dados • <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. • existem vários outros códigos de formato como %d, %f ou %s, que vamos explorar em exercícios e em outros exemplos, futuramente.
Comando de Saída de Dados • <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 que é impressa é obtida pela substituição do valor decada expressão na posição marcada pelo código de formato.
Comando de Saída de Dados • Exemplo: • Suponha:X = 30; Y = 60; • O que é impresso pelo comando a seguir? • printf(“PRIMEIRO:%gSEGUNDO :%g”, X, Y) • Como você escreveria um comando para imprimir os valores das raízes no seu programa da Equação de 2º grau?
Exercícios • Codifique os programas a seguir em Scilab. Utilize comentários e mensagens textuais para o usuário • Oprograma deve ler dois valores, calcular a soma desses valores, armazenando-a em uma variável e imprimir o resultado. • Oprograma deve ler dois valores, calcular o resultado da divisão do primeiro pelo segundo e imprimir o resultado.
Exercícios • O programa deve imprimir o valor da hipotenusa de um triangulo retângulo, calculada de acordo com os valores lidos de seus catetos. • O programa deve ler um valor de temperatura em graus Celsius (°C) e calcular e imprimir a temperatura correspondente, em graus Farenheit (°F) e em graus Kelvin (°K).OBS.: °F = °C × 1.8 + 32°K = °C + 273.15