segunda-feira, 10 de maio de 2010

Downloads

Para fazer downloads, de apostilas, do copilador pascalzim, e exemplos de programas, clique aqui.

Arquivos

Os arquivos texto são um tipo de dados pré-definido da linguagem Pascal, sendo necessária a sua declaração na sub-área de declaração VAR. Para a manipulação de arquivos de texto, usamos quatro comandos, são esses:

  • Assign: Relaciona o nome de um arquivo físico existente em disco ao nome de uma variável do programa usada para se referir ao arquivo em disco.
  • Rewrite: Abre o arquivo em disco, apagando todo o seu conteúdo, e sendo escrito a partir do seu início. Ele é usado pra criar um arquivo e escrever nele. Se você executar o comando rewrite e o arquivo jah existir e possuir informações, todos seu conteúdo será perdido.
  • Append: Abre um arquivo já existente em disco, e prepara-se para escrever no final deste. O arquivo deve obrigatoriarmente já existir no disco, pois esse comando apenas adiciona(escreve) novas informações no fim do arquivo.
  • Reset: Abre um arquivo em disco, e prepara-se para ler todo seu conteúdo a partir do início. Se o arquivo não existir em disco, ocorrerá um erro ao executar esse comando.
  • Close: Fecha o arquivo, atualizando as informações do disco.

Para esrever e ler nos arquivos temos :
  • Writeln: Escreve uma linha de texto no arquivo. Similar, ao comando writeln para vidio.
  • Readln: Lê uma linha de texto do arquivo. Similar ao comando readln para vidio

Para que se possa saber a posição em que nos encontramos em um arquivo, ou para que possamos nos posicionar, temos os seguintes comandos:

  • EofFunção que indica se chegamos ao fim do arquivo (End-Of-File)
  • EolnFunção que indica se chegamos ao fim de uma linha (End-Of-Line)
  • FlushPermite "esvaziar" o buffer de leitura/escrita. Usada para ter certeza que o que está sendo lido ou escrito realmente está no arquivo e não em um buffer de memória.

Para manipular com diretórios e com arquivos de modo geral:

  • EraseApaga um arquivo existente no disco.
  • RenameRenomeia um arquivo existente em disco.
  • ChdirTroca de diretório (Change Dir).
  • MkdirCria um novo diretório (Make Dir).
  • RmdirApaga um diretório do disco (Remove Dir).
  • GetdirRetorna qual é o diretório corrente de trabalho.

Array

Array, também conhecido como vetor(array uni-dimensional) e matriz (array bi-dimensional).

Vetor: É um agregado de variáveis do mesmo tipo. Onde os dados são guardados em apenas uma linha.

Matriz: É quando os dados estão agregados em mais de uma linha. Um dos casos mais comuns é uma matriz de duas dimensões.

Estruturas de Decisão

Também conhecidas como estruturas de condiçao ou seleção, caracteriza-se peça execução de alguns comandos, dependendo da veracidade de uma condição.

If: O comando só será executado se a condiçao for verdadeira, caso não seja, será testada na outra sintaxe(ELSE, ELSE IF).

Case: O comando1 só será executado, se a condição for verdadeira, se essa condição for falsa, será executado o comando2.

Estruturas de Repetição

Quando precisamos repetir determinada quantidade de comandos, determinada quantidade de vezes, usamos de estruturas de repetição. Que é o mesmo que repetir o comando N vezes, sem ser necessário digita-lo sempre que fosse repeti-lo.

São estas as estruturas de repetição :

While: Repete enquanto a condição for verdadeira, onde o teste para a condição ocorre no inicio da estrutura.

Repeat: Ao contrario do while, esta estrutura repete enquanto a condição for falsa, e seu texto ocorre no fim do bloco de comando. Diferente das outras ela não possui begin - end, especifico.

For: Diferente das outras duas, a sequência de comandos é repetida um número definido de vezes, as outras duas são um numero indefinido de vezes, onde geralmente o usuário que determina quando quer parar.

Subprogramas -Aprofundamento

Agora iremos aprofundar um pouco mais o assunto de subprogramas, com variáveis locais e globais, e com passagens de parâmetros, por referencia e por valor.

Variáveis locais : Váriaveis declaradas no subprograma, e que são reconhecidas apenas nele, e não em todo o programa. Se por um acaso o subprograma(subprograma1) contém as definiçoes de um outro subprograma(subprograma2), todas as variaveis declaradas no programa principal e no subprograma1, são vistas no subprograma2, porem o inverso, não acontece.

Variáveis Globais: Variáveis declaradas no programa principal onde são conhecidas em todo programa inclusive em seus subprogramas.

Passagem por Valor: Comporta-se como uma variavel local, onde oq é modificado dentro do subprograma, não é alterado fora.

Passagem por Referencia: Se a por valor comporta-se como uma vareável, local, a passagem por referencia comporta-se como uma global, ou seja a variável tem seu valor alterado no subprograma, e esta alteração, também ocorre fora do subprograma.

