• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Algoritmos e Programação - Aula 1
 

Algoritmos e Programação - Aula 1

on

  • 4,939 views

Algoritmos e Programação - Aula 1

Algoritmos e Programação - Aula 1

Statistics

Views

Total Views
4,939
Views on SlideShare
4,878
Embed Views
61

Actions

Likes
4
Downloads
97
Comments
0

2 Embeds 61

http://ead.unipe.br 58
http://a0.twimg.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

Algoritmos e Programação - Aula 1 Algoritmos e Programação - Aula 1 Presentation Transcript

  • Profº Thyago Maia Algoritmos e Programação Aula 1
  • Sumário
    • Apresentação da Disciplina;
    • O “segredo” para ter sucesso na disciplina;
    • Afinal, o que é um algoritmo?
    • O que podemos concluir sobre algoritmos?
    • Por que criamos algoritmos?
    • Representações de um algoritmo;
  • Apresentação da Disciplina
    • Professor: Thyago Maia T. de Farias
      • Mestre em Informática pelo PPGI/DI/UFPB
      • Bacharel em Ciência da Computação – UFPB
      • Currículo Lattes: http://lattes.thyagomaia.net
      • E-Mail: [email_address]
      • Twitter: http://twitter.com/thyagomaia
      • Página Facebook: http://facebook.com/profthyagomaia
  • Apresentação da Disciplina
    • Objeto de estudo:
      • Ensino dos conceitos básicos de algoritmos estruturados, envolvendo tipos de dados e formas de representação de algoritmos;
      • Fundamentos e técnicas estruturadas de programação para o desenvolvimento de software;
  • Apresentação da Disciplina
    • Objetivo Geral
      • Introduzir conceitos e técnicas de programação, utilizando noções de algoritmos, através de linguagem de alto nível;
    • Objetivos Específicos
      • Introduzir as técnicas para o desenvolvimento de algoritmos;
      • Estudo e aplicação das técnicas básicas de programação em linguagem de alto nível;
      • Análise e depuração de código;
  • Apresentação da Disciplina
    • Metodologia
      • Aulas teóricas e práticas;
    • Avaliações
      • Divididas em 3 estágios:
        • 1º estágio: Prova Prática (0 a 10 pontos);
        • 2º estágio: Prova Prática (0 a 8 pontos) + Trabalho para o Projeto Integrador (1 ponto) + Apresentação para o III Fórum Integrador (1 ponto);
        • 3º estágio: Prova Prática (0 a 10 pontos);
        • Reposição (todo aluno tem direito a repor APENAS uma prova);
        • Exame Final: Prova Prática que aborda todo o conteúdo;
  • Apresentação da Disciplina
    • Projeto Integrador 2012.1
      • Tema Geral: Redes Socias e Aplicações para Web;
      • Trabalhos a serem desenvolvidos nesta disciplina:
        • 2º estágio
          • Desenvolver um algoritmo ou um programa que funcione como um Quiz. O Quiz terá como objetivo coletar votos dos usuários acerca de uma ou mais redes sociais. Após a coleta, o algoritmo ou programa deverá apresentar o resultado final das votações;
  • Apresentação da Disciplina
    • Referências
      • EAD do Unipê ( http://ead.unipe.br )
        • Contato oficial (e-mail, fórum, chat...);
        • Material de apoio
          • Notas de aula;
          • Slides;
          • Exercícios;
          • Complementação de aulas presenciais;
      • Minha página no Facebook
      • ( http://facebook.com/profthyagomaia )
  • Apresentação da Disciplina
    • Softwares que serão utilizados no curso
      • VisuAlg
        • http://www.apoioinformatica.inf.br/visualg/setupv2.exe
      • Eclipse IDE
        • http://www.eclipse.org
  • O “segredo” para ter sucesso na disciplina
    • Procure estar presente na maioria das aulas (é claro... =P);
      • Lembre-se: Alguns exercícios poderão valer pontos para a prova!
    • Se faltou, procure checar o material da aula no site e/ou com os colegas de sala;
    • Dúvida em algum assunto da aula? Pergunte ao professor imediatamente ou envie um e-mail!
      • Sempre checo meus e-mails e procuro responde-los o mais breve possível;
    • E o mais importante: Pratique... Pratique... Pratique...
  • Afinal, o que é um algoritmo?
    • Sequência de instruções finitas e ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema;
    • Não necessariamente envolve aspectos computacionais;
      • Exemplos
        • Uma receita de bolo;
        • Manual de instruções;
  • Afinal, o que é um algoritmo?
    • Exemplo: Sequência para fritar um ovo:
      • Retirar o ovo da geladeira;
      • Colocar a frigideira no fogo;
      • Colocar óleo;
      • Esperar até o óleo ficar quente;
      • Quebrar o ovo separando a casca;
      • Colocar o conteúdo do ovo na frigideira;
      • Esperar um minuto;
      • Retirar o ovo da frigideira;
      • Apagar o fogo;
  • Afinal, o que é um algoritmo?
    • Tal sequência é um algoritmo? Vejamos...
      • A sequência anterior possui instruções finitas e ordenadas?
        • SIM. 9 instruções ordenadas;
        • O início de uma instrução depende da conclusão de uma instrução anterior;
      • O objetivo da sequência foi atingido?
        • SIM. O ovo foi frito;
    • Logo, a sequência anterior é um algoritmo!
  • Afinal, o que é um algoritmo?
    • Exercício
      • Ordene e estruture uma sequência para a realização de uma ligação telefônica em um orelhão.
  • Afinal, o que é um algoritmo?
    • Uma possível solução:
      • Tirar o telefone do gancho ;
      • Ouvir o sinal de linha;
      • Introduzir o cartão no orelhão;
      • Teclar o número desejado;
      • Conversar;
      • Desligar;
      • Tirar o cartão;
  • Afinal, o que é um algoritmo?
    • A solução anterior... mais robusta:
      • Tirar o telefone do gancho;
      • Ouvir o sinal de linha;
      • Introduzir o cartão no orelhão;
      • Teclar o número desejado;
      • Se chamar e alguém atender...
        • Conversar;
        • Desligar;
        • Retirar o cartão;
      • Senão...
        • Desligar;
        • Voltar para a instrução 1;
  • O que podemos concluir sobre algoritmos?
    • Algoritmo é uma espécie de passo a passo de ações (instruções);
    • Algoritmos retornam uma saída (ex.: um ovo frito) a partir de uma determinada entrada (ex.: um ovo) através de uma sequência de passos;
    • Os passos são executados um após o outro (de forma sequencial);
  • O que podemos concluir sobre algoritmos?
    • Um algoritmo está correto quando sua sequência de instruções retorna uma saída esperada;
    • Podem existir um ou mais algoritmos que retornam uma saída esperada;
      • Mas podem existir algoritmos mais eficientes que outros;
    • Um algoritmo não é a solução do problema, mas o caminho que busca a solução do problema;
  • Por que criamos algoritmos?
    • A linguagem natural não pode ser interpretada por computadores;
    • Computadores são projetados para executar tarefas bem definidas a partir de instruções;
    • Para desenvolver software, utilizamos linguagens de programação...
      • A linguagem algorítmica é similar a uma linguagem de programação;
    • Logo, aprendendo a criar algoritmos, estamos aptos a programar em qualquer linguagem de programação;
  • Representações de um Algoritmo
    • Descrição Narrativa;
    • Fluxograma;
    • Pseudocódigo, Português Estruturado ou Portugol;
    SUBJETIVIDADE PRECISÃO
  • Representações de um Algoritmo
    • Descrição Narrativa
      • Utiliza-se preferencialmente um verbo por frase;
      • Formada por frases curtas e simples;
      • É objetiva;
      • Evita palavras com sentido dúbio;
  • Representações de um Algoritmo
    • Descrição Narrativa – Exemplo:
      • Dobro de um número (dobro = número x 2)
      • Digitar um número;
      • Gravar em uma variável;
      • Multiplicar o número digitado por 2;
      • Gravar o resultado em outra variável;
      • Mostrar o resultado da operação;
  • Representações de um Algoritmo
    • Fluxograma
      • Descrevem o fluxo de ação de um determinado trabalho lógico;
      • Usa símbolos convencionais, permitindo poucas variações;
      • Representados por símbolos geométricos;
  • Representações de um Algoritmo
    • Fluxograma - Exemplo
  • Representações de um Algoritmo
    • Português Estruturado (Portugol)
      • Linguagem mais restrita que o português em linguagem natural;
      • Simplificação extrema do português;
      • Significados bem definidos para todos os termos utilizados nas instruções;
      • Possui um conjunto de palavras e regras específicas (sintaxe da linguagem);
      • É a representação utilizada no curso;
  • Representações de um Algoritmo
    • Português Estruturado (Portugol)
      • Normalmente as implementações são feitas em papel, escritas a mão;
      • Atualmente, também são utilizados programas que interpretam, testam e executam algoritmos;
        • Ex.: VisuAlg (programa que utilizaremos no curso);
  • Desafio
    • Escreva um algoritmo que ajude o homem do barco a levar o lobo, a ovelha e a caixa de verduras para o outro lado do lago. Utilize a descrição narrativa para representar o algoritmo. Lembre-se:
      • Lobos comem ovelhas e ovelhas comem as verduras quando o homem está na outra margem!
  • Solução do Desafio
    • Pega a ovelha
    • Vai para a outra margem
    • Deixa a ovelha
    • Volta a margem inicial
    • Pega a caixa de verduras
    • Vai para a outra margem
    • Deixa a caixa de verduras e pega a ovelha
    • Volta a margem inicial
    • Deixa a ovelha e pega o lobo
    • Vai para a outra margem
    • Deixa o lobo
    • Volta a margem inicial
    • Pega a ovelha
    • Vai para a outra margem
    • Deixa a ovelha