SlideShare uma empresa Scribd logo
1 de 19
Curso: Técnico Integrado em Informática
Disciplina : Fundamentos de Lógica e Algoritmo
INTRODUÇÃO A ALGORITMO
Profª. Katiuscia Lopes dos Santos
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
Introdução
RELEMBRANDO AS AULAS ANTERIORES
 REVISÃO DO 1º BIMESTRE
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.
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.
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.
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
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.
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.
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.
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.
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.).
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.
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.
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?
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.
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.
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;
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).

Mais conteúdo relacionado

Semelhante a Aula 2 - Introducao a Algoritmo.pptx

Algoritmo apresentação
Algoritmo   apresentaçãoAlgoritmo   apresentação
Algoritmo apresentaçãopronatecvja
 
Curso de logica de programação aula 1
Curso de logica de programação aula 1Curso de logica de programação aula 1
Curso de logica de programação aula 1Antonio Tadeu Segat
 
Curso de logica de programação aula 1com imagens
Curso de logica de programação aula 1com imagensCurso de logica de programação aula 1com imagens
Curso de logica de programação aula 1com imagensAntonio Tadeu Segat
 
Curso de logica de programação aula 1
Curso de logica de programação aula 1Curso de logica de programação aula 1
Curso de logica de programação aula 1Antonio Tadeu Segat
 
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.pptINFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.pptPatricaNascimento1
 
Aula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptxAula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptxMárcio Santos
 
Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Márcio Santos
 
Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)Sandro Lopes
 
Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica de Programaçãoamansilha
 
Pensamento Computacional.................................
Pensamento Computacional.................................Pensamento Computacional.................................
Pensamento Computacional.................................AnabelaAlferes
 
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmoprogidio
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 

Semelhante a Aula 2 - Introducao a Algoritmo.pptx (20)

01 conceitos
01 conceitos01 conceitos
01 conceitos
 
Algoritmo apresentação
Algoritmo   apresentaçãoAlgoritmo   apresentação
Algoritmo apresentação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Curso de logica de programação aula 1
Curso de logica de programação aula 1Curso de logica de programação aula 1
Curso de logica de programação aula 1
 
Curso de logica de programação aula 1com imagens
Curso de logica de programação aula 1com imagensCurso de logica de programação aula 1com imagens
Curso de logica de programação aula 1com imagens
 
Curso de logica de programação aula 1
Curso de logica de programação aula 1Curso de logica de programação aula 1
Curso de logica de programação aula 1
 
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.pptINFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
 
01-Lógica de Programação .pptx
01-Lógica de Programação .pptx01-Lógica de Programação .pptx
01-Lógica de Programação .pptx
 
Aula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptxAula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptx
 
Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Introduçao a Algoritmo...................
Introduçao a Algoritmo...................
 
Algoritmos com java script
Algoritmos com java scriptAlgoritmos com java script
Algoritmos com java script
 
Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)
 
Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica de Programação
 
Algorítimos
AlgorítimosAlgorítimos
Algorítimos
 
Pensamento Computacional.................................
Pensamento Computacional.................................Pensamento Computacional.................................
Pensamento Computacional.................................
 
Módulo1 aula2
Módulo1 aula2Módulo1 aula2
Módulo1 aula2
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmo
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 

Mais de Jadna Almeida

Introdução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptxIntrodução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptxJadna Almeida
 
Tópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptxTópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptxJadna Almeida
 
Aula 02- Projeto de Interfaces.ppt
Aula 02- Projeto de Interfaces.pptAula 02- Projeto de Interfaces.ppt
Aula 02- Projeto de Interfaces.pptJadna Almeida
 
Aula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfAula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfJadna Almeida
 
2019_Aula 1 - Introdução à Engenharia de Software.pdf
2019_Aula 1 - Introdução à Engenharia de Software.pdf2019_Aula 1 - Introdução à Engenharia de Software.pdf
2019_Aula 1 - Introdução à Engenharia de Software.pdfJadna Almeida
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfJadna Almeida
 