Área de declarações - 2

Reservei esse post para os subrogramas qe se encontram na Área de declaraçao, funções(functions) e procedimentos(procedure).

Subprogramas- blocos de execuão internos de um programa, onde cada bloco executa uma tarefa determinada. Isto favorece a manutenção do programa, pois podemos tratar o problema de forma isolada. Os subprogramas, tem em seu corpo, alta semelhança com os programas, onde ambos possuem parâmetros de entrada e saída.

Function: Uma função obrigatoriarmente retorna um valor ao programa que a chama, chamamos uma função quando é avaliada uma expressão que a tem, ou seja, elas são usadas da mesma forma das funções predefinidas(Nas próximas postagens veremos funçoes predefinidas).

Procedure: Diferente da função um procedimento não retorna um valor ao programa principal, e este é ativado através de um comando de chamada do procedimento.

Área de declarações - 1

Nesse post, iremos falar um pouco detalhadamente sobre cada uma das sub-áreas da área de declaração.

Var: Variável, é o espaço reservado na memória ram, que possui nome e tipo. Estudaremos cinco tipos definidos de variáveis.

  • String - Aceita caracteres alfa numéricos, seu comprimento máximo é de 255 caracteres.
  • Char - Aceita apenas um caracter alfa numérico, você pode digitar um nome completo, porém esta salvará apenas a inicial do nome .
  • Integer - Ela representa o conjunto dos números reais num intervalo entre -32768 a 32767, ocupando 2 bytes de memória ram.
  • Real - O número possui uma parte inteira e uma decimal, ocupando cerca de 6 bytes de memória ram.
  • Boolean - Essa variável pode receber apenas dois valores, true e false, ocupando apenas 1 byte da memoria ram.

Uses: O comando Uses serve para você chamar uma unit do pascal e todas as funções que tem essa Unit. Ele chama a unidade para que vc possa usar suas funções.
Ex:

Uses crt, dos, graph, windos;

Label: Um rótulo pode ser qualquer identificador, ou um inteiro entre 0 e 9999. Com o comando goto, podemos forçar o retnorno do programa a qualquer um dos rótulos definidos.

Constantes: Usada para associar um valor fixo a um identificador.
Ex:
Const num : 13;

Nesse post iremos continuar as definições das sub-áreas da área de declaraçao de um programa.

Type: É uma sequência de identificadores ordenados, definidos pelo programador.
Ex:
Type meses= (Janeiro, Fevereiro, Março, Abril, Maio, Junho.


No próximo post, você irá aprender um pouco sobre FUNCTIONS e PROCEDURES, subprogramas, e que também se encontram na Área de declarações.

Exemplo

Aqui temos um exemplo simples de programa, onde há, cabeçalho, area de declarações (apenas utilizando o var neste) e corpo do programa.

Program Ex_pl ; // cabeçalho

Var
// área de declaração
nome:string;

Begin // corpo do programa
Writeln('Digite seu nome');
Readln(nome);
End.


domingo, 9 de maio de 2010

Partes do programa

Para o contúdo da disciplina de lógica terei, como base a linguagem de programaçao pascal, que foi desenvolvida para fins educacionais.

Em pascal, o programa se divide basicamente em três partes, que são essas :

Cabeçalho: Área utilizada para identificar ou nomear o programa. O cabeçalho do programa é atribuído pela palavra reservada "PROGRAM" seguido de seu nome, o programa não pode receber em seu nome, palavras reservadas pelo copilador, pois quando você for roda-lo, aparece-rá uma mensagem de erro, para indicarmos o fim do nome do programa usamos o sinal gráfico ";". Se o nome do programa for composto por mais de um nome, você deve usar o sinal gráfico underline "_" para preencher os espaços em branco.

Área de Declarações: Esta área é utilizada para validar o uso de qualquer tipo de identificador que não seja predefinido, podendo ser dividida em sete, sub-áreas: USES, LABEL, CONST, TYPE, VAR, PROCEDURE e FUNCTION.

Corpo do programa: O programa em pascal, localiza-se basicamente, no corpo do programa, ela tem inicio com o uso do BEGIN e final ao END. onde no intervalo entre eles, é que são digitadas todos os comando do programa. No corpo também encontramos os dispositivos de entrada e saída de dados, READ e WRITE, respectivamente, responsáveis pelos comandos do programa.

Introduçao

Para ficarmos mais familiarizados com o assunto, uma pequena introdução sobre "Lógica" :

Lógica é uma disciplina essencial, para quem pretende seguir na área de desenvolvimento de softwares, sendo necessario estudá-la antes de qualquer linguagem de programação específica (DELPHI, C, VISUAL BASIC), para que você não sinta nenhuma dificuldade, no estudo de programação.


Bom, agora que você já entende, o porquê da lógica, nas próximas postagens tentarei mostrar da forma mais ampla e clara possível, o conteúdo da disciplina