top of page

NIKOLETTA MATSUR  PORTEFÓLIO 

Temáticas e trabalhos desenvolvidos no 1º período

Linguagem Pascal

1. O que é um computador ?

    No início do ano, quando fomos introduzidos pela primeira vez à disciplina, "o que é um computador ?" foi uma das primeiras coisas a nos ser perguntada, senão a primeira. E a resposta é simples. Um computador é um dispositivo eletrónico, capaz de processar e armazenar diversos tipos de informação em forma de dados.

   Também nos foi sucintamente explicado como funciona, as entidades responsáveis pelo processamento, pela memória e pela comunicação com o exterior. Isto é: existe uma entrada de dados, através do teclado e do rato, o processador recebe a informação, e tem um conjunto de instruções a seguir para tratar os dados, de seguida, recebemos a resposta na tela do computador. Aprendemos, também, que o computador tem essencialmente dois tipos de memória: a memória volátil (RAM (Random Access Memory)- em que a informação desaparece quando há falta de energia) e a memória permanente (ROM (Read-Only Memory)- em que a informação não desaparece quando há falta de energia).

   As instruções que são dadas ao computador quando se programa, têm de ser lógicas, precisas, claras, simples e eficazes. Além disso, existem várias linguagens com as quais podemos programar um computador, entre elas C, C++, Java, Python, etc. No entanto, nós iríamos começar a programar em Pascal.   

2. Linguagem Pascal: O Algoritmo, Fluxogramas e Pseudocódigo

    A linguagem Pascal foi criada com a finalidade de ensinar a programação estruturada. Para isso, começámos por aprender o que era o algoritmo. Um algoritmo é uma sequência de instruções lógicas e formais, isto é, passos ordenados que o computador deve seguir para realizar uma determinada tarefa, numa linguagem que o computador perceba facilmente não podendo ser ambígua nem exigir muito esforço lógico ao computador, sendo que a abordagem é feita do topo para a base. Como forma de treinar a algoritmia, aprendemos a fazer fluxogramas e o pseudocódigo.

3. Constantes e Tipos de Variáveis

   Depois de fazermos vários fluxogramas, pudemos ligar, finalmente, os computadores. Aprendemos sobre aquilo que é a cabeça de um programa em Pascal: as constantes e as variáveis. Estas são geralmente definidas no início do programa, antes do "Begin" (mais tarde vimos que procedures podem ter as suas próprias variáveis).

   Por constante compreendemos uma informação que não vai ser alterada no decorrer do programa. Ao contrário desta, uma variável é aquela que pode ser alterada, pelo utilizador (quando são pedidos dados) ou pelo próprio programa (acumuladores e contadores (no Ex1 existe um contador)).

   As variáveis podem ser de 5 tipos: integer (as do tipo inteiro), real (números inteiros e decimais), boolean (valor lógico: verdadeiro e falso), char (uma letra ou um dígito) e string( um conjunto de letras onde também entra o espaço).

4. Instruções de Controle: Write, Read, Writeln e Readln

    O primeiro programa que fizemos chamava-se "Hello World!" e consistia no seguinte: aparecia escrito, no compilador Pascalzim "Hello World!". Mas o segundo programa que fizemos, pedia o nome da pessoa, a pessoa introduzia o nome e no ecrã do computador aparecia "Hello, (nome que a pessoa introduziu)!".

   Foi deste modo que aprendemos as instruções de controle: write (escreve), read (lê o que é introduzido pelo teclado), writeln (escreve e a instrução seguinte será executada na linha seguinte) e readln (lê e executa a instrução seguinte na linha seguinte). Aprendemos também que clrscr limpa o ecrã caso tivesse estado algo escrito nele.  

5. Estruturas Condicionais

If e Case (variável) of

  Em relação à estrutura condicional, começámos por aprender o if fazendo um programa. Era uma calculadora. E foi-nos inicialmente explicado como o computador faz uma decisão. No entanto, nós só fomos capazes de perceber quando deveríamos usar o if quando fizemos exatamente o mesmo programa mas com case. E daqui percebi, nitidamente, o seguinte:  quando existem duas ou três opções, talvez usar o if seja mais fácil, mais direto, mas quando existem opções em maior quantidade, se usarmos o if, ficam muitos ifs encadeados  podendo confundir o computador ou então pode fazer com que  o programa fique muito extenso, e como consequência disso, não compila. Ora, nestes exercícios eu usei bastante ambos e na coluna da direita de cada um encontra-se a explicação de ter optado por um deles em detrimento de outro. 

6. Estruturas de Repetição

( while, for, repeat)

7. Procedimentos e Funções

