Algoritmos e Programação     Prof. Thyago     Prof.º Thyago Maia            2013.1
Aula 1: Introdução                               çObjetivos  • Apresentar a disciplina     p                           g  ...
Apresentação
Apresentação                      p       ç• Professor:  Thyago Maia Tavares de Farias  – Mestre em Informática pelo PPGI ...
Apresentação                      p       ç• Foco da disciplina     Ensino dos conceitos básicos de algoritmos      estrut...
Apresentação                         p       ç• Avaliações (3 estágios):  – 1º estágio:           g     • Prova convencion...
Apresentação                            p       ç• Reposição , Final e Presença  – Reposição:      p ç     • Prova convenc...
Apresentação                       p       ç• Moodle (Ferramenta de Educação a Distância)  – Material da disciplina (Slide...
Apresentação                       p       ç• Sites auxiliares:   – http://facebook.com/profthyagomaia   – h // i     http...
Apresentação                           p       ç• Softwares que serão utilizados no curso:  – VisuAlg     • http://www apo...
Apresentação                        p       ç• Para ter sucesso na disciplina:  – Procure estar presente em todas as aulas...
Afinal, o que é um algoritmo?Afinal o que é um algoritmo?
Afinal, o que é um algoritmo?Sequência finita de instruções, ordenadas de         g p               çforma lógica para a r...
Afinal, o que é um algoritmo?Exemplo: Sequência para fritar um ovo:1) Retirar o ovo da geladeira; )                  g    ...
Afinal, o que é um algoritmo?Tal sequência é um algoritmo? Vejamos...– A sequência anterior possui instruções finitas e   ...
Afinal, o que é um algoritmo?Exercício – Ordene e estruture uma sequência para a  Ordene e estruture uma sequência para a ...
Afinal, o que é um algoritmo?Uma possível solução:1) Tirar o telefone do gancho;   Tirar o telefone do gancho2) Ouvir o si...
Afinal, o que é um algoritmo?A solução anterior... mais robusta:1) Tirar o telefone do gancho;2) Ouvir o sinal de linha;3)...
O que podemos concluir sobre         algoritmos?
O que podemos concluir sobre algoritmos?Algoritmo é uma espécie de passo a passo de  ç      (      ç )ações (instruções);A...
O que podemos concluir sobre algoritmos?Um algoritmo está correto quando sua sequência de instruções retorna uma saída esp...
Por que criamos algoritmos?Por que criamos algoritmos?
Por que criamos algoritmos?            q             gA linguagem natural não pode ser interpretada por computadores;Compu...
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos                p        g                            SUBJETIVIDADEDescrição Narrativa;Descrição Narrat...
Tipos de algoritmos               p        gDescrição Narrativa  Utiliza‐se preferencialmente um verbo por frase;  Formada...
Tipos de algoritmos               p        gDescrição Narrativa – Exemplo:  Dobro de um número (dobro = número x 2)  Digit...
Tipos de algoritmos                 p        gFluxograma  Descrevem o fluxo de ação   de um determinado   de um determinad...
Tipos de algoritmos             p        gFluxograma – Exemplo:                                 29
Tipos de algoritmos               p        gPortuguês Estruturado (Portugol)  Linguagem mais restrita que o português em  ...
Tipos de algoritmos                   p        gPortuguês Estruturado (Portugol)  Normalmente as implementações são feitas...
Desafio!
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...
Desafio1.    Pega a ovelha      Pega a ovelha2.    Vai para a outra margem3.    Deixa a ovelha4.    Volta a margem inicial...
Explore o assunto!Explore o assunto!
Explore o assunto!                   p• Referências  – Fundamentos da programação de computadores                      p g...
Explore o assunto!                   p• Referências  – Introdução aos             ç    algoritmos(TONET, B.,     KOLIVER, ...
Upcoming SlideShare
Loading in …5
×

Algoritmos e Programação - 2013.1 - Aula 1

1,526 views

Published on

Algoritmos e Programação - 2013.1 - Aula 1

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,526
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
36
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Algoritmos e Programação - 2013.1 - Aula 1

  1. 1. Algoritmos e Programação Prof. Thyago Prof.º Thyago Maia 2013.1
  2. 2. Aula 1: Introdução çObjetivos • Apresentar a disciplina p g • Apresentar o conceito de “Algoritmo“ • Fazer com que o aluno  conheça a  importância dos algoritmos importância dos algoritmos • Apresentar os tipos de algoritmos  existentes  existentes • Lançar um desafio algorítmico 2
  3. 3. Apresentação
  4. 4. Apresentação p ç• Professor:  Thyago Maia Tavares de Farias – Mestre em Informática pelo PPGI / DI / UFPB –B h l Bacharel em Ciência da Computação – UFPB Ciê i d C ã – Currículo Lattes: http://lattes.thyagomaia.net – E‐Mail: contato@thyagomaia.com 4
  5. 5. Apresentação p ç• Foco da disciplina Ensino dos conceitos básicos de algoritmos  estruturados, envolvendo tipos de dados e  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; 5
  6. 6. Apresentação p ç• Avaliações (3 estágios): – 1º estágio: g • Prova convencional (escrita) (0 a 7 pontos); • Exercícios práticos (0 a 3 pontos); Exercícios práticos (0 a 3 pontos); – 2º estágio: • Prova convencional (escrita) (0 a 7 pontos); Prova convencional (escrita) (0 a 7 pontos); • Exercícios práticos (0 a 3 pontos); – 3º tá i 3º estágio: • Prova convencional (escrita) (0 a 7 pontos); • Exercícios práticos (0 a 3 pontos); 6
  7. 7. Apresentação p ç• Reposição , Final e Presença – Reposição: p ç • Prova convencional (escrita)(0 a 10 pontos); • O aluno tem direito a repor APENAS uma prova; • Os exercícios práticos realizados no estágio em que o aluno não  participou da prova não irão valer para esta fase; – Fi l Final: • Prova convencional (escrita)(0 a 10 pontos); • Todo o conteúdo dos três estágios; – Presença • Limite de faltas: 20 horas (10 aulas); 7
  8. 8. Apresentação p ç• Moodle (Ferramenta de Educação a Distância) – Material da disciplina (Slides, notas de aula,  p ( , , indicação de livros, etc.); – Divulgação e submissão das práticas em Divulgação e submissão das práticas em  laboratório (exercícios de fixação e de avaliação); – Ferramenta para comunicação oficial (avisos Ferramenta para comunicação oficial (avisos,  lembretes, divulgação de datas,  divulgação de  notas, etc.); notas etc ); – http://ead.unipe.br 8
  9. 9. Apresentação p ç• Sites auxiliares: – http://facebook.com/profthyagomaia – h // i http://twitter.com/thyagomaia /h i – http://www.slideshare.net/thyagomaia 9
  10. 10. Apresentação p ç• Softwares que serão utilizados no curso: – VisuAlg • http://www apoioinformatica inf br/visualg/setupv2 exe http://www.apoioinformatica.inf.br/visualg/setupv2.exe – Eclipse IDE Eclipse IDE • http://www.eclipse.org 10
  11. 11. Apresentação p ç• Para ter sucesso na disciplina: – Procure estar presente em todas as aulas p • Alguns exercícios poderão valer pontos para a nota de  um determinado estágio! – Se faltou, visite o Moodle e cheque o material da  aula que você perdeu; aula que você perdeu; – Dúvidas? Entre em contato através das  ferramentas de comunicação do Moodle (chat,  ferramentas de comunicação do Moodle (chat fórum, mensagens, etc.); – P ti Pratique... Pratique... Pratique...  P ti P ti 11
  12. 12. Afinal, o que é um algoritmo?Afinal o que é um algoritmo?
  13. 13. Afinal, o que é um algoritmo?Sequência finita de instruções, ordenadas de  g p çforma lógica para a resolução de uma determinada tarefa ou problema;Não envolve apenas aspectos computacionais;– Exemplos • Uma receita de bolo; • Manual de instruções; 13
  14. 14. Afinal, o que é um algoritmo?Exemplo: Sequência para fritar um ovo:1) Retirar o ovo da geladeira; ) g ;2) Colocar a frigideira no fogo;3) Colocar óleo; Colocar óleo;4) Esperar até o óleo ficar quente;5) Quebrar o ovo separando a casca; Quebrar o ovo separando a casca;6) Colocar o conteúdo do ovo na frigideira;7) Esperar um minuto; Esperar um minuto;8) Retirar o ovo da frigideira;9) Apagar o fogo; Apagar o fogo; 14
  15. 15. Afinal, o que é um algoritmo?Tal sequência é um algoritmo? Vejamos...– A sequência anterior possui instruções finitas e  q p ç ordenadas? • SIM 9 instruções ordenadas; SIM. 9 instruções ordenadas; • O início de uma instrução depende da  conclusão de uma instrução anterior;  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!Logo, a sequência anterior é um algoritmo! 15
  16. 16. Afinal, o que é um algoritmo?Exercício – Ordene e estruture uma sequência para a Ordene e estruture uma sequência para a  realização de uma ligação telefônica em um  orelhão. orelhão 16
  17. 17. Afinal, o que é um algoritmo?Uma possível solução:1) Tirar o telefone do gancho; Tirar o telefone do gancho2) Ouvir o sinal de linha;3) Introduzir o cartão no orelhão;4) Teclar o número desejado; Teclar o número desejado;5) Conversar;6) Desligar;7) Tirar o cartão; Tirar o cartão; 17
  18. 18. Afinal, o que é um algoritmo?A solução anterior... mais robusta:1) Tirar o telefone do gancho;2) Ouvir o sinal de linha;3) Introduzir o cartão no orelhão;4) Teclar o número desejado;5) Se chamar e alguém atender... 1) Conversar; ) 2) Desligar; 3) R ti Retirar o cartão; tã6) Senão... 1) Desligar; 2) Voltar para a instrução 1; 18
  19. 19. O que podemos concluir sobre  algoritmos?
  20. 20. 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 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 Os passos são executados um após o outro(de forma sequencial);  20
  21. 21. 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 Podem existir um ou mais algoritmos que retornamuma saída esperada; Mas podem existir algoritmos mais eficientes que  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; 21
  22. 22. Por que criamos algoritmos?Por que criamos algoritmos?
  23. 23. Por que criamos algoritmos? q gA 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 p og a açãoprogramação... A linguagem algorítmica é similar a uma linguagem de programação;Logo, aprendendo a criar algoritmos, estamos aptos Logo, aprendendo a criar algoritmos, estamos aptosa programar em qualquer linguagem de programação; 23
  24. 24. Tipos de algoritmosTipos de algoritmos
  25. 25. Tipos de algoritmos p g SUBJETIVIDADEDescrição Narrativa;Descrição Narrativa;Fluxograma;Pseudocódigo, Português Estruturado  PRECISÃOou Portugol; 25
  26. 26. Tipos de algoritmos p gDescrição Narrativa Utiliza‐se preferencialmente um verbo por frase; Formada por frases curtas e simples; Formada por frases curtas e simples; É objetiva; Evita palavras com sentido dúbio; 26
  27. 27. Tipos de algoritmos p gDescriçã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; p g p ; Gravar o resultado em outra variável; Mostrar o resultado da operação; Mostrar o resultado da operação; 27
  28. 28. Tipos de algoritmos p gFluxograma Descrevem o fluxo de ação  de um determinado  de um determinado trabalho lógico; Usa símbolos  convencionais, permitindo  poucas variações; Representados por  símbolos geométricos; 28
  29. 29. Tipos de algoritmos p gFluxograma – Exemplo: 29
  30. 30. Tipos de algoritmos p gPortuguês Estruturado (Portugol) Linguagem mais restrita que o português em  g g q p g linguagem natural; Simplificação extrema do português; Simplificação extrema do português; Significados bem definidos para todos os termos  utilizados nas instruções; utilizados nas instruções; Possui um conjunto de palavras e regras  específicas (sintaxe da linguagem); ífi (i d li ) É a representação utilizada no curso; 30
  31. 31. Tipos de algoritmos p gPortuguês Estruturado (Portugol) Normalmente as implementações são feitas em  papel, escritas a mão; papel escritas a mão; Atualmente, também são utilizados programas  que interpretam, testam e executam algoritmos; i l i − Ex.: VisuAlg (programa que utilizaremos no curso); 31
  32. 32. Desafio!
  33. 33. 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 descrição narrativa para representar o algoritmo. Lembre‐se: Lobos comem ovelhas e ovelhas comem as verduras  quando o homem está na outra margem! 33
  34. 34. Desafio1. Pega a ovelha Pega a ovelha2. Vai para a outra margem3. Deixa a ovelha4. Volta a margem inicial5. Pega a caixa de verduras6. Vai para a outra margem7. Deixa a caixa de verduras e pega a ovelha8. Volta a margem inicial9. Deixa a ovelha e pega o lobo Deixa a ovelha e pega o lobo10. Vai para a outra margem11. Deixa o lobo12.12 Volta a margem inicial Volta a margem inicial13. Pega a ovelha14. Vai para a outra margem15. Deixa a ovelha D i lh 34
  35. 35. Explore o assunto!Explore o assunto!
  36. 36. Explore o assunto! p• Referências – Fundamentos da programação de computadores  p g ç p (ASCENCIO, A. F. G., CAMPOS, E. A. V.): Capítulo 1 36
  37. 37. Explore o assunto! p• Referências – Introdução aos  ç algoritmos(TONET, B.,  KOLIVER, C.): Introdução  , ) ç e tópicos 1; – Disponível em Disponível em   http://www.claudiorodol fo.com/ftc/ap/manual_vi fo com/ftc/ap/manual vi sualg.pdf 37

×