Como qualquel outra ciência, a lógica de programação, uma das áreas da ciência da computação possui alguns conceitos gerais que nos permitirão compreender melhor o desenvolvimento de algoritmos ou programas.
Nesta aula estudaremos os conceitos gerais e a sintaxe de construção de algoritmos.
Como qualquel outra ciência, a lógica de programação, uma das áreas da ciência da computação possui alguns conceitos gerais que nos permitirão compreender melhor o desenvolvimento de algoritmos ou programas.
Programa
Um programa é o resultado do desenvolvimento, verificação e correcção de um algoritmo, que posteriormente é codificado para uma determinada linguagem de programação, compilado, carregado e executado por um computador. Ou seja um programa é na verdade a tradução de um ou mais algoritmos em linguagem de programação, compilada ou interpretado e executado por um computador.
Tipos de Dados
Os tipos de dados definem o dominio dos dados a serem utilizados num dado algoritmo. As linguagens de programação necessitam de tipos de dados para possibilita-las definir o tipo de tratamento a ser dado a cada dado recebido.
Os tipos de dados estão classificados em :
tipos de variáveis: As variaveis podem ser:
Inicialização de variaveis
Muitos programadores pensam que uma boa documentação consiste em colocar muitos comentários no código do programa. Este princípio está totalmente errado. Uma boa documentação, limita-se a explicar o que cada função do programa faz, não perde tempo a explicar como uma função faz o que faz, porque o leitor interessado nesse assunto, é capaz de ler o código do programa. Uma documentação é um mini-manual que dá instruções precisas e completas de sua utilização. A primeira parte desse minimanual deve dizer o que o algoritmo recebe e o que devolve.
Uma documentação correcta é uma atitude de honestidade intelectual, pois coloca nas mãos do leitor a real possibilidade de encontrar erros que o autor tenha, porventura cometido ao escrever o programa. Para aprofundar este tema leia: Software documentation no Wikipédia.
Entendemos por comentário todas as palavras que estão entre os simbolos /* e */ . Vejamos o exemplo:
bool função crescente(a);
/*-------------------------------------------------------------
Recebe: Vector com n elementos
Objectivo: Verificar se os elementos do vector estão na ordem crescente
Devolve : Verdadeiro ou Falso
Data : dd-mm-aaaa
Autor : Manuel Meneses
-------------------------------------------------------------*/
parm int a[1..n];
{
int i;
para i de 1 até n-1 faça se a[i] > a[i+1] então retorna falso;
retorna verdadeiro;
}
NOTA: Esta aula baseada no capitulo 1, do manual de Introdução a análise de algoritmos do professor Eng. Manuel Meneses, escrito em 2010.
Seguiremos a sintaxe definida neste manual por se aproximar muito da sintaxe da linguagem C e Portugol.
Bom Proveito...
Veja a aula completa aqui...
Nesta aula estudaremos os conceitos gerais e a sintaxe de construção de algoritmos.
LIÇÃO #2 - Conceitos Gerais e Sintaxe Algoritmica em pseúdo-códico
Como qualquel outra ciência, a lógica de programação, uma das áreas da ciência da computação possui alguns conceitos gerais que nos permitirão compreender melhor o desenvolvimento de algoritmos ou programas.
- Programa
- Tipos de dados
- Variaveis e tipos de variaveis
- Sintaxe algoritmica em pseudo-codigo
- Declaração de variaveis
- Inicialização de variaveis
- Estrutura de um algoritmo
- Documentação
Programa
Um programa é o resultado do desenvolvimento, verificação e correcção de um algoritmo, que posteriormente é codificado para uma determinada linguagem de programação, compilado, carregado e executado por um computador. Ou seja um programa é na verdade a tradução de um ou mais algoritmos em linguagem de programação, compilada ou interpretado e executado por um computador.
Tipos de Dados
Os tipos de dados definem o dominio dos dados a serem utilizados num dado algoritmo. As linguagens de programação necessitam de tipos de dados para possibilita-las definir o tipo de tratamento a ser dado a cada dado recebido.
Os tipos de dados estão classificados em :
- Simples: define os valores individuas de cada dado;
Ex: Inteiro, Real, Lógico ou Caractére
- Estruturado: define uma colecção ou agregação de valores de tipos diferentes, ou seja um dado estruturado pode conter valores inteiros, reais, lógicos, caractéres e ou apontadores, ao mesmo tempo.
EX: Dados do tipo Pessoa(nome, idade, sexo, altura, ...., *pais ); onde:
nome, sexo: é do tipo caractére;
idade: é do tipo inteiro;
altura: é do tipo real;
*pais: é do tipo apontador.
- Apontador: Faz referência a um endereço de memória, ou seja, um apontador armazena um endereço de memória onde se encontra alocado o valor que se pretende aceder.
EX: Um apontador funciona como uma placa de endereço na estrada, o facto de estar escrito na placa a palavra "CIDADE DE TALATONA", não quer dizer que estejas realmente nesta cidade, mas ela terá uma seta a indicar onde seguir para chegar a cidade de talatona. Logo a nossa placa seria no caso um apontador que aponta para a Cidade de talatona.
Variáveis e tipos de variáveis
Variáveis(identificadores): Em programação, uma variável é um objeto (uma posição, frequentemente localizada na memória) capaz de reter e representar um valor ou expressão.
Enquanto as variáveis só "existem" em tempo de execução, elas são associadas a "nomes", chamados identificadores, durante o tempo de desenvolvimento.
Quando nos referimos à variável, do ponto de vista da programação, estamos tratando de uma “região de memória (do computador) previamente identificada cuja finalidade é armazenar os dados ou informações de um programa por um determinado espaço de tempo”.
tipos de variáveis: As variaveis podem ser:
- Global: Uma variável é chamada global quando está visível em todo o algoritmo ou programa.
- Local: Uma variável é local quando declarada dentro de um subalgoritmo(função ou procedimento), pois sua visibilidade limita-se unica e exclusivamente ao método(função ou procedimento) em que foi definido.
- Constante: Independentemente de a variáver ser local ou global, é chamada constante quando em todo o algoritmo ou subalgoritmo o seu valor é imutavel( não muda, não sofre alteração, é estático ).
Sintaxe algoritmica em pseudo-codigo
Na linguística, a sintaxe é o ramo que estuda os processos generativos ou combinatórios das frases das línguas naturais, tendo em vista especificar a sua estrutura interna e funcionamento. O termo "sintaxe" também é usado para referir o estudo das regras que regem o comportamento de sistemas matemáticos, como a lógica, e as linguagens de programação de computadores.
A sintaxe algoritmica é nada mais, nada menos que a gramatica estrutural do pseúdo-código, ou seja define as regras para se criar um algoritmo, como são usados os comandos, os literais, definição do inicio e fim do algoritmo... A sintaxe algoritmica define a forma como usaremos as instruções para o nosso algoritmo.
- Sinal de atribuição: seta contraria( ← );
- Inicio e fim de um bloco de instruções: chavetas ({ <instruções> });
- Declaração de variaveis: (<tipo> <nome da variavel>;);
- Comentários: slash duplo para comentários na mesma linha ( // ) ou /*...*/ para comentários em bloco
Declaração de variaveis
Consiste na alocação de espaço em memória a ser utilizado pelo tipo de dados da variável, o tamanho a ser ocupado na mémória vai depender do tipo do tamanho que o tipo de dados ocupa em memória.
Para declarar uma variável define-se a seguinte sintaxe:
<tipo> <nome da variavel>;
Se a mesma for uma constante define-se da seguinte forma:
const <tipo> <nome da variavel>;
EX:
- int numero;
- const int numero.
Consiste na atribuição de um valor inicial a variável declarada, a mesma deve apenas receber valores do seu tipo de dados suportado.
EX:
- int numero ⟵ 5;
- char nome ⟵ 'Maria';
- bool aceso ⟵ falso;
- real pi ⟵ 3.1415;
Estrutura de um algoritmo
Asintaxe abaixo representa a sintaxe básica a ser usada para a criação de algoritmos.
algoritmo < nome>; // definição do nome do algoritmo
{
< Declaração dos identificadores globais >; //declarações
< Corpo do algoritmo>; //instruções que compõem o nosso algoritmo
}
Ex:
algoritmo elemmax1;
{
int maior, dado;
const int sentinela = 0;
maior ← 0;
leia(dado);
enquanto (dado <> sentinela)
faça {
se maior < dado então maior ← dado
leia(dado);
}
imprime(‘maior valor sequência = ’,maior);
}
Documentação
Muitos programadores pensam que uma boa documentação consiste em colocar muitos comentários no código do programa. Este princípio está totalmente errado. Uma boa documentação, limita-se a explicar o que cada função do programa faz, não perde tempo a explicar como uma função faz o que faz, porque o leitor interessado nesse assunto, é capaz de ler o código do programa. Uma documentação é um mini-manual que dá instruções precisas e completas de sua utilização. A primeira parte desse minimanual deve dizer o que o algoritmo recebe e o que devolve.
Uma documentação correcta é uma atitude de honestidade intelectual, pois coloca nas mãos do leitor a real possibilidade de encontrar erros que o autor tenha, porventura cometido ao escrever o programa. Para aprofundar este tema leia: Software documentation no Wikipédia.
Entendemos por comentário todas as palavras que estão entre os simbolos /* e */ . Vejamos o exemplo:
bool função crescente(a);
/*-------------------------------------------------------------
Recebe: Vector com n elementos
Objectivo: Verificar se os elementos do vector estão na ordem crescente
Devolve : Verdadeiro ou Falso
Data : dd-mm-aaaa
Autor : Manuel Meneses
-------------------------------------------------------------*/
parm int a[1..n];
{
int i;
para i de 1 até n-1 faça se a[i] > a[i+1] então retorna falso;
retorna verdadeiro;
}
NOTA: Esta aula baseada no capitulo 1, do manual de Introdução a análise de algoritmos do professor Eng. Manuel Meneses, escrito em 2010.
Seguiremos a sintaxe definida neste manual por se aproximar muito da sintaxe da linguagem C e Portugol.
Bom Proveito...
Veja a aula completa aqui...
Comentários
Enviar um comentário