Universidade Federal de Sergipe

Departamento de Computação

Disciplina: Programação Imperativa

Período: 2013.1

 

Pessoas Disciplina Avaliação
Professor Plano de Ensino Notas
Monitores Ementa  
Alunos Programa  
  Bibliografia  
  Cronograma  
  Links  
  Exercícios  
  Material de Aula  

 

 


Professor

Nome: Alberto Costa Neto

E-mail: alberto@ufs.br

Horários de atendimento: segunda, quarta e sexta de 8-9h


Monitores

Nome: Jane

E-mail: jane.nascimento@yahoo.com.br

Horários permanentes: segunda e quarta de 13-15h

Horários com pré-agendamento por e-mail: segunda e quarta de 7-9h, e sexta de 9-11h e 13-15h.

 

Nome: Gabriel

E-mail: gabriel.arimatea@gmail.com

Horários permanentes: terça e quinta de 13-15h

Horários com pré-agendamento por e-mail: terça, quinta e sexta de 7-9h, segunda e quarta de 9-11h, e sexta de 11-13h.


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.


Programa:

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


Bibliografia:


Links:

Endereço Descrição

Ferramentas

http://freepascal.org/docs-html/user/user.html Guia do usuário do Free Pascal
Apostila Pascal.pdf Apostila sobre Pascal
http://freepascal.org/ Free Pascal (Compilador / IDE para várias plataformas)
http://www.baixaki.com.br/download/lazarus.htm
http://www.lazarus.freepascal.org/
Lazarus (IDE que usa o Free Pascal)
http://onlinecompiler.net/pascal.html Compilador On-Line do Pascal (útil para compilar pela web em qualquer computador)
Tabela de Conversão entre Pascal e C Tabela que mostra como converter as construções de Pascal para C e vice-versa.
Code::Blocks IDE para C/C++ recomendada para a disciplina
MinGW MinGW (Compilador de C e outras linguagens)
Instalando o MinGW Descreve passo-a-passo a instalação do MinGW
http://www.oracle.com/technetwork/java/javase/downloads/index.html Java JDK (Java Development Kit)
http://www.eclipse.org/downloads/ Eclipse IDE 4.2 (Classic)
http://docs.oracle.com/javase/tutorial/reallybigindex.html Tutorial Java (bem completo)
http://en.wikibooks.org/wiki/Java_Programming Java Programming Book

   


Exercícios:

Descrição Arquivo Última Atualização
Exercícios sobre Operações Aritméticas, Estruturas de Decisão, Estruturas de Repetição, Registros, Vetores, Matrizes, Funções e Procedimentos exercicios.htm

15/03/2010

 


Material de Aula:

Descrição Arquivo Última Atualização
Introdução a conceitos gerais (Hardware, Software, SO, Programas, Linguagens de Programação) introducao.htm 15/03/2010
Algoritmos algoritmos.htm 05/06/2013
Tipos de Dados tipos_de_dados.htm 10/06/2013
Variáveis variaveis.htm 15/03/2010
Expressões expressoes.htm 05/04/2010
Instruções Primitivas instrucoes_primitivas.htm 15/03/2010
Controle de Fluxo controle_de_fluxo.htm 15/04/2010
Fluxograma fluxograma.htm 15/03/2010
Linguagem Pascal: Comandos básicos linguagem_pascal.htm 15/03/2010
Tipos Definidos pelo Usuário (Registro, Vetor e Matriz) tipos_def_usuario.htm 15/03/2010
Turbo Pascal: Instruções de uso turbo_pascal.htm 15/03/2010
Modularização modularizacao.htm 15/03/2010
Linguagem C: Comandos básicos linguagem_c.htm 04/06/2010
Linguagem C: Controle de Fluxo linguagem_c_controle_de_fluxo.htm 07/06/2010
Linguagem C: Funções, Ponteiros e Recursividade linguagem_c_funcoes.htm 09/06/2010
Linguagem C: Vetores, Matrizes e Ordenação linguagem_c_vetores_ordenacao.htm 10/06/2010
Linguagem C: Strings linguagem_c_strings.htm 05/07/2010
Linguagem C: Arquivos linguagem_c_arquivos.htm 12/07/2010
Linguagem C: Structs linguagem_c_structs.htm 09/09/2013
Linguagem C: Alocação Dinâmica de Memória linguagem_c_alocacao_dinamica.htm 09/09/2013
Mapeamento e alocação de memória mapeamento_alocacao_memoria.htm 17/09/2013
Variáveis dinâmicas apontadores.htm 17/09/2013