Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Treinamento:

Lógica de programação nível básico

Publico Alvo:Analistas de Suporte Técnico e/ou Negócios
Conhecimentos exigidos:Estrutura básica do produto Microsiga Protheus

Conteúdo:

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO

 

1. LÓGICA DE PROGRAMAÇÃO E ALGORITMOS

 

1.1. LÓGICA DE PROGRAMAÇÃO

 

Lógica

A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas. Ela permite definir a sequência lógica para o desenvolvimento. Então o que é lógica?


(ideia) Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.

 

Sequência Lógica

Estes pensamentos podem ser descritos como uma sequência de instruções, que devem ser seguidas para que seja cumprida determinada tarefa.

 

(ideia) Sequência Lógica são passos executados até atingir um objetivo, ou solução de um problema.

 

Instruções

Na linguagem comum entende-se por instruções como “um conjunto de regras, ou normas definidas para a realização, ou emprego de algo”. Em informática, porém, instrução é a informação que indica a um computador uma ação elementar a executar. Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas em ordem sequencial lógica.

Por exemplo, se quisermos fazer uma omelete de batatas, precisaremos colocar em prática uma série de instruções: descascar as batatas, bater os ovos, fritar as batatas, etc. É evidente que essas instruções devem ser executadas em uma ordem adequada

– não se podem descascar as batatas depois de fritá-las.

Dessa maneira, uma instrução tomada isoladamente não tem muito sentido para obtermos o resultado. Precisamos colocar em prática o conjunto de todas as instruções, e na ordem correta.


(ideia) Instruções é um conjunto de regras, ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar.

 

Algoritmo

Um algoritmo é formalmente uma sequência finita de passos que levam à execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequência de instruções que dão cabo de uma meta específica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas.

 

Como exemplos de algoritmos é possível citar os algoritmos das operações básicas (adição, multiplicação, divisão e subtração) de números reais decimais. Outros exemplos seriam os manuais de aparelhos eletrônicos que explicam passo-a-passo como, por exemplo, gravar um evento.

 

Até mesmo as coisas mais simples podem ser descritas por sequências lógicas, tais como:

 

“Chupar uma bala”

1. Pegar a bala;

2. Retirar o papel;

3. Chupar a bala;

4. Jogar o papel no lixo.

 

“Somar dois números quaisquer”

1. Escreva o primeiro número no retângulo A;

2. Escreva o segundo número no retângulo B;

3. Some o número do retângulo A com número do retângulo B e coloque o

resultado no retângulo C.

 

1.2. DESENVOLVENDO ALGORÍTIMOS

 

Pseudocódigo

Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação em uma linguagem de programação, ou seja, quando for utilizada a linguagem de programação propriamente dita como, por exemplo, ADVPL.

Por isso os algoritmos são independentes das linguagens de programação, sendo que ao contrário de uma linguagem de programação, não existe um formalismo rígido de como deve ser escrito o algoritmo.

O algoritmo deve ser fácil de interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.

 

Fases

Para implementar um algoritmo de simples interpretação e codificação é necessário inicialmente dividir o problema apresentado em três fases fundamentais:


ENTRADA: são os dados de entrada do algoritmo;

 PROCESSAMENTO: são os procedimentos utilizados para chegar ao resultado final;

 SAÍDA: são os dados já processados. “resultado da operação”

 

Regras para a construção do Algoritmo

Para escrever um algoritmo precisamos descrever a sequência de instruções, de maneira simples e objetiva. Para isso utilizaremos algumas técnicas:

    1. Usar somente um verbo por frase;
    2. Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com Informática;
    3. Usar frases curtas e simples;
    4. Ser objetivo;
    5. Procurar usar palavras que não tenham duplo sentido.

 

1.2.1. ESTUDANDO ALGORÍTIMOS

Neste tópico serão demonstrados alguns algoritmos do cotidiano que foram implementados

utilizando os princípios descritos nos tópicos anteriores.

    • Fritar um ovo
    • Jogar o jogo da forca
    • Calcular a média de notas
    • Jogar o jogo da velha – contra o algoritmo

 

Algorítimo 01 - "Fritar um ovo"

1. Pegar frigideira, ovo, óleo e sal.

2. Colocar óleo na frigideira.

3. Ascender o fogo.

4. Colocar a frigideira no fogo.

5. Esperar o óleo esquentar.

