Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pascal-1-trabalho [2012/03/19 19:22]
clp [2 ESTRUTURA DO PROGRAMA]
pascal-1-trabalho [2012/03/19 19:26] (current)
clp
Line 90: Line 90:
 ====3 VARIÁVEIS E CONSTANTES==== ====3 VARIÁVEIS E CONSTANTES====
  
-===3.1 Identificadores===+**3.1 Identificadores**
  
 São os nomes dados as variáveis, tipos definidos, procedimentos, funções e constantes nomeadas. São os nomes dados as variáveis, tipos definidos, procedimentos, funções e constantes nomeadas.
Line 106: Line 106:
   * nome sobrenome – não pode conter espaço entre os caracteres   * nome sobrenome – não pode conter espaço entre os caracteres
  
-===3.2 Palavras Reservadas===+**3.2 Palavras Reservadas**
  
 Existe um conjunto de palavras utilizadas para funções especiais, desta forma não podem ser utilizadas como identificadores no programa. A seguir é apresentado a lista de palavras reservadas no Pascal padrão: Existe um conjunto de palavras utilizadas para funções especiais, desta forma não podem ser utilizadas como identificadores no programa. A seguir é apresentado a lista de palavras reservadas no Pascal padrão:
Line 122: Line 122:
 Tabela 1: palavras reservadas no Pascal Tabela 1: palavras reservadas no Pascal
  
-===3.3 Comentários===+**3.3 Comentários**
  
 São textos escritos dentro do programa afim de explicar ou descrever funcionamentos ou características do programa, facilitando o entendimento. Podem ser colocados em qualquer lugar do programa, mas utilizando a seguinte estrutura: São textos escritos dentro do programa afim de explicar ou descrever funcionamentos ou características do programa, facilitando o entendimento. Podem ser colocados em qualquer lugar do programa, mas utilizando a seguinte estrutura:
Line 134: Line 134:
 O compilador ao encontrar um “{” ou “(*” pula todos os caracteres até encontrar “}” ou “*)”. O compilador ao encontrar um “{” ou “(*” pula todos os caracteres até encontrar “}” ou “*)”.
  
-===3.4 Tipos de dados===+**3.4 Tipos de dados**
  
 Todo o dado possui um tipo associado, para identificar como ele deve ser interpretado e representado pela máquina. O Pascal fornece alguns tipos predefinidos. Todo o dado possui um tipo associado, para identificar como ele deve ser interpretado e representado pela máquina. O Pascal fornece alguns tipos predefinidos.
  
-==3.4.1 Inteiro==+**3.4.1 Inteiro**
  
 São tipos que podem representar positivos e negativos, excluindo-se qualquer número fracionário. Em Pascal utilizam-se os seguintes identificadores: São tipos que podem representar positivos e negativos, excluindo-se qualquer número fracionário. Em Pascal utilizam-se os seguintes identificadores:
Line 149: Line 149:
 |word                 |0 até 65535                    |2              | |word                 |0 até 65535                    |2              |
  
-==3.4.2 Reais==+**3.4.2 Reais**
  
 Pode ser atribuído qualquer valor positivo ou negativo, fracionários ou não. Vejamos os tipos: Pode ser atribuído qualquer valor positivo ou negativo, fracionários ou não. Vejamos os tipos:
Line 160: Line 160:
 |comp                 |–9.2 e18 até 9.2 e18         |8              | |comp                 |–9.2 e18 até 9.2 e18         |8              |
  
-==3.4.3 Caracteres==+**3.4.3 Caracteres**
  
 São considerados tipos caracteres, as sequências contendo letras, números e símbolos especiais. Uma sequência de caracteres, em Pascal, deve ser representada entre apóstrofos (‘’). Este tipo de dado é referenciado pelo identificador string, podendo armazenar de 1 até 255 caracteres. Podemos ainda especificar um tamanho menor do que os 255 caracteres permitidos. Vejamos a sintaxe para criarmos uma variável do tipo string com tamanho limitado. São considerados tipos caracteres, as sequências contendo letras, números e símbolos especiais. Uma sequência de caracteres, em Pascal, deve ser representada entre apóstrofos (‘’). Este tipo de dado é referenciado pelo identificador string, podendo armazenar de 1 até 255 caracteres. Podemos ainda especificar um tamanho menor do que os 255 caracteres permitidos. Vejamos a sintaxe para criarmos uma variável do tipo string com tamanho limitado.
