GithubHelp home page GithubHelp logo

prog2-third-exam's Introduction

Edilson Morais

I am a passionate full-stack developer with a strong background in software development. I am currently pursuing a Bachelor of Computer Science degree at State University of Piauí. I have experience with a variety of technologies and programming languages including JavaScript, HTML, CSS, Python, React, Node.js, and Express. I also have a good understanding of software development methodologies such as Agile and Scrum. I am always eager to take on new challenges and expand my skillset.

Skills

  • Proficient in JavaScript, HTML, CSS, and Python.
  • Familiar with React, Node.js, and Express.
  • Understanding of software development methodologies such as Agile and Scrum.

Education

  • Bachelor of Computer Science, State University of Piauí - 2025

Contact

If you have any questions or would like to work together, feel free to reach out!

prog2-third-exam's People

Contributors

ed-morais avatar fhilipecrash avatar

Stargazers

 avatar

Watchers

 avatar  avatar

prog2-third-exam's Issues

Requirements

  • Implemente a classe “Element” para representar um único elemento químico da Tabela Periódica e que armazene
    os seguintes dados do elemento: símbolo, nome em português, nome em latim e peso atômico.

  • Implemente a classe “Elements” que deverá armazenar os dados de todos os elementos químicos da Tabela
    Periódica. Os dados dos elementos deverão ser carregados de um arquivo no momento da instanciação da classe.

    Na seção “Recursos do Projeto” apresentada adiante, será disponibilizado um repositório que contém um
    arquivo CSV com os dados de todos os elementos químicos.

  • A classe “Elements” deverá ser um singleton utilizado internamente pelas classes do projeto.

    O padrão “singleton” determina que uma classe tenha apenas uma instância de si mesma em toda a aplicação.

  • Implemente a classe “Atom” que representa um único átomo, sabendo que este é definido pelo seu símbolo na
    Tabela Periódica. Por exemplo: “H”, “O”, “C”, “Cl”, “Ag”, etc.

  • O símbolo do átomo deverá ser o único parâmetro do construtor da classe “Atom”. Se o símbolo for inválido, a
    classe deverá levantar uma exceção.

  • O símbolo deverá ser a string de representação de uma instância da classe “Atom”.

  • Defina a classe “Molecule” que representa uma molécula, sabendo que esta é definida por sua fórmula
    molecular. Por exemplo, a fórmula molecular da água é “H2O”, composta por 2 átomos de hidrogênio (“H”) e 1
    átomo de oxigênio (“O”).

    Para simplificar o problema, serão consideradas apenas fórmulas com letras e dígitos numéricos. Não serão
    avaliadas fórmulas complexas como “(NH4)2SO4” ou “Na2[B4O5(OH)4]8H2O”.

  • A fórmula molecular deverá ser o único parâmetro do construtor da classe “Molecule”.

  • A classe “Molecule” deverá implementar o getter “formula” que retorna uma string com a fórmula da molécula
    representada pelo objeto.
    Exemplos de fórmulas: “O2”, “H2O”, “NaCl”, “H2SO4”, “C6H12O6”, etc.

  • A classe “Molecule” deverá implementar um setter “formula” que recebe uma string com a fórmula da molécula
    a ser representada pela instância da classe. Se a fórmula for inválida a classe deverá levantar uma exceção.

  • A classe “Molecule” deverá implementar um getter “weight” que retorna o peso atômico da molécula. O peso
    atômico da molécula é dado pela soma dos pesos atômicos de todos os átomos que compõem a molécula.

  • A classe “Molecule” deverá implementar a interface genérica “Comparable”, que permitirá que instâncias de
    “Molecule” possam ser comparadas umas com as outras. O parâmetro de comparação utilizado deverá ser o peso
    atômico da molécula representada pela instância.

    A interface Comparable que é uma classe abstrata já existente no SDK do Dart. Veja a documentação da
    interface Comparable em api.dart.dev.

  • Seu código será testado com a função main() existente no arquivo “main.dart”, que poderá ser baixado do
    repositório GitHub disponibilizado na seção “Recursos do Projeto” apresentada adiante.

    O código do arquivo “main.dart” não deverá ser alterado. Seu código deve se adaptar às chamadas lá
    existentes.

  • A codificação do projeto deverá observar os princípios de estilo do Effective Dart.

  • O projeto deverá ser disponibilizado em um repositório com acesso público do GitHub, com “main” como seu
    branch principal (default do GitHub). Qualquer outro branch não será considerado.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.