Aula 08LingProgrMauricio.pdf
Aula 08LingProgrMauricio.pdfAula 08LingProgrMauricio.pdf
Aula 08LingProgrMauricio.pdfJadna Almeida
 
Slides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfSlides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfJadna Almeida
 
Slides 04 - A Linguagem Java.pdf
Slides 04 - A Linguagem Java.pdfSlides 04 - A Linguagem Java.pdf
Slides 04 - A Linguagem Java.pdfJadna Almeida
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptJadna Almeida
 
A04_Orientacao a Objetos 02.pdf
A04_Orientacao a Objetos 02.pdfA04_Orientacao a Objetos 02.pdf
A04_Orientacao a Objetos 02.pdfJadna Almeida
 
POO2 - Orientacao a Objetos (1).pdf
POO2 - Orientacao a Objetos (1).pdfPOO2 - Orientacao a Objetos (1).pdf
POO2 - Orientacao a Objetos (1).pdfJadna Almeida
 
linguagens_de_programacao.ppt
linguagens_de_programacao.pptlinguagens_de_programacao.ppt
linguagens_de_programacao.pptJadna Almeida
 
COMP6411.1.history.ppt
COMP6411.1.history.pptCOMP6411.1.history.ppt
COMP6411.1.history.pptJadna Almeida
 

Mais de Jadna Almeida (20)

Introdução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptxIntrodução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptx
 
Tópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptxTópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptx
 
PadroesGRASP.ppt
PadroesGRASP.pptPadroesGRASP.ppt
PadroesGRASP.ppt
 
lect22.ppt
lect22.pptlect22.ppt
lect22.ppt
 
Aula 02- Projeto de Interfaces.ppt
Aula 02- Projeto de Interfaces.pptAula 02- Projeto de Interfaces.ppt
Aula 02- Projeto de Interfaces.ppt
 
Aula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfAula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdf
 
2019_Aula 1 - Introdução à Engenharia de Software.pdf
2019_Aula 1 - Introdução à Engenharia de Software.pdf2019_Aula 1 - Introdução à Engenharia de Software.pdf
2019_Aula 1 - Introdução à Engenharia de Software.pdf
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdf
 
Aula 08LingProgrMauricio.pdf
Aula 08LingProgrMauricio.pdfAula 08LingProgrMauricio.pdf
Aula 08LingProgrMauricio.pdf
 
Slides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfSlides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdf
 
Slides 04 - A Linguagem Java.pdf
Slides 04 - A Linguagem Java.pdfSlides 04 - A Linguagem Java.pdf
Slides 04 - A Linguagem Java.pdf
 
poo-aula01.pdf
poo-aula01.pdfpoo-aula01.pdf
poo-aula01.pdf
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
A04_Orientacao a Objetos 02.pdf
A04_Orientacao a Objetos 02.pdfA04_Orientacao a Objetos 02.pdf
A04_Orientacao a Objetos 02.pdf
 
POO2 - Orientacao a Objetos (1).pdf
POO2 - Orientacao a Objetos (1).pdfPOO2 - Orientacao a Objetos (1).pdf
POO2 - Orientacao a Objetos (1).pdf
 
linguagens_de_programacao.ppt
linguagens_de_programacao.pptlinguagens_de_programacao.ppt
linguagens_de_programacao.ppt
 
COMP6411.1.history.ppt
COMP6411.1.history.pptCOMP6411.1.history.ppt
COMP6411.1.history.ppt
 
22_ideals (1).ppt
22_ideals (1).ppt22_ideals (1).ppt
22_ideals (1).ppt
 
lecture244-mf.pptx
lecture244-mf.pptxlecture244-mf.pptx
lecture244-mf.pptx
 
lecture26-mf.pptx
lecture26-mf.pptxlecture26-mf.pptx
lecture26-mf.pptx
 

Aula 2 - Introducao a Algoritmo.pptx

  • 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
  • 3. Introdução RELEMBRANDO AS AULAS ANTERIORES  REVISÃO DO 1º BIMESTRE
  • 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).