UFCD 783

Programação em C/C++ - Ciclos e Decisões

Formador: Bruno Silva

Objetivos

Identificar os ciclos e decisões subjacentes à linguagem de programação C/C++.

Reflexão

Um programa em C é constituído por uma ou mais funções mas ele deve conter sempre a função principal main. As funções contêm as instruções que definem as operações a executar pelo computador. Um programa em C poderá ter a seguinte estrutura:

#include bibliotecas

Funções

Função principal main

Na construção de uma função, utiliza-se com frequência operadores para realizar uma operação entre variáveis ou constantes, executando cálculos e manipulação dos dados. Os operadores são classificados como:

- aritméticos (são utilizados para realizar operações numéricas);

- comparação (são utilizados em expressões lógicas para testar a relação entre dois valores) e lógicos (quando há necessidade de testar duas ou mais condições);

- cast (conversão de tipos de dados em C);

- atribuição (permite armazenar um valor dentro de uma variável);

- incremento e decremento.

No campo de ação desta UFCD aprofundámos os conhecimentos em ciclos e decisões e para isso implementámos as estruturas: de decisão simples (if), dupla (if…else), dupla encadeada (if…else if…else) e alternativas de escolha múltipla/seletiva (switch); de repetição com contador automático (for) e com contador manual (while e Do…while).

Todos os programas na linguagem C usam funções das bibliotecas padrão. Para ter acesso a uma biblioteca, o programa deve incluir uma cópia do arquivo correspondente, como um cabeçalho e deve ser a primeira a ser lida durante a execução do programa. Depois das bibliotecas stdlib.h e stdio.h, vistas na UFCD anterior, explorámos as bibliotecas string.h (que permite a manipulação de cadeias de caracteres ou strings), math.h (que disponibiliza um conjunto de funções matemáticas) e time.h (através da qual podemos alterar o tempo e datas de acordo com a implementação necessária).

Vimos ainda como funcionam os subprogramas, percebendo a diferença entre procedimento e função, sendo que o primeiro não retorna informação e o segundo devolve um tipo de dados.

A partir destes conhecimentos realizámos várias fichas de trabalho e 2 trabalhos práticos, onde implementámos todos estes os conteúdos.

Ainda tenho algumas dificuldades em perceber como os parâmetros de entrada de uma função ou de um procedimento se interligam na estrutura interna. Ao longo da realização dos trabalhos práticos percebi também que preciso de perceber melhor as condições lógicas e a partir daí estruturar ciclos e decisões que permitem desenvolver todo um programa. Apesar de conseguir realizar os trabalhos práticos de forma autónoma, sinto que ainda tenho que me desenvolver e aprofundar mais dentro da programação.

As temáticas mais interessantes neste módulo, na minha opinião, foram a criação de funções e procedimentos e através daqui construir um menu e submenus.

icon