• Nenhum resultado encontrado

Algoritmos

No documento Logica e Argumentacao (páginas 152-168)

Capítulo 8 Sequências lógicas e algoritmos

8.2.2 Algoritmos

Uma vez que você compreendeu o que é uma sequência lógica, vamos passar à noção de algoritmo, que nada mais é que uma sequência lógica finita de passos necessários à execução de uma tarefa. Para que você possa melhor compreender, visualize uma receita de bolo. Para que se atinja o objetivo

desejado, esta receita não pode ser entranhada de subjetividades, deve ser clara e objetiva. Vamos ilustrar o que estamos dizendo.

Figura 2 – Torta de chocolate fácil

Fonte: Fernando Caprio <chefrs.com.br>

Torta de chocolate fácil

Tempo: 35min

Rendimento : 10 Porções Dificuldade: Fácil

Ingredientes: 6 ovos

6 colheres (sopa) de açúcar

6 colheres (sopa) de chocolate em pó 6 colheres (sopa) de farinha de trigo 100g de coco ralado

1/2 xícara (chá) de margarina 1 colher (sopa) de fermento em pó Margarina e farinha de trigo para untar

Cobertura:

1 lata de leite condensado

2 colheres (sopa) de chocolate em pó 1 colher (sobremesa) de margarina

Modo de preparo

Bata todos os ingredientes no liquidificador e despeje em uma fôrma untada e enfarinhada. Leve ao forno médio, pré-aquecido, por 35 minutos. Para a cobertura, leve ao fogo todos os ingredientes, mexendo até engrossar. Cubra a torta e sirva em seguida.

Para obter esta torta de chocolate fácil é necessário seguir essa sequência de etapas descritas de forma clara e objetiva. Qualquer pessoa que consiga ler atinge o objetivo.

Diariamente lidamos com o algoritmo quando usamos o computador. Os programas de computador são algoritmos escritos em linguagem de computador.

A linguagem de computador ou linguagem informática é destinada a descrever o conjunto das ações consecutivas que um computador deve executar. Estas se constituem em sequências finitas de ações. É uma maneira prática para nós (humanos) darmos instruções a um computador. Uma linguagem informática é rigorosa: A CADA instrução corresponde UMA ação do processador.

A título de ilustração, veja os principais tipos de linguagem informática que são construídas a partir de algoritmos:

Quadro 1 – Tipos de linguagens de informática

LINGUAGENS DE INFORMÁTICA

LINGUAGEM DOMÍNIO DE APLICAÇÃO PRINCIPAL COMPILADA/

INTERPRETADA

€ ADA O tempo real Linguagem compilada

€ BASIC Programação básica com

objetivos educativos Linguagem interpretada € C Programação sistema Linguagem compilada € C++ Programação sistema objeto Linguagem compilada € Cobol Gestão Linguagem compilada € Fortran Cálculo Linguagem compilada

€ Java Programação orientada Internet Linguagem intermédia € MATLAB Cálculo matemático Linguagem interpretada € Mathematica Cálculo matemático Linguagem interpretada € LISP Inteligência artificial Linguagem intermédia € Pascal Ensino Linguagem compilada € PHP Desenvolvimento de sites web

dinâmicos

Linguagem interpretada

€ Prolog Inteligência artificial Linguagem interpretada € Perl Tratamento de cadeias de

caracteres

Linguagem interpretada

Fonte: Disponível em: <http://pt.kioskea.net/contents/langages/langages.php3>. Acesso em: 22 fev. 2012

Desenvolvimento de algoritmos

Qualquer tarefa que siga determinado padrão pode ser descrita por um algoritmo. Para escrever um algoritmo, precisamos descrever a sequência de instruções de maneira simples e objetiva. É preciso ainda desenvolver a tarefa em 3 etapas:

Figura 3 – Sequência de instruções para elaboração de um algoritmo

ENTRADA - são os

dados de entrada do algoritmo

PROCESSAMENTO

- procedimentos utilizados para chegar

ao resultado final

SAÍDA - os dados já

processados

Fonte: Miranda, Cavalcanti (2012)

Um algoritmo tem cinco características importantes:

€ Finitude: um algoritmo deve sempre terminar após um número finito de passos.

