Apostila
Apostila
Apostila
Conceito de Problema
Problema (Dicionário):
• Questão matemática proposta para ser resolvida.
• Questão difícil, delicada, suscetível de diversas soluções.
• Qualquer coisa de difícil explicação; mistério, enigma.
• Dúvida, questão.
1
Lógica de Programação e Algoritmos - LPA
Diariamente nos deparamos com problemas que dependem de raciocínio para serem
solucionados. Isso acontece em casa, no trabalho, na escola, ..., por exemplo, no
momento que acordamos realizamos uma porção de tarefas em uma sequência lógica.
Não pensamos para realizar tais tarefas, pois já são automáticas em nossas rotinas.
Todos os dias nós acordamos, levantamos da cama, vamos até o banheiro, escovamos
os dentes, tomamos banho, trocamos de roupa, tomamos café da manhã e saímos de
casa para a escola, trabalho etc. Claro que nem todos executam todos esses passos e
nem mesmo nesta mesma ordem. Porém, como isso já é automático no dia-a-dia, nós
sequer pensamos em como realizar essas tarefas.
• Tomar um banho;
• Trocar de roupa;
• Ir para o trabalho;
• A forma de cálculo de nossa conta de luz, água, telefone etc.
Para reforçar o conhecimento da aula anterior, temos vários conceitos para algoritmos.
Vamos citar alguns:
“Um conjunto finito de regras que provê uma sequência de operações para resolver um
tipo de problema especifico”. (KNUTH)
2
Lógica de Programação e Algoritmos - LPA
"Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido."
(FORBELLONE, 1999).
"Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a
realização de uma tarefa." (ASCENCIO, 1999).
3
Lógica de Programação e Algoritmos - LPA
• ter fim;
• não dar margem à dupla interpretação (não ambíguo);
• capacidade de receber dado(s) de entrada do mundo exterior;
• poder gerar informações de saída para o mundo externo ao do ambiente do
algoritmo;
• ser efetivo (todas as etapas especificadas no algoritmo devem ser alcançáveis em
um tempo finito).
Sendo assim, consideraremos que um algoritmo é uma sequência, que não permite
ambiguidade, de passos finitos, passível de ser executada com um esforço finito em
tempo finito e que acaba para qualquer entrada (inclusive erro).
O algoritmo tem como papel fundamental ser o elo de ligação entre dois mundos (real e
computacional). A atividade de programação tem início com a construção do algoritmo.
Para executar um programa dentro de um computador temos que ter em mente três
passos essenciais:
Vale lembrar que o computador não toma decisão alguma sozinho, portanto nunca
podemos dizer que computadores cometem erros. Sempre que encontramos um erro,
com certeza esse erro foi de origem humana.
4
Lógica de Programação e Algoritmos - LPA
• Constante;
• Variável;
• Identificador;
• Palavra-reservada;
• Entrada;
• Saída.
Podemos visualizar os recipientes como variáveis, pois estes são regiões do espaço
onde pode-se armazenar inúmeras substâncias.
A colher de pau como uma constante devido a esta representar um objeto que participa
do processo de preparo da omelete e que ao final se mantém inalterado.
Percebemos também que são executadas algumas operações: colocar, bater, derreter,
fritar, dobrar e servir.
5
Lógica de Programação e Algoritmos - LPA
Uma observação a ser feita é o fato de não podermos nomear um recipiente com um
verbo correspondente a uma ação utilizada no processo, logo os verbos podem ser
considerados como palavras-reservadas.
Representações Lógicas
Descrição Narrativa
6
Lógica de Programação e Algoritmos - LPA
programa inicio
var
A, B, C :inteiro
início
leia (A, B, C)
X ← A + B + C
escreva (X)
fim
Abaixo seguem alguns dos símbolos mais conhecidos e utilizados ao longo dos anos,
para a elaboração de diagramas de bloco.
7
Lógica de Programação e Algoritmos - LPA
Terminal – Símbolo utilizado como ponto para indicar o início e/ou fim do
fluxo de um programa.
Exemplos:
Descrição narrativa
8
Lógica de Programação e Algoritmos - LPA
Pseudocódigo
programa agenda
var
nome, endereco, telefone : caractere
início
escreva (“Entre com o nome:”)
leia (nome)
escreva (“Entre com o endereço:”)
leia (endereco)
escreva (“Entre com o telefone:”)
leia (telefone)
escreva (“Nome:”, nome)
escreva (“Endereço:”, endereco)
escreva (“Telefone:”, telefone)
fim
Diagrama de Bloco
Descrição narrativa
Passo 1. Leia a base do retângulo
Passo 2. Leia a altura do retângulo
Passo 3. Calcule o perímetro
Passo 4. Calcule a área
Passo 5. Imprima o perímetro e a área na tela
Pseudocódigo
9
Lógica de Programação e Algoritmos - LPA
programa retangulo
var
base, altura, perimetro, area :real
início
escreva (“Entre com a base:”)
leia (base)
escreva (“Entre com a altura:”)
leia (altura)
perimetro ← 2 * (base + altura)
area ← base * altura
escreva (“O perímetro do retângulo é:”, perimetro)
escreva (“A área do retângulo é:”, area)
fim
Diagrama de Bloco
10