6. Quebrar o ovo na frigideira.

7. Jogar a casca no lixo.

8. Retirar a frigideira do fogo quando o ovo estiver no ponto.

9. Desligar o fogo.

10. Colocar sal a gosto.

 

Algorítimo 02 - "Jogar o jogo da forca"

1. Escolher a palavra.

2. Montar o diagrama do jogo.

3. Enquanto houver lacunas vazias e o corpo estiver incompleto:

3.1. Se acertar a letra: escrever na lacuna correspondente.

3.2. Se errar a letra: desenhar uma parte do corpo na forca.

 

Algorítimo 03 - "Calcular a média de notas"

1. Enquanto houver notas a serem recebidas:

1.1. Receber a nota.

2. Some todas as notas recebidas.

3. Divida o total obtido pela quantidade de notas recebidas.

4. Exiba a média das notas.

 

Algorítimo 04 - "Jogar o jogo da velha – contra o algoritmo

1. Enquanto existir um quadrado livre e ninguém ganhou ou perdeu o jogo:

1.1. Espere a jogada do adversário, continue depois.

1.2. Se o centro estiver livre: jogue no centro.

1.3. Senão, se o adversário possuir dois quadrados em linha com um quadrado livre jogue neste quadrado.

1.4. Senão, se há algum canto livre, jogue neste canto.

 

1.2.2.TESTE DE MESA

Todo algoritmo desenvolvido, deve ser testado. Este teste é chamado “TESTE DE MESA”, que significa seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correto ou não.

Para avaliar a aplicação do teste de mesa, utilizaremos o algoritmo de calcular a média de notas:

 

Algoritmo: Calcular a média de notas

1. Enquanto houver notas a serem recebidas:

a. Receber a nota.

2. Some todas as notas recebida.

3. Divida o total obtido pela quantidade de notas recebidas.

4. Exiba a média das notas.

Teste de mesa

1.Para cada nota informada, receber e registrar na tabela abaixo:

2. Ao término das notas, a tabela deverá conter todas as notas informadas, como abaixo:

3. Some todas as notas: 45

 4. Divida a soma das notas, pelo total de notas informado: 45/6 = 7.5

 5. Exiba a média obtida: Mensagem (Média: 7.5)

 

2. ESTRUTURAS DE PROGRAMAÇÃO

  

2.1. DIAGRAMA DE BLOCO

 O diagrama de blocos é uma padronização que representa os passos lógicos de um determinado processamento.

 Com o diagrama definimos uma sequência de símbolos com significado bem definido. Portanto, sua principal função é a de facilitar a visualização dos passos de um processamento.

 

Simbologia

Existem diversos símbolos em um diagrama de bloco. No quadro abaixo estão representados alguns dos símbolos mais utilizados:

 

Representação de algoritmos através de diagramas de bloco

 Algoritmo 01: Fritar um ovo

 1. Pegar frigideira, ovo, óleo e sal.

2. Colocar óleo na frigideira.

3. Acender o fogo.

4. Colocar a frigideira no fogo.

5. Esperar o óleo esquentar.

6. Quebrar o ovo na frigideira.

7. Jogar a casca no lixo.

8. Retirar a frigideira do fogo quando o ovo estiver no ponto.

9. Desligar o fogo.

10. Colocar sal a gosto.

 

 

Algoritmo 02: Calcular a média de notas

1. Enquanto houver notas a serem recebidas:

a. Receber a nota.

2. Some todas as notas recebidas.

3. Divida o total obtido pela quantidade de notas recebidas.

4. Exiba a média das notas

 

Exemplos de Algoritmos em Pseudocódigo

Programa para calcular a média das notas. 

DECLARA nota1,nota2,media:NUMERO

DECLARA nota1 = Zero

DECLARA nota2 = Zero

DECLARA media = Zero

 

ESCREVA "Digite a nota1:"

LEIA nota1

ESCREVA "Digite a nota2:"

LEIA nota2

 

media = (nota1 + nota2)/2

 

ESCREVA "Sua média foi:"

ESCREVA media

 

SE media >= 7 ENTÃO

  ESCREVA "APROVADO"

SE media < 4 ENTÃO

ESCREVA "REPROVADO"

SE media >= 4 E media < 7 ENTÃO

  ESCREVA "Precisa fazer prova final"

 O uso do SE. 

LEIA x
SE x < 20 ENTÃO
  ESCREVA "o valor de X é menor que 20"

