Diferenças entre edições de "Ler e apresentar dados"
(→Menus) |
(→Apresentar dados formatados) |
||
(Há 2 edições intermédias do mesmo utilizador que não estão a ser apresentadas) | |||
Linha 58: | Linha 58: | ||
Um menu pode ter quantas opções desejar. | Um menu pode ter quantas opções desejar. | ||
+ | |||
+ | ==== Um simples Sim ou não ==== | ||
+ | |||
+ | <syntaxhighlight> | ||
+ | octave:2> continuar = yes_or_no("Quer continuar? ") | ||
+ | Quer continuar? (yes or no) yes | ||
+ | continuar = 1 | ||
+ | octave:3> continuar = yes_or_no("Quer continuar? ") | ||
+ | Quer continuar? (yes or no) no | ||
+ | continuar = 0 | ||
+ | octave:4> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Exercícios === | ||
+ | |||
+ | # Apresente um menu para escolher entre graus ou radianos. | ||
+ | |||
+ | <syntaxhighlight> | ||
+ | octave:4> unidade = menu("Indique a unidade para ângulos", "Graus", "Radianos") | ||
+ | Indique a unidade para ângulos | ||
+ | |||
+ | [ 1] Graus | ||
+ | [ 2] Radianos | ||
+ | |||
+ | pick a number, any number: 2 | ||
+ | unidade = 2 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | # Apresente um menu para escolher o dia da semana. | ||
<syntaxhighlight> | <syntaxhighlight> | ||
Linha 74: | Linha 103: | ||
dia = 6 | dia = 6 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Apresentar dados formatados == | == Apresentar dados formatados == | ||
Linha 101: | Linha 125: | ||
octave:7> | octave:7> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
Na mesma instrução, podem-se apresentar vários dados. Exemplo: | Na mesma instrução, podem-se apresentar vários dados. Exemplo: | ||
Linha 112: | Linha 137: | ||
Além de <syntaxhighlight enclose="none">%d</syntaxhighlight> para inteiros, usa-se frequentemente o <syntaxhighlight enclose="none">%f</syntaxhighlight> para reais, <syntaxhighlight enclose="none">%s</syntaxhighlight> para strings e <syntaxhighlight enclose="none">%%</syntaxhighlight> para escrever o símbolo <syntaxhighlight enclose="none">%</syntaxhighlight>. | Além de <syntaxhighlight enclose="none">%d</syntaxhighlight> para inteiros, usa-se frequentemente o <syntaxhighlight enclose="none">%f</syntaxhighlight> para reais, <syntaxhighlight enclose="none">%s</syntaxhighlight> para strings e <syntaxhighlight enclose="none">%%</syntaxhighlight> para escrever o símbolo <syntaxhighlight enclose="none">%</syntaxhighlight>. | ||
+ | |||
+ | Pode-se também acrescentar outras opções, como o número de casas decimais a apresentar. | ||
+ | |||
+ | <syntaxhighlight> | ||
+ | octave:12> printf("O Rui tem %d anos e gosta do %.2f\n", x, pi); | ||
+ | O Rui tem 18 anos e gosta do 3.14 | ||
+ | octave:13> | ||
+ | </syntaxhighlight> |
Edição atual desde as 16h16min de 7 de janeiro de 2013
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 aguardar 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> sexo = menu("Sexo", "Masculino", "Feminino") Sexo [ 1] Masculino [ 2] Feminino pick a number, any number: 2 sexo= 2
Um menu pode ter quantas opções desejar.
Um simples Sim ou não
octave:2> continuar = yes_or_no("Quer continuar? ") Quer continuar? (yes or no) yes continuar = 1 octave:3> continuar = yes_or_no("Quer continuar? ") Quer continuar? (yes or no) no continuar = 0 octave:4>
Exercícios
- Apresente um menu para escolher entre graus ou radianos.
octave:4> unidade = menu("Indique a unidade para ângulos", "Graus", "Radianos") Indique a unidade para ângulos [ 1] Graus [ 2] Radianos pick a number, any number: 2 unidade = 2
- Apresente um menu para escolher o dia da semana.
octave:1> dia = menu("Indique o dia da semana", "Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado") Indique o dia da semana [ 1] Domingo [ 2] Segunda-feira [ 3] Terça-feira [ 4] Quarta-feira [ 5] Quinta-feira [ 6] Sexta-feira [ 7] Sábado pick a number, any number: 6 dia = 6
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 %.
Pode-se também acrescentar outras opções, como o número de casas decimais a apresentar.
octave:12> printf("O Rui tem %d anos e gosta do %.2f\n", x, pi); O Rui tem 18 anos e gosta do 3.14 octave:13>