Aula1 Logica
Aula1 Logica
Aula1 Logica
PROGRAMAÇÃO
Lógica
Lógica
• “A lógica é o ramo da Filosofia e da Matemática que estuda os métodos
e princípios que permitem fazer distinção entre raciocínios válidos e
não válidos, determinando o processo que leva ao conhecimento
verdadeiro.”
Importância da Lógica de Programação
• Desenvolvimento do pensamento lógico
Fonte: Pixabay, 2022 (disponível em: Programa Linguagem De Computador - Imagens grátis no Pixabay
Lógica
• O computador precisa receber as instruções de forma lógica e coerente para realizar suas tarefas. E
aplicando com bastante frequência o pensamento lógico para a resolução de nossos problemas, isso
acaba se tornando uma coisa natural.
• Assim como hoje em dia é natural a tarefa de acordar ou tomar café da manhã. Essa sequência
lógica de execução de tarefas leva o nome de “algoritmo”.
Algoritmo
• “Um conjunto finito de regras que provê uma sequência de operações para resolver um tipo de problema especifico”.
(KNUTH).
• “Sequência ordenada e não ambígua de passos que levam a solução de um problema”. (TREMBLAY)
• “Processo de cálculo ou resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e
sem restrições, as regras formais para a obtenção do resultado ou da solução de um problema”. (AURÉLIO)
• "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).
• "Algoritmo é uma sequência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema
computaciona1, qualquer que seja sua instância." (SALVETTI, 1999).
• "Algoritmo são regras formais para a obtenção de um resultado ou da solução de um problema, englobando fórmulas de
expressões aritméticas." (MANZANO, 1997).
Algoritmo
• Podemos definir um algoritmo como:
– uma sequência de passos que visa atingir um objetivo bem definido;
– uma sequência de passos bem definida que deve ser seguida para a realização de uma tarefa ou solução de
um problema.
Fonte: Pixabay, 2022 (disponível em: Programa Linguagem De Computador - Imagens grátis no Pixabay
Algoritmo
• Do ponto de vista computacional um algoritmo será implementado em uma linguagem de
computação gerando um programa, o qual visa instruir um computador (uma máquina) a
executar determinada tarefa.
• Devemos ter consciência que um computador não é dotado da capacidade de tomar
decisões com base em premissas.
• Portanto, não podemos instruir um computador com sentenças dúbias.
Características de Algoritmo
• 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).
Métodos para criação de Algoritmos
• Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:
– Compreender completamente o problema a ser resolvido, destacando os pontos mais importantes e os
objetos que o compõem.
– Definir os dados de entrada, ou seja, quais dados serão fornecidos e quais objetos fazem parte desse cenário-
problema.
– Definir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses cálculos. O
processamento é responsável pela transformação dos dados de entrada em dados de saída. Além disso,
deve-se verificar quais objetos são responsáveis pelas atividades.
– Definir os dados de saída, ou seja, quais dados serão gerados depois do processamento.
– Construir o algoritmo utilizando um dos tipos descritos na próxima seção.
– Testar o algoritmo realizando simulações.
Uma receita
• Um algoritmo nada mais é do que uma receita que mostra passo a passo os procedimentos
necessários para a resolução de uma tarefa. Ele não responde a pergunta “o que fazer?”,
mas sim “como fazer”. Em termos mais técnicos, um algoritmo é uma sequência lógica,
finita e definida de instruções que devem ser seguidas para resolver um problema ou
executar uma tarefa.
• Utilizamos algoritmos de forma intuitiva e automática diariamente quando executa tarefas
comuns.
• Como estas atividades são simples e dispensam ficar pensando nas instruções necessárias
para fazê-las, o algoritmo presente nelas acaba passando despercebido. Por exemplo,
quando precisa trocar uma lâmpada.
Uma receita
Início
Verifica se o interruptor está desligado;
Procura uma lâmpada nova;
Pega uma escada;
Leva a escada até o local;
Posiciona a escada;
Sobe os degraus;
Para na altura apropriada;
Retira a lâmpada queimada;
Coloca a lâmpada nova;
Desce da escada;
Aciona o interruptor;
Se a lâmpada não acender, então:
Retira a lâmpada queimada;
Coloca outra lâmpada nova
Senão
Tarefa terminada;
Joga a lâmpada queimada no lixo;
Guarda a escada;
Fim
Alguns conceitos
• Antes de nos aprofundarmos nos métodos de construção de algoritmos, devemos ter de
forma clara a compreensão de alguns conceitos como:
– Constante;
– Variável;
– Identificador;
– Palavra-reservada;
– Entrada;
– Saída.
Omelete
• Partiremos da lista de ingredientes:
– 5 ovos
– 1/3 de uma xícara de chá de leite
– 2 colheres de sopa de cebolinha verde picada
– 3 pitadas de sal
– 1 colher de sopa de manteiga
• O procedimento de preparo, em linguagem natural, é o seguinte:
1. Colocar em uma tigela os ovos, o leite, a cebolinha e o sal.
2. Com a ajuda de uma colher de pau bater bem os ingredientes contidos na tigela.
3. Colocar a manteiga em uma frigideira e a derreter.
4. Colocar o conteúdo da tigela na frigideira e fritar em fogo baixo até a omelete dourar suavemente.
5. Quando estiver quase seca, dobrar a omelete ao meio, colocar a omelete em um prato.
6. A omelete está pronta para servir.
Omelete
• Ao analisarmos o procedimento de preparo percebemos que são necessários três recipientes: uma tigela, uma frigideira
e um prato, além de uma colher de pau.
• 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.
• Os nomes dos recipientes e os verbos correspondentes às ações podem ser visualizados como identificadores, uma
vez que estes especificam o que será manipulado ou como será manipulado.
• 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.
• Os ingredientes constituirão as entradas para o processo e a omelete será a saída.
Representação Lógica
Representações Lógicas
• Existem várias formas para representar a resolução de um problema, vamos estudar as
seguintes:
– Descrição narrativa,
– Pseudocódigo (ou português estruturado ou portugol)
– Fluxograma (ou Diagrama de Bloco).
Descrição Narrativa
• Consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem
natural (por exemplo, a língua portuguesa), os passos a serem seguidos para sua
resolução.
– Vantagem: não é necessário aprender nenhum conceito novo, pois uma língua natural, neste ponto, já é bem
conhecida.
– Desvantagem: a língua natural abre espaço para várias interpretações, o que posteriormente dificultará a
transcrição desse algoritmo para programa.
Descrição Narrativa
Pseudocódigo ou Português Estruturado ou
Portugol
• Consiste em analisar o enunciado do problema e escrever, por meio de regras predefinidas,
os passos a serem seguidos para sua resolução.
– Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando
conhecer as palavras reservadas dessa linguagem que serão utilizadas.