O uso do SE e SENÃO. 

LEIA nota
SE nota >= 7 ENTÃO
      ESCREVA "Aprovado"
SENÃO
      ESCREVA "Reprovado"

 

(aviso) Mostrar que não há ambiguidade no SE..SE..SENÃO, através da árvore sintática do seguinte código.

O último SENÃO está associado ao SE do x ou SE do y?

SE x>2 ENTÃO
       SE y>3 ENTÃO
              z = 4
 SENÃO w = 5

Na realidade, se a árvore sintática foi construída, a ambiguidade já foi resolvida.

 

O uso do ENQUANTO. 

ENQUANTO nota = vazio FAÇA
      LEIA nota
      SE nota >= 7 ENTÃO
             ESCREVA "Aprovado"
       SENÃO
            ESCREVA "Reprovado"
FIM_ENQUANTO

 

O uso do PARA. 

DECLARA numero,potencia,resultado:NUMERO
resultado = 1
PARA i=0 ATÉ potencia FAÇA
      resultado = numero * resultado
FIM_PARA

 

2.2. ESTRUTURAS DE DECISÃO E REPETIÇÃO

 A utilização de estruturas de decisão e repetição em um algoritmo permite a realização de ações relacionadas às situações que influenciam na execução e na solução do problema. Como foco na utilização da linguagem ADVPL, serão ilustradas as seguintes estruturas:

 

 Estruturas de decisão

      • IF...ELSE
      • DO CASE ... CASE

 

Estruturas de repetição

      • WHILE...END
      • FOR...NEXT

 

2.2.1. ESTRUTURAS DE DECISÃO

 

Os comandos de decisão são utilizados em algoritmos cuja solução não é obtida através da utilização de ações meramente sequenciais, permitindo que estes comandos de decisão avaliem as condições necessárias para optar por uma ou outra maneira de continuar seu fluxo.

 

As estruturas de decisão que serão analisadas são:

      • IF...ELSE
      • DO CASE ... CASE

 

IF...ELSE

A estrutura IF...ELSE (Se/Senão) permite a análise de uma condição e a partir da qual ser executada uma de duas ações possíveis: Se a análise da condição resultar em um valor verdadeiro ou, se a análise da condição resultar em um valor falso.

 

Representação 01: IF...ELSE com ações para ambas as situações

Esta estrutura permite ainda que seja executada apenas uma ação, na situação em que a análise da condição resultar em um valor verdadeiro.

 

 Representação 02: IF...ELSE somente com ação para situação verdadeira

 

 

 

DO CASE...CASE

A estrutura DO CASE...ENDCASE (Caso) permite a análise de diversas condições consecutivas, para as quais somente a condição para a primeira condição verdadeira será sua ação vinculada e executada.

O recurso de análise de múltiplas condições é necessário para solução de problemas mais complexos, nos quais as possibilidades de solução superam a mera análise de um único resultado verdadeiro, ou falso.

 

 

2.2.2. ESTRUTURAS DE REPETIÇÃO 

Os comandos de repetição são utilizados em algoritmos nas situações em que é necessário realizar uma determinada ação, ou um conjunto de ações para um número definido ou indefinido de vezes, ou ainda enquanto uma determinada condição for verdadeira.

 

As estruturas de decisão que serão analisadas são:

    • WHILE...END
    • FOR...TO...NEXT

 

WHILE...END

Nessa estrutura, o conjunto de ações é executado enquanto a análise de uma condição de referência resultar em um valor verdadeiro. É importante verificar que o bloco somente será executado, inclusive se na primeira análise a condição resultar em um valor verdadeiro.

 

Representação: WHILE...END


 FOR...TO...NEXT

Nessa estrutura, o conjunto de ações é executado em uma quantidade de vezes definida, normalmente referenciada como “passo”.

 

Para cada “passo” realizado pela estrutura FOR...TO...NEXT, é avaliada uma condição que verifica se foi atingido o número de execuções previamente definido. Dessa forma, a estrutura compreende um controle de número de “passos” executados e incrementado na análise da expressão NEXT.

 

Semelhante a estrutura WHILE...END, a primeira ação somente será realizada mediante um

resultado verdadeiro na análise da condição.

 

 Representação: FOR...TO...NEXT



3. BIBLIOGRAFIA

Apostila ADVPL 1 Ano 2005