Você está na página 1de 3

UNIVERSIDADE FEDERAL DE SERGIPE

CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA


DEPARTAMENTO DE COMPUTAÇÃO

PLANO DE ENSINO

DISCIPLINA – PROGRAMAÇÃO IMPERATIVA


Código: COMP0197 N. de Créditos: 06 PEL: 2.02.2
Carga Horária: 90 Período: 2014/1 Turmas: T01 e T04

PROFESSOR - Antônio Monteiro Freire


- Mestre em Engenharia de Sistemas e Computação (1978 – COPPE/UFRJ)
- Professor decano do Departamento de Computação

1. EMENTA
Noções fundamentais: algoritmos, notação e programas. Identificadores, constantes, variáveis e
atribuição. Tipos primitivos de dados e tipos derivados. Operadores, funções e expressões. Instruções
condicionais, incondicionais e de repetição. Estilo de programação estruturada de programas.
Representação de dados na forma de vetores, matrizes, registros e conjuntos. Procedimentos, funções e
passagem de parâmetros. Ordenação por seleção e método da bolha. Recursividade. Noções de arquivos
em programação. Ponteiros. Uma linguagem imperativa (por exemplo, Pascal ou C). Algoritmos
numéricos e não numéricos para a solução de problemas de baixa complexidade. Aplicações.
Modularização de programas. Padrões de codificação.

2. OBJETIVOS
2.1 Geral
 A disciplina objetiva fornecer ao estudante os conhecimentos de uma linguagem de programação
estruturada para especificar e escrever programas de computador.

2.2 Específicos
 Dotar o aluno do conhecimento completo de uma linguagem de programação de propósitos gerais,
que servirá de apoio para as demais disciplinas do curso.
 Conhecer e aplicar conceitos da linguagem C;
 Estudar e aplicar as diversas estruturas que compõem uma linguagem de programação;
 Conhecer e aplicar os conceitos de linguagem estruturada.

3. CONTEÚDO (Por aula de 2 horas)

01. Introdução. Plano de ensino da disciplina. Estrutura básica de um computador.


02. Armazenamento de dados. Representação binária. Endereço de memória.
03. Programa de computador. Comando ou instrução. Linguagens de programação.
Compiladores e Tradutores.
04. Programas e algoritmos. Descrevendo algoritmos. Comandos básicos, entrada e saída.
05. Algoritmos: comando condicional. Exercícios.
06. Algoritmos: comando de repetição. Exercícios.
07. A Linguagem C: elementos básicos.
08. Constantes, variáveis e palavras reservadas.
09. Expressões e operadores.
10. Comandos de E/S. Exercícios.
11. Comando condicional If. Exercícios.
12. Estrutura de repetição While. Exercícios.
13. Ambientes de programação: Dev-C++, CodeBlocks e C-Free.
14. Estrutura de repetição For. Exercícios.
15. Funções predefinidas. Bibliotecas de funções C. Funções matemáticas.
16. Comandos: break, continue e switch. Exercícios.
17. Teste nº 1
18. Conversão de tipos em C.
19. Estrutura de repetição do-while
20. Variáveis compostas homogêneas. Arrays em C.
21. Declarando arrays. Entrada e saída com arrays (vetores).
22. Manipulando arrays (vetores). Exercícios.
23. Strings em C. Manipulando strings.
24. Funções que manipulam strings.
25. Exercícios com vetores e strings.
26. Arrays bidimensionais (matrizes). Declarando matrizes.
27. Manipulando matrizes. Exercícios.
28. Tabulando dados.
29. Teste nº 2
30. Ponteiros. Declarando e manipulando variáveis com ponteiros.
31. Manipulando arrays com ponteiros. Aritmética com ponteiros.
32. Variáveis compostas heterogêneas (structs).
33. Manipulando structs.
34. Modularização de programas.
35. Definindo e escrevendo funções.
36. Passagem de parâmetros.
37. Escopo de variáveis.
38. Recursividade. Funções recursivas.
39. Arquivos em C. Arquivos texto.
40. Arquivos binários. Exercícios com arquivos.
41. Ponteiros para funções.
42. Alocação dinâmica de memória.
43. Diretivas de compilação.
44. Teste nº 3
45. 2ª chamada e discussão do teste.

4. METODOLOGIA

A metodologia a ser utilizada tem por objetivo manter o aluno sempre atento ao desenvolvimento da
disciplina, e para tanto teremos as seguintes atividades:
a) Aulas expositivas;
b) Convidar alunos para o quadro objetivando resolver pequenos programas com a ajuda dos colegas;
c) Uso de datashow em algumas aulas;
d) Aula semanal em laboratório;
e) Aplicação sistemática de testes de curta duração (15 min) ao final das aulas;
f) Trabalhos individuais de programação para casa;
g) Testes de avaliação em sala com consulta ao caderno.

5. AVALIAÇÃO (tipos e instrumentos)

A avaliação será feita através de testes subjetivos de curta duração (15 min) no final das aulas e de
duração normal (1:50 h) em datas específicas, como também através de trabalhos para casa. Os
trabalhos para casa objetivam fazer com que o aluno desenvolva seu raciocício de forma mais ampla
combinando vários temas dados em sala. Os trabalhos deverão ser individuais e serão testados com o
uso do computador.

1ª avaliação: teste nº 1: 5 pontos; trabalho nº 1: 1 ponto;


testes curtos : 3 pontos; trabalho nº 2: 1 ponto.

2ª avaliação: teste nº 2: 5 pontos; trabalho nº 3: 1 ponto;


testes curtos : 3 pontos; trabalho nº 4: 1 ponto.

3ª avaliação: teste nº 3: 5 pontos; trabalho nº 5: 1 ponto;


testes curtos : 3 pontos; trabalho nº 6: 1 ponto.

2
6. BIBLIOGRAFIA

6.1 Básica
1) C : how to program - P. J. Deitel, H. M. Deitel - New Jersey, Estados Unidos : Pearson, 2007 (5ª
edição).
2) C completo e total - SCHILDT, Herbert - Rio de Janeiro: Makron Books do Brasil, 1997 (3ª edição).
3) C: a linguagem de programação - Brian W. Kernighan, Dennis M. Ritchie - Rio de Janeiro :
Campus, Porto Alegre, RS : Edisa, 1986.
4) Programando em linguagem C – Pugh, Kenneth - São Paulo : McGraw-Hill, 1990.

6.2 Complementar
1) Linguagem C na prática - J. Castro - Rio de Janeiro : Ciência Moderna, 2008.
2) Treinamento em linguagem C ++ : módulo 1 - Mizrahi, Victorine Viviane - São Paulo :
Pearson, 2006 (2ª edição).
3) Algoritmos em linguagem C – Feofiloff, Paulo - Rio de Janeiro : Campus, 2009.

6. OBSERVAÇÕES

Todas as provas deverão ser feitas à caneta, mesmo os rascunhos (não precisa passar a limpo).

Critérios de correção dos exercícios para casa:

Os exercícios feitos em casa deverão ser individuais, sendo atribuída a nota zero para programas
semelhantes. Os exercícios não semelhantes, serão corrigidos de acordo com os seguintes critérios:
a) Originalidade
b) Eficiência do algoritmo
c) Generalidade do programa
d) Exatidão dos resultados

Campus, 7 de abril de 2014.

________________________
Antônio Monteiro Freire
Professor

Você também pode gostar