Avançar para o conteúdo principal

Lógica de programação

Introdução a lógica de Programação.


A lógica de Programação é o primeiro passo para todo e qualquer individuo que pretende aprender a programar, nesta pagina encontraremos lições de lógica de programação que ajudarão-nos a marcar os primeiros passos em programação.

LIÇÃO #I

A lógica de programação não é uma linguagem de programação, não depende de uma linguagem de programação. A lógica de programação é um conceito de estruturação de passos finitos que tem por objectivo a resolução parcial ou completa de um problema, tendo como base a construção de algoritimos capazes de dar respostas satisfatórias na resolução de problemas.

Algoritmo
É uma sequência finita de instruções bem definidas e não ambiguas, com o propósito de resolução de proplemas. 








Representação

Um algoritmo pode ser representado de três formas:
1. Narrativa
2. Fluxograma convecional
3. Pseúdo-código


1. NARRATIVA
Na forma narrativa um algoritmo pode ser representado em numa sequência de passos usando a linguagem humana.



EX1: Descreva os passos para tomar banho.

  1. ir a casa de banho;
  2. tirar a roupa;
  3. ligar o choveiro;
  4. colocar-se no polibanho;
  5. tomar banho;
  6. desligar o choveiro;
  7. sair do polibanho;
  8. limpar-se com a toalha;
  9. vestir-se;
  10. sair da casa de banho;
  11. fim do banho.



2. FLUXOGRAMA CONVECIONAL

Nesta forma a sequência de passos é representado por figuras geométricas(Retangulos, quadrados e outras figuras geométricas ).


EX: Algoritmo para acender um candeeiro


3. PSEUDO-CÓDIGO
É uma descrição de alto - nível compacto, informal,  princípio de funcionamento de um programa de computador ou outro algoritmo .
Usa as convenções estruturais de uma linguagem de programação real, 2 , mas é projectado para a leitura humana, em vez de máquina - legível, independentemente de qualquer outra linguagem de programação. Normalmente, o pseudo-código omite detalhes que não são essenciais para a compreensão humana do algoritmo, tais como declarações de variáveis, sistema - código específico e algumas sub-rotinas .


EX: Algoritmo que contador de 0 até 10

programa contadorProg
# Autor: Joseph Cuzunguluca

inicio
     inteiro contador <- 0
     inteiro i <- 0
     para i de 0 até 10 faça{
               contador <-  i
               imprime(contador)
       }
fim


OBS: Estas são as três formas possíveis de representação de um algoritmo. Em nosso curso focaremos-nos na terceira forma que é "Pseudo-código".

NOTA: É essencial que leiam o conteúdo mencionado nos links que vão sendo recomendados, porque este curso abordará mais a componente prática. Na próxima aula desta mesma lição falaremos de conceitos gerais e sintaxe algoritmica em pseúdo-códico.

Um bom dia a todos e desfrutem da academia.

Caso tenham dúvidas por favor reportar no forum abertto:
veja : https://nsukasoftacademy.blogspot.com/p/blog-page_6.html


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.

  1.  Programa
  2. Tipos de dados
  3. Variaveis e tipos de variaveis
  4. Sintaxe algoritmica em pseudo-codigo
  5. Declaração de variaveis
  6. Inicialização de variaveis
  7. Estrutura de um algoritmo
  8. 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.

Inicialização de variaveis

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.

Comentários

  1. O material esta realmente bem confeccionado e simplificado, esta muito facil de entender e o resto é uma questão de investigação, pessoalmente gostei das sugestões que se apresentaram ao longo do material... aguardo ansioso pela sequencia do projeto valeu muito Nsukasoft.

    ResponderEliminar
    Respostas
    1. Obrigado Tarek, espero que esteja a ajudar, hoje ficará disponível a lição n#2.

      Caso tenha alguma dúvida posta no forum aberto e vamos partilhar soluções... basta clicar no menu Forum aberto ou clique aqui: https://nsukasoftacademy.blogspot.com/p/blog-page_6.html

      Eliminar

Enviar um comentário

Mensagens populares deste blogue

Introdução a lógica de Programação

A lógica de Programação é o primeiro passo para todo e qualquer individuo que pretende aprender a programar, nesta pagina encontraremos lições de lógica de programação que ajudarão-nos a marcar os primeiros passos em programação. Introdução a lógica de Programação. A lógica de Programação é o primeiro passo para todo e qualquer individuo que pretende aprender a programar, nesta pagina encontraremos lições de lógica de programação que ajudarão-nos a marcar os primeiros passos em programação. LIÇÃO #I A lógica de programação não é uma linguagem de programação, não depende de uma linguagem de programação. A lógica de programação é um conceito de estruturação de passos finitos que tem por objectivo a resolução parcial ou completa de um problema, tendo como base a construção de algoritimos capazes de dar respostas satisfatórias na resolução de problemas. Algoritmo É uma sequência finita de instruções bem definidas e não ambiguas, com o prop...

Conceitos gerais e sintaxe

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. LIÇÃO #2 - C onceitos 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 co...