Ler e apresentar dados
O Octave permite interagir com o utilizador através de funções de input (leitura de dados) e output (apresentação de dados).
Índice
Ler dados
A forma mais simples de ler dados do utilizador, é através da instruções input.
octave:8> numero = input ("Escolha um número entre 1 e 100! ") Escolha um número entre 1 e 100! 25 numero = 25
A instrução input apresenta a mensagem e fica a agurdar que seja introduzido algo seguido de Enter.
O valor lido é atribuído à variável numero, como apresentado no exemplo.
Outros valores
Com a instrução input podem-se ler outros valores, como vetores ou matrizes.
octave:15> v = input("Introduza as temperaturas desta semana: ") Introduza as temperaturas desta semana: [23 22 24 26 23 22 21] v = 23 22 24 26 23 22 21
O Octave tenta converter o valor lido para número, vetor ou matriz. Se quiser ler uma string, isto é, se quiser que a string seja atribuída à variável (e não o número que ela representa), acrescente o parâmetro "s". Ou seja,
octave:19> nome = input("Diga o seu nome ", "s") Diga o seu nome Camilo Castelo Branco nome = Camilo Castelo Branco
Exercícios
- Leia dois números e multiplique-os.
- Leia o ano de nascimento e calcule a idade
- Leia o nome de um filme e calcule o comprimento do mesmo.
- Leia um número e um vetor, e multiplique o número pelo vetor.
- Leia um vetor e uma matriz, e multiplique um pelo outro.
Menus
O Octave permite de uma forma muito simples apresentar um menu.
octave:5> menu("Sexo", "Masculino", "Feminino") Sexo [ 1] Masculino [ 2] Feminino pick a number, any number: 2 ans = 2
Exercícios
- Apresente um menu para escolher entre graus ou radianos.
- Apresente um menu para escolher o dia da semana.
Apresentar dados formatados
Das várias formas de apresentar resultados em Octave, a instrução printf é aquela que nos dá mais flexibilidade.
A instrução printf recebe uma template, e os valores a apresentar. Exemplo:
octave:4> x = 18; octave:5> printf("Eu tenho %d anos de idade.", x); Eu tenho 18 anos de idade.octave:6>
No exemplo anterior, a template inclui a indicação %d onde será apresentado o valor (inteiro) da variável x.
Repare que o prompt do Octave octave:6> apareceu logo a seguir à mensagem. Se acrescentar na mensagem o carater especial \n está a acrescentar uma mudança de linha.
octave:6> printf("Eu tenho %d anos de idade.\n", x); Eu tenho 18 anos de idade. octave:7>
Na mesma instrução, podem-se apresentar vários dados. Exemplo:
octave:15> largura = 3; octave:16> comprimento = 4; octave:17> printf("A área de um rectângulo com %d de largura e %d de comprimento é %d.\n", largura, comprimento, largura*comprimento); A área de um rectângulo com 3 de largura e 4 de comprimento é 12.
Além de %d para inteiros, usa-se frequentemente o %f para reais, %s para strings e %% para escrever o símbolo %.