aula 01 variáveis, expressões , atribuição, e/ s

44
Aula 01 Variáveis, Expressões, Atribuição, E/S 1 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I – BCC701 www.decom.ufop.br/moodle

Upload: austin-chaney

Post on 01-Jan-2016

42 views

Category:

Documents


5 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Aula 01

Variáveis, Expressões, Atribuição, E/S

1

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM

Programação de Computadores I – BCC701www.decom.ufop.br/moodle

Page 2: Aula 01 Variáveis, Expressões , Atribuição, E/ S

TópicosAmbiente ScilabVariáveis, expressões, comando de atribuição

Entrada e Saída básica

UFMG DCC001 2013-1 2

Page 3: Aula 01 Variáveis, Expressões , Atribuição, E/ S

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

Ambiente de Programação Scilab

Page 4: Aula 01 Variáveis, Expressões , Atribuição, E/ S

4

Ambiente de Programação Scilab

console: janela de comandos

histórico de comandos

navegador de variáveisjanela de

arquivos

prompt de comandos

Page 5: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Variáveis e Atribuição

UFMG DCC001 2013-1

5

a é uma variável que passa a existir,recebe e guarda um

valor

Variáveis criadas

Histórico O Scilab “ecoa” o valor recebido pela

variável

Page 6: Aula 01 Variáveis, Expressões , Atribuição, E/ S

UFMG DCC001 2013-1 6

Variáveis e Comandos de Atribuição - 2

O valor atribuído pode ser uma expressão aritmética com variáveis já conhecidas

^ denotaexponenciação

* denotamultiplicação

Literal

Page 7: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Painel Navegador de Variáveis

UFMG DCC001 2013-1 7

Page 8: Aula 01 Variáveis, Expressões , Atribuição, E/ S

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 caracteresUFMG DCC001 2013-1 8

Page 9: Aula 01 Variáveis, Expressões , Atribuição, E/ S

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

9

Page 10: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Comando de Atribuição

UFMG DCC001 2013-1 10

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.

Page 11: Aula 01 Variáveis, Expressões , Atribuição, E/ S

11

Expressão – Variável - Atribuição

O Scilab usa uma variável default, ans, quando uma expressão é digitada no prompte não é atribuída a uma variável.

O segundo fator está ausente na expressão aritmética.

Page 12: Aula 01 Variáveis, Expressões , Atribuição, E/ S

12

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 !

Page 13: Aula 01 Variáveis, Expressões , Atribuição, E/ S

13

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.

Page 14: Aula 01 Variáveis, Expressões , Atribuição, E/ S

-->d = a+x !--error 4 Undefined variable: x

-->b = 1024-->b = 2*b b = 2048.

UFMG DCC001 2013-1 14

Variáveis e Atribuição - 2

Todas as variáveis em uma expressão devem estar definidas, ou o

Scilab reclamaA expressão pode conter a própria variável alvo.

Page 15: Aula 01 Variáveis, Expressões , Atribuição, E/ S

-->a = %pi a = 3.1415927

-->b = 2*%pi; -->c = cos(a) + sqrt(b) c = 1.5066283

UFMG DCC001 2013-1 15

Variáveis e Atribuição – 3

“;” suprime o eco automático

Valor pré-definido como a melhor aproximação em ponto

flutuante de 64 bits de

O Scilab oferece um sem-número de funções pré-definidas como

cos e sqrt (square root).

Page 16: Aula 01 Variáveis, Expressões , Atribuição, E/ S

A linguagem SciLab possui os operadores aritméticos:

16

Operadores Aritméticos

Operador AritméticoDenotação em

SciLabExemplo 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

Page 17: Aula 01 Variáveis, Expressões , Atribuição, E/ S

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 17

3248423 409622 1243

Page 18: Aula 01 Variáveis, Expressões , Atribuição, E/ S

UFMG DCC001 2013-1 18

Precedência entre Operadores

Precedência Operação

1a Potenciação

2a Multiplicação, divisão

3a Adição, subtração

Parênteses podem alterar prioridades

Page 19: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Prioridades e Parênteses

