Инструменты пользователя

Инструменты сайта


soft:progtest

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
soft:progtest [2022/09/30 10:52] fesersoft:progtest [2024/02/21 16:17] (текущий) – Удалены ссылки на ГОСТы stramnov
Строка 1: Строка 1:
-====== Тестовое задание для программиста ======+====== Техническое задание: Программиста ======
  
 Необходимо переделать консольную программу, которая зачитывает информацию из файлов (*.stg) и отображает в виде таблицы в программу с оконным интерфейсом. Необходимо переделать консольную программу, которая зачитывает информацию из файлов (*.stg) и отображает в виде таблицы в программу с оконным интерфейсом.
  
-Предпочтительно использовать Visual C++ и MFC.+==== Стек технологий ====
  
 +  * Основной язык разработки: C++
 +  * Фреймворк: MFC
 +  * Среда для разработки: MS Visual C++
  
-Исходная консольная программа+==== Интерфейс ====
  
-{{:soft:console.png|}}+{{ :soft:user_interface.png |}}
  
 +В главном окне программы представлена таблица пиков, в которой указаны следующие данные о пиках:
 +  * «#» – порядковый номер;
 +  * «Время(мин)» – время выхода пика (мин);
 +  * «Высота(мВ)» – высота пика (мВ);
 +  * «Площадь(мВ·мин)» – площадь под кривой пика (мВ·мин);
 +  * «Концентрация(мол%)» – концентрация компонента (молярная доля, %);
 +  * «Концентрация(масс%)» – концентрация компонента (массовая доля, %);
 +  * «Компонент» – наименование компонент;
 +Кнопки: 
 +  * «Открыть» – открытие диалога выбора файла хроматограммы;
 +  * «Закрыть» – завершение работы программы.
  
-Примерный вид программы в оконном интерфейсе:+==== Расчет ====
  
