UFMG - ICEx - DCC
DCC003 --Algoritmos e Estruturas de Dados
I -- AEDsI
2o. Semestre de 2012 – Turma N
uma “rede” da turma montou um grupo:
https://www.facebook.com/groups/AedsN1/
Entregas de
TPs (até 13/dez)
Notas TPs (18/dez)
Frequência
Notas:
TP1: isbn13
Prováveis TPs:
Você deve
ter uma conta no DCC até o dia 20/setembro/2012 (vale pontos!).
Se você não tem conta no DCC (não é da Computação)
mande mensagem para rodolfo [em] dcc.ufmg.br
com seu nome, numero de matricula e curso, a conta
demora alguns dias até ficar disponível!!
Terças e quintas-feiras, sala 2013 , 14:55 as 16:35;
Monitoria: todas Quartas-feiras sala/lab 1010 de 16:40
as 17:40
Marco Túlio (gmail tulio ponto rodrigues)
http://en.wikibooks.org/wiki/C_Programming/Standard_libraries
O objetivo desta
disciplina é facilitar que o aluno domine os conceitos básicos de programação
utilizando o paradigma imperativo, além disso, facilitar que o aluno aprenda
uma linguagem de programação, neste caso a linguagem C e C++, e aprenda ainda
alguns algoritmos e estruturas de dados simples. Exemplos de conceitos básicos
de programação: fluxo de controle, variável, constante, operador, expressão,
comando de atribuição, comando iterativo, apontador, referência, arranjo e
indexação, cadeia de caracteres, funções, arquivo, entrada e saída, estrutura
de dados linear. Exemplos de algoritmos simples: cálculo de digitos
verificadores, seqüências, ordenação.
Avaliação:
60 pontos: duas provas valendo 30 pontos cada
40 pontos: trabalhos práticos, listas de exercícios, testes etc.
A disciplina é baseada nas notas de
aula. Quando o aluno não comparecer à aula, deve arranjar um colega que forneça
as anotações de aula. Parte do material será disponibilizado neste sítio
Web.
Material
suplementar
Consulte estes livros na biblioteca do ICEx:
GUIMARÃES, Angelo
de Moura, LAGES, Newton Alberto.
Algoritmos e Estruturas de Dados,
Ed. LTC, 1994.
FARRER, Harry, et.
al.
Algoritmos estruturados. 3. ed.
Ed. LTC, 1999.
Existem vários
cursos de C/C++ disponíveis na Internet. O problema destes cursos é que a
ênfase é a linguagem. Procure cursos onde a ênfase são os conceitos de
programação.
Provas:
As provas são sem consulta, mas você pode trazer uma folha tamanho A4 contendo
quaisquer anotações de próprio punho; não é para imprimir, não é para copiar
(não faça colagens). A folha de consulta deverá ser entregue junto com a prova.
O objetivo da folha de consulta é evitar que o aluno escreva na carteira, na
régua ou na borracha. O objetivo da folha de consulta não é testar se o aluno
sabe condensar centenas de folhas em uma só folha.
São escolhidas as
duas melhores notas caso o aluno faça as três provas. O objetivo de existirem
três provas e serem escolhidas duas notas é evitar que o professor tenha que
fazer julgamento de mérito no caso de alunos que não podem comparecer em algum
dia de prova. A possível melhoria de nota é um efeito colateral.
1a. Prova: /2012
2a. Prova: /2012
3a. Prova: /2012
Trabalhos Práticos:
Listas de Exercícios:
Testes Surpresa:
Material Extra:
Dicas sobre o uso polido e educado
de correio eletrônico
Dicas sobre código ilegível,
incompreensível e de difícil manutenção (incomprehensible)
Calendário
|
Data |
Aula |
Evento |
Assunto |
|
Setembro |
|
|
|
|
11 |
01&02 |
|
Introdução – Computador Simplificado |
|
13 |
03&04 |
|
Comp. Simpl. & DEV-C++ |
|
18 |
05&06 |
|
Variáveis, Expressões - mantras |
|
20 |
07&08 |
|
Dígitos verificadores, CPF, CNPJ |
|
25 |
09&10 |
|
Controle
do Fluxo – se, while, for etc |
|
27 |
11&12 |
|
Arranjos
e ponteiros |
|
Outubro |
|
|
|
|
02 |
13&14 |
|
Ordenação,
Função |
|
04 |
15&16 |
|
Função,
estruturas/struct |
|
05(extra) |
17&18 |
|
revisão geral;
arranjo não é “left-value” |
|
09 |
19&20 |
|
entrada e
saída |
|
11 |
21&22 |
|
entrada e
saída |
|
16 |
23&24 |
|
Funções/struct |
|
18 |
25&26 |
|
struct/union/typedef/define |
|
23 |
27&28 |
|
Revisão;
Relações; Senha |
|
25 |
29&30 |
|
|
|
30 |
31&32
|
|
1ª. prova |
|
Novembro |
|
|
|
|
01 |
33&34 |
|
Revisão –
Classes C++ |
|
06 |
35&36 |
|
Classe/instância
Estrut./Comport. |
|
08 |
37&38 |
|
Construtores/Hierarquia/Amizade |
|
13 |
39&40 |
|
Construtores/Destruidores |
|
20 |
41&42 |
|
Lançamento
e apanhamento de exceção |
|
22 |
43&44 |
|
Lançamento
e apanhamento de exceção |
|
27 |
45&46 |
|
Coreografia/Orquestração
Cria/destroi |
|
29 |
47&48 |
|
Sobrecarga
de operadores; Templates |
|
30(extra) |
49&50 |
|
Sobrecarga
de Op. Templates |
|
Dezembro |
|
|
|
|
04 |
51&52 |
|
Listas;
encadeamento simples e duplo |
|
06 |
53&54 |
|
2ª Prova |
|
11 |
55&56 |
|
Revisão |
|
13 |
57&58 |
|
3ª prova |
|
18 |
59&60 |
|
Revisão
final |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Computador simplificado – pdf
desenho Anotações
de aula 1 Anotações
de aula 2
Edição, compilação,
execução... desenvolvendo
programas
Primeiros programas
em C
Variáveis - discussão inicial
de comando de atribuição e expressões
Dígitos
verificadores do CPF: regras
e programas - pdf
Dígitos
verificadores do CNPJ: regras
Controle
do fluxo de execução:
Comando condicional
e iterativos
Comando escolha
(switch)
Comando
enquanto-faça
comando
faça-enquanto
comando para
Arranjos e ponteiros
Arranjos
representando matrizes: Multiplicação
de matrizes
Cadeia de
caracteres (arranjos de char)
Outro programa para
cálculo dos dígitos verificadores de No. de CPF
typedef, unions e
quase tudo mais
Nurikabe
Entrada e saida
FILE e Cia
Exemplo de prova
Mais um exemplo
Primeiros
programas em C++, variáveis
etc
Conceitos e definição de classe
Classes derivam
classes – Hierarquias – Amizade : Funções
& Classes
Classes abstratas –
Funções virtuais puras
Exercicios
compilados de provas passadas!
Lançando e apanhando exceção
Templates –
elementos para a “programação genérica”
Estruturas Lineares
– “Como” colecionar ? -
encadeamento