Algoritmos e programação - CCMP0041 - 2010.1

Ementa:

Conceitos básicos de linguagens de programação. Histórico, classificação e principais aplicações de linguagens de programação. Modelos de execução de programas. Ferramentas de desenvolvimento. Nomes, valores e endereços. Tipos de dados. Constantes e variáveis. Expressões. Comandos de estruturação do fluxo de controle. Abstrações de controle e de operação. Escopo e tempo de vida. Passagem de parâmetros. Recursividade. Tipos de dados definidos pelo usuário. Entrada e saída de dados. Arquivos. Uso em laboratório de uma linguagem de programação de alto-nível.

Bibliografia

Listas de exercício:

Segunda Prova 2009.2.

Terceira Prova 2009.2., Resposta.

Clique aqui para baixar o DevC++ (IDE para windows).

Ou instale o compilador GCC no linux. Distribuição utilizada no laboratório: Ubuntu 8.04.

Exemplos:

agenda.c, tempo.c, agenda_makefile.zip.

Horários de Monitoria:

Justificativa de Faltas:

As justificativas de faltas devem ser encaminhadas ao NAD até 48 horas após a aula/prova em que o aluno se ausentou.
O aluno deve anexar ao pedido documento que comprove o motivo da falta.

Descrição do Trabalho

Cronograma de aulas:

AULA DATA__ TIPO ASSUNTO
01 01/03 S T - Apresentação da disciplina: - ementa - conteúdo programático - critérios de avaliação.
- Introdução; conceitos básicos.
02 04/03 Q T - Linguagens de programação: conceituação, classificação e paradigmas de linguagens de programação.
- Linguagens de programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas.
03 08/03 S P Ambientes de desenvolvimento, características, vantagens e desvantagens.
04 11/03 Q P Linguagem de programação C: conceitos iniciais; tipos de dados; operadores matemáticos; comandos de entrada e saída.
05 15/03 S P Comandos de seleção if... else e comandos relacionais (<,>,!=, ==) e lógicos (&&, ||, !). Comandos de seleção switch ... case.
06 18/03 Q P Resolução de exercícios: comandos de seleção.
07 22/03 S P Comandos de repetição. do ... while ( ) e while ( ) e for ( ).
08 25/03 Q P Resolução de exercícios: comandos de repetição.
09 29/03 S A PRIMEIRA AVALIAÇÃO
-- 01/04 Q - FERIADO
10 05/04 S P Resolução da prova. Conceito de funções, valores de retorno, escopo de variáveis, passagem de parâmetros por valor e por referência. Introdução aos ponteiros. Recursividade.
11 08/04 Q P Agregados homogêneos: vetores e matrizes.
12 12/04 S P Resolução de exercícios: vetores e matrizes.
-- 15/04 Q - NÃO HAVERÁ AULA - SICOMP
13 19/04 S P Resolução de exercícios: vetores e matrizes.
14 22/04 Q P Aritmética de ponteiros.
Manipulação de strings.
15 26/04 S P Resolução de exercícios: aritmética de ponteiros, manipulação de strings.
16 29/04 Q P Redirecionamento da entrada/saída padrão.
Parâmetros da função main().
17 03/05 S P Arquivos texto.
-- 06/05 Q - NÃO HAVERÁ AULA
18 10/05 S P Agregados de dados heterogêneos, agregados de dados heterogêneos com arquivos binários. Tipos de dados definido pelo usuário.
19 13/05 Q P Revisão. Trabalho.
20 17/05 S A SEGUNDA AVALIAÇÃO
-- 20/05 Q - NÃO HAVERÁ AULA
-- 24/05 S - NÃO HAVERÁ AULA
21 27/05 Q P Alocação dinâmica, mapa de memória, memória heap e funções malloc e free.
22 31/05 S P Resolução de exercícios: alocação dinâmica. Trabalho.
-- 03/06 Q - FERIADO
23 07/06 S A Projeto de sistemas: diretivas de compilação condicional, definição de macros, divisão do projeto em arquivos separados e compilação separada e bibliotecas de ligação estática.
24 10/06 Q A Resolução de exercícios: alocação dinâmica, compilação separada.
25 12/06 _ P REPOSIÇÃO: Resolução de exercícios: agregados de dados heterogêneos e arquivos binários. Trabalho.
26 12/06 _ P REPOSIÇÃO: Resolução de exercícios: alocação dinâmica.
27 14/06 S P APRESENTAÇÃO DOS TRABALHOS
28 17/06 Q A APRESENTAÇÃO DOS TRABALHOS
29 21/06 S A Revisão.
-- 24/06 Q - FERIADO
-- 28/06 S A NÃO HAVERÁ AULA: JOGO DO BRASIL
30 01/07 Q A TERCEIRA AVALIAÇÃO
-- 05/07 S A EXAME FINAL