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

Algoritmos e Programação - 2013.2 - Aula 1

on

  • 1,142 views

Algoritmos e Programação - 2013.2 - Aula 1

Algoritmos e Programação - 2013.2 - Aula 1

Statistics

Views

Total Views
1,142
Views on SlideShare
1,142
Embed Views
0

Actions

Likes
0
Downloads
35
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • Algoritmos e Programação Prof.º Thyago MaiaProf.  Thyago Maia 2013.2
    • Aula 1: Introduçãoç Objetivos • Apresentar a disciplina • Apresentar o conceito de “Algoritmo“p g • Fazer com que o aluno  conheça a  importância dos algoritmosimportância dos algoritmos • Apresentar os tipos de algoritmos  existentesexistentes 2
    • ApresentaçãoApresentação
    • Apresentaçãop ç • Professor:  Thyago Maia Tavares de Farias – Mestre em Informática pelo PPGI / DI / UFPB B h l Ciê i d C ã UFPB– Bacharel em Ciência da Computação – UFPB – Currículo Lattes: http://lattes.thyagomaia.net – E‐Mail: contato@thyagomaia.com 4
    • Apresentaçãop ç • Foco da disciplina Ensino dos conceitos básicos de algoritmos  estruturados envolvendo tipos de dados eestruturados, 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
    • Apresentaçãop ç • 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); E í i d Fi ã (0 5 t )• Exercícios de Fixação (0 a 5 pontos); – 3º estágio: • Prática em Laboratório (0 a 5 pontos);• Prática em Laboratório (0 a 5 pontos); • Exercícios de Fixação (0 a 4 pontos); • Integratech (0 a 1 ponto); 6
    • Apresentaçãop ç • Reposição , Final e Presença – Reposição:p ç • 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; Fi l– 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
    • Apresentaçãop ç • 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 emDivulgaçã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://virtual.unipe.br 8
    • Apresentaçãop ç • Sites auxiliares: – http://facebook.com/profthyagomaia h // i / h i– http://twitter.com/thyagomaia – http://www.slideshare.net/thyagomaia 9
    • Apresentaçãop ç • Software que será utilizado no curso: – Eclipse IDE • http://www.eclipse.orghttp://www.eclipse.org 10
    • Apresentaçãop ç • Para ter sucesso na disciplina: – Procure estar presente em todas as aulasp • 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 (chatferramentas de comunicação do Moodle (chat,  fórum, mensagens, etc.); P ti P ti P ti– Pratique... Pratique... Pratique...  11
    • Afinal o que é um algoritmo?Afinal, o que é um algoritmo?
    • Afinal, o que é um algoritmo? Sequência finita de instruções, ordenadas de  forma lógica para a resolução de uma g p ç determinada tarefa ou problema; Não envolve apenas aspectos  computacionais; – Exemplos– Exemplos • Uma receita de bolo; • Manual de instruções; 13
    • 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;3) Colocar óleo; 4) Esperar até o óleo ficar quente; 5) Quebrar o ovo separando a casca;5) Quebrar o ovo separando a casca; 6) Colocar o conteúdo do ovo na frigideira; 7) Esperar um minuto;7) Esperar um minuto; 8) Retirar o ovo da frigideira; 9) Apagar o fogo;9) Apagar o fogo; 14
    • 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
    • Afinal, o que é um algoritmo? Exercício  – Ordene e estruture uma sequência para aOrdene e estruture uma sequência para a  realização de uma ligação telefônica em um  orelhãoorelhão. 16
    • Afinal, o que é um algoritmo? Uma possível solução: 1) Tirar o telefone do gancho;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;4) Teclar o número desejado; 5) Conversar; 6) Desligar; 7) Tirar o cartão;7) Tirar o cartão; 17
    • 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 tã3) Retirar o cartão; 6) Senão... 1) Desligar;1) Desligar; 2) Voltar para a instrução 1; 18
    • Desafio!Desafio!
    • 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
    • Desafio Pega a ovelhaPega a ovelha1.1. Pega a ovelhaPega a ovelha 2.2. Vai para a outra margemVai para a outra margem 3.3. Deixa a ovelhaDeixa a ovelha 4.4. Volta a margem inicialVolta a margem inicial 5.5. Pega a caixa de verdurasPega a caixa de verduras 6.6. Vai para a outra margemVai para a outra margem 7.7. Deixa a caixa de verduras e pega a ovelhaDeixa a caixa de verduras e pega a ovelha 8.8. Volta a margem inicialVolta a margem inicial 9.9. Deixa a ovelha e pega o loboDeixa a ovelha e pega o lobo9.9. Deixa a ovelha e pega o loboDeixa a ovelha e pega o lobo 10.10. Vai para a outra margemVai para a outra margem 11.11. Deixa o loboDeixa o lobo 1212 Volta a margem inicialVolta a margem inicial12.12. Volta a margem inicialVolta a margem inicial 13.13. Pega a ovelhaPega a ovelha 14.14. Vai para a outra margemVai para a outra margem D i lhD i lh15.15. Deixa a ovelhaDeixa a ovelha 21
    • 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);ç ( ç ) Algoritmos retornam uma saída (ex.: um ovo  frito) a partir de uma determinada entradafrito) 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 outroOs passos são executados um após o outro  (de forma sequencial);  23
    • 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 retornamPodem existir um ou mais algoritmos que retornam  uma saída esperada; Mas podem existir algoritmos mais eficientes queMas 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
    • Por que criamos algoritmos?Por que criamos algoritmos?
    • Por que criamos algoritmos?q g 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...p og a ação A linguagem algorítmica é similar a uma linguagem de programação; Logo, aprendendo a criar algoritmos, estamos aptosLogo, aprendendo a criar algoritmos, estamos aptos  a programar em qualquer linguagem de  programação;programação; 26
    • Tipos de algoritmosTipos de algoritmos
    • Tipos de algoritmosp g Descrição Narrativa; SUBJETIVIDADE Descrição Narrativa; Fluxograma; Pseudocódigo,  Português Estruturado  ou Portugol; PRECISÃO 28
    • Tipos de algoritmosp g Descriçã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; 29
    • Tipos de algoritmosp g 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;p g p ; Gravar o resultado em outra variável; Mostrar o resultado da operação;Mostrar o resultado da operação; 30
    • Tipos de algoritmosp g Fluxograma Descrevem o fluxo de ação  de um determinadode um determinado  trabalho lógico; Usa símbolos  convencionais, permitindo  poucas variações; Representados por  símbolos geométricos; 31
    • Tipos de algoritmosp g • Fluxograma – Conjunto de Símbolos: ÍINÍCIO OU FIM DE  ALGORITMO ENTRADA DE  DADOS CÁLCULO OU  SAÍDA DE DADOS ATRIBUIÇÃO DE VALOR S OS DECISÃOFLUXO DE DADOS 32
    • Tipos de algoritmosp g • Exemplo: Faça um algoritmo que calcula e  apresenta a multiplicação entre dois números.p p ç 33
    • Tipos de algoritmosp g • Fluxograma – Exemplo: INÍCIO N1, N2 M = N1 * N2M   N1   N2 M FIM 34
    • Tipos de algoritmosp g • Exemplo 2: Faça um algoritmo que calcula e  apresenta a divisão entre dois números.p 35
    • Tipos de algoritmosp g • Fluxograma – Exemplo 2: INÍCIO NUM, DEN DEN = 0 SIM IMPOSSÍVEL NÃO D = NUM / DEN IMPOSSÍVEL  DIVIDIR FIM D 36
    • Tipos de algoritmosp g • 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 reprovadoaprovado ou reprovado. – O aluno estará aprovado se sua média for maior  ou igual a 7;  37
    • Tipos de algoritmosp g • Fluxograma – Exercício: INÍCIO N1, N2, N3 MEDIA  >= 7 SIM NÃO MEDIA = (N1 + N2 + N3) / 3 APROVADO REPROVADO FIM 38 FIM
    • Tipos de algoritmosp g Português Estruturado (Portugol) Linguagem mais restrita que o português em  linguagem natural;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);p ( g g ); 39
    • Tipos de algoritmosp g Português Estruturado (Portugol) Normalmente as implementações são feitas em  papel escritas a mão;papel, escritas a mão; 40
    • Tipos de algoritmosp g • Forma básica de um algoritmo em portugol: ALGORITMO DECLARE VARIÁVEIS TIPOS DE DADOS INSTRUÇÕES FIM ALGORITMOFIM_ALGORITMO 41
    • Tipos de algoritmosp g • Exemplo: Faça um algoritmo que calcula e  apresenta a multiplicação entre dois números.p p ç 42
    • Tipos de algoritmosp g ALGORITMO DECLARE N1, N2, M NUMÉRICODECLARE N1, N2, M NUMÉRICO ESCREVA “Digite dois números” LEIA N1, N2 M <‐ N1 * N2M < N1   N2 ESCREVA “MULTIPLICAÇÃO = ” , M FIM_ALGORITMO 43
    • Explore o assunto!Explore o assunto!
    • 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 45