Line 178: Line 178:
      sexo: char;      sexo: char;
  
-==3.4.4 Lógicos==+**3.4.4 Lógicos**
  
 Apresentado também como tipo booleano, pode representar apenas true ou false. Apresentado também como tipo booleano, pode representar apenas true ou false.
Line 185: Line 185:
   verdadeiro: boolean;   verdadeiro: boolean;
  
-===3.5 Constantes===+**3.5 Constantes**
  
 Valor que não pode ser alterado durante a execução do programa. Tipicamente utilizado por parâmetros que são bastante utilizados no programa. Valor que não pode ser alterado durante a execução do programa. Tipicamente utilizado por parâmetros que são bastante utilizados no programa.
Line 212: Line 212:
 ====4 OPERADORES E EXPRESSÕES==== ====4 OPERADORES E EXPRESSÕES====
  
-===4.1 Ordem de precedência dos operadores===+**4.1 Ordem de precedência dos operadores**
  
 Se existe uma expressão com vários operadores, os operadores são processados a partir das seguintes regras: Se existe uma expressão com vários operadores, os operadores são processados a partir das seguintes regras:
Line 228: Line 228:
 |=  <>  <  >  <=  >=                    |Operador Relacional      | |=  <>  <  >  <=  >=                    |Operador Relacional      |
  
-===4.3 Tipos de operadores===+**4.3 Tipos de operadores**
  
-==4.3.1 Operador de atribuição==+**4.3.1 Operador de atribuição**
  
 Utilizado para atribuir um valor a uma variável Utilizado para atribuir um valor a uma variável
Line 241: Line 241:
   Nome:= ‘Josias’;   Nome:= ‘Josias’;
  
-==4.3.2 Operadores Aritméticos== +**4.3.2 Operadores Aritméticos** 
  
 Utilizados para efetuar operações aritméticos entre números reais e inteiros. A tabela a seguir apresenta  os operadores aritméticos disponíveis em Pascal. Utilizados para efetuar operações aritméticos entre números reais e inteiros. A tabela a seguir apresenta  os operadores aritméticos disponíveis em Pascal.
Line 255: Line 255:
 |Mantem sinal              |+      | |Mantem sinal              |+      |
  
-==4.3.3 Operador Concatenação==+**4.3.3 Operador Concatenação**
  
 Faz a junção de duas variáveis ou constantes do tipo string ou char. Faz a junção de duas variáveis ou constantes do tipo string ou char.
Line 264: Line 264:
   nomeCompleto := nome + sobrenome;   nomeCompleto := nome + sobrenome;
  
-==4.3.4 Operadores relacionais==+**4.3.4 Operadores relacionais**
  
 São utilizados para efetuar comparação entre dados do mesmo tipo. Os operadores estão descritos na tabela a seguir: São utilizados para efetuar comparação entre dados do mesmo tipo. Os operadores estão descritos na tabela a seguir:
Line 276: Line 276:
 |Diferente |<>     |  |Diferente |<>     | 
  
-==4.3.5 Operadores lógicos==+**4.3.5 Operadores lógicos**
  
 São utilizados para analisar duas ou mais expressões booleanas. A seguir os operadores lógicos: São utilizados para analisar duas ou mais expressões booleanas. A seguir os operadores lógicos:
Line 285: Line 285:
 |NÃO         |not    | |NÃO         |not    |
  
-==4.4 Funções predefinidas==+**4.4 Funções predefinidas**
  
 O Pascal oferece um conjunto de funções predefinidas: O Pascal oferece um conjunto de funções predefinidas:
Line 332: Line 332:
 ====5 ESTRUTURAS DE DECISÃO==== ====5 ESTRUTURAS DE DECISÃO====
  
-===5.1 A instrução if...then===+**5.1 A instrução if...then**
  
 Instrução if...then tem por finalidade tomar uma decisão e efetuar um desvio no processamento, dependendo, é claro, da condição atribuída ser verdadeira ou falsa. Instrução if...then tem por finalidade tomar uma decisão e efetuar um desvio no processamento, dependendo, é claro, da condição atribuída ser verdadeira ou falsa.
Line 368: Line 368:
   end;   end;
  
