2. Variáveis, atribuição, entrada e saída - DECOM-UFOP

Propaganda
Universidade Federal de Ouro Preto - UFOP
Departamento de Computação - DECOM
Programação de Computadores I – BCC701
www.decom.ufop.br/moodle
1
 Ambiente
Scilab
 Variáveis, expressões,
comando de atribuição
 Entrada e Saída básica
2
UFMG DCC001 2013-1



Scilab é um ambiente de programação
voltado para cientistas e engenheiros
Foi criado em 1990, por pesquisadores do
INRIA, sendo baseado no sistema MatLAB.
É gratuito: download www.scilab.org
3
prompt de comandos
navegador de
variáveis
janela de
arquivos
console: janela
de comandos
histórico de
comandos
4
a é uma variável
que passa a existir,
recebe e guarda um
valor
O Scilab “ecoa” o
valor recebido pela
variável
Variáveis
criadas
Histórico
5
Literal
^ denota
exponenciação
* denota
multiplicação
O valor atribuído pode ser uma expressão
aritmética com variáveis já conhecidas
6
UFMG DCC001 2013-1
7
UFMG DCC001 2013-1



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
8
UFMG DCC001 2013-1

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
9





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.
10
UFMG DCC001 2013-1
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.
11
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 !
12
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.
13
-->d = a+x
!--error 4
Undefined variable: x
-->b = 1024
-->b = 2*b
A expressão pode conter b =
a própria variável alvo.
2048.
Todas as variáveis em
uma expressão devem
estar definidas, ou o
Scilab reclama
14
UFMG DCC001 2013-1
-->a = %pi
a =
3.1415927
-->b = 2*%pi;
Valor pré-definido como a
melhor aproximação em ponto
flutuante de 64 bits de 
“;” suprime o eco
automático
-->c = cos(a) + sqrt(b)
c =
O Scilab oferece um sem-número
1.5066283
de funções pré-definidas como
cos e sqrt 15(square
root).
UFMG DCC001 2013-1

A linguagem SciLab possui os operadores aritméticos:
Operador Aritmético
Denotação em SciLab
Exemplo
Resultado
Soma
+
7+5
12
Subtração
-
10 – 9
1
Multiplicação
*
22 * 10
220
Divisão
/
50 / 2
25
Menos Unário
-
-26
-26
Exponenciação
(potenciação)
^
8^2
64
16
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
?
2  4  8  4  32
3
2
34
 2  4096
12
17
UFMG DCC001 2013-1
Precedência
Operação
1a
Potenciação
2a
Multiplicação,
divisão
Adição,
subtração
3a

Parênteses podem alterar prioridades
UFMG DCC001 2013-1
18
-->2^3*4
ans =
-->2^(3*4)
ans =
-->2^3^4
ans =
-->2^(3^4)
ans =
-->(2^3)^4
ans =
-->2*3+4
ans =
-->2*(3+4)
ans =
32.
4096.
“ans” é o nome de uma
variável que recebe
valores de expressões
sem variável alvo
2.418D+24
2.418D+24
4096.
10.
14.
Notação Scilab (e Fortran,
e C, e Java, e ...) para
2.418 x 1024
UFMG DCC001 2013-1
19
Função
Resto da Divisão
Inteira
Raiz Quadrada
Valor Absoluto
Coseno
Tangente
Seno
Denotação em
SciLab
Exemplo
Resultado
modulo
modulo(8, 3)
2
sqrt
abs
cos
tan
sin
sqrt(32)
abs(-8)
cos(30)
tan(7.3456)
sin(%pi)
5.6568542
8
0.1542514
1.7945721
1.225D-16
 OBS: Nas funções trigonométricas os ângulos devem ser usados em radianos.
20
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.
21
22
UFMG DCC001 2013-1
1.
Calcule as expressões matemáticas
23
2.
Calcule as expressões matemáticas
24
3.
Calcule as expressões matemáticas, definindo valores
para
a, b, c e d
25
26

Á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 quisermos calcular a área de um círculo com 16cm de
raio? Teremos que digitar tudo de novo:
-->A = %pi * 16^2

Para evitar isso, vamos escrever um programa que faz esse cálculo.
27
UFMG DCC001 2013-1




Programas são arquivos texto, contendo
somente caracteres sem formataçã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
28
UFMG DCC001 2013-1

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
29
Editor de
Programas
30
UFMG DCC001 2013-1
31
comentário
comandos de atribuição que
definem os valores de r e de A
32
novo
arquivo
abrir
salvar
executar
salvar e
executa
r
33


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.
34
UFMG DCC001 2013-1
comentário
comando de
leitrura
comando de
escrita
35
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.
36
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”)
37
Um valor ser armazenado em uma variável pode
ser exibido na tela do computador, por meio do
comando printf, o qual tem a seguinte sintaxe
geral:
printf(<frase>, <lista de expressões>)
Exemplo:
printf(“Número de alunos = %g”, Q)
38
<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.
39
<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 de cada expressão na
posição marcada pelo código de formato.
40
Exemplo:
Suponha: X = 30; Y = 60;
O que é impresso pelo comando a seguir?
printf(“PRIMEIRO:%g SEGUNDO :%g”, X, Y)
Como você escreveria um comando para
imprimir os valores das raízes no seu programa
da Equação de 2º grau?
41
42

1.
2.
Codifique os programas a seguir em Scilab. Utilize
comentários e mensagens textuais para o usuário
O programa deve ler dois valores, calcular a soma
desses valores, armazenando-a em uma variável
e imprimir o resultado.
O programa deve ler dois valores, calcular o
resultado da divisão do primeiro pelo segundo e
imprimir o resultado.
43
3.
4.
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
44
Download