Algoritmos 0 - apresentação

Post on 09-Jul-2015

3.410 views 2 download

Transcript of Algoritmos 0 - apresentação

Princípios de Desenvolvimento de Algoritmos

Apresentação e Definições

Prof. Daniel Moura

# Contextualização

Ir para casa !!

# Resolver Problema

Ir para casa !!

# Resolver Problema

Ganhar o Jogo !!

# Resolver Problema

Tirar uma foto com o celular !

# Resolver Problema

Mandar notícias !

+

# Resolver Problema

Organizar dados bancários !

# Resolver Problema

Vida Moderna

# 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 !!

# Algoritmos/Contextualização

Como produzir software ??

# 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.

# Algoritmos/Contextualização

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

Binária

Alto nível

Não !!

Para isso existe o compilador !

# 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).

# 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.

# 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.

Idéia

# Produção de Software

Problema !!

TecnologiasProduz Soluçã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.

# 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.

# 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.

# 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.

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

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.

Algoritmos

> Exemplos:

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

Introdução

> Exemplo 1 - Escovar os dentes pela manhã

Introdução

> Exemplo 2 – Trocar uma lâmpada queimada

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.

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

28Formas de Representação de Algoritmos

> FluxogramaInício

Nota1 e Nota2

Media = Nota1 + Nota2 / 2

Media >=7

NotaExame ‘Aprovado’Media

N S

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