-===5.2 A instrução in...then...else===+**5.2 A instrução in...then...else**
  
 Assim como a instrução if...then, a instrução if...then...else tem por finalidade tomar uma decisão e efetuar um desvio no processamento. Se a condição for verdadeira será executada a instrução logo abaixo do if. Sendo a condição falsa, será executada a instrução que estiver posicionada logo após a instrução else. O conceito de blocos de instruções vale também para esta instrução.  Assim como a instrução if...then, a instrução if...then...else tem por finalidade tomar uma decisão e efetuar um desvio no processamento. Se a condição for verdadeira será executada a instrução logo abaixo do if. Sendo a condição falsa, será executada a instrução que estiver posicionada logo após a instrução else. O conceito de blocos de instruções vale também para esta instrução. 
Line 416: Line 416:
      end.      end.
            
-===5.2 A instrução case...of===+**5.2 A instrução case...of**
  
 Estrutura semelhante ao if...then. Estrutura semelhante ao if...then.
Line 441: Line 441:
   * Infinitos: neste tipo não se conhece previamente o número de repetições que serão executadas. São também chamados de condicionais, pelo fato de encerrarem sua execução mediante uma determinada condição.    * Infinitos: neste tipo não se conhece previamente o número de repetições que serão executadas. São também chamados de condicionais, pelo fato de encerrarem sua execução mediante uma determinada condição. 
  
-===6.1 Intrução For===+**6.1 Intrução For**
  
 O comando FOR executa repetitivamente um comando enquanto é atribuído O comando FOR executa repetitivamente um comando enquanto é atribuído
Line 475: Line 475:
   end.     end.  
      
-===6.2 Instrução While...do===+**6.2 Instrução While...do**
  
 Esta estrutura de repetição se caracteriza por efetuar um teste lógico no início de um loop, verificando se é permitido executar o trecho de instruções abaixo dela. A estrutura while...do tem o seu funcionamento controlado por condição. Desta forma, poderá executar um determinado conjunto de instruções enquanto a condição verificada permanecer verdadeira. No momento em que a condição se torna falsa, o processamento da rotina é desviado para fora do loop. Sendo a condição falsa logo no início do loop, as instruções contidas nele são ignoradas. Esta estrutura de repetição se caracteriza por efetuar um teste lógico no início de um loop, verificando se é permitido executar o trecho de instruções abaixo dela. A estrutura while...do tem o seu funcionamento controlado por condição. Desta forma, poderá executar um determinado conjunto de instruções enquanto a condição verificada permanecer verdadeira. No momento em que a condição se torna falsa, o processamento da rotina é desviado para fora do loop. Sendo a condição falsa logo no início do loop, as instruções contidas nele são ignoradas.
Line 507: Line 507:
   end.     end.  
      
-===6.3 Instrução repeat...until===+**6.3 Instrução repeat...until**
  
 Esta estrutura caracteriza-se por efetuar um teste lógico no final de um looping, sendo parecida com a estrutura while...do. Seu funcionamento é controlado também por decisão. Esta instrução irá efetuar a execução de um conjunto de instruções pelo menos uma vez antes de verificar a validade da condição estabelecida. Esta estrutura caracteriza-se por efetuar um teste lógico no final de um looping, sendo parecida com a estrutura while...do. Seu funcionamento é controlado também por decisão. Esta instrução irá efetuar a execução de um conjunto de instruções pelo menos uma vez antes de verificar a validade da condição estabelecida.
Line 547: Line 547:
 Em Pascal existem estruturas que nos permitem agrupar várias informações dentro de uma mesma variável. Estas estruturas são chamadas de vetores e matrizes. Em Pascal existem estruturas que nos permitem agrupar várias informações dentro de uma mesma variável. Estas estruturas são chamadas de vetores e matrizes.
  
-===7.1 Vetores===+**7.1 Vetores**
  
 Este tipo de estrutura é também chamado de matriz unidimensional. Um vetor é representado por seu nome, tamanho e seu tipo. Este tipo de estrutura é também chamado de matriz unidimensional. Um vetor é representado por seu nome, tamanho e seu tipo.
Line 588: Line 588:
   end.   end.
      
-===7.2 Matrizes===+**7.2 Matrizes**
 Como existem matrizes unidimensionais é de se esperar que teríamos as multidimensionais. O que vamos apresentar a seguir. Como existem matrizes unidimensionais é de se esperar que teríamos as multidimensionais. O que vamos apresentar a seguir.
  
