Algoritmos e Programação
Período letivo 2018.2:
Calendário de final de período:
- 12/03 (3ª) - Aula 28
- 14/03 (5ª) - Aula 29
- 19/03 (3ª) - Aula 30 (Prova 03)
- 26/03 (3ª) - Prova Final
Material didático:
- Slides
- Dev-Cpp 5.11: um ambiente de programação interativo e gratuito para as linguagens C e C++:
- Material elaborado por outros professores do colegiado:
- Bibliografia:
- WWW:
- Livros:
- Referências online:
- Material em português:
Avaliações:
Aulas ministradas:
Aula 01 - 25/10/2018 - Apresentação e motivação.
Aula 02 - 30/10/2018 - (teoria) Máquinas, algoritmos e programas. Pseudocódigos e linguagens de programação.
Aula 03 - 01/11/2018 - (prática) Familizarização com o Dev-Cpp. Digitação, armazenamento, compilação e execução do programa "Hello World". Processo de desenvolvimento de programas.
Aula 04 - 06/11/2018 - (teoria) Modelo de von Neumann. Programa armazenado. Variáveis. Identificadores. Palavras-chave e reservadas. Tipos de dados. Fluxo de execução. Algoritmos para:
- Calcular a maior de 2 notas (com 2 variáveis e 1 comando condicional)
- Calcular a maior de 3 notas (com 3 variáveis e 3 comandos condicionais)
- Calcular a maior de 10 notas (com 3 variáveis e 1 comando iterativo)
- Calcular a maior de 100 notas (idem)
Aula 05 - 08/11/2018 - (prática) Estrutura de um programa C. Declarações e comandos. Tipos int, float e char. Expressões. Comando de atribuição. scanf e printf. Exercícios 02, 04, 06, 07, 12, 15, 17, 19 e 25 (página 39 do livro Fundamentos da Programação de Computadores, 2ª edição)
Aula 06 - 13/11/2018 - (teoria) Algoritmos para:
- Calcular a maior de um número não-determinado de notas
- Calcular a menor de um número não-determinado de notas
- Calcular a maior e a menor de um número não-determinado de notas
- Calcular a maior, a menor e a média de um número não-determinado de notas
Aula 07 - 20/11/2018 - (teoria) Algoritmos para:
- Calcular $\sum_{i=1}^n i$ (crescente, decrescente e tempo constante)
- Calcular $\sum_{i=1}^n 1/i$ (com discussão sobre divisão inteira e real)
- Calcular $n!$
- Calcular $\sum_{i=1}^n 1/i!$
Aula 08 - 22/11/2018 - (prática) Continuação dos exercícios (07, 12, 15 e 17).
Aula 09 - 04/12/2018 - (teoria) Algoritmos para:
- Determinar se um número é primo
- Obter o $n$-ésimo número primo
Aula 10 - 06/12/2018 - (prática) Comando condicional. Exercícios 01, 02, 04, 12, 13, 22 e 23 (página 72 do livro Fundamentos da Programação de Computadores, 2ª edição)
Aula 11 - 11/12/2018 - (teoria) Prova 1.
Aula 12 - 13/12/2018 - (prática) Continuação dos exercícios (12, 13, 22 e 23).
Aula 13 - 18/12/2018 - (teoria) Comandos estruturados e programação estruturada. Comandos iterativos (while, do-while e for) e condicionais (if-else, if).
Aula 14 - 20/12/2018 - (prática) Comandos interativos. Exercícios 01, 02, 03, 08, 10, 21 e 28 (página 124).
Aula 15 - 15/01/2019 - (teoria) Comandos interativos. Algoritmos para os exercícios 08, 10, 21 e 28 (página 124).
Aula 16 - 17/01/2019 - (prática) Comandos interativos. Programas para os exercícios 08, 10, 21 e 28 (página 124).
Aula 17 - 22/01/2019 - (teoria) Vetores e matrizes. Algoritmos para os exercícios 04, 01, 12, 18, 25, 03, 05 e 19 (página 163).
Aula 18 - 24/01/2019 - (prática) Vetores e matrizes. Programas para os exercícios 04, 01, 12, 18, 25, 03, 05 e 19 (página 163).
Aula 19 - 29/01/2019 - (teoria) Vetores e matrizes. Algoritmos para os exercícios 18, 25, 03, 05 e 19 (página 163).
Aula 20 - 31/01/2019 - (prática) Vetores e matrizes. Programas para os exercícios 18, 25, 03, 05 e 19 (página 163).
Aula 21 - 05/02/2019 - (teoria) Prova 2.
Aula 22 - 07/02/2019 - (prática) Matrizes. Programas para os exercícios 01, 03, 05, 07, 16 e 24 (página 201).
Aula 23 - 12/02/2019 - (teoria) Cadeias de caracteres (strings). strcat, strcpy, strcmp, strlen, strchr, strstr, gets e puts.
Aula 24 - 14/02/2019 - (prática) Strings, lista de exercícios.
Aula 25 - 19/02/2019 - (teoria) Subprogramas. Exemplos.
Aula 26 - 21/02/2019 - (prática) Subprogramas. Programas para os exercícios 01, 02, 06, 08, 10, 12 (página 344) e lista de exercícios (01, 02 e 03).
Aula 27 - 26/02/2019 - (teoria) Passagem de parâmetros por endereço (vetores e matrizes). Programas para os exercícios 15, 16, 17, 19 (página 344) e lista de exercícios (04, 05 e 06).
Aula 28 - 12/03/2019 - (teoria) Recursão. Caso base e argumento decrescente. Fatorial, Fibonacci e Torre de Hanói.
Aula 29 - 14/03/2019 - (prática) Recursão. Versões recursivas para os exercícios 01 e 08 (página 344). Tabela com fatorial de todos os números entre 1 e n. Fibonacci (n-ésimo termo e lista de todos os n primeiros termos). Torre de Hanói.
Aula 30 - 19/03/2019 - (teoria) Prova 3.