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