Line 634: Line 634:
   end.   end.
      
-===7.3 Registros===+**7.3 Registros**
  
 Em um registro poderemos utilizar uma estrutura que agrupe várias informações, que podem ser de tipos de dados diferentes. Por esta razão, este tipo de dado é considerado heterogêneo. Em Pascal, os tipos registro devem ser declarados ou atribuídos antes das definições das variáveis, pois é muito comum ocorrer a necessidade de se declarar uma variável com o tipo de registro atribuído. Um tipo registro é declarado em Pascal com a instrução type em conjunto com a instrução record. Em um registro poderemos utilizar uma estrutura que agrupe várias informações, que podem ser de tipos de dados diferentes. Por esta razão, este tipo de dado é considerado heterogêneo. Em Pascal, os tipos registro devem ser declarados ou atribuídos antes das definições das variáveis, pois é muito comum ocorrer a necessidade de se declarar uma variável com o tipo de registro atribuído. Um tipo registro é declarado em Pascal com a instrução type em conjunto com a instrução record.
Line 687: Line 687:
 A modularização, em Pascal, pode ser feita através de procedimentos (procedures) e funções (functions). Isso é feito associando-se um nome a uma seqüência de comandos através do que chamamos Declaração do Procedimento ou da Função. Pode-se, então, usar o nome do procedimento ou da função dentro do corpo do programa, sempre que desejarmos que o seu bloco de comandos seja executado, isso é o que chamamos de Chamada do Procedimento ou da Função. Além das rotinas desenvolvidas pelo usuário, existe na linguagem Pascal, um conjunto de rotinas embutidas. Este tipo de rotina embutida é conhecido pelo nome de unidade (do inglês, unit). A modularização, em Pascal, pode ser feita através de procedimentos (procedures) e funções (functions). Isso é feito associando-se um nome a uma seqüência de comandos através do que chamamos Declaração do Procedimento ou da Função. Pode-se, então, usar o nome do procedimento ou da função dentro do corpo do programa, sempre que desejarmos que o seu bloco de comandos seja executado, isso é o que chamamos de Chamada do Procedimento ou da Função. Além das rotinas desenvolvidas pelo usuário, existe na linguagem Pascal, um conjunto de rotinas embutidas. Este tipo de rotina embutida é conhecido pelo nome de unidade (do inglês, unit).
  
-===8.1 Utilização de Units===+**8.1 Utilização de Units**
  
 Vejamos de forma básica as units embutidas no Turbo Pascal. As units são conjuntos de rotinas prontas para serem usadas pelo programador. Uma unit é, na verdade, uma biblioteca de funções e procedimentos. Vejamos a lista das unidades do Pascal: Vejamos de forma básica as units embutidas no Turbo Pascal. As units são conjuntos de rotinas prontas para serem usadas pelo programador. Uma unit é, na verdade, uma biblioteca de funções e procedimentos. Vejamos a lista das unidades do Pascal:
Line 703: Line 703:
   uses <unidade>;   uses <unidade>;
      
-===8.2 Procedures===+**8.2 Procedures**
  
 Um procedimento é uma estrutura de programa autônoma que está incluída num programa em Pascal. Nele podem ser colocados todos os elementos da linguagem Pascal, como se fosse um programa completo; isso é feito através de sua declaração. Um procedimento é uma estrutura de programa autônoma que está incluída num programa em Pascal. Nele podem ser colocados todos os elementos da linguagem Pascal, como se fosse um programa completo; isso é feito através de sua declaração.
Line 749: Line 749:
   end.   end.
      
-==8.2.1 Variáveis Globais e Locais==+**8.2.1 Variáveis Globais e Locais**
  
 Variáveis globais são declaradas no inicio de um programa em Pascal. Desta forma esta variável é válida dentro de qualquer função ou procedimento. Variáveis globais são declaradas no inicio de um programa em Pascal. Desta forma esta variável é válida dentro de qualquer função ou procedimento.
Line 757: Line 757:
 É importante perceber que uma variável global pode ser alterada dentro de qualquer função ou procedimento, no entanto isto pode gerar alguns problemas se o programador não saber usar este recurso. É importante perceber que uma variável global pode ser alterada dentro de qualquer função ou procedimento, no entanto isto pode gerar alguns problemas se o programador não saber usar este recurso.
  
