Skip to: site menu | section menu | main content

Prof. Marlos Marques

marlos.uesb@gmail.com

DCET0723 - Algoritmos e Programação I

I Unidade

  • Introdução as linguagens de programação
  • História e evolução dos sistemas computacionais
  • História e evolução dos sistemas operacionais
  • História e evolução das interfaces humano-computador
  • História e evolução das linguagens de programação
  • Linguagens de programação de baixo nível e de alto nível
  • Conceito de tradução de código: interpretação e/ou compilação
  • Revisão sobre o funcionamento de um sistema computacional moderno
  • Hardware, software, peopleware
  • Peopleware: usuário operador e usuário programador
  • Software: aplicativos e de sistema
  • Hardware: CPU (ULA+UC+Registradores), Memória (volátil/não-volátil, primária/secundária), E/S (dispositivos de entrada/dispositivos de saída)
  • Conceito de barramento de dados
  • Conceito de plataforma computacional: CPU+SO
  • Como os dados são armazenados no sistema computacional: bit, byte, caractere e múltiplos
  • Operadores lógicos e Tabela Verdade
  • Sistemas de numeração: decimal, binário, octal, hexadecimal e outros
  • Exercícios de lógica (de programação) (MUITOS!)
  • Estratégias de resolução de problemas ( algorítmicos)
  • Conceito de algoritmo
  • O fluxograma como uma ferramenta para construção de algoritmos
  • Exercícios de programação (MUITOS!) utilizando fluxograma

II Unidade

  • Mais exercícios com fluxogramas
  • Introdução a linguagem C/C++
  • Ambiente de programação: editor de texto ASCII + terminal de comandos
  • Conceito de bibliotecas de uma linguagem de programação
  • Bibliotecas padrão do C/C++
  • Diferença entre algoritmo, programa e processo
  • Compilando o código: diferença entre programa fonte e programa executável
  • Executando o código: comportamento do sistema computacional e gerenciamento de memória
  • Palavras chaves e identificadores do usuário
  • Conceito de variáveis
  • Declaração de variavéis e atribuição de valores
  • Tipos de dados simples e tamanho ocupado em memória
  • Operadores e expressões
  • Estruturas de controle sequêncial (bloco de comando e escopo)
  • Estruturas de controle condicional (comandos de decisão)
  • Estruturas de controle repetição (comandos de laço)
  • Escopo de variáveis: conceito de variável local e variável global
  • Escopo de variáveis: uma análise mais detalhada de como a memória é gerenciada


----- PROVA P3: conteúdo da III Unidade abaixo -----

III Unidade

  • Mais exercícios com fluxogramas
  • Conceito de sub-programas/sub-rotinas: funções e métodos
  • Passagem de parâmetros: por valor, por referência, por cópia
  • Escopo de variáveis no contexto das sub-rotinas
  • Recursividade
  • Ampliando o conceito de bibliotecas em linguagens de programação
  • Arquivos .h e .cpp
  • Diferenças entre as bibliotecas padrão do C e do C++
  • Vetores unidimensionais: arrays
  • Algoritmos de ordenação simples: algoritmo da bolha
  • Vetores bidimensionais: matrizes
  • Operacões com matrizes
  • Vetores tridimensionais
  • Conceito de variáveis do tipo String
  • Manipulação de Strings
  • Conceito de dados compostos: tipos defonidos pelo usuário
  • Tipos de dados estruturados: struct
  • Manipulação de arquivos