FUNDAMENTOS DE PROGRAMAÇÃO
Edson Moreno - Turma 148 - Horário: 2EX 4EX 6CD




Plano da disciplina


OBJETIVOS:

O cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições de:
 1. Conhecer e utilizar de forma precisa conceitos e termos relacionados a algoritmos, linguagens de programação e à construção, teste e depuração de programas.
 2. Desenvolver as competências e habilidades para a formular problemas, pensar sobre soluções e expressar estas soluções na forma de um programa em uma linguagem de programação.
 3. Descrever algoritmos utilizando diagramas e pseudocódigo.
 4. Construir abstrações para procedimentos, funções e tipos abstratos de dados utilizando os conceitos de classes e objetos.
 5. Compreender e utilizar as técnicas fundamentais de teste e depuração de programas.

Unidade 1: Algoritmos, Linguagens de Programação e Programas


 1.1. Conceitos de programa de computador e organização de computadores
 1.2. Definição de compilador e de interpretador
 1.3. Projeto de algoritmos

Unidade 2: Variáveis e tipos


 2.1. Tipos de dados
  2.1.1 Tipos primitivos
  2.1.2 Strings
 2.2. Variável e constante
 2.3. Expressões aritméticas
  2.3.1. Operadores aritméticos
  2.3.2. Prioridades
  2.3.3. Funções matemáticas
  2.3.4. Conversão de tipos numéricos
 2.4. Comandos
  2.4.1. Atribuição
  2.4.2. Entrada via console
  2.4.3. Saída via console

Unidade 3: Comandos condicionais


 3.1. Expressões lógicas
  3.1.1. Operadores Relacionais
  3.1.2. Operadores lógicos
  3.1.3. Tabela verdade
 3.2. Seleção simples (comando if)
 3.3. Seleção composta (comando if-else)
 3.4. Seleção aninhada
 3.5. Seleção múltipla (comando switch-case)

Unidade 4: Iteração


 4.1. Repetição simples
  4.1.1. Comando while
  4.1.2. Inicialização, contadores e acumuladores
  4.1.3. Comando for, break, continue
  4.1.4. Comando do-while
 4.2. Repetição aninhada

Unidade 5: Métodos


 5.1. Definição
 5.2. Parâmetros
 5.3. Retorno
 5.4. Escopo de variáveis
 5.5. Recursão

Unidade 6: Arranjos


 6.1. Unidimensionais
  6.1.1. Conceito
  6.1.2. Declaração e uso
  6.1.3. Passagem por parâmetro
  6.1.4. Algoritmos de preenchimento, soma e média, máximo e mínimo, pesquisa linear, remoção de elemento, inserção de elemento, troca de posição de elementos, cópia, inversão, inserção ordenada, pesquisa binária, ordenação, união, intersecção, diferença, etc.)
 6.2. Bidimensionais
  6.2.1. Conceito
  6.2.2. Declaração e uso
  6.2.3. Passagem por parâmetro
  6.2.4. Algoritmos de operações matemáticas sobre matrizes
 6.3. De arranjos
  6.3.1. Conceito
  6.3.2. Declaração e uso
  6.3.3. Passagem por parâmetro

Unidade 7: Arquivos


 7.1. Arquivos: conceitos
 7.2. Arquivos texto
 7.3. Tratamento de exceções de entrada e saída
 7.4. Argumentos de linha de comando

Unidade 8: Classes e objetos


 8.1. Tipos abstratos de dados
 8.2. Programação orientada a objetos
 8.3. Conceito de objeto: atributos e métodos
 8.4. Conceito de classe, abstração e encapsulamento
 8.5. Método construtor
 8.6. Referências para objetos