Programação Estruturada
Informações
Pré-requisito: -
Ementa
Conceito de problemas, instâncias e algoritmos. Bloco fundamentais de programação estruturada. Linguagem de programação imperativa: Estrutura de programa, Declarações, Principais Comandos. Representação de Dados na Forma de Vetores, Matrizes e Registros. Procedimentos e Funções. Passagem de Parâmetros. Recursividade. Ponteiros. Arquivos. Aplicações a problemas simples.
Objetivos
Ao final da disciplina o aluno deve:
- Compreender o conceito de computação;
- Conhecer o processo de elaboração de algoritmos e sua transformação em um programa de computador.
- Conhecer os conceitos básicos de linguagens de programação e sistemas operacionais;
- Compreender a linguagem de programação estruturada e a manipulação de arquivos.
Sumário
- Conteúdo Programático
- 01. Algoritmos
- 02. Linguagem C
- 03. Tipo de Dados, Contantes e Variáveis
- 04. Entrada e Saída pelo Console
- 05. Operadores e Expressões
- 06. Comandos de Controle
- 07. Vetores e Cadeias de Caracteres
- 08. Funções
- 09. Ponteiros
- 10. Estruturas
- 11. Tópicos Avançados
- 12. Entrada e Saída por Arquivo
- 13. Alocação Dinâmica
- Referência Bibliográfica
Conteúdo Programático
01. Algoritmos
Conteúdo
- Algoritmo
- Exemplos de Algoritmos
- Linguagem Natural
- Fluxograma
- Pseudocódigo
02. Linguagem C
Conteúdo
- História
- Estrutura Básica
- Características
- Compilação
- Mensagens do Compilador
- Comentários
- Boas Práticas
03. Tipo de Dados, Contantes e Variáveis
Conteúdo
- Tipos de Dados
- Modificadores de Tipos
- Constantes Numéricas
- Conversões entre Bases
- Constantes Caracteres
- Variáveis
- Declaração de Variáveis
- Atribuição de Valores
04. Entrada e Saída pelo Console
Conteúdo
- Bibliotecas
- Saída
- Entrada
- Funções getchar e putchar
- Lendo e Imprimindo Cadeias de Caracteres
- Função fgets
05. Operadores e Expressões
Conteúdo
- Operadores de Atribuição
- Operadores de Aritméticos
- Operadores de Relacionais e Lógicos
- Operadores com Bits
- Operadores de Atribuição Composta
- Operador Vírgula
- Operador sizeof
- Conversão de Tipos
- Regras de Precedência
06. Comandos de Controle
Conteúdo
- Bloco de Comandos
- Comandos de Decisão
- Laços de Repetição
- Comandos de Desvio
07. Vetores e Cadeias de Caracteres
Conteúdo
- Vetores Unidimensionais
- Vetores Multidimensionais
- Cadeia de Caracteres
08. Funções
Conteúdo
- Forma Geral
- Protótipos de Funções
- Escopo de Variáveis
- Parâmetros Formais
- Recursão
- Argumentos
09. Ponteiros
Conteúdo
- Operações com Ponteiros
- Declaração de Ponteiros
- Operadores Especiais para Ponteiros
- Atribuição de Ponteiros
- Incrementando e Decrementando Ponteiros
- Comparação de Ponteiros
- Ponteiros e Vetores
- Ponteiros e Matrizes
10. Estruturas
Conteúdo
- Definições Básicas
- Atribuição de Estruturas
- Matrizes de Estruturas
- Estruturas e Funções
11. Tópicos Avançados
Conteúdo
- Ordenação
- Insertion sort
- Bubble sorte
- Estruturas de dados básicas
Materiais
- Tópico Avançado: Pilha (video)
- Tópico Avançado: Ordenação (video)
- Tópico Avançado: Organização do Projeto (video)
12. Entrada e Saída por Arquivo
Conteúdo
- Fluxo de Dados
- Funções de Entrada e Saída
- Lendo e Escrevendo Caracteres
- Testando Erros
- Lendo e Escrevendo Cadeias de Caracteres
- Entrada e Saída Formatada
- Lendo e Escrevendo Arquivos Binário
13. Alocação Dinâmica
Conteúdo
- Alocação Estática
- Alocação Dinâmica
- Tempo de Vida das Variáveis
- Memória
- Memory Leak
- Dangling Pointer
- Passagem de Parâmetros
Referência Bibliográfica
Principal
- DEITEL, H.M. E Deitel P.J. “Como Programar em C”, 2a edição. LTC, Rio de Janeiro, 1994.