UFCD 804
Algoritmos
Formador: Gisela Firmino
Objetivos
Reconhecer e desenvolver algoritmos.
Reflexão
"Before there computers, there w ere algorithms. But now that there a re computers, there are even more algorithms, and algorithms lie at the heart of computing." Introduction to Algorithms (Third Edition)
Um algoritmo para um programador é a codificação de um programa, na sua própria linguagem, utilizando uma linguagem estruturada. É uma sequência de instruções que levam à resolução de um problema ou para completar uma tarefa. Os algoritmos são utilizados em várias aplicações, como motores de pesquisa e organização de dados. Eles ajudam a tornar a nossa vida digital mais fácil e mais eficiente. Um algoritmo deve ter determinadas propriedades - deve ser simples, sem ambiguidades, com uma sequência lógica e deve ter um número finito de instruções.
A algoritmia é a formulação de algoritmos, em que o mesmo algoritmo pode servir de base à codificação em diferentes linguagens programação ou com diferentes técnicas de implementação. Quando se programa, constrói-se um algoritmo - um procedimento computacional bem definido que recebe um valor ou um conjunto de valores como entrada de dados e que através dessa entrada, vai produzir uma saída de dados, que pode ser um valor ou um conjunto de valores.
Para representar um algoritmo pode-se utilizar o pseudocódigo, que consiste em analisar o problema e escrever, utilizando regras predefinidas, os passos a serem seguidos para a resolução do problema.
Na estruturação de um algoritmo, utilizámos a abordagem top-down - onde inicialmente se faz a descrição das variáveis e constantes, seguido da resolução do problema, apresentando por último os resultados.
Exemplo de um algoritmo em pseudocódigo:
O objetivo desta UFCD é reconhecer e desenvolver algoritmos e para isso foram dados os conteúdos necessários - desde os tipos de dados, nomes aceitáveis para identificadores (variáveis e constantes), expressões (combinação de variáveis, constantes e operadores), operadores e prioridades, entrada e saída de dados, funções e a estruturas de controlo.
Na minha opinião, esta UFCD permite-nos começar a desenvolver o pensamento lógico para construir um programa. Todos os conteúdos desenvolvidos, são a base para uma boa programação.