Publicação em Diário da República: Despacho n.º 7795/2021 - 09/08/2021
6 ECTS; 1º Ano, 1º Semestre, 42,0 PL + 28,0 TP , Cód. 91124.
Docente(s)
            - Pedro Daniel Frazão Correia (1)(2)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
          Não aplicável.
Objetivos
          1 - Utilização de fluxogramas em algoritmos para a resolução de problemas.
2 - Construção de algoritmos usando uma linguagem de programação.
3 - Construção de programas computacionais usando o 'C' como linguagem de programação.
Programa
          1 - Conceitos de computação e computadores:
     - História da computação;
     - Funcionamento do computador;
     - Ergonomia.
2- Algoritmos e linguagens:
     - Noções de lógica;
     - Desenvolvimentos de algoritmos;
     - Linguagens de especificação de algoritmos;
     - Fluxogramas;
     - Linguagens de programação.
3 - Manipulação de informação:
     - Introdução à linguagem C;
     - Tipos de dados básicos;
     - Variáveis  e constantes;
     - Leitura de dados;
     - Escrita de informação;
     - Operadores:
         Sobre inteiros;
         Sobre reais;
         Sobre caracteres;
         Casting.
4- Estruturas de decisão condicional:
     - Valores lógicos; 
     - Operadores lógicos e relacionais;
     - Expressões lógicas;
     - Decisão condicional:
         If-else;
     - Decisão por escolha:
         Switch
         Break
     - Atribuição condicional: operador de decisão ? ;
     - Blocos de instruções
     - Indentação
5 - Estruturas de Repetição:
     - Repetição com controlo inicial:
         While
         For
     - Repetição com controlo final:
         Do while
     - Alteração do fluxo de execução do ciclo:
         Break
         Continue
     - Ciclos encadeados;
     - Ciclos infinitos;
     - Operadores de incremento e decrementos;
     - Atribuição composta;
6 - Estruturas de dados compostas:
     - Arrays 
         Noção de Array; 
         Declaração e inicialização de arrays;
         Leitura escrita e processamento de arrays;
         Arrays multidimensionais.
     - Structs (Estruturas)
         Noção de estruturas;
         Declaração e inicialização de estruturas;
         Leitura escrita e processamento de estruturas;
7 - Modularização de problemas:
     - Definição de Procedimentos e Funções;
     - Passagem de parâmetros;
     - Tipos de Retorno;
     - Biblioteca de funções;
8 - Ponteiros e memória dinâmica:
     - Ponteiros: Definição;
     - Passagem de parâmetros de funções por valor e por 
       referência;
     - Strings:
         Strings e caracteres;
         Declaração e inicialização de strings;
         Leitura escrita e processamento de strings;
         Passagem de strings para funções;
         Biblioteca string.h.
     - Alocação dinâmica de memória.
Metodologia de avaliação
          Avaliação Continua:
  Componente Teórica (70% (14 valores)): Duas Frequências sem consulta com mínimos de 7,00 em 20 na média aritmética das duas provas.
  Componente Prática (30% (6 valores)): Trabalho Prático com mínimos de 10,00 em 20. 
Exame:
  Componente Teórica (70% (14 valores)): Prova sem consulta com mínimos de 7,00 em 20.
  Componente Prática (30% (6 valores)): Nota do Trabalho Prático feito para a avaliação continua ou Prova sem consulta com mínimos de 10,00 em 20.
Bibliografia
          - Damas, L. (1999). Linguagem C. Portugal:  FCA
- Kerninghan, B.  e Ritchie, D. (1988). The C Programming Language . Portugal:  PEARSON EDUCATION (US)
Método de Ensino
          Aulas teórico-práticas: exposição da matéria e resolução de problemas.
Aulas práticas: resolução de problemas práticos para consolidar os conhecimentos.
Software utilizado nas aulas
          Algorithmi; CodeBlocks IDE
Aprovado em Conselho Técnico Cientifico: Aprovada na Ata nº 32/2024 de 11/12
Download da Ficha da Unidade Curricular (FUC)


















