Princípios de Desenvolvimento de Algoritmos Apresentação e Definições Prof. Daniel Moura
Ir para casa !! # Contextualização
# 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 !
Vida Moderna # Resolver Problema
# 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 !! Tecnologias Produz Solução
Conceitos 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.
Té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
Formas de Representação de Algoritmos Receita de Bolo Misture os ingredientes Unte a forma com manteiga Despeje a mistura na forma Se houver coco ralado entao despeje sobre a mistura Leve ao forno Enquanto não corar deixe a forma no forno Retire do forno Deixe esfriar Troca de um pneu furado Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixar o carro Dar 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.
Formas de Representação de Algoritmos Fluxograma:   Formas geométricas diferentes implicam ações (instruções, comandos) distintas. Conector na mesma página Conector na outra página Saída de Dados Início e Final Seta de Fluxo de Dados Processamento Entrada de Dados Teste de Condição
Formas de Representação de Algoritmos Fluxograma Iní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

Algoritmos 0 - apresentação

  • 1.
    Princípios de Desenvolvimentode Algoritmos Apresentação e Definições Prof. Daniel Moura
  • 2.
    Ir para casa!! # Contextualização
  • 3.
    # Resolver ProblemaIr para casa !!
  • 4.
    # Resolver ProblemaGanhar o Jogo !!
  • 5.
    # Resolver ProblemaTirar uma foto com o celular !
  • 6.
    # Resolver ProblemaMandar notícias ! +
  • 7.
    # Resolver ProblemaOrganizar dados bancários !
  • 8.
    Vida Moderna #Resolver Problema
  • 9.
    # 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 !!
  • 10.
  • 11.
    # Algoritmos/Contextualização Voltandono tempo (semestre passado ...) Problemática: Computador só entende a linguagem binária; O ser humano prefere conversar na sua linguagem de alto nível.
  • 12.
    # Algoritmos/Contextualização Eagora ?? Vou ter que “ conversar binário ” ?!! Binária Alto nível Não !! Para isso existe o compilador !
  • 13.
    # 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).
  • 14.
    # Algoritmos/Contextualização Comoescrever 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 .
  • 15.
    # Algoritmos/Contextualização Linguagemde Programação ? É um conjunto de regras de sintaxe e semântica, que devem ser obedecidas para exprimir uma determinada ação.
  • 16.
    Idéia # Produçãode Software Problema !! Tecnologias Produz Solução
  • 17.
    Conceitos Básicos Aautomaçã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 .
  • 18.
    # 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.
  • 19.
    # 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.
  • 20.
    # Algoritmos/Definição Conjuntode 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.
  • 21.
    Técnicas de ProgramaçãoEstruturada 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
  • 22.
    Formas de Representaçãode Algoritmos Receita de Bolo Misture os ingredientes Unte a forma com manteiga Despeje a mistura na forma Se houver coco ralado entao despeje sobre a mistura Leve ao forno Enquanto não corar deixe a forma no forno Retire do forno Deixe esfriar Troca de um pneu furado Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixar o carro Dar o aperto final nas porcas Descrição Narrativa: são expressos diretamente em linguagem natural.
  • 23.
    Algoritmos Exemplos: 1)Escovar os dentes pela manhã 2) Trocar uma lâmpada queimada
  • 24.
    Introdução Exemplo 1- Escovar os dentes pela manhã
  • 25.
    Introdução Exemplo 2– Trocar uma lâmpada queimada
  • 26.
    Problemas - Atravessarum 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.
  • 27.
    Formas de Representaçãode Algoritmos Fluxograma: Formas geométricas diferentes implicam ações (instruções, comandos) distintas. Conector na mesma página Conector na outra página Saída de Dados Início e Final Seta de Fluxo de Dados Processamento Entrada de Dados Teste de Condição
  • 28.
    Formas de Representaçãode Algoritmos Fluxograma Início Nota1 e Nota2 Media = Nota1 + Nota2 / 2 Media >=7 NotaExame ‘ Aprovado’ Media N S
  • 29.
    Exemplo: Solicitar umhistórico escolar na secretária da UATEC

Notas do Editor

  • #24 - A aula será toda prática - Exercícios simples, passos seqüenciais: - Receita de brigadeiro - Troca de Pneu - Exercícios simples, introduz a idéia de condição(IF): - Tirar o saldo - Tirar extrato - Outros exercícios - Torre de hanoi - Charada do bode, leão e o capim - Comentar alguns exemplos( bem e mal sucedidos)