Introdução à Programação

Conhecimentos de Base Recomendados

Nenhuns em especial.

Métodos de Ensino

Nas aulas teóricas é feita a exposição teórica dos temas recorrendo a pequenos exemplos, sempre que necessário.

Nas aulas práticas são apresentados problemas que os alunos devem implementar usando a linguagem C.

Resultados de Aprendizagem

Objetivos: adquirir a capacidade de desenvolver estratégias de resolução de problemas e de codificar essas estratégias na linguagem de programação C.

 

Competências a desenvolver:

  • Simular a execução passo-a-passo de programas simples;
  • Escrever programas para resolver problemas simples (exemplos: cálculo numérico, processamento de texto);
  • Decompor problemas em sub-tarefas passíveis de implementação como funções reutilizáveis;
  • Testar e corrigir erros em programas.

Programa

  1. Análise e estratégias de resolução de problemas.
  2. Introdução ao pseudocódigo.
  3. Fluxogramas.
  4. Estrutura de um programa em C.
    1. Comandos do pré-processador (#include e #define).
    2. Função principal (main).
    3. Funções auxiliares (protótipos).
    4. Comentários.
  5. Variáveis e tipos de dados.
  6. Comando de atribuição e operadores aritméticos.
  7. Organização da memória atribuída a um programa em C e introdução aos ponteiros.
  8. Entrada e saída simples de dados (getc, scanf, putchar, e printf)
  9. Tomada de decisão (if/else, if/else if/else, e switch/case)
    1. Expressões booleanas.
    2. Operadores relacionais (==, !=, >, >=, <, <=).
    3. Operadores lógicos (!, &&, &, ||, e |).
  10. Mecanismos de repetição
    1. Ciclo for.
    2. Ciclo while.
    3. Ciclo dowhile.
    4. Instruções continue e break;
  11. Funções
    1. Estrutura das funções.
    2. Parâmetros de entrada.
    3. Passagem de parâmetros por valor e por referência.
    4. Parâmetros de saída.
    5. Variáveis locais, globais, e alcance (scope) das variáveis.
  12. Arrays.
    1. Unidimensionais, bidimensionais e multidimensionais.
    2. Strings e funções para manipulação de strings.
    3. Passagem de arrays para funções.
    4. Ponteiros e alocação dinâmica de memória.
  13. Estruturas de dados
    1. Definição de tipos de dados (typedef)
    2. Estruturas de dados como membros de outras estruturas de dados.
    3. Passagem de estruturas para funções (por valor e por referência).
  14. Ficheiros:
    1. De texto e funções para a sua manipulação.
    2. Binários e funções para a sua manipulação.

Docente(s) responsável(eis)

Estágio(s)

NAO

Bibliografia

  • Kernighan, B. W. & Ritchie, D. M. (1988). The C programming language (2nd edition). Englewood Cliffs, N. J. : Prentice Hall.
    Cota da biblioteca do ISEC: 1A-1-68 (ISEC) – 05389, 1A-1-222 (ISEC) – 07998.
  • Damas, L. (). Linguagem C. FCA – Editora de Informática, Lda..
    Cotas na biblioteca do ISEC: 1A-1-321 (ISEC) – 10344, 1A-1-365 (ISEC) – 11819, 1A-1-366 (ISEC) – 11820, 1A-1-389 (ISEC) – 12100, 1A-1-200 (ISEC) – 15330, 1A-1-456 (ISEC) – 18949.