UFMG DCC001 2013-1 19

-->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

“ans” é o nome de uma variável que recebe

valores de expressões sem variável alvo

Page 20: Aula 01 Variáveis, Expressões , Atribuição, E/ S

OBS: Nas funções trigonométricas os ângulos devem ser usados em

radianos.20

Algumas funções elementares

FunçãoDenotação em

SciLabExemplo Resultado

Resto da Divisão Inteira

modulo modulo(8, 3) 2

Raiz Quadrada sqrt sqrt(32) 5.6568542

Valor Absoluto abs abs(-8) 8

Coseno cos cos(30) 0.1542514

Tangente tan tan(7.3456) 1.7945721

Seno sin sin(%pi) 1.225D-16

Page 21: Aula 01 Variáveis, Expressões , Atribuição, E/ S

21

Valores pré-definidosDenotaçã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.

Page 22: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Help - Funções Elementares do Scilab

UFMG DCC001 2013-1 22

Page 23: Aula 01 Variáveis, Expressões , Atribuição, E/ S

1. Calcule as expressões matemáticas

23

Exercícios

Page 24: Aula 01 Variáveis, Expressões , Atribuição, E/ S

2. Calcule as expressões matemáticas

24

Exercícios

Page 25: Aula 01 Variáveis, Expressões , Atribuição, E/ S

3. Calcule as expressões matemáticas, definindo

valores para a, b, c e d

25

Exercícios

Page 26: Aula 01 Variáveis, Expressões , Atribuição, E/ S

SciNotesMeu primeiro programa

26

Page 27: Aula 01 Variáveis, Expressões , Atribuição, E/ S

UFMG DCC001 2013-1 27

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 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.

Page 28: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Programas Scilab 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

UFMG DCC001 2013-1 28

Page 29: Aula 01 Variáveis, Expressões , Atribuição, E/ S

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

Criando um Programa

Page 30: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Abrindo o SciNotes

UFMG DCC001 2013-1 30

Editor de Programas

Page 31: Aula 01 Variáveis, Expressões , Atribuição, E/ S

31

Janela do SciNotes

Page 32: Aula 01 Variáveis, Expressões , Atribuição, E/ S

32

Cálculo da área do círculo

comentário

comandos de atribuição que definem os valores de r e de A

Page 33: Aula 01 Variáveis, Expressões , Atribuição, E/ S

33

Salvando e executando o programa

abrir salvar e executa

r

novo arquivo executar

salvar

Page 34: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Cálculo da área de um círculo

UFMG DCC001 2013-1 34

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.

Page 35: Aula 01 Variáveis, Expressões , Atribuição, E/ S

35

Cálculo da área de um círculo comentário

comando de leitrura

comando de escrita

Page 36: Aula 01 Variáveis, Expressões , Atribuição, E/ S

36

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.

Page 37: Aula 01 Variáveis, Expressões , Atribuição, E/ S

37

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”)

Page 38: Aula 01 Variáveis, Expressões , Atribuição, E/ S

38

Comando de Saída de Dados

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)

Page 39: Aula 01 Variáveis, Expressões , Atribuição, E/ S

39

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.

Page 40: Aula 01 Variáveis, Expressões , Atribuição, E/ S

40

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 de cada expressão na posição marcada pelo código de formato.

Page 41: Aula 01 Variáveis, Expressões , Atribuição, E/ S

41

Comando de Saída de Dados

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?

Page 42: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Exercícios

42

Page 43: Aula 01 Variáveis, Expressões , Atribuição, E/ S

Codifique os programas a seguir em Scilab. Utilize comentários e mensagens textuais para o usuário

1. O programa deve ler dois valores, calcular a soma desses valores, armazenando-a em uma variável e imprimir o resultado.

2. O programa deve ler dois valores, calcular o resultado da divisão do primeiro pelo segundo e imprimir o resultado.

43

Exercícios

Page 44: Aula 01 Variáveis, Expressões , Atribuição, E/ S

3. O programa deve imprimir o valor da hipotenusa de um triangulo retângulo, calculada de acordo com os valores lidos de seus catetos.

4. 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

Exercícios