-===8.3 Parâmetros===+**8.3 Parâmetros**
  
 Os parâmetros são os pontos de comunicação com uma função ou procedimento. Com isso é possível passar informações de um programa para outro. Os parâmetros são os pontos de comunicação com uma função ou procedimento. Com isso é possível passar informações de um programa para outro.
Line 775: Line 775:
   nome_do_procedimento(parametroA, parametroB);   nome_do_procedimento(parametroA, parametroB);
      
-==8.3.1 Passagem por Valor==+**8.3.1 Passagem por Valor**
  
 Neste caso os parâmetros fornecidos ao procedimento não são alterados. Neste caso os parâmetros fornecidos ao procedimento não são alterados.
  
-==8.3.2 Passagem por Referência==+**8.3.2 Passagem por Referência**
  
 O que a caracteriza é a alteração dos parâmetros fornecidos dentro do programa. Para que um procedimento receba informações desta maneira, é necessário uma pequena alteração na estrutura do procedimento ou função. O que a caracteriza é a alteração dos parâmetros fornecidos dentro do programa. Para que um procedimento receba informações desta maneira, é necessário uma pequena alteração na estrutura do procedimento ou função.
Line 791: Line 791:
     end;     end;
          
-===8.4 Functions===+**8.4 Functions**
  
 Como os procedimentos (procedures), são blocos de programas. A diferença é que todas as funções retornam um valor, seja numérico, lógico ou literal. Como os procedimentos (procedures), são blocos de programas. A diferença é que todas as funções retornam um valor, seja numérico, lógico ou literal.
Line 838: Line 838:
 Para salvar o estado de um programa é necessário salvar o estado de suas estruturas (variáveis, vetores, registros, etc). Para isto é utilizado estruturas de arquivos, estes que são armazenados no disco rígido e que posteriormente podem ser carregados para dentro do programa. Para salvar o estado de um programa é necessário salvar o estado de suas estruturas (variáveis, vetores, registros, etc). Para isto é utilizado estruturas de arquivos, estes que são armazenados no disco rígido e que posteriormente podem ser carregados para dentro do programa.
  
-===9.1 Definição de um Arquivo===+**9.1 Definição de um Arquivo**
  
 A manipulação de um arquivo em Pascal ocorre com a definição do tipo file, o qual se caracteriza por ser uma estrutura formada por elementos do mesmo tipo dispostos de forma seqüencial, tendo como finalidade fazer a comunicação entre a memória principal e a memória secundária. A manipulação de um arquivo em Pascal ocorre com a definição do tipo file, o qual se caracteriza por ser uma estrutura formada por elementos do mesmo tipo dispostos de forma seqüencial, tendo como finalidade fazer a comunicação entre a memória principal e a memória secundária.
Line 854: Line 854:
 onde: arquivo é o nome de um arquivo com tipo definido, tipo é o tipo de um arquivo (text, string, real, record, etc...) e variavel é a variável que será usada para representar o arquivo.   onde: arquivo é o nome de um arquivo com tipo definido, tipo é o tipo de um arquivo (text, string, real, record, etc...) e variavel é a variável que será usada para representar o arquivo.  
  
-===9.2 Operações de um Arquivo===+**9.2 Operações de um Arquivo**
  
 Em Pascal existem algumas funções para operar arquivos. Vejamos a tabela a seguir: Em Pascal existem algumas funções para operar arquivos. Vejamos a tabela a seguir:
Line 866: Line 866:
 |close      | procedure | close(<variavel>)              | Tem por finalidade fechar um arquivo em uso dentro de um programa. nenhum programa deve ser encerrado sem antes fechar os arquivos abertos.| |close      | procedure | close(<variavel>)              | Tem por finalidade fechar um arquivo em uso dentro de um programa. nenhum programa deve ser encerrado sem antes fechar os arquivos abertos.|
  
-===9.3 Formas de Acesso em um Arquivo===+**9.3 Formas de Acesso em um Arquivo**
  
-==9.3.1 Acesso Seqüencial==+**9.3.1 Acesso Seqüencial**
  
 O acesso seqüencial ocorre quando o processo de gravação e leitura é feito de forma contínua, um após o outro. Desta forma, para se gravar a informação é necessário percorrer todo o arquivo a partir do primeiro registro, até localizar a primeira posição vazia. A leitura também ocorre desta maneira. O acesso seqüencial ocorre quando o processo de gravação e leitura é feito de forma contínua, um após o outro. Desta forma, para se gravar a informação é necessário percorrer todo o arquivo a partir do primeiro registro, até localizar a primeira posição vazia. A leitura também ocorre desta maneira.
