Diferenças entre edições de "Programas"

De GNU Octave
Ir para: navegação, pesquisa
(Exemplo)
(Análise do código)
Linha 33: Linha 33:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== Análise do código ====
+
===== Análise do código =====
  
 
Analisando a script anterior, podemos desde já salientar alguns aspectos importantes.
 
Analisando a script anterior, podemos desde já salientar alguns aspectos importantes.
  
# Pode-se (e deve-se!) acrescentar comentários. Os comentários são escritos após o símbolo '%'
+
# Pode-se (e deve-se!) acrescentar comentários. Os comentários são escritos após o símbolo '#' ou '%'. Após este símbolo e até ao fim da linha, é considerado comentário.
 
# As variáveis são GLOBAIS, isto é, se já existir uma variável ''area'' a mesma é alterada ao executar esta script, e perde-se o valor anterior.
 
# As variáveis são GLOBAIS, isto é, se já existir uma variável ''area'' a mesma é alterada ao executar esta script, e perde-se o valor anterior.
 
# Ao executar a script, usa-se ';' no final das instruções para suprimir a apresentação desse resultado. O mesmo acontece quando se usa a linha de comandos. Experimente a diferença entre usar ou não o ';' no fim das instruções.
 
# Ao executar a script, usa-se ';' no final das instruções para suprimir a apresentação desse resultado. O mesmo acontece quando se usa a linha de comandos. Experimente a diferença entre usar ou não o ';' no fim das instruções.
Linha 46: Linha 46:
 
octave:3>
 
octave:3>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
===== Importância dos comentários =====
 +
 +
Os comentários incluídos nos programas são fundamentais. Todas as linguagens de programação incluem o suporte à inclusão de comentários porque... ''os programas geralmente são complexos e difíceis de ler''! Os comentários são apenas para serem interpretados pelos humanos e não pelo computador. Por isso, devem ser legíveis e explicar o que faz o programa e como o faz.
 +
 +
Até os programadores têm dificuldade em ler o seu próprio código após algum tempo. Por isso, é fundamental escrever comentários na altura em que se escreve o código e justificar as decisões tomadas.
 +
 +
Na [[Definição de funções]] voltamos a falar de comentários, pois também podem ser utilizados para explicar ao utilizador o que faz uma função.
  
 
=== Edição de scripts (em Windows) ===
 
=== Edição de scripts (em Windows) ===

Revisão das 13h11min de 7 de janeiro de 2013

Para resolver problemas mais ou menos complexos, em vez de se escreverem os comandos no prompt do Octave, podemos escrever os mesmos numa script. Chama-se script a esta sequência de comandos guardados. Estão prontos a serem executados a qualquer momento e podem-se enviar para outros colegas, para executarem a mesma script. Os comandos são guardados num documento com a extensão .m. Tudo o que se escreve no prompt, pode-se escrever numa script.

Portanto, sempre que haja necessidade de repetir diversas vezes as mesmas operações, torna-se mais interessante juntar essas operações numa script.

Uma script é invocada pelo seu nome, sem a extensão .m. Ao ser invocada, todas as instruções são processadas, como se tivessem sido lançadas no prompt do Octave.

Exemplo

A primeira script que vamos escrever sistematiza o cálculo da área de um retângulo. Obviamente é um cálculo muito simples, mas a ideia é começar com uma script muito pequena.

# minha primeira script em octave
# para executar a script, basta fazer no prompt do octave:
# arearetangulo
#
largura = input("Largura?\n");
comprimento = input("Comprimento?\n");
area = largura * comprimento;
printf("A área é: %g\n", area);

Em primeiro lugar, é preciso escrever as instruções apresentadas num editor de texto qualquer. Qualquer editor serve, desde que guarde o documento em formato de texto. TEM QUE FICAR GUARDADO COM O NOME arearetangulo.m e obrigatoriamente na pasta onde está a executar o Octave.

Depois de guardada a script na pasta atual do Octave (reveja a forma de saber e mudar a pasta atual) inicia-se a mesma utilizando o nome (sem a extensão). Exemplo:

octave:2> arearetangulo
Largura?
90
Comprimento?
120
A área é: 10800
Análise do código

Analisando a script anterior, podemos desde já salientar alguns aspectos importantes.

  1. Pode-se (e deve-se!) acrescentar comentários. Os comentários são escritos após o símbolo '#' ou '%'. Após este símbolo e até ao fim da linha, é considerado comentário.
  2. As variáveis são GLOBAIS, isto é, se já existir uma variável area a mesma é alterada ao executar esta script, e perde-se o valor anterior.
  3. Ao executar a script, usa-se ';' no final das instruções para suprimir a apresentação desse resultado. O mesmo acontece quando se usa a linha de comandos. Experimente a diferença entre usar ou não o ';' no fim das instruções.
octave:1> b=10
b =  10
octave:2> b=b+20;
octave:3>
Importância dos comentários

Os comentários incluídos nos programas são fundamentais. Todas as linguagens de programação incluem o suporte à inclusão de comentários porque... os programas geralmente são complexos e difíceis de ler! Os comentários são apenas para serem interpretados pelos humanos e não pelo computador. Por isso, devem ser legíveis e explicar o que faz o programa e como o faz.

Até os programadores têm dificuldade em ler o seu próprio código após algum tempo. Por isso, é fundamental escrever comentários na altura em que se escreve o código e justificar as decisões tomadas.

Na Definição de funções voltamos a falar de comentários, pois também podem ser utilizados para explicar ao utilizador o que faz uma função.

Edição de scripts (em Windows)

Para editar as scripts, use um editor simples como o Notepad em Windows. Confirme que as script estão a ser gravadas com a extensão .m. Confirme sempre, dentro do Octave que as scripts existem, fazendo:

dir *.m

Se quiser investir um pouco de tempo, explore a GUI (interface gráfica) existente para Windows. Em vez de arrancar o Octave com o atalho Octave 3.6.2, escolha no menu iniciar, dentro de Todos os Programas, e depois dentro de GNU Octave (3.6.2) a programa Octave 3.6.2 (Graphical User-Interface).

É uma interface ainda pouco robusta, mas que inclui um editor. Esse editor é sensível à sintaxe do Octave. Na imagem seguinte, mostra-se esta GUI, com o editor de scripts aberto.

Octave gui com editor.png

Edição de scripts (em Linux)

No Linux, sugere-se a utilização do QtOctave.

Exercícios

  1. Escreva uma script para calcular a velocidade de um veículo, dada a distância percorrida em Km e o tempo em minutos.
  2. Escreva uma script que calcula a idade de uma pessoa, sabendo o ano de nascimento
  3. Dado o valor em Fahreneit, calcule a correspondente temperatura em Celcius, escrevendo uma script para o efeito.

Âmbito das variáveis

Na seguinte script idade.m, utiliza-se uma variável idade que tem o mesmo nome que a script. Neste caso, temos uma sobreposição que é vivamente desaconselhada. No caso concreto, depois de correr a script, a mesma não poderá ser novamente executada, porque idade passa a ser uma referência para a variável e não para a script.

# idade.m
# script octave
# calcular a idade de uma pessoa
#
# ESTA SCRIPT TEM UM ERRO.
# Esta script usa uma variável global 'idade' que é igual ao nome da script 'idade.m'.
# Não se deve usar variáveis em scripts iguais aos nomes das scripts.
#
# Desta forma, só se consegue chamar a script uma vez
# Depois disso, 'idade' passa a ser uma referência para a variável e não para a script.
ano = input("Ano de nascimento?\n");
idade = 2012 - ano;
printf("Você tem %d anos de idade\n", idade);