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
importância, já que a linguagem não 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 não existem no
scripvox.
    Mas não é só isso.
Guardando informações em arquivos, podemos armazenar informações, mesmo
que o programa não esteja em execussão, ao contrário da variável, que é
apagada quando o programa é desativado.
    E é assim que vamos começar: aprendendo a guardar e ler as
informações guardadas em um arquivo.

    Antes de começar, precisamos saber algumas coisas importantes:
    *Vamos considerar arquivo, todo tipo de informação guardada em disco,
seja disco rígido, pendrive, cd, não importa... toda informação que
estiver armazenada em uma mídia será considerada arquivo;
    *Existem dois tipos de arquivos: o arquivo tipo texto e o arquivo
binário;
    Aprofundarmos nesses dois tipos fugiria ao objetivo da nossa aula,
mas, basta entendermos que, num arquivo texto, temos caracteres
compreensíveis para nós, seres humanos.
    Num arquivo binário, temos gravados conjuntos de bits, só
compreensíveis pela aplicação que o acessa.
    O scripvox só trabalha com arquivos tipo texto.
    Dito isto, vamos ao que interessa!

    *Abrindo um arquivo para gravação;
    Quando abrimos um arquivo, seja para gravação ou para processamento,
utilizamos um número que varia de 0a 9.
Esse número funciona como se fosse um nome lógico para o arquivo.
Toda vez que formos ler ou escrever informações nesse arquivo, nos
referenciamos a ele pelo número atribuído e não pelo seu nome.

    O comando utilizado para abertura de arquivo é o comando abre.
A forma de utilizá-lo é a seguinte:
Abre, um espaço, sinal de jogo da velha, um número de 0 a 9, um espaço,
um nome de arquivo entre aspas e sinal de é comercial.

Não necessitando mais do arquivo, devemos fechá-lo.
Para isso, utilizamos o comando fecha, assim:
Fecha, um espaço, sinal de jogo da velha e o número que foi atribuído 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
conteúdo.
    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 raíz da unidade c um arquivo chamado
'teste.txt'.

    Agora que já sabemos criar um arquivo, vamos ver como armazenar
informações nele.

    Após abrir o arquivo, para escrever uma linha, utilizamos o comando
escreve, o mesmo que utilizamos para exibir strings no vídeo.
    A única diferença é que antes da string a escrever, indicamos o
número atribuído ao arquivo, assim:
Escreve #1 "Estou aprendendo a guardar informações em arquivo."
    O exemplo acima escreve em um arquivo que foi associado ao número 1
a frase "Estou aprendendo a guardar informações em arquivo."

    Um outro código válido seria:

Escreve #1 "Estou aprendendo a guardar informações em arquivo "&
Escreve #1 "e estou achando muito legal."
    O código grava no arquivo uma linha com a string 'Estou aprendendo a
guardar informações em arquivo e estou achando muito legal.'
    Como vimos no início do curso, o é comercial no fim da linha do
comando escreve faz com que o interpretador interprete a próxima linha
como uma continuação 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 variável f.
    Depois, recebe um nome de arquivo e guuarda na variável a.
    Em seguida, criamos um arquivo com o comando abre.
O arquivo terá o nome passado pelo usuário na variável a.
    Escrevemos então, o conteúdo da variável f no arquivo e depois o
fechamos.
Nesse momento, o arquivo automaticamente é salvo.

    Se o arquivo a ser aberto para gravação já existir, o mesmo não é
destruído, mas tem o novo conteúdo acrescentado ao seu final.
    Assim terminamos a aula dessa semana.

    Exercício:
    Faça um programa que receba  4 notas de 0 a 10, encontre a média e
avalie se o aluno foi aprovado ou reprovado.
    As notas, a média e a situação do aluno (aprovado ou reprovado)
deverão ser gravadas no arquivo notas.txt
    O programa deve também receber no início 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
Média: 7
Aprovado

    Critérios de avaliação:
    Para encontrar a média, somamos as 4 notas e dividimos o resultado
por 4.
    Se o resultado da divisão for menor que 6, o aluno foi reprovado.
Senão, aprovado.

    Considere que todas as notas são números 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 endereço:
qst-scripvox@sanfersite.com.br

    Boa sorte!
