algoritmoseprogramao aula1 120203042448 phpapp01

28
Profº Thyago Maia Algoritmos e Programação Aula 1

Upload: sergio-salazar

Post on 21-Nov-2015

8 views

Category:

Documents


1 download

TRANSCRIPT

  • Prof Thyago MaiaAlgoritmos e Programao

    Aula 1

  • SumrioApresentao da Disciplina;O segredo para ter sucesso na disciplina;Afinal, o que um algoritmo?O que podemos concluir sobre algoritmos?Por que criamos algoritmos?Representaes de um algoritmo;

  • Apresentao da DisciplinaProfessor: Thyago Maia T. de FariasMestre em Informtica pelo PPGI/DI/UFPBBacharel em Cincia da Computao UFPBCurrculo Lattes: http://lattes.thyagomaia.netE-Mail: [email protected]: http://twitter.com/thyagomaiaPgina Facebook: http://facebook.com/profthyagomaia

  • Apresentao da DisciplinaObjeto de estudo:

    Ensino dos conceitos bsicos de algoritmos estruturados, envolvendo tipos de dados e formas de representao de algoritmos;

    Fundamentos e tcnicas estruturadas de programao para o desenvolvimento de software;

  • Apresentao da DisciplinaObjetivo GeralIntroduzir conceitos e tcnicas de programao, utilizando noes de algoritmos, atravs de linguagem de alto nvel;

    Objetivos EspecficosIntroduzir as tcnicas para o desenvolvimento de algoritmos;Estudo e aplicao das tcnicas bsicas de programao em linguagem de alto nvel;Anlise e depurao de cdigo;

  • Apresentao da DisciplinaMetodologiaAulas tericas e prticas;

    AvaliaesDivididas em 3 estgios:1 estgio: Prova Prtica (0 a 10 pontos);2 estgio: Prova Prtica (0 a 8 pontos) + Trabalho para o Projeto Integrador (1 ponto) + Apresentao para o III Frum Integrador (1 ponto);3 estgio: Prova Prtica (0 a 10 pontos);Reposio (todo aluno tem direito a repor APENAS uma prova);Exame Final: Prova Prtica que aborda todo o contedo;

  • Apresentao da DisciplinaProjeto Integrador 2012.1Tema Geral: Redes Socias e Aplicaes para Web;

    Trabalhos a serem desenvolvidos nesta disciplina:2 estgio Desenvolver um algoritmo ou um programa que funcione como um Quiz. O Quiz ter como objetivo coletar votos dos usurios acerca de uma ou mais redes sociais. Aps a coleta, o algoritmo ou programa dever apresentar o resultado final das votaes;

  • Apresentao da DisciplinaRefernciasEAD do Unip (http://ead.unipe.br)Contato oficial (e-mail, frum, chat...);Material de apoioNotas de aula;Slides;Exerccios;Complementao de aulas presenciais;

    Minha pgina no Facebook (http://facebook.com/profthyagomaia)

  • Apresentao da DisciplinaSoftwares que sero utilizados no curso

    VisuAlghttp://www.apoioinformatica.inf.br/visualg/setupv2.exe Eclipse IDEhttp://www.eclipse.org

  • O segredo para ter sucesso na disciplinaProcure estar presente na maioria das aulas ( claro... =P);Lembre-se: Alguns exerccios podero valer pontos para a prova!Se faltou, procure checar o material da aula no site e/ou com os colegas de sala;Dvida 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 possvel;E o mais importante: Pratique... Pratique... Pratique...

  • Afinal, o que um algoritmo?Sequncia de instrues finitas e ordenadas de forma lgica para a resoluo de uma determinada tarefa ou problema;

    No necessariamente envolve aspectos computacionais;ExemplosUma receita de bolo;Manual de instrues;

  • Afinal, o que um algoritmo?Exemplo: Sequncia 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 contedo do ovo na frigideira; Esperar um minuto; Retirar o ovo da frigideira; Apagar o fogo;

  • Afinal, o que um algoritmo?Tal sequncia um algoritmo? Vejamos...A sequncia anterior possui instrues finitas e ordenadas?SIM. 9 instrues ordenadas;O incio de uma instruo depende da concluso de uma instruo anterior; O objetivo da sequncia foi atingido?SIM. O ovo foi frito;Logo, a sequncia anterior um algoritmo!

  • Afinal, o que um algoritmo?Exerccio Ordene e estruture uma sequncia para a realizao de uma ligao telefnica em um orelho.

  • Afinal, o que um algoritmo?Uma possvel soluo: Tirar o telefone do gancho; Ouvir o sinal de linha; Introduzir o carto no orelho; Teclar o nmero desejado; Conversar; Desligar; Tirar o carto;

  • Afinal, o que um algoritmo?A soluo anterior... mais robusta: Tirar o telefone do gancho; Ouvir o sinal de linha; Introduzir o carto no orelho; Teclar o nmero desejado; Se chamar e algum atender... Conversar; Desligar; Retirar o carto; Seno... Desligar; Voltar para a instruo 1;

  • O que podemos concluir sobre algoritmos?Algoritmo uma espcie de passo a passo de aes (instrues);

    Algoritmos retornam uma sada (ex.: um ovo frito) a partir de uma determinada entrada (ex.: um ovo) atravs de uma sequncia de passos;

    Os passos so executados um aps o outro (de forma sequencial);

  • O que podemos concluir sobre algoritmos?Um algoritmo est correto quando sua sequncia de instrues retorna uma sada esperada;

    Podem existir um ou mais algoritmos que retornam uma sada esperada;Mas podem existir algoritmos mais eficientes que outros;

    Um algoritmo no a soluo do problema, mas o caminho que busca a soluo do problema;

  • Por que criamos algoritmos?A linguagem natural no pode ser interpretada por computadores;Computadores so projetados para executar tarefas bem definidas a partir de instrues;Para desenvolver software, utilizamos linguagens de programao...A linguagem algortmica similar a uma linguagem de programao;Logo, aprendendo a criar algoritmos, estamos aptos a programar em qualquer linguagem de programao;

  • Representaes de um Algoritmo

    Descrio Narrativa;

    Fluxograma;

    Pseudocdigo, Portugus Estruturado ou Portugol;SUBJETIVIDADEPRECISO

  • Representaes de um AlgoritmoDescrio Narrativa

    Utiliza-se preferencialmente um verbo por frase;Formada por frases curtas e simples; objetiva;Evita palavras com sentido dbio;

  • Representaes de um AlgoritmoDescrio Narrativa Exemplo:

    Dobro de um nmero (dobro = nmero x 2)

    Digitar um nmero;Gravar em uma varivel;Multiplicar o nmero digitado por 2;Gravar o resultado em outra varivel;Mostrar o resultado da operao;

  • Representaes de um AlgoritmoFluxograma

    Descrevem o fluxo de ao de um determinado trabalho lgico;Usa smbolos convencionais, permitindo poucas variaes;Representados por smbolos geomtricos;

  • Representaes de um AlgoritmoFluxograma - Exemplo

  • Representaes de um AlgoritmoPortugus Estruturado (Portugol)Linguagem mais restrita que o portugus em linguagem natural;Simplificao extrema do portugus;Significados bem definidos para todos os termos utilizados nas instrues;Possui um conjunto de palavras e regras especficas (sintaxe da linguagem); a representao utilizada no curso;

  • Representaes de um AlgoritmoPortugus Estruturado (Portugol)Normalmente as implementaes so feitas em papel, escritas a mo;Atualmente, tambm so utilizados programas que interpretam, testam e executam algoritmos;Ex.: VisuAlg (programa que utilizaremos no curso);

  • DesafioEscreva 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 descrio narrativa para representar o algoritmo. Lembre-se:Lobos comem ovelhas e ovelhas comem as verduras quando o homem est na outra margem!

  • Soluo do DesafioPega a ovelhaVai para a outra margemDeixa a ovelhaVolta a margem inicialPega a caixa de verdurasVai para a outra margemDeixa a caixa de verduras e pega a ovelhaVolta a margem inicialDeixa a ovelha e pega o loboVai para a outra margemDeixa o loboVolta a margem inicialPega a ovelhaVai para a outra margemDeixa a ovelha

    ****************************