algoritmos 0 - apresentação
TRANSCRIPT
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