Curso de scripvox - aula11 (Por Fabiano Ferreira)

    Trabalhando com arquivos

    Nesta aula e nas subsequentes, vamos falar sobre arquivos.
    Falando de scripvox, trabalhar com arquivos  de extrema
importncia, j que a linguagem no possui alguns recursos comuns em
outras linguagens como vetores e matrizes.
    Com um pouco de esforso e criatividade, podemos utilizar arquivos
para tentar suprir, de alguma maneira, os recursos que no existem no
scripvox.
    Mas no  s isso.
Guardando informaes em arquivos, podemos armazenar informaes, mesmo
que o programa no esteja em execusso, ao contrrio da varivel, que 
apagada quando o programa  desativado.
    E  assim que vamos comear: aprendendo a guardar e ler as
informaes guardadas em um arquivo.

    Antes de comear, precisamos saber algumas coisas importantes:
    *Vamos considerar arquivo, todo tipo de informao guardada em disco,
seja disco rgido, pendrive, cd, no importa... toda informao que
estiver armazenada em uma mdia ser considerada arquivo;
    *Existem dois tipos de arquivos: o arquivo tipo texto e o arquivo
binrio;
    Aprofundarmos nesses dois tipos fugiria ao objetivo da nossa aula,
mas, basta entendermos que, num arquivo texto, temos caracteres
compreensveis para ns, seres humanos.
    Num arquivo binrio, temos gravados conjuntos de bits, s
compreensveis pela aplicao que o acessa.
    O scripvox s trabalha com arquivos tipo texto.
    Dito isto, vamos ao que interessa!

    *Abrindo um arquivo para gravao;
    Quando abrimos um arquivo, seja para gravao ou para processamento,
utilizamos um nmero que varia de 0a 9.
Esse nmero funciona como se fosse um nome lgico para o arquivo.
Toda vez que formos ler ou escrever informaes nesse arquivo, nos
referenciamos a ele pelo nmero atribudo e no pelo seu nome.

    O comando utilizado para abertura de arquivo  o comando abre.
A forma de utiliz-lo  a seguinte:
Abre, um espao, sinal de jogo da velha, um nmero de 0 a 9, um espao,
um nome de arquivo entre aspas e sinal de  comercial.

No necessitando mais do arquivo, devemos fech-lo.
Para isso, utilizamos o comando fecha, assim:
Fecha, um espao, sinal de jogo da velha e o nmero que foi atribudo ao
arquivo no comando abre.

Vejamos o exemplo abaixo:

Abre #1 "Arquivo de teste.txt"&
Fecha #1

    O exemplo acima cria um arquivo chamado 'arquivo de teste.txt', sem
contedo.
    Se nenhuma pasta for especificada, o arquivo  criado na pasta de
trabalho.
    Podemos especificar uma pasta, assim:

Abre #1 "c:\teste.txt"&
Fecha #1

O exemplo acima cria na raz da unidade c um arquivo chamado
'teste.txt'.

    Agora que j sabemos criar um arquivo, vamos ver como armazenar
informaes nele.

    Aps abrir o arquivo, para escrever uma linha, utilizamos o comando
escreve, o mesmo que utilizamos para exibir strings no vdeo.
    A nica diferena  que antes da string a escrever, indicamos o
nmero atribudo ao arquivo, assim:
Escreve #1 "Estou aprendendo a guardar informaes em arquivo."
    O exemplo acima escreve em um arquivo que foi associado ao nmero 1
a frase "Estou aprendendo a guardar informaes em arquivo."

    Um outro cdigo vlido seria:

Escreve #1 "Estou aprendendo a guardar informaes em arquivo "&
Escreve #1 "e estou achando muito legal."
    O cdigo grava no arquivo uma linha com a string 'Estou aprendendo a
guardar informaes em arquivo e estou achando muito legal.'
    Como vimos no incio do curso, o  comercial no fim da linha do
comando escreve faz com que o interpretador interprete a prxima linha
como uma continuao da linha atual.

    Vejamos mais um exemplo:

Escreve "Escreve uma frase:"
L f
Escreve "Informe o nome do arquivo a gravar com a frase que voc
escreveu:"
L a

Abre #1 a &
Escreve #1 f
Fecha #1
Escreve "Arquivo gravado."
Termina mudo

    O exemplo acima recebe uma frase e armazena na varivel f.
    Depois, recebe um nome de arquivo e guuarda na varivel a.
    Em seguida, criamos um arquivo com o comando abre.
O arquivo ter o nome passado pelo usurio na varivel a.
    Escrevemos ento, o contedo da varivel f no arquivo e depois o
fechamos.
Nesse momento, o arquivo automaticamente  salvo.

    Se o arquivo a ser aberto para gravao j existir, o mesmo no 
destrudo, mas tem o novo contedo acrescentado ao seu final.
    Assim terminamos a aula dessa semana.

    Exerccio:
    Faa um programa que receba  4 notas de 0 a 10, encontre a mdia e
avalie se o aluno foi aprovado ou reprovado.
    As notas, a mdia e a situao do aluno (aprovado ou reprovado)
devero ser gravadas no arquivo notas.txt
    O programa deve tambm receber no incio o nome do aluno avaliado.
    O arquivo notas.txt dever ser estruturado como no exemplo abaixo:

Fabiano dos santos Ferreira
Nota1: 6
Nota2: 6
Nota3: 8
Nota4: 8
Mdia: 7
Aprovado

    Critrios de avaliao:
    Para encontrar a mdia, somamos as 4 notas e dividimos o resultado
por 4.
    Se o resultado da diviso for menor que 6, o aluno foi reprovado.
Seno, aprovado.

    Considere que todas as notas so nmeros pares e inteiros, contudo,
nada impede que voc tente quebrar os limites impostos pelo scripvox.

    *Praso de entrega da resposta at o dia 23/10 enviando para o
seguinte endereo:
qst-scripvox@sanfersite.com.br

    Boa sorte!