-{{:soft:windows.png|}}+Необходимо нормализовать значения молярной доли компонентов по формуле: <m 16>x_i = {{{x prime}_i/ {sum{j}{}{{x prime}_j}}} * 100</m> 
 +, где <m 16>x_i</m> – нормализованное значение молярной доли компонента, <m 16>{x prime}_i</m>– молярная доля i-го компонента.
  
-Консольное приложение и файлы .stg для теста можно взять из репозитория GIT:\\ +В хроматограммах концентрация компонента указана в молярных долях. Необходимо для каждого компонента вычислить концентрацию в массовых долях. 
-https://github.com/gfeser/chromos-read-stg+Пересчёт молярной доли компонента в массовую<m 16>w_i = {{x_i*M_i} {sum{j}{}{x_j*M_j}}} * 100</m> 
 +, где  <m 16>w_i</m> – массовая доля i-го компонента, <m 16>M_i</m> – молярная масса i-го компонента (кг/моль).
  
 +
 +==== Справочные данные ====
 +
 +^Компонент                             Молекулярная масса^    Коэффициенты сжимаемости^
 +|метан                                   16.04246|    0.99814|
 +|этан                                |     30.06904|    0.99197|
 +|пропан                              |     44.09562|    0.98306|
 +|н-бутан                                  58.1222|    0.96845|
 +|2-метилпропан                            58.1222|    0.97199|
 +|н-пентан                            |     72.14878|    0.94733|
 +|2-метилбутан                        |     72.14878|    0.95208|
 +|2,2-диметилпропан                       72.14878|    0.96084|
 +|н-гексан                            |     86.17536|    0.91549|
 +|с6                                  |     86.17536|    0.91549|
 +|с6+                                     86.17536|    0.91549|
 +|с7                                  |    100.20194|    0.87419|
 +|с8                                  |    114.22852|    0.82377|
 +|2-метилпентан                           86.17536|    0.92492|
 +|3-метилпентан                           86.17536|    0.92764|
 +|2,2-диметилбутан                    |     86.17536|    0.94733|
 +|2,3-диметилбутан                    |     86.17536|      0.934|
 +|н-гептан                            |    100.20194|    0.87419|
 +|н-октан                                114.22852|    0.82377|
 +|н-нонан                                 128.2551|    0.76419|
 +|н-декан                                142.28168|    0.66615|
 +|н-ундекан                              156.30826|    0.62067|
 +|н-додекан                              170.33484|    0.46198|
 +|н-тридекан                          |    184.36142|    0.39968|
 +|н-тетрадекан                        |      198.388|    0.26229|
 +|н-пентадекан                        |    212.41458|    0.10527|
 +|этилен                              |     28.05316|    0.99394|
 +|пропен                              |     42.07974|    0.98481|
 +|1-бутен                                 56.10632|    0.97038|
 +|цис-2-бутен                             56.10632|    0.96724|
 +|транс-2-бутен                           56.10632|    0.96728|
 +|2-метилпропен                           56.10632|    0.97038|
 +|1-пентен                            |      70.1329|    0.95125|
 +|пропадиен                               40.06386|    0.98356|
 +|1,2-бутадиен                        |     54.09044|    0.96749|
 +|1,3-бутадиен                        |     54.09044|    0.97201|
 +|ацетилен                            |     26.03728|    0.99347|
 +|циклопентан                              70.1329|    0.95317|
 +|метилциклопентан                    |     84.15948|    0.93508|
 +|этилциклопентан                         98.18606|    0.87532|
 +|циклогексан                             84.15948|    0.93188|
 +|метилциклогексан                    |     98.18606|    0.89677|
 +|этилциклогексан                        112.21264|    0.81121|
 +|бензол                              |     78.11184|    0.93948|
 +|толуол                              |     92.13842|    0.89431|
 +|этилбензол                          |      106.165|    0.86354|
 +|о-ксилол                            |      106.165|    0.81707|
 +|метанол                                 32.04186|     0.8305|
 +|метантиол                               48.10746|     0.9731|
 +|водород                                  2.01588|    1.00059|
 +|вода                                |     18.01528|      0.952|
 +|сероводород                             34.08088|    0.99193|
 +|аммиак                              |     17.03052|    0.98871|
 +|цианид водорода                         27.02534|    0.93009|
 +|монооксид углерода                  |      28.0101|    0.99959|
 +|карбонилсульфид                          60.0751|    0.98825|
 +|дисульфид углерода                  |      76.1407|    0.96413|
 +|гелий                                   4.002602|     1.0005|
 +|неон                                |      20.1797|    1.00048|
 +|аргон                                     39.948|     0.9993|
 +|азот                                |      28.0134|    0.99976|
 +|кислород                            |      31.9988|    0.99927|
 +|диоксид углерода                    |      44.0095|    0.99466|
 +|диоксид серы                        |      64.0638|    0.98161|
 +|воздух                              |     28.96546|          0|
 +
 +
 +==== Исходная консольная программа ====
 +
 +<code>
 +Sample: Пироконденсат
 +Duration: 23,80
 +Method: Бензол
 +           Height             Area    Concentration                 Name
 +01     38151,789418     10919,128290        17,338186          неароматика
 +02    123628,279959     21818,599863        34,645161               бензол
 +03     51506,040970      9375,661141        14,887357               толуол
 +04      5222,474205       883,562592         1,402986           этилбензол
 +05      9811,519911      1844,182954         2,928327           метаксилол
 +06      1116,974771       181,323925         0,287920           параксилол
 +07     31550,932609      6451,971425        10,244911    2,3-диметилгептан
 +08      3508,218500       787,941046         1,251148           ортоксилол
 +09      1957,760468       426,746654         0,677619          компонент 9
 +10     18881,539624      4090,270943         6,494829               стирол
 +11      2084,847810       485,866458         0,771495         компонент 11
 +12      3587,759005      1565,561202         2,485913         компонент 12
 +13       952,853930       263,633014         0,418615         компонент 13
 +14      2022,471050       722,746548         1,147629         компонент 14
 +15      5884,995502      3160,142671         5,017904              н-нонан
 +</code>
 +
 +
 +==== Приложение и файлы .STG ====
 +
 +Консольное приложение и файлы .stg для теста можно взять по ссылке {{ :soft:chromos-read-stg-main.zip |}}
 +
 +
 +==== Контакты ====
  
 Результат в виде работающей программы прислать на электронную почту soft@has.ru  Результат в виде работающей программы прислать на электронную почту soft@has.ru 
  
soft/progtest.1664524320.txt.gz · Последнее изменение: 2022/09/30 10:52 — feser