UFCD 785

Programação em C/C++ - Formas Complexas

Formador: Bruno Silva

Objetivos

Reconhecer as formas mais complexas de programação em C/C++.

Reflexão

Esta UFCD foi constituída por três grandes componentes: ficheiros em C, impressão de carateres por acesso direto à memória em C e macros e pré-processamento.

Em ficheiros, vimos que existem dois tipos de ficheiros: os ficheiros de texto e os ficheiros binários. Um ficheiro de texto está estruturado como uma sequência de linhas com caracteres do alfabeto, números, caracteres especiais, etc. Os ficheiros são utilizados para guardar dados mesmo depois do programa ter terminado.

Manipular ficheiros em C, envolve três fases: abrir o ficheiro e assim prepará-lo para a leitura e a escrita; ler o ficheiro e/ou escrever do/no ficheiro e fechar o ficheiro. Para trabalhar com um ficheiro em C temos que utilizar um ponteiro do ficheiro, que irá deixar o programa acompanhar o ficheiro que se está a abrir.

FILE *f;

f = open("nome_do_ficheiro.txt", "modo_de_acesso_ao_ficheiro");

Um ficheiro pode ser aberto de várias maneiras: leitura, escrita, leitura/escrita, acrescentar informação, etc. A função utilizada para abrir o ficheiro é a fopen(). Para escrever informações proveniente dos ficheiros, podemos usar as funções - fputs() e fprintf(); para ler, podemos usar as funções - fgetc(), fgets() e fscanf(). Para fechar um ficheiro previamente aberto ou vários, deve-se usar, respetivamente, as funções - fclose() e fcloseall(). Sobre ficheiros ainda foi abordado, o acesso à informação nos ficheiros, que pode ser sequencial ou direto e as funções fseek(), ftell() e rewind().

Dando continuidade à UFCD, faço uma introdução à segunda componente com a seguinte fonte: “Os computadores são sistemas eletrónicos, com base em tensões elétricas mas com valores discretos. Usam apenas dois valores básicos, numa base binária (normalmente, a ausência de tensão elétrica designa-se 0 e a presença dessa tensão designa-se 1).”

A medida interna da informação num computador é o bit e este pode então ter dois estados - o 0 e o 1. Vimos como representamos os números dentro de um byte, através da base binária (base 2), da base octal (base8) e da base hexadecimal (base 16). E vimos que a base que menos se adapta à computação é a base decimal (base 10), aquela que utilizamos no dia-à-dia. Fizemos ainda a conversão entre bases e como a linguagem C permite o acesso ao nível do bit, podemos utilizar operações e operadores.

Por último abordámos as macros e o pré-processador. A macro é um pedaço de código que é substituído pelo pré-processador, antes de o compilador executar o código do programa. O pré-processador, trata das instruções ou diretivas do pré-processamento e essas instruções são precedidas com o caracter especial #. Desta forma, o processo de compilação de um programa em C, ocorre primeiro pela fase do pré-processamento e depois pela compilação.

Realizámos para a avaliação, três trabalhos práticos e demos por concluídas as UFCDs referentes à linguagem C.

A linguagem C foi criada em 1972 e tinha por finalidade permitir a escrita de um sistema operativo, evitando assim o uso da linguagem Assembly. É uma linguagem de alto nível, considerada extremamente potente e flexível. É uma linguagem internacionalmente conhecida e utilizada, com muita documentação associada, no entanto, com o desenvolvimento de novas tecnologias, criaram-se muitas linguagens de programação que acompanham esse desenvolvimento. Com isto quero dizer, que apesar da linguagem C, ser uma excelente ferramenta de aprendizagem, ela não pode ser a única que se aprende, porque o mundo da programação é muito mais vasto.

icon