(subprogramas)

   Mesmo só fazendo programas pouco extensos, fomos ensinados a fazer subrogramas através de procedimentos (procedures) e funções (functions). Os subprogramas são geralmente usados quando queremos usar várias vezes o mesmo conjunto de instruções (que pode ter e habitualmente tem as suas próprias variáveis) e, para o programa não ficar demasiado grande (podendo não compilar, desta forma), definimos, no início do programa uma procedure ou uma função e, sempre que a quisermos usar no programa, basta que invoquemos o nome dela.

   Fizemos alguns exemplos de ambas, no entanto, nestes exercícios não utilizei porque não são programas muito grandes e não senti a necessidade de repetir algum conjunto de instruções muitas vezes. Mesmo não utilizando procedures ou functions, apliquei o que aprendi na aula: estas devem ser usadas em programas extensos.

8. Arrays

   A última coisa que aprendemos dentro da sala de aula foram os arrays (também tivemos um cheirinho de matrizes mas penso que não foi suficientemente formal para eu ter que falar disso aqui e tenho a esperança de no segundo período as darmos mesmo já que pareceu bastante interessante). Existem vários tipos de arrays  e, claro, muitos deles foram mencionados, tais como os multidimensionais , etc., mas demos os simples, ou seja, aqueles que são ou uma linha ou uma coluna, os uni-dimensionais.

 E foram nos explicados como se fossem um conjunto de espaços onde cabe um número limitado de informação do mesmo tipo. Isto é, sempre que indicamos array [index] of (tipo), o processador "prepara" ou "guarda" um x número de espaço onde podemos armazenar tanto algo que venha de fora, como algo que possa vir de dentro do programa, mas sempre do mesmo tipo. Por exemplo "Array[0..100] of Real" fará com que só os arrays com os índices entre 0 e 100 inclusive serão válidos porque só esse conjunto estava reservado para eles, se a pessoa escrever mais um número, por exemplo, este não será contado. Fizemos exercícios em sala de aula, no entanto, eu não utilizo arrays nos meus exercícios porque simplesmente não é necessário.Tudo o que é pedido que seja introduzido pelo utilizador, não precisa de muito espaço portanto não utilizei arrays neste portfólio. Ao longo deste,eu tentei "deslimitar" o máximo possível os meus exercícios, tentando os completar o máximo que pude no entanto, alguns têm limitações e eu (na explicação) digo quais são.

9. Erros Fatais

    Ao longo deste portfólio, e na minha execução destes exercícios, eu tentei dar importância aos erros fatais. Apesar de na aula, não nos ter sido ensinado como contorná-los ou eliminá-los, este assunto foi mencionado e eu lembro-me de ter achado muito curioso e desafiador.

   Portanto, eu fui pesquisar como isso se fazia, no entanto, sempre que fazemos uma busca google do género "Como evitar os erros fatais no Pascal", o google oferece sugestões caricatas "Erros fatais no relacionamento" ou "erros fatais nos negócios".

   Infelizmente não consegui encontrar muito conteúdo da net mas resolvi sempre os problemas relacionados com os erros fatais da minha maneira, tal como também me foi dito para fazer na aula.

 À medida que fomos fazendo exercícios, fomos comentado que era aborrecido ter que clicar F9 após cada execução do programa, para voltar a fazê-lo. Então, aprendemos que isso pode ser evitado com as instruções repeat, while ou for.

  O for é útil quando se tem em mente quantos ciclos se quer que o programa faça ou caso queiramos repetir uma determinada instrução um determinado número de vezes, sendo que esse número pode ser decidido por nós ou pelo utilizador. Assim, a estrutura do for seria "for (variável):= 1 ( ou qualquer outro valor inicial) to (vaiável 2)". O for torna-se pouco útil se nós ou o utilizador não soubermos  ao certo o número de vezes que queremos que o programa se repita.

   Por outro lado, o while não tem esse problema, geralmente, utilizámos o while 1=1 e isso faz com que o programa se repita para sempre ou até que o utilizador cometa um erro fatal. O while 1=1 já assustou muitos dos meus colegas ( e a mim também) porque quando posto no sítio errado, o programa começa a escrever (costuma ser isso a primeira instrução) infintas vezes o que lhe foi mandado em primeiro lugar. Mas quando posto no sítio certo e quando se mistura o while com o Case of (como eu fiz no ultimo exercício) não apresenta problemas e tudo funciona na perfeição. O repeat until dá menos erros, ou, se dá erros, não são tão assustadores como o do while 1=1, por isso, eu tenho preferido usá-lo, no entanto, nestes quatro exercícios eu tive a oportunidade de usar cada um deles e explicar o seu porquê.

Nikoletta Matsur 12ºB nº18

bottom of page