Você está na página 1de 4

Universidade Federal de Minas Gerais

Instituto de Cincias Exatas


Departamento de Cincia da Computao (DCC/UFMG/ICEx)

Algoritmos e Estruturas de Dados I (DCC/003) 2014/1

Informaes Gerais

Professores: Daniel Fernandes Macedo (damacedo@dcc.ufmg.br)


Jefersson Alex dos Santos (jefersson@dcc.ufmg.br)
Dias / Horrios: Teras e Quintas 13:00 14h40
Sala (aulas tericas): Auditrio 1, ICEx
Sala (aulas prticas): Salas 1008, 1009 e 1010 do ICEx

Carga Horria: 60 horas-aula

Monitor: a ser definido

Programa da Disciplina

Ementa

Desenvolvimento de Computadores e de linguagens de computao. Fases do


desenvolvimento de programas. Desenvolvimento de programas em uma linguagem
de alto nvel: dados, comandos, ferramentas de modularizao, metodologias do
desenvolvimento.

Objetivo

O objetivo desta disciplina facilitar que o aluno domine os conceitos bsicos de


programao utilizando o paradigma imperativo, alm disso, facilitar que o aluno
aprenda uma linguagem de programao, neste caso a linguagem C e C++, e aprenda
ainda alguns algoritmos e estruturas de dados simples. Exemplos de conceitos
bsicos de programao: fluxo de controle, varivel, constante, operador, expresso,
comando de atribuio, comando iterativo, apontador, referncia, arranjo e indexao,
cadeia de caracteres, funes, arquivo, entrada e sada, estrutura de dados linear.

Os principais objetivos do curso so possibilitar ao aluno:

- O conhecimento dos princpios de estrutura e funcionamento do computador;


- O domnio de tcnicas de resoluo de problemas por computador (tcnicas de
desenvolvimento de algoritmo);
- A utilizao do computador para a resoluo de problemas computacionais.

Programa

Sistemas de Computao
Modelo de computador simplificado
Hardware: Memria Unidade Central de Processamento - Unidades de
Entrada e Sada - Perifricos Software: Sistemas Operacionais -
Linguagens de Programao - Compiladores

Fases da Resoluo de um Problema via Computador


O Conceito de Algoritmo
O Desenvolvimento de um Algoritmo por Refinamentos Sucessivos
A Elaborao do Programa C
A Execuo do Programa
A Depurao dos Erros

Estruturas Bsicas
Sintaxe de uma Linguagem
Formato de um Programa C
Comentrios
Tipos de Dados
Variveis
Constantes
Operadores e expresses
Comando de Entrada e Sada

Comandos de Seleo
Operadores Lgicos e Relacionais
Expresso Lgica
Comando Condicional Simples e Composto
Comando Switch

Comandos de Repetio
Comando Do-While
Comando While
Comando For

Variveis Compostas Homogneas - Vetores


Conceitos de Vetor e Matriz
Algoritmos com Vetores e Matrizes

Procedimentos e Funes
Modularizao: Procedimentos e Funes
Escopo de Variveis
Passagem de Parmetros
Recurso

Variveis Compostas Heterogneas: Registros


Conceito de Registro
Atribuio de Valores para Registros
Registros Compostos

Arquivos
Uso de Arquivos
Arquivos Binrio
Arquivos Texto
Avaliao de aprendizado

A avaliao do curso ser feita por provas, trabalhos prticos e exerccios a serem
entregues uma semana aps cada aula prtica. A contabilizao dos pontos ser feita
da seguinte forma:

Caso o aluno obtenha pelo menos 50% da nota total nas provas, a nota final
ser a mdia aritmtica da nota das provas e da notas das atividades prticas
(trabalhos prticos e exerccios);
Caso o aluno obtenha menos de 50% da nota total na prova, a sua nota final
ser a nota obtida nas provas.

Para esquentar os motores, segue um pseudo-algoritmo para o clculo da nota final:

Programa notafinal

Entrada nota_pratica, nota_teorica, listas_revisao


Saida nota_final

Se nota_teorica < 50% ento


nota_final nota_teorica
seno
nota_final (nota_pratica + nota_teorica ) / 2 +
listas_revisao
fim se

Avaliao da parte terica: Sero feitas quatro provas de 33 pontos, sendo que a
ltima prova avalia toda a matria do curso. Isto no significa que as trs outras
provas no viro a exigir contedo das provas anteriores, pois todo o contedo da
disciplina est interligado. A nota das provas ser contabilizada como a soma das trs
melhores notas. No h prova substitutiva, como descartamos a pior nota.

Alm das provas, uma semana antes de cada prova iremos divulgar para os alunos
uma lista de exerccios. Ela ir abordar o assunto lecionado at ento, e que ser
avaliado na prova. A correo desta lista valer pontos extras para aqueles que
tirarem pelo menos 50% dos pontos nas provas.

Avaliao da parte prtica: A avaliao ser feita por meio de listas de programas, a
serem entregues at uma semana aps a aula prtica correspondente, bem como dois
trabalhos prticos. As listas de programas sero mais simples, e iro focar no
contedo de cada aula prtica. Enquanto isso, os trabalhos prticos sero programas
a serem desenvolvidos que envolvem toda a matria lecionada at o momento. Alm
disso, eles exigem mais raciocnio bem como uma modelagem do problema em um
algoritmo.

As notas da parte prtica esto divididas da seguinte forma:


Listas de programas: 40% da nota final da parte prtica;
Trabalhos prticos: 20% % da nota final da parte prtica, sendo 20% para cada
trabalho.
Livro-texto: Iremos adotar o livro-texto a seguir como referncia na disciplina. A
leitura do livro-texto fortemente recomendada, para auxiliar no aprendizado dos
conceitos e fixao do que foi aprendido. O livro-texto possui muitos exerccios a cada
captulo, que so didticos e de complexidade progressiva. Eles so muito bons para a
fixao do contedo.
- Andr Backes, Linguagem C: Completa e Descomplicada. Editora Campus/Elsevier.

Bibliografia complementar:
- Jaime E. dos Santos, Aprendendo a Programar Programando na Linguagem C.
- W. Celes, R. Cerqueira, J. L. Rangel, Introduo a Estruturas de Dados, 2004.
- Fbio Mokarzel & Nei Soma, Introduo Cincia da Computao.
- Ziviani, N., Projeto de Algoritmos com Implementaes em Pascal e C, 2 Edio,
Editora Thomson, 2004.
- Senne, Edson Luiz Fernandes. Primeiro Curso de Programao em C. 2. ed.
Florianpolis: Editora Visual Books, 2006.

Você também pode gostar