Line 875: Line 875:
 O acesso direto ocorre através de um campo chave previamente definido. Desta forma, passa a existir um vínculo existente entre um dos campos do registro e sua posição de armazenamento, através da chave. Assim sendo, o acesso a um registro tanto para leitura como para gravação poderá ser feito de forma instantânea.  O acesso direto ocorre através de um campo chave previamente definido. Desta forma, passa a existir um vínculo existente entre um dos campos do registro e sua posição de armazenamento, através da chave. Assim sendo, o acesso a um registro tanto para leitura como para gravação poderá ser feito de forma instantânea. 
  
-==9.3.3 Acesso Indexado==+**9.3.3 Acesso Indexado**
  
 O acesso indexado ocorre quando se acessa de forma direta um arquivo seqüencial. Na sua maioria, todo arquivo criado armazena os registros de forma seqüencial. A forma seqüencial de acesso se torna inconveniente, pois à medida que o arquivo aumenta de tamanho, aumenta também o tempo de acesso ao mesmo. Por isso, cria-se um índice de consulta, passando a ser esse arquivo indexado. O acesso indexado ocorre quando se acessa de forma direta um arquivo seqüencial. Na sua maioria, todo arquivo criado armazena os registros de forma seqüencial. A forma seqüencial de acesso se torna inconveniente, pois à medida que o arquivo aumenta de tamanho, aumenta também o tempo de acesso ao mesmo. Por isso, cria-se um índice de consulta, passando a ser esse arquivo indexado.
 Existirão dois arquivos, um seqüencial e outro indexado. Os acessos serão feitos com em um livro: primeiro se consulta o índice de localização, e depois procura-se o conteúdo desejado. Existirão dois arquivos, um seqüencial e outro indexado. Os acessos serão feitos com em um livro: primeiro se consulta o índice de localização, e depois procura-se o conteúdo desejado.
      
-===9.4 Arquivos do Tipo Texto===+**9.4 Arquivos do Tipo Texto**
  
 Armazenam frases, palavras e dados numéricos. No entanto, todos são armazenados no formato caractere, desta forma, os dados numéricos tem de ser convertidos na sua leitura. Armazenam frases, palavras e dados numéricos. No entanto, todos são armazenados no formato caractere, desta forma, os dados numéricos tem de ser convertidos na sua leitura.
Line 925: Line 925:
   end.   end.
      
-===9.5 Arquivos com Tipo Definido===+**9.5 Arquivos com Tipo Definido**
  
 Neste formato podemos guardar as informações em nível binário. Diferente do tipo texto, desta forma os formatos são mantidos, por exemplo, um dado numérico é gravado como numérico. Ainda podemos gravar registros e outras estruturas. Nesta forma a leitura e gravação é mais rápida se comparada com arquivo texto. Neste formato podemos guardar as informações em nível binário. Diferente do tipo texto, desta forma os formatos são mantidos, por exemplo, um dado numérico é gravado como numérico. Ainda podemos gravar registros e outras estruturas. Nesta forma a leitura e gravação é mais rápida se comparada com arquivo texto.
Line 994: Line 994:
   end.   end.
  
-===9.6 Arquivo com Tipo Definido de Registro===+**9.6 Arquivo com Tipo Definido de Registro**
  
 Em Pascal, existe um arquivo do tipo record, que nos permite desenvolver uma aplicação de forma mais profissional e com acessos mais rápidos. Em Pascal, existe um arquivo do tipo record, que nos permite desenvolver uma aplicação de forma mais profissional e com acessos mais rápidos.
Line 1023: Line 1023:
 ====10 EXTRAS==== ====10 EXTRAS====
  
-===Unit CRT===+**Unit CRT**
  
 Durante os exemplos foram utilizados algumas instruções da biblioteca CRT. Existem várias instruções que facilitam o trabalho e podem ser facilmente encontradas na internet.  Durante os exemplos foram utilizados algumas instruções da biblioteca CRT. Existem várias instruções que facilitam o trabalho e podem ser facilmente encontradas na internet. 
 
pascal-1-trabalho.txt · Last modified: 2012/03/19 19:26 by clp · [Old revisions]