Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 30

Algoritmo

Introdução, Lógica, Algoritmo

[email protected]

1
Lógica
“ordem da razão”
“correção do pensamento”
(Forbellone, Eberspacher)

2
Lógica
• Comumente relacionada à coerência de raciocínio,
racionalidade (razão);
• Abordada pela Filosofia (Aristóteles);
• Como funciona o pensamento humano? Porque
pensamos de determinada forma e não de outra?
• Relacionada à construção do pensamento e no
discernimento do que é válido ou não para
determinada condição / situação;
• Definida por alguns autores como:
• Arte de bem pensar
• Ciência das formas de pensamento

3
Lógica (silogismos)
§ Todo homem é mortal
§ Sócrates é um homem
§ Logo, Sócrates é mortal

• Silogismo foi uma inferência sobre lógica por


Aristóteles
? O modelo é plenamente funcional?
? Há críticas a este modelo? Se sim, Quais?

4
Lógica
• Um dos principais objetivos da lógica é o estudo de
técnicas de formalização, dedução e análise que
permitam verificar a validade de argumentos.
(Forbellone, Eberspacher)
• A lógica está presente em nosso cotidiano,
tomamos decisões a todo momento baseado na
lógica, exemplo:
üA gaveta está fechada.
üA caneta está dentro da gaveta.
ØPrecisamos primeiro abrir a gaveta para depois pegar a
caneta.

5
Lógica de Programação
• É a adoção do processo lógico e do uso correto de
símbolos na produção de estruturas que possam lidar
com informações a fim de processar e produzir
significado ao utilizador.
(Aos humanos lhes é facultado a expressão informacional
por meio da linguagem, que pode ter sua expressão por
meio da fala, de sinais e da escrita {gramática}).
• Na lógica de programação um padrão para a expressar
o raciocínio deve ser formalizado a fim de simbolizar de
maneira legível e compreensível o raciocínio desejado.
• Obs: Compreensível por quem?
6
Algoritmo
“uma sequência de passos bem definidos que têm por objetivo
solucionar um determinado problema”

7
Algoritmo
• Um algoritmo pode ser definido como uma sequência
de passos que visam atingir um objetivo bem definido.
(Forbellone, Eberspacher)
• Esta sequência de passos é baseada em:
• Regras
• Estruturas
• Temporalidade
• Na verdade um algoritmo não é uma exclusividade
computacional, este recurso é utilizado a todo
momento em atividades comuns de nosso cotidiano.
• Ao elaborar um algoritmo devemos especificar ações
claras e precisas.
8
Exemplos
• Pegar uma escada; • Pegar uma escada;
• Posicionar a escada • Posicionar a escada
embaixo da lâmpada; embaixo da lâmpada;
• Buscar uma lâmpada • Buscar uma lâmpada
nova; nova;
• Subir na escada; • Acionar o interruptor;
• Retirar a lâmpada velha; • Se a lâmpada não
• Colocar a lâmpada nova. acender, então:
• Subir na escada;
• Retirar a lâmpada
queimada;
• Colocar a lâmpada nova.
Quais as características destes algoritmos? Podem ser melhorados / modificados?
9
(Forbellone, Eberspacher)
Exemplo
• Acionar o interruptor;

?
• Se a lâmpada não acender, então:
• Pegar uma escada;
• Posicionar a escada embaixo da lâmpada;
• Buscar uma lâmpada nova;
• Acionar o interruptor;
• Subir na escada;
• Retirar a lâmpada queimada;
• Colocar uma lâmpada nova;
• Enquanto a lâmpada não acender, faça:
• Retirar a lâmpada queimada;
• Colocar uma lâmpada nova.

10
(Forbellone, Eberspacher)
Representações

11
Gráfica (Fluxograma)

12
Gráfica (Diagrama de Chapin)

13
Textual (Narrativo)
ü(Já visto slide 9)

• Pegar uma escada;


• Posicionar a escada embaixo da lâmpada;
• Buscar uma lâmpada nova;
• Subir na escada;
• Retirar a lâmpada velha;
• Colocar a lâmpada nova.

14
Textual (Pseudo linguagem)

15
Textual (linguagem específica)

16
Ambiente de Execução
Softwares

17
Ambiente
• Para que o computador possa executar (fazer
funcionar) nosso algoritmo, precisamos de
programas específicos:
• Editor de texto;
• Linguagem de programação; IDE
• Compilador / Interpretador;

18
Software: IDE - Integrated
Development Environment
• Ambiente de Desenvolvimento Integrado:
• É um eficiente editor de texto com diversas funções
avançadas de edição.
• Possui suporte a uma ou mais linguagens de programação;
• É capaz de:
• Compilar e interpretar e executar códigos fonte.
• Pode-se destacar:
• DEV-C++ , Code Blocks, Turbo C
• NetBeans, Eclipse, BlueJ, Intellij IDEA
• Visual Studio.NET, Delphi
• Xcode
• PyCharm
• Android Studio
• VisualG 19
NetBeans

20
NetBeans
• Instalação pré-requisitos:
• Java JDK
• NetBeans (versão tudo)

21
JDK

22
NetBeans

23
Exercícios

24
Exercícios – (casa)
a) Pesquisar sobre as linguagens de programação
mais usadas hoje em dia e quais suas
características (aplicações);
b) Escreva um algoritmo (narrativo) para a seguinte
situação:
i. Realizar matrícula no IF

25
Exercício
• Torre de Hanói.
• Mova somente um disco por vez;
• Cada disco pode ser movido para qualquer eixo, mas
apenas para a posição superior;
• Não é permitido que um disco maior fique em cima de
um disco menor.

26
Fechamento

27
Resumo
Algoritmos
• Sequência finita de passos (instruções) para
resolver um determinado problema.

• Sempre que desenvolvemos um algoritmo estamos


estabelecendo um padrão de comportamento que
deverá ser seguido, uma norma de execução de
ações para alcançar o resultado.

28
Resumo
• Ao resolver um problema utilizando uma sequência
lógica é importante tentar antever as condições e
exceções existentes no universo do problema, de
modo que a solução (sequência lógica) seja capaz
de trazer a solução em diversas situações.

• Por meio das sequências lógicas, pode-se


desenvolver algoritmos para lidar com os mais
variados problemas.

29
Bibliografia
• Lógica de Programação – Forbelone, Eberspacher
• https://pt.wikipedia.org/wiki/L%C3%B3gica_aristot%C3%A9lica

• https://pt.wikipedia.org/wiki/Algoritmo

30

Você também pode gostar