Algoritmos e Programação - 2014.1 - Aula 1

  • 1,754 views
Uploaded on

Algoritmos e Programação - 2014.1 - Aula 1

Algoritmos e Programação - 2014.1 - Aula 1

More in: Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,754
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
109
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Algoritmos e Programação Prof.º Thyago Maia 2014.1
  • 2. Aula 1: Introdução Objetivos • Apresentar a disciplina • Apresentar o conceito de “Algoritmo“ • Fazer com que o aluno conheça a importância dos algoritmos • Apresentar os tipos de algoritmos existentes 2
  • 3. Apresentação
  • 4. Apresentação • Professor: Thyago Maia Tavares 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: contato@thyagomaia.com 4
  • 5. Apresentação • Foco da disciplina   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; 5
  • 6. Apresentação • Avaliações (3 estágios): – 1º estágio: • Prática em Laboratório (0 a 5 pontos); • Exercícios de Fixação (0 a 5 pontos); – 2º estágio: • Prática em Laboratório (0 a 5 pontos); • Exercícios de Fixação (0 a 5 pontos); – 3º estágio: • Prática em Laboratório (0 a 8 pontos); • Projeto Integrador (0 a 2 ponto); 6
  • 7. Apresentação • Reposição , Final e Presença – Reposição: • Prática em Laboratório (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; – Final: • Prática em Laboratório (0 a 10 pontos); • Todo o conteúdo dos três estágios; – Presença • Limite de faltas: 20 horas (10 aulas); 7
  • 8. Apresentação • Moodle (Ferramenta de Educação a Distância) – Material da disciplina (Slides, notas de aula, indicação de livros, etc.); – 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, lembretes, divulgação de datas, divulgação de notas, etc.); – http://academico.unipe.br 8
  • 9. Apresentação • Sites auxiliares: – http://facebook.com/profthyagomaia – http://twitter.com/thyagomaia – http://www.slideshare.net/thyagomaia 9
  • 10. Apresentação • Software que será utilizado no curso: – Eclipse IDE • http://www.eclipse.org 10
  • 11. Apresentação • Para ter sucesso na disciplina: – Procure estar presente em todas as aulas • 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; – Dúvidas? Entre em contato através das ferramentas de comunicação do Moodle (chat, fórum, mensagens, etc.); – Pratique... Pratique... Pratique... 11
  • 12. Afinal, o que é um algoritmo?
  • 13. Afinal, o que é um algoritmo?   Sequência finita de instruções, ordenadas de 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. Afinal, o que é um algoritmo?  Exemplo: Sequência para fritar um ovo: 1) Retirar o ovo da geladeira; 2) 3) 4) 5) 6) 7) 8) 9) 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; 14
  • 15. 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! 15
  • 16. 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. 16
  • 17. Afinal, o que é um algoritmo?  Uma possível solução: 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) Conversar; 6) Desligar; 7) Tirar o cartão; 17
  • 18. Afinal, o que é um algoritmo?  A solução anterior... mais robusta: 1) 2) 3) 4) 5) 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... 1) Conversar; 2) Desligar; 3) Retirar o cartão; 6) Senão... 1) Desligar; 2) Voltar para a instrução 1; 18
  • 19. Desafio!
  • 20. 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! 20
  • 21. Desafio 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 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 21
  • 22. O que podemos concluir sobre algoritmos?
  • 23. 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 entradas (ex.: um ovo) através de uma sequência de passos; Os passos são executados um após o outro (de forma sequencial); 23
  • 24. 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; 24
  • 25. Por que criamos algoritmos?
  • 26. 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; 26
  • 27. Tipos de algoritmos
  • 28. Tipos de algoritmos  Descrição Narrativa;  SUBJETIVIDADE Fluxograma;  Pseudocódigo, Português Estruturado ou Portugol; PRECISÃO 28
  • 29. Tipos de algoritmos  Descrição Narrativa     Utiliza-se preferencialmente um verbo por frase; Formada por frases curtas e simples; É objetiva; Evita palavras com sentido dúbio; 29
  • 30. Tipos de algoritmos  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; 30
  • 31. Tipos de algoritmos  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; 31
  • 32. Tipos de algoritmos • Fluxograma – Conjunto de Símbolos: INÍCIO OU FIM DE ALGORITMO ENTRADA DE DADOS CÁLCULO OU ATRIBUIÇÃO DE VALOR SAÍDA DE DADOS FLUXO DE DADOS DECISÃO 32
  • 33. Tipos de algoritmos • Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números. 33
  • 34. Tipos de algoritmos • Fluxograma – Exemplo: INÍCIO N1, N2 M = N1 * N2 M FIM 34
  • 35. Tipos de algoritmos • Exemplo 2: Faça um algoritmo que calcula e apresenta a divisão entre dois números. 35
  • 36. Tipos de algoritmos • Fluxograma – Exemplo 2: INÍCIO NUM, DEN DEN = 0 SIM NÃO IMPOSSÍVEL DIVIDIR D = NUM / DEN D FIM 36
  • 37. Tipos de algoritmos • Exercício: Faça um algoritmo (fluxograma) que calcula a média de três notas de um determinado aluno e informa se o aluno está aprovado ou reprovado. – O aluno estará aprovado se sua média for maior ou igual a 7; 37
  • 38. Tipos de algoritmos • Fluxograma – Exercício: INÍCIO MEDIA >= 7 N1, N2, N3 SIM NÃO MEDIA = (N1 + N2 + N3) / 3 APROVADO REPROVADO FIM 38
  • 39. Tipos de algoritmos  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); 39
  • 40. Tipos de algoritmos  Português Estruturado (Portugol)  Normalmente as implementações são feitas em papel, escritas a mão; 40
  • 41. Tipos de algoritmos • Forma básica de um algoritmo em portugol: ALGORITMO DECLARE VARIÁVEIS TIPOS DE DADOS INSTRUÇÕES FIM_ALGORITMO 41
  • 42. Tipos de algoritmos • Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números. 42
  • 43. Tipos de algoritmos ALGORITMO DECLARE N1, N2, M NUMÉRICO ESCREVA “Digite dois números” LEIA N1, N2 M <- N1 * N2 ESCREVA “MULTIPLICAÇÃO = ” , M FIM_ALGORITMO 43
  • 44. Explore o assunto!
  • 45. Explore o assunto! • Referências – Fundamentos da programação de computadores (ASCENCIO, A. F. G., CAMPOS, E. A. V.): Capítulo 1 45