€ Definição: cada passo de um algoritmo deve ser precisamente definido. As ações devem ser definidas rigorosamente e sem ambiguidades.

€ Entradas: um algoritmo deve ter zero ou mais entradas, isto é, informações que lhe são fornecidas antes do algoritmo iniciar.

€ Saídas: um algoritmo deve ter uma ou mais saídas, isto é, quantidades que têm uma relação específica com as entradas.

€ Efetividade: um algoritmo deve ser efetivo. Isso significa que todas as operações devem ser suficientemente básicas, de modo que possam ser, em princípio, executadas com precisão, em um tempo finito, por um humano usando papel e lápis.

Quando construímos um algoritmo é importante que ele seja testado. Esse teste se chama TESTE DE MESA. Ele consiste em seguir as instruções fornecidas para observar se estão corretas ou não. Lembra o exemplo inicial que demos com a torta de chocolate? Pois é, o teste de mesa seria seguir a receita passo a passo para saber se ao final teremos a torta.

Vamos agora colocar em prática tudo o que dissemos até aqui sobre algoritmo? Imagine o seguinte problema:

Calcule a média final dos alunos da 3ª Série. Os alunos têm notas de duas unidades: U1 e U2 Onde: Média Final = (U1 + U2 )/ 2

Para montar o algoritmo proposto, faremos três perguntas:

a) Quais são os dados de entrada? R: Os dados de entrada são U1 e U2.

b) Qual será o processamento a ser utilizado?

R: O procedimento será somar todos os dados de entrada e dividi-los por DOIS.

c) Quais serão os dados de saída?

Figura 4 – Sequência de elaboração de um algoritmo ENTRADA U1 = 7 U2 = 8 PROCESSAMENTO 7 + 8 = 15 15 : 2 = SAÍDA 7,5

Fonte: Miranda, Cavalcanti (2012)

Com a montagem, veja como ficaria o algoritmo:

€ receba a nota da prova 1; € receba a nota de prova 2;

€ some todas as notas e divida o resultado por 2; € mostre o resultado da divisão.

Os algoritmos podem ser representados através das seguintes linguagens:

a) Linguagem Natural - os algoritmos são expressos diretamente em linguagem natural. Veja um exemplo:

à Filé de peixe com molho branco.

Preparo dos peixes

Lave os filés e tempere com o suco dos limões, sal, pimenta e salsinha picada. Deixe por 1/2 hora neste tempero. Enxugue e passe cada filé na farinha de trigo. Depois passe pelos ovos batidos e frite na manteiga até ficarem dourados dos dois lados.

Preparo do molho branco

Coloque numa panela a manteiga, a farinha e o leite e misture bem. Em fogo médio, cozinhe até engrossar. Adicione o sal, a pimenta e o queijo. Continue com a panela no fogo, cozinhando até que o queijo derreta, mexendo constantemente.

Juntando os dois

Adicione queijo parmesão ralado e queijo gruyère. Misture e ponha sobre os filés.

b) Fluxograma Convencional - esta é uma representação gráfica que emprega formas geométricas padronizadas para indicar as diversas ações e decisões que devem ser executadas para resolver o problema. Para exemplificar esta forma de linguagem, vamos a um exemplo do algoritmo para decidir o que fazer em um dia de domingo.

Figura 4– Modelo de fluxograma

Início

Ler jornal Ir à praia

Fim Ir dormir Fazer refeição Ir ao cinema Dia de Sol? Tomar café Acordar Sim Não

Fluxograma para um domingo

c) Pseudo-linguagem - emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para descrever os algoritmos. Essa é uma linguagem que colocamos aqui apenas para que você tenha conhecimento. Ela é empregada no campo da computação.

Veja o exemplo:                           

Veja no exemplo que o algoritmo começa com a função principal, que é a função obrigatória em todos os algoritmos. Os parênteses após o nome principal são normalmente usados para delimitar a lista de argumentos, também chamados parâmetros, que a função irá receber para executar a sua tarefa. Nesse caso, a função não está recebendo nenhum parâmetro. Este algoritmo executa um único comando que imprime o texto “Alo mundo” em um dispositivo qualquer de saída de dados.

8.3 Aplicando a teoria na prática

