/applied-math-topics-cpp

Repositories for the exercises of the subject Applied Math Topics, developed while in UFRJ

Primary LanguageC++MIT LicenseMIT

Programação 1

Introdução

Repositório destinado à disciplina Tópicos da Matemática Avançada A: Programação I. Os programas aqui desenvolvidos serão divididos pela linguagem de programação.

C++

Foi criado um Makefile para seja mais fácil de compilar, considerando que não utilizo nenhuma IDE para tal, apenas linha de comado. Há dois comandos implementados no Makefile: make, que faz a compilação e a linkedição e o make clean, que remove os .o e executáveis.

Listas

Lista 1

  • Uma calculadora de equações do segundo grau
  • N primeiros múltiplos dos números 5 e 7 (ou de X e Y)
  • Soma de vetores de N coordenadas
  • Quais os postos no raio de X km da minha localização?

Lista 2

Para essa lista, considero que todos os exercícios têm uma entrada com o usuário. Para tanto, dois arquivos serão criados, um para o exercício 2 dessa lista e outro para os demais, pois utilizarei a ideia do primeiro para fazer um menu de interação com o usuário para o segundo.

  • Soma dos dígitos de um número dado por uma entrada do usuário
  • Soma dos termos ímpares de um valor da sequência de Fibonacci (que não exceda quatro milhões)
  • Maior fator primo de 3852914583882
  • Escrever por extenso um número dado pelo usuário de até cinco algarismos
  • Criar um menu de opções para o usuário com as seguintes opções: soma de dois vetores, subtração de dois vetores e sair do programa (essa implementação de um menu já está sendo feita para o usuário navegar entre as questões da lista).

Lista 3

  • Tabela ASCII com possibilidade de entrada de usuário para o início, o fim e a quantidade de linhas por página, para melhor formatação
  • Tabela Unicode com possibilidade de entrada de usuário para o início, o fim e a quantidade de linhas por página, para melhor formatação. O usuário também pode selecionar qual língua deseja exibir: russo, grego ou braille
  • Leitura de arquivos com extensão .txt para contagem de ocorrências de palavras
  • Leitura de um arquivo .csv para contagem do número de linhas e colunas

Estudos Dirigidos

Estudo Dirigido 1

Desenvolvimento de uma calculadora vetorial simples. O programa irá apresentar um menu de opções, onde o usuário poderá escolher dentre uma lista de operações matemáticas com vetores ou de seleção de parâmetros para a calculadora.

Estudo Dirigido 2

Desenvolvimento de uma calculadora matricial. O programa irá apresentar um menu de opções, onde o usuário poderá escolher dentre uma lista de operações matemáticas com matrizes ou de seleção de parâmetros para a lista de matrizes. Tal lista é feita com armazenamento persistente, e poderá ser alterada durante a execução do programa. Para isso, será utilizada uma estrutura de dados que será escrita novamente no arquivo ao término do programa.

Estudo Dirigido 3

Desenvolvimento de uma calculadora matricial com uso de orientação à objeto para introdução de conceitos de polimorfismo, visando a otimização de cálculos para matrizes triangulares ou diagonais.

  • [TODO] A lógica otimizada para multiplicação de matrizes triangulares está implementada, mas seria interessante adicionar também uma sobrecarga que considere otimizações inclusive para operações que envolvam uma matriz triangular e uma matriz genérica.