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