Como você pôde aprender, algoritmos – apesar de a palavra parecer estranha - são sequências finitas de etapas necessárias à resolução de problemas. Funcionam como receitas que, se seguidas, deverão chegar ao resultado indicado. Cotidianamente fazemos uso de algoritmos nas receitas culinárias, nas tarefas domésticas, no dia a dia profissional.

Veja a situação em que é possível identificar o uso de algoritmos para promover interações sociais.

No decorrer da trama do filme A REDE SOCIAL é apresentada uma cena de ação com o uso de algoritmos, quando a versão cinematográfica de Mark Zuckerberg, criador do Facebook, se debruça sobre a programação do site: seu desafio é descobrir fórmulas matemáticas para a amizade. O resultado se traduz no fato de que com mais de 500 milhões de usuários, o Facebook é um sucesso global pelos recursos de conectividade entre as pessoas, desenvolvidos a partir de algoritmos.

Na medicina, o uso de algoritmos é difundido na análise de tomografias, radiografias e ressonâncias magnéticas. A principal função da máquina, nesses casos, é comparar um exame com outro feito anteriormente para detectar mudanças no padrão da imagem.

Em todos os dois exemplos, foram criados algoritmos que descrevem uma sequência de etapas (com entrada, processamento e saída) que, se seguidas, chegarão a um resultado eficaz.

8.4 Para saber mais

Título: Algoritmo e programação

Autores: Marco Medina e

Cristina Fertig Editora: Novatec Ano: 2005

Com este livro os autores se propõem a superar as dificuldades que surgem na formação acadêmica quando o assunto são os algoritmos. A temática é trabalhada a partir da exposição de conceitos formais, seguidos da resolução de problemas, identificando erros comuns na construção de algoritmos.

Título: Algoritmo - teoria e prática

Autores: Thomas H. Cormen, Charles Leiserson, Ronald Rivest e Clifford Stein

Editora: Campus Ano: 2002

Os autores procuraram imprimir neste livro a marca do rigor e da abrangência no tratamento da temática. No entanto, a apresentação do conteúdo é feita em linguagem comum, elaborada para ser lida por qualquer pessoa que tenha interesse na área de programação.

Título: Testes de lógica. Treine o raciocínio e mantenha sua mente sempre afiada

Autor: Ed. Marco Zero Editora: Marco Zero Ano: 2010

A prática regular de exercícios de lógica desenvolve a capacidade de elaborar raciocínios coerentes e de pensar com clareza, além de melhorar a concentração e a agilidade mental. Essa é a proposta deste livro, que apresenta uma série de exercícios com respostas, especialmente formulados para desenvolver o raciocínio lógico, com níveis diversos de dificuldades.

8.5 Relembrando

Com este capítulo encerramos nossa reflexão sobre LÓGICA. Na discussão que fizemos acima você aprendeu sobre sequências lógicas e algoritmos. Entre as questões fundamentais destacamos:

€ a lógica é uma ferramenta fundamental ao desenvolvimento cognitivo;

€ no contexto da lógica, um aspecto importante na organização do nosso pensamento é o estudo das sequências lógicas;

€ o que é uma sequência lógica? Uma sequência lógica é um conjunto de passos que devem ser executados para atingirmos um objetivo ou solucionarmos um problema;

€ uma sequência pode ser finita ou infinita e pode ser formada por números, letras, pessoas, figuras, entre outros;

€ algumas sequências são bastante conhecidas e todo aluno que estuda lógica deve conhecê-las, são elas: as progressões aritméticas e geométricas, a série de Fibonacci, os números primos e os quadrados perfeitos:

1. Progressão Aritmética

Soma-se constantemente um mesmo número. 2 5 8 11 14 17 ...

+3 +3 +3 +3 +3

2. Progressão Geométrica

Multiplica-se constantemente um mesmo número. 2 6 18 54 162 486 ...

3. Incremento em Progressão

O valor somado é que está em progressão. 1 2 4 7 11 16 ...

+1 +2 +3 +4 +5

4. Série de Fibonacci

Cada termo é igual à soma dos dois anteriores. 1 1 2 3 5 8 13 ...

5. Números Primos

Números naturais que possuem apenas dois divisores naturais (o 1 e o próprio número).

2 3 5 7 11 13 17 ...

