Back

Programação e Computação Numérica

    Detalhes do curso

  • Conhecimentos de Base Recomendados

    Conhecimentos prévios sobre funções reais de variável real (continuidade, diferenciabilidade, integração) e sobre equações diferenciais ordinárias.

  • Objetivos

    Pretende-se que o estudante adquira competências no domínio da programação e do cálculo numérico.

    No final da unidade curricular, o estudante deverá ser capaz de:

    • Compreender os princípios básicos de programação, que permitam ao estudante adaptar-se a novas linguagens de programação
    • Desenvolver raciocínio lógico
    • Compreender e aplicar métodos numéricos para resolver problemas matemáticos: equações não lineares, aproximação de funções por polinómios, integração numérica e equações diferenciais ordinárias.
    • Implementar algoritmos obtidos a partir dos métodos numéricos abordados e aplicá-los a problemas da Engenharia Civil.
    • Reconhecer vantagens, desvantagens e limitações de cada método.
    • Desenvolver capacidade de trabalho em equipa.

    Não aplicável

  • Métodos de Ensino

    Nas aulas teórico-práticas serão introduzidos os conceitos, sempre que possível recorrendo a exemplos de aplicação, procurando-se estimular o interesse, o raciocínio e o espírito crítico dos estudantes.

    As aulas de laboratório decorrerão em salas de informática e serão dedicadas à resolução de exercícios de programação que permitam ao estudante por em prática os conhecimentos adquiridos. Será introduzida uma linguagem de programação, que permita ir implementando os conceitos

    Será promovido o trabalho em grupo.

  • Estágio(s)

    Não

  • Programa

    1. Introdução à programação (2 semanas)
      Constantes, variáveis, operadores (aritméticos, relacionais e lógicos), funções 

    2. Pseudocógido (3 semanas)
      Estrutura de um algoritmo, declaração de variáveis, atribuição de valores, comentários, entrada e de saída de dados, estruturas básicas (sequencial, condicional e repetição) 

    3. Teoria de erros (1 semana)
      Erro absoluto, erro relativo, propagação de erros

    4. Determinação de raízes de funções não lineares (1 semana)
      Métodos de ponto fixo, bissecção, secante e Newton-Raphson 

    5. Interpolação de funções (2 semanas)
      Fórmulas de Lagrange e de Newton

    6. Integração numérica (2 semanas)
      • Problemas de engenharia civil que requerem integração numérica
      • Diferença entre integração algébrica e integração numérica
      • Regras de integração numérica: regras de Newton-Cotes, quadratura de Gauss

    7. Resolução numérica de equações diferenciais ordinárias (edos) (4 semanas)
      • Introdução à resolução numérica de edos
      • Métodos de Euler e de Runge-Kutta

  • Demonstração de conteúdos

    Os conteúdos programáticos definidos permitem ao estudante compreender os princípios básicos de
    programação, podendo adaptar-se a outras linguagens de programação que venham a ser necessárias.

    Os métodos numéricos vão surgindo ao longo do semestre de forma gradual, no que à sua complexidade dizrespeito, de modo a que o estudante consiga ir interiorizando os conceitos de programação. Como exemplo, os métodos de determinação de raízes, de implementação relativamente simples, permitirão ao estudante compreender o impacto das instruções de decisão e de ciclo. Permitirão, também, consolidar os conhecimentos teóricos introduzidos sobre a teoria de erros.

    Os vários métodos numéricos que serão ministrados, as vantagens e desvantagens de cada um, permitirão ao estudante selecionar qual o mais adequado em função do problema matemática em concreto com que se venha a deparar noutras unidades curriculares e/ou no seu futuro profissional.

  • Demonstração da metodologia

    À medida que os estudantes forem tomando contacto com os princípios elementares da programação, irão também colocá-los em prática na construção de pequenos programas que facilitem a apreensão da noção de algoritmia e o desenvolvimento do raciocínio lógico.

    A análise aos resultados, confrontados com os de problemas cuja solução é conhecida, e a teoria de erros que será lecionada, proporciona ao estudante a oportunidade de desenvolver o seu espírito crítico e de compreender as vantagens e desvantagens de cada método numérico.

    O desenvolvimento do projeto final permitirá a integração dos vários conhecimentos adquiridos e a sua aplicação a um problema na área da Engenharia Civil.

    A realização de trabalhos durante as aulas e do projeto final permitirá ao estudante desenvolver competências de trabalho em equipa

  • Docente(s) responsável(eis)

    -

  • Métodos de Avaliação

  • Bibliografia

    Liang, Y.D.; Introduction to Programming Using Python, Pearson, 2013
    Burden, R. L., Faires, D. J.,Burden, A. M.; Numerical Analysis – 10th Edition, Cengage Learning, 2016
    Chapra, S.C., Canale, R. P.; Numerical Methods for Engineers - 7th edition, McGraw-Hill, 2015
    Atkinson, K. E., (1989). An Introduction to Numerical Analysis - 2nd edition, John Wiley & Sons
    Quarteroni, A., Salero, F. ; Cálculo Científico com Matlab e Octave, Springer, 2006
    Guttag, J. V; Introduction to Computation and Programming Using Python, MIT Press, 2013
    Correia dos Santos, F., Duarte, J., Lopes, N. D.; Fundamentos de Análise Numérica com Python 3 e R – 2ª edição, Edições Sílabo, 2019

  • Código

    CVD039

  • Modo de Ensino

    PRESENCIAL

  • ECTS

    4.0

  • Duração

    Semestral

  • Horas

    15h Orientação Tutorial

    52.5h Teórico-Práticas

Visão Geral da Privacidade
Escola Superior de Tecnologia do Barreiro - ESTBarreiro/IPS

Este site utiliza cookies para lhe oferecer a melhor experiência possível. As informações dos cookies são armazenadas no seu navegador e permitem funcionalidades como reconhecê-lo quando regressa ao nosso site e ajudar a nossa equipa a perceber quais as secções que considera mais interessantes e úteis.

Cookies Estritamente Necessários

Os cookies estritamente necessários devem estar sempre ativados para que possamos guardar as suas preferências de configuração de cookies.

Cookies de Terceiros

Este site utiliza o Google Analytics para recolher informação anónima, como o número de visitantes do site e as páginas mais populares. Manter este cookie ativado ajuda-nos a melhorar o nosso website.