MAC0122 Princípios de Desenvolvimento de Algoritmos Prof. Walter Mascarenhas Segundo semestre de 2004 Informações gerais • Professor Walter: Sala 10, bloco C do IME. • email: [email protected], assunto: Mac122 • Página: www.ime.usp.br/˜walterfm/cursos/mac122 Avaliação • Duas Provas: 7/10, 16/12 (com consulta) • Prova sub: 21/12 (substitui a pior nota) • Prova de recuperação: Janeiro 2005 •Três exercícios programas: 30/09, 30/10, 19/12, entrega: [email protected], assunto: EP #USP Notas • Prova 1: peso 2, Prova 2: peso 3 • E 1: peso 1, E 2: peso 2, E 3: peso 3 • Se M_p >= 5 => M_f = (3 M_p + M_e) / 4 • Se M_p < 5 => M_f = min( M_p, M_e) • Se M_f >= 5 => aprovado • Se M_f < 3 => reprovado • Se 3 <= M_f < 5 => recuperação • M_r = (M_f + 2 * P_r) / 3. Bibliografia • Robert Sedgewick, Algorithms in C, 3rd. ed., Parts 1-4, Addison Wesley Longman, 1998. • Alfred V. Aho, Jeffrey D. Ullman, Foundations of Computer Science (C Edition) , Computer Science Press (W.H. Freeman), 1995. • Nívio Ziviani, Projeto de Algoritmos com Implementações em Pascal e C, Pioneira, 1993. • Introduction to Algorithms, Second Edition, Cormen, Leiserson, Rivest and Stein. Em português, Algoritmos, teoria e prática. Editora Campus. Internet • Página do curso: www.ime.usp.br/~walterfm/cursos/mac122 • Paulo Feofiloff: www.ime.usp.br/~pf/algoritmos • Paulo Feofiloff: www.ime.usp.br/~pf/algoritmos/mac0122-2003 • Coelho: www.ime.usp.br/~coelho/mac122 • Kirk Prhus: www.cs.pitt.edu/~kirk/algorithmcourses/index.html • www.google.com, procure por algoritmos ou algorithms. Espírito do curso • Aprender algoritmos • Como? • • • • Assistindo e participando da aula Estudando Fazendo exercícios Programando Algoritmos estão ligados à estruturas de dados Primeira estrutura de dados: vetor Primeiro algoritmo: ordenação por buble sort As estruturas de dados são representadas por Tipos de Dados abstratos • Structs em C • Classes e structs em C++ • Classes em Java