6. Quadrados Perfeitos

Números naturais cujas raízes são naturais. 1 4 9 16 25 36 4 ...

€ algoritmo é uma sequência lógica finita de passos necessários à execução de uma tarefa;

€ para escrever um algoritmo precisamos descrever a sequência de instruções de maneira simples e objetiva. É preciso ainda desenvolver a tarefa em 3 etapas: ENTRADA – PROCESSAMENTO – SAÍDA;

€ características importantes de um algoritmo: finitude, definição, entradas, saídas e efetividade;

€ quando construímos um algoritmo, é importante que ele seja testado. Esse teste se chama TESTE DE MESA. Ele consiste em seguir as instruções fornecidas para observar se estão corretas ou não.

8.6 Testando os seus conhecimentos

Uma vez que você aprendeu sobre sequências lógicas e algoritmos, convidamos-te a testar os conhecimentos adquiridos.

1) Qual a carta que falta?

As cartas abaixo foram agrupadas em pares, segundo uma relação lógica. Qual é a carta que está faltando, sabendo que K vale 13, Q vale 12, J vale 11 e A vale 1?

A

K

J

1

7

7

Q

2

4

10

8

?

2) Identifique os dados de entrada, processamento e saída no algoritmo abaixo:

( ) Receba código da peça ( ) Receba valor da peça

( ) Receba quantidade de peças

( ) Calcule o valor total da peça (quantidade * valor da peça) ( ) Mostre o código da peça e seu valor total

Agora exercite com uma questão de concurso público!

3) (FCC - Técnico Judiciário - TRF 4ª Região - 2004) - Considere os seguintes pares de números:

Observe que quatro desses pares tem uma característica comum. O único par que não apresenta tal característica é:

a) (3,10) b) (1,8) c) (5,12) d) (2,9) e) (4,10)

Onde encontrar

ALENCAR FILHO, E. Iniciação à lógica matemática. São Paulo: Editora Nobel, 2002.

DANTE, L. R. Didática da resolução de problemas de matemática. 12. ed. São Paulo: Ática, 2002.

FORBELLONE, A. L. V. Lógica de programação – a construção de algoritmos e estruturas de dados. São Paulo: MAKRON, 1993.

ALENCAR FILHO, E. Iniciação à lógica matemática. São Paulo: Editora Nobel, 2002.

ALMEIDA, C. B. Lógica de primeira ordem. Disponível em: <http:// wiki.di.uminho.pt/twiki/pub/Education/LC/MaterialApoio/LogPO. pdf>. Acesso em: 25 nov. 2011.

ARANHA, M. L. de A.; MARTINS, M. H. P. Filosofando. Rio de Janeiro: Moderna, 2010.

BOTELHO, I. Disponível em:

<http://www.youtube.com/watch?v=vG2emrICxaw>. Acesso em: 7 mar. 2011.

CARNAVAL, N. Lógica sentencial. Disponível em: <http://www. jusdecisum.com.br/sistema/turma/arquivos/BB%20LOGICA%20E%20 MATEMATICA.pdf>. Acesso em: 10 jun. 2011.

CHALITA, G. Vivendo a filosofia. São Paulo: Ática, 2006.

CHAUÍ, M. Convite à filosofia. São Paulo: Ática, 2001.

COPI, I. M. Introdução à lógica. 2. ed. São Paulo: Mestre Jou, 1978.

COTRIM, G. Fundamentos da filosofia. Para uma geração consciente. São Paulo: Saraiva, 1989.

DANTE, L. R. Didática da resolução de problemas de matemática. 12. ed. São Paulo: Ática, 2002.

DICIONÁRIO de Filosofia. Sobre as definições de conceito. Disponível em: <http://www.terravista.pt/ancora/2254/lexc.htm>. Acesso em: 12 abr. 2011.

DICIONÁRIOWEB. Definir. Disponível em: <http://www. dicionarioweb.com.br/definir.html>. Acesso em: 20 abr. 2011.

FERREIRA, I. L. A distinção analítico-sintético. Disponível em: < http://www. diaadiaeducacao.pr.gov.br/diaadia/diadia/arquivos/File/conteudo/artigos_ teses/FILOSOFIA/Dissertacoes/Isaias.pdf>. Acesso em: 25 abr. 2011.

