algoritmos 0 - apresentação

29
Princípios de Desenvolvimento de Algoritmos Apresentação e Definições Prof. Daniel Moura

Upload: daniel-moura

Post on 09-Jul-2015

3.410 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Algoritmos   0 - apresentação

Princípios de Desenvolvimento de Algoritmos

Apresentação e Definições

Prof. Daniel Moura

Page 2: Algoritmos   0 - apresentação

# Contextualização

Ir para casa !!

Page 3: Algoritmos   0 - apresentação

# Resolver Problema

Ir para casa !!

Page 4: Algoritmos   0 - apresentação

# Resolver Problema

Ganhar o Jogo !!

Page 5: Algoritmos   0 - apresentação

# Resolver Problema

Tirar uma foto com o celular !

Page 6: Algoritmos   0 - apresentação

# Resolver Problema

Mandar notícias !

+

Page 7: Algoritmos   0 - apresentação

# Resolver Problema

Organizar dados bancários !

Page 8: Algoritmos   0 - apresentação

# Resolver Problema

Vida Moderna

Page 9: Algoritmos   0 - apresentação

# Algoritmos/Contextualização

Hardware sozinho não tem muita utilidade;

Software sozinho, também, não tem muita utilidade.

Hardware + Software=

IMPORTANTE FERRAMENTA DE TRABALHO !!

Page 10: Algoritmos   0 - apresentação

# Algoritmos/Contextualização

Como produzir software ??

Page 11: Algoritmos   0 - apresentação

# Algoritmos/Contextualização

Voltando no tempo (semestre passado ...)

Problemática:

- Computador só entende a linguagem binária;

- O ser humano prefere conversar na sua linguagem de alto nível.

Page 12: Algoritmos   0 - apresentação

# Algoritmos/Contextualização

E agora ?? Vou ter que “conversar binário” ?!!

Binária

Alto nível

Não !!

Para isso existe o compilador !

Page 13: Algoritmos   0 - apresentação

# Algoritmos/Contextualização

Compilador ?! O que é isso ?!

É um software responsável por traduzir o código fonte (linguagem de alto nível) em código objeto

(linguagem de baixo nível).

Page 14: Algoritmos   0 - apresentação

# Algoritmos/Contextualização

Como escrever o código fonte ?

O computador é uma máquina muito precisa, determinística, ou seja, não permite “duplo

sentido”. Para escrever o código fonte é necessário estudar uma

Linguagem de Programação.

Page 15: Algoritmos   0 - apresentação

# Algoritmos/Contextualização

Linguagem de Programação ?

É um conjunto de regras de sintaxe e semântica, que devem ser obedecidas para exprimir uma

determinada ação.

Page 16: Algoritmos   0 - apresentação

Idéia

# Produção de Software

Problema !!

TecnologiasProduz Solução

Page 17: Algoritmos   0 - apresentação

17Conceitos Básicos

> A automação é o processo em que uma tarefa deixa de ser desempenhada pelo homem e passa a ser realizada por máquinas, sejam estas quaisquer.

> É necessário que seja especificado com clareza e exatidão o que deve ser realizado em cada uma das fases do processo a ser automatizado.

> A especificação da seqüência ordenada de passos que deve ser seguida para a realização de uma tarefa, chama-se algoritmo.

> Para que o computador possa desempenhar uma tarefa é necessário que esta seja detalhada passo a passo para a máquina, utilizando aquilo que chamamos de programa.

Page 18: Algoritmos   0 - apresentação

# Algoritmos/Contextualização

Definições:

Algoritmo: É a organização das idéias, através de técnicas de programação.

Linguagem de Programação: Pascal.

Compilador: Pascal ZIM.

Page 19: Algoritmos   0 - apresentação

# Algoritmos/Importância

Algoritmo é a base para o desenvolvimento de software !

Sem saber organizar as idéias para resolução de determinados problemas (fazendo uso das técnicas de programação) … FATALMENTE … também não será possível desenvolver software;

Software ocupa uma importante peça do mercado de trabalho, sabemos que grande parte das tarefas são executadas de forma automatizada, ou seja, com uso de computador + software.

Page 20: Algoritmos   0 - apresentação

# Algoritmos/Definição

Conjunto de técnicas de organização e estruturação dos passos necessários para solucionar um

problema, de forma determinística, seguindo uma ordem lógica.

Page 21: Algoritmos   0 - apresentação

21Técnicas de Programação Estruturada

> Conceitos Básicos> Lógica na Programação de Computadores> Algoritmo> Formas de Representação de Algoritmos

Descrição Narrativa

Gráfica• Fluxogramas

Português Estruturado • Pseudocódigo ou Portugol

Page 22: Algoritmos   0 - apresentação

22Formas de Representação de Algoritmos

> Receita de BoloMisture os ingredientesUnte a forma com manteigaDespeje a mistura na formaSe houver coco raladoentao despeje sobre a misturaLeve ao fornoEnquanto não corardeixe a forma no fornoRetire do fornoDeixe esfriar

> Troca de um pneu furadoAfrouxar ligeiramente as porcasSuspender o carroRetirar as porcas e o pneuColocar o pneu reservaApertar as porcasAbaixar o carroDar o aperto final nas porcas

Descrição Narrativa: são expressos diretamente em linguagem natural.

Page 23: Algoritmos   0 - apresentação

Algoritmos

> Exemplos:

1) Escovar os dentes pela manhã 2) Trocar uma lâmpada queimada

Page 24: Algoritmos   0 - apresentação

Introdução

> Exemplo 1 - Escovar os dentes pela manhã

Page 25: Algoritmos   0 - apresentação

Introdução

> Exemplo 2 – Trocar uma lâmpada queimada

Page 26: Algoritmos   0 - apresentação

Problemas - Atravessar um rio

Na margem esquerda de um rio estão: 1 Pastor 1 Lobo 1 Cabra 1 Repolho

Objetivo: Passar todos para a margem direita do rio, sendo que: O pastor só pode atravessar um “passageiro” de cada

vez; Um “Passageiro” que “devora” o outro nunca podem

estar no mesmo local sem a presença do pastor.

Page 27: Algoritmos   0 - apresentação

27Formas de Representação de Algoritmos

> Fluxograma: Formas geométricas diferentes implicam ações (instruções, comandos) distintas.

Início e Final

Seta de Fluxo de Dados

Processamento

Entrada de Dados

Teste de Condição

Conector na mesma página

Conector na outra página

Saída de Dados

Page 28: Algoritmos   0 - apresentação

28Formas de Representação de Algoritmos

> FluxogramaInício

Nota1 e Nota2

Media = Nota1 + Nota2 / 2

Media >=7

NotaExame ‘Aprovado’Media

N S

Page 29: Algoritmos   0 - apresentação

> Exemplo: Solicitar um histórico escolar na secretária da UATEC