• Kernighan, B W. & Ritchie, D. (1988). The C Programming Language. (2nd ed.). Prentice Hall. Horowitz, E., Sahni, S. & Anderson-Freed, S. (2007). Fundamentals of Data Structures in C. (2nd ed.). Silicon Press.
  • Engenharia Informática (ISMAT)
  • 587
  • 10065
  • Programação Imperativa
  • ISMAT587-10065
  • 1
  • 6
  • 0
  • 12
  • Não
  • Português
  • São utilizados os métodos expositivo, demonstrativo e metodologias ativas orientadas à resolução de problemas (PBL).
  • Obrigatório
  • OA1-Dominar os conceitos fundamentais da programação de computadores, tendo por base o paradigma Imperativo. OA2-Desenvolver e estruturar algoritmos simples. Conhecer e implementar estruturas de dados importantes. OA3-Obter bases que permitam uma entrada suave na UC de Algoritmia e Estruturas de Dados.
  • Descrição dos conteúdos CP1 - Paradigma Imperativo vs. outros paradigmas Revisões da linguagem C. Desenvolvimento estruturado de programas. CP2 - Introdução aos algoritmos de ordenação             Seleção, Inserção e Bolha Modularização             Interface; Implementação; Cliente Noções de projeto por contrato             Pré e Pós-Condições             Asserções CP3 - Estruturas de Dados Abstratas (ADTs)  Implementação de ADTs de múltipla instância ADTs (cont...)             Polinómio             Matrix             Matrix Esparsa             String             Stack             Queue             Lista                  Simples                  Circular                  Dupla
  • Descrição dos instrumentos de avaliação (individuais e de grupo) ¿ testes, trabalhos práticos, relatórios, projetos... respetivas datas de entrega/apresentação... e ponderação na nota final.

    Exemplo:

    Descrição

    Data limite

    Ponderação

    Teste Escrito

    15/05/2026

    40%

    Teste Escrito

    26/06/2026

    40%

    Desafios de programação

    Contínuo

    20%

     

     

  • Semestral
  • O que se pretende é o ensino de uma linguagem de programação imperativa que leva ao conhecimento dos estudantes para que possam raciocinar e resolver problemas independentemente da linguagem de programação que pretendam utilizar. As ferramentas utilizadas propiciam ao estudante a compreensão de como se iniciar em qualquer linguagem de programação. A sua utilidade para o curso prende-se com o facto de que qualquer problema enfrentado por umengenheiro informático (seja a sua especialização em hardware ou software) tem de forma direta ou indireta a lógica da programação envolvida.