FORBELLONE, A. L. V. Lógica de programação – a construção de algoritmos e estruturas de dados. São Paulo: MAKRON, 1993.

FURTADO, E. M. Raciocínio lógico para concursos. Curitiba: IESDE Brasil Ltda, 2010.

GASPAR, M. Introdução à lógica matemática. Disponível em: <http:// mjgaspar.sites.uol.com.br/logica/logica#listapref>. Acesso em: 15 jun. 2011.

JOLIVET, R. Lógica material. Disponível em: <http://www.consciencia.org/ cursofilosofiajolivet6.shtml>. Acesso em: 25 abr. 2011.

______. Curso de filosofia. Rio de Janeiro: Agir, 1966.

LALANDE, A. Vocabulário técnico e crítico de filosofia. São Paulo: Martins Fontes, 1999.

MACHADO, N. J. Lógica? É Lógico! São Paulo: Scipione, 2000.

MARGUTTI, P. Silogística aristotélica. Disponível em: <http://www.fafich. ufmg.br/~margutti/Silogistica%20Aristotelica.pdf>. Acesso em: 15 fev. 2011.

MORA, F. Dicionário de filosofia. Disponível em: <http://books.google.com.br/ books>. Acesso em: 22.nov. 2011.

MORELAND, J. P.; CRAIG, W. L. Filosofia e cosmovisão cristã. São Paulo: Edições Vida Nova, 2005.

MURCHO, D. Lógica. Disponível em: <http://dmurcho.com/docs/introlog.pdf>. Acesso em: 15 jun. 2011.

NAVEGA, S. Pensamento crítico e argumentação sólida. São Paulo: Publicações Intelliwise, 2005.

NICOLA, U. Ontologia ilustrada de filosofia. São Paulo: Globo, 2005.

PEREIRA, S. do L. Lógica proposicional. Disponível em: <http://www.ime.usp. br/~slago/IA-logicaProposicional.pdf>. Acesso em: 16 fev. 2011.

RODRIGUES NETO, C. Lógica: dedução e indução. Disponível em: <http:// www.each.usp.br/camiloneto/tadi/aula4.pdf>. Acesso em: 25 maio 2011.

REBOUÇAS, F. Sofisma. Disponível em: <http://www.infoescola.com/filosofia/ sofisma/>. Acesso em: 16 maio 2011.

ROCHA, E. Raciocínio lógico - você consegue aprender. Série Provas e Concursos. 2. ed. São Paulo: Campus, 2008.

TRAVASSOS, L. C. P. Inteligências múltiplas. Disponível em: <http://eduep.uepb. edu.br/rbct/sumarios/pdf/inteligencias_multiplas.pdf>. Acesso em: 27 fev. 2011.

SCOLARI, A. T.; BERNARDI, G. O Desenvolvimento do raciocínio lógico através de objetos de aprendizagem. Disponível em: <http://www.cinted. ufrgs.br/ciclo10/artigos/4eGiliane.pdf>. Acesso em: 27 fev. 2011.

SOARES, F.; DORNELAS, G. N. A lógica no cotidiano e a lógica na matemática. Disponível em: <http://www.sbem.com.br/files/viii/pdf/05/MC03526677700. pdf>. Acesso em: 10 mar. 2011.

SOUZA, M. A. A lógica representa uma ordem, de fato a ordem a priori do mundo. Disponível em: <http://logicanet.wordpress.com/2007/11/25/18/>. Acesso em: 25 nov. 2011.

STRECKER, H. Lógica – Introdução. Uma porta ao mundo da filosofia e da ciência. Disponível em: <http://educacao.uol.com.br/filosofia/ult3323u4. jhtm>. Acesso em: 25 fev. 2011.

TOGATLIAN, M. A. Teoria das inteligências múltiplas. Disponível em: <http:// togatlian.pro.br/docs/pos/unesa/inteligencias.pdf>. Acesso em: 10 mar. 2011.

VELASCO, P. D. N. Educando para a argumentação: contribuições do ensino da lógica. Belo Horizonte: Autêntica Editora, 2010. (Coleção Ensino de Filosofia, 3).

No documento Logica e Argumentacao (páginas 152-168)

Documentos relacionados