algoritmos e programação - 2015.2 - aula 1
TRANSCRIPT
Objetivos
Aula 1: Introdução
• 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
Apresentação
• Professor: Thyago Maia Tavares de Farias
– Doutorando em Computação pelo Cin / UFPE– 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 protected]
4
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
Apresentação
• Avaliações (3 estágios):– 1º estágio:
• Prova convencional (escrita) (0 a 7 pontos);• Exercícios (0 a 3 pontos);
– 2º estágio:• Prova convencional (escrita) (0 a 7 pontos);• Exercícios (0 a 3 pontos);
– 3º estágio:• Prova convencional (escrita) (0 a 7 pontos);• Exercícios (0 a 3 pontos);
– Média Final: (Maior nota (1º ou 2º estágio) + Nota do 3º Estágio) / 2;
6
Apresentação
• Ausência em Provas, Final e Presença– Ausência em Provas:
• O aluno só poderá perder uma das duas primeiras atividades (1º ou 2º estágio);
• A presença será obrigatória na prova do 3º estágio;• Não há provas de reposição de estágio;
– Final:• Prova Convencional (0 a 10 pontos);• Todo o conteúdo dos três estágios;
– Presença• Limite de faltas: 20 horas (10 aulas);
7
Apresentação
• Unipê Virtual (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.br8
Apresentação
• Sites auxiliares:
– http://facebook.com/profthyagomaia– http://twitter.com/thyagomaia– http://www.slideshare.net/thyagomaia
9
Apresentação
• Software que será utilizado no curso:
– VisuAlg• http://www.apoioinformatica.inf.br/produtos/visualg
– Python IDLE (a partir do 2º estágio)• http://www.python.org
10
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 Unipê Virtual e cheque o material da aula que você perdeu;
– Dúvidas? Entre em contato através das ferramentas de comunicação do Unipê Virtual (chat, fórum, mensagens, etc.);
– Pratique... Pratique... Pratique... 11
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
Afinal, o que é um algoritmo?
Exemplo: Sequência para fritar um ovo:1) Retirar o ovo da geladeira;2) Colocar a frigideira no fogo;3) Colocar óleo;4) Esperar até o óleo ficar quente;5) Quebrar o ovo separando a casca;6) Colocar o conteúdo do ovo na frigideira;7) Esperar um minuto;8) Retirar o ovo da frigideira;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
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
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
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
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) Retirar o cartão;
6) Senão...1) Desligar;2) Voltar para a instrução 1;
18
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
1. 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 lobo10. Vai para a outra margem11. Deixa o lobo12. Volta a margem inicial13. Pega a ovelha14. Vai para a outra margem15. Deixa a ovelha
21
Explore o assunto!
• Referências– Fundamentos da programação de computadores
(ASCENCIO, A. F. G., CAMPOS, E. A. V.): Capítulo 1
23
Explore o assunto!
• Referências– Introdução aos
algoritmos(TONET, B., KOLIVER, C.): Introdução e tópico 1;
– Disponível em http://www.claudiorodolfo.com/ftc/ap/manual_visualg.pdf
24