1) O documento introduz os conceitos de lógica de programação e algoritmos, necessários para solucionar problemas de forma estruturada. 2) É apresentada a definição de lógica e algoritmo, com exemplos de receitas e cálculo de média, mostrando suas características. 3) São propostos exercícios para que os alunos desenvolvam a habilidade de construir algoritmos de forma eficaz.
1. Curso: Técnico Integrado em Informática
Disciplina : Fundamentos de Lógica e Algoritmo
INTRODUÇÃO A ALGORITMO
Profª. Katiuscia Lopes dos Santos
2. 2
Ao final desta aula, você será capaz de:
Conceituar Lógica de Programação e disciplinar o raciocínio no
sentido de solucionar problemas.
Conceituar algoritmos e construir algoritmos simples de forma
eficaz.
Objetivo
4. LÓGICA
Observe as seguintes afirmações:
O número 4 é menor que o número 7. O número 9 é maior que
o número 7. Logo, o número 4 é menor que os números 9 e 7.
Um casal com três filhos notou que um vaso estava quebrado,
enquanto duas das crianças estavam na escola. Quem é o
culpado?
Há uma caneta dentro de uma gaveta fechada. Sabemos que,
para pegar a caneta, devemos, antes, abrir a gaveta.
Podemos deduzir a partir dessas afirmações, que em nosso
cotidiano, sempre que pensamos, já estamos utilizando a lógica.
Se consultarmos em um dicionário da língua portuguesa o
verbete "lógica", veremos que se trata de uma parte da filosofia
que estuda as leis do raciocínio. É uma ciência que estuda as
formas do pensamento.
5. LÓGICA
Xavier (2005, p. 25) define a lógica como "uma sequência
coerente, regular e necessária de acontecimentos, de coisas".
Veja, a seguir, uma sequência de passos para comprar um
determinado produto em uma loja. Imagine se seria possível
comprar o produto seguindo os passos dessa sequência:
sair da loja;
pagar pelo produto;
entrar na loja;
retirar o dinheiro da carteira;
dirigir-se ao caixa;
escolher o produto na prateleira.
6. LÓGICA
Seria impossível conseguir efetuar a compra do produto, pois
apesar de todas as ações estarem corretas, a sequência está
errada. Como você poderia pagar pelo produto após sair da
loja? Ou escolher o produto após pagar por ele? A sequência
correta, nesse caso, seria:
entrar na loja;
escolher o produto na prateleira;
dirigir-se ao caixa;
retirar o dinheiro da carteira;
pagar pelo produto;
sair da loja.
7. LÓGICA
A lógica, dessa forma, é utilizada para conduzir pensamentos ou
ações voltados para a solução de problemas. Você sabe que a
lógica está correta em determinada situação, se a solução do
problema tiver sido atingida.
Na programação de computadores, o treino dessa habilidade é
fundamental para aprimorarmos a nossa capacidade de resolver
problemas e programar.
Devemos, portanto, aprender a pensar de forma estruturada. O
que isso significa? Significa desenvolver e aperfeiçoar a técnica
de pensamento, dentro de um raciocínio lógico e matemático,
que é a base de todo o trabalho na programação de
computadores
8. Algoritmos
Para resolver um problema em um computador, de modo
semelhante ao que fazemos para resolver um problema do
nosso cotidiano, devemos encontrar uma maneira de descrever
esse problema de uma forma clara e precisa, através de uma
sequência de passos a serem seguidos até que se atinja a
solução procurada (CRUZ; KNOPMAN, 2001).
Vimos que essa estruturação deve seguir uma determinada
lógica para se atingir um objetivo. A lógica aplicada à
programação de computadores, dessa forma, também deve
buscar a melhor sequência de ações para se resolver um
problema. A essa sequência de ações damos o nome de
algoritmo.
9. Algoritmo
Um algoritmo é um conjunto finito de
regras que fornece uma sequência de
operações para resolver um problema
específico. É algo como uma receita, ou
uma rotina.
10. RECEITA DE BOLO COMUM DE OVOS
Passo 1: Receber os ingredientes
Ingredientes:
2 xícaras de açúcar;
3 ovos;
250g de margarina;
3 xícaras de farinha de trigo;
1 e ½ colher de fermento;
1 xícara de leite.
11. RECEITA DE BOLO COMUM DE OVOS
Modo de preparo:
Passo 2: aqueça o forno a 180 graus;
Passo 3: bata as claras em neve e reserve;
Passo 4: em uma travessa, bata o açúcar, a manteiga e as gemas;
Passo 5: misture a farinha e o leite;
Passo 6: bata bem, até ficar bem homogêneo;
Passo 7: com a ajuda de uma colher, acrescente o fermento;
Passo 8: por último, adicione as claras em neve e mexa
cuidadosamente;
Passo 9: coloque em uma forma untada com manteiga e farinha de
trigo e leve ao forno médio para assar por aproximadamente 35
minutos ou até que, ao espetar um palito, esse saia seco;
Passo 10: após assado, desligue o forno e deixe o bolo esfriar;
Passo 11: desenforme e saboreie.
12. Algoritmo
Observando a receita de bolo, podemos contemplar as cinco
características que são inerentes aos algoritmos (CRUZ; KNOPMAN,
2001):
1. Finitude – um algoritmo sempre deve terminar após um número finito
de passos. Veja que o algoritmo do nosso exemplo encerra no
momento em que o bolo está pronto para ser saboreado.
2. Definição – cada passo do algoritmo deve ser bem definido e sem
ambiguidades, ou seja, não deve dar margem para uma interpretação
dupla.
3. Entradas – um algoritmo deve ter zero ou mais entradas, que são as
informações que devem ser fornecidas antes do algoritmo ser iniciado
(no caso da receita de bolo, as entradas são os ingredientes, ou seja, o
açúcar, os ovos, etc.).
13. Algoritmo
4. Saídas – um algoritmo deve ter uma ou mais saídas. O
número de saídas tem uma relação específica com as
entradas. Mais uma vez, observando a nossa receita, vemos
que os ingredientes (entradas) são misturados dentro da
sequência de passos, gerando uma única saída (o bolo).
5. Efetividade – todo algoritmo deve ser descrito por operações
básicas e possíveis de ser realizadas de forma precisa, dentro
de um determinado tempo, por qualquer pessoa. Por exemplo,
se na receita víssemos uma instrução do tipo "coloque açúcar
à vontade", isso impossibilitaria a sua execução de uma forma
precisa.
14. Algoritmo
Veja agora um exemplo de algoritmo utilizando números e
expressões matemáticas.
Cálculo da média aritmética do aluno
Passo 1: informe a primeira nota;
Passo 2: informe a segunda nota;
Passo 3: some a primeira nota com a segunda nota;
Passo 4: divida o resultado da soma por dois;
Passo 5: mostre o resultado obtido.
15. Algoritmo
O algoritmo acima tem início e fim, como no anterior, tem
passos bem definidos, tem os dados de entrada (primeira nota e
segunda nota), tem uma saída (média) e as instruções de cada
passo são precisas, ou seja, esse exemplo reúne também as
cinco características que nós mencionamos anteriormente.
Diante de tudo isso, podemos afirmar que a construção de
algoritmos é uma atividade que faz parte do nosso cotidiano,
pois todas as atividades que realizamos (como tomar banho, ir à
escola, voltar para casa) precisam de uma série de entradas
para que sejam realizadas (como a hora de acordar, escolher o
melhor caminho para ir à escola, escolher o melhor meio de
transporte), seguem uma sequência lógica de passos e geram
suas respectivas saídas (que são os resultados alcançados).
Você consegue perceber como é simples?
16. Algoritmo
É importante lembrar, no entanto, que
podem existir várias maneiras de
solucionar um problema. O importante
é chegar à solução. Melhor ainda, se
essa solução for atingida de forma
eficiente e eficaz.
17. Atividade
Desenvolver a habilidade de construir algoritmos de forma
eficaz é o primeiro passo para aprender a programar sistemas
de computadores. Vamos treinar essa habilidade resolvendo os
exercícios a seguir.
1. Escreva o seu algoritmo usual para ir à escola.
2. Escreva um algoritmo para fritar batatas.
3. Escreva o seu algoritmo usual para tomar banho.
4. Escreva um algoritmo que, dado um número, exiba o seu
antecessor.
5. Faça o mesmo para exibir o sucessor do número dado.
18. Atividade
Antes de fazer a atividade, considere as técnicas para elaboração
de um algoritmo baseadas nas observações de Ascencio e
Campos (2002), relacionadas a seguir.
ler atentamente o enunciado, destacando os pontos mais
importantes;
definir os dados de entrada;
definir que dados de saída se deseja obter;
definir o processamento (de que maneira será ordenada a
sequência de passos);
construir o algoritmo;
19. BIBLIOGRAFIA
ASCENCIO, Ana F. Gomes; CAMPOS, Edilene A. V. de. Fundamentos
de programação de computadores: algoritmos, Pascal e C/C++.
São Paulo: Prentice Hall, 2002.
CRUZ, Adriano J. O.; KNOPMAN, Jonas. O que são algoritmos? Projeto
de Desenvolvimento de Algoritmos: Núcleo de Computação
Eletrônica. Rio de Janeiro, 2001. Disponível em:
<http://equipe.nce.ufrj.br/adriano/algoritmos/apostila/algoritmos.htm>
. Acesso em: 25 dez. 2009.
SOUZA, Cláudio M. de. VISUALG: editor e interpretador de algoritmos.
Disponível em: <http://apoioinformatica.inf.br/visualg/objetivos.htm>.
Acesso em: 28 dez. 2009.
XAVIER, Gley Fabiano Cardoso. Lógica de programação. 9. ed. São
Paulo: Senac São Paulo, 2005. (Nova Série Informática).