====== Техническое задание: Программиста C ======
Необходимо переделать консольную программу, которая зачитывает информацию из файлов (*.stg) и отображает в виде таблицы в программу с оконным интерфейсом.
==== Стек технологий ====
* Основной язык разработки: C++
* Фреймворк: MFC
* Среда для разработки: MS Visual C++
==== Интерфейс ====
{{ :soft:user_interface.png |}}
В главном окне программы представлена таблица пиков, в которой указаны следующие данные о пиках:
* «#» – порядковый номер;
* «Время(мин)» – время выхода пика (мин);
* «Высота(мВ)» – высота пика (мВ);
* «Площадь(мВ·мин)» – площадь под кривой пика (мВ·мин);
* «Концентрация(мол%)» – концентрация компонента (молярная доля, %);
* «Концентрация(масс%)» – концентрация компонента (массовая доля, %);
* «Компонент» – наименование компонент;
Кнопки:
* «Открыть» – открытие диалога выбора файла хроматограммы;
* «Закрыть» – завершение работы программы.
==== Расчет ====
Необходимо нормализовать значения молярной доли компонентов по формуле: x_i = {{{x prime}_i} / {sum{j}{}{{x prime}_j}}} * 100
, где x_i – нормализованное значение молярной доли компонента, {x prime}_i– молярная доля i-го компонента.
В хроматограммах концентрация компонента указана в молярных долях. Необходимо для каждого компонента вычислить концентрацию в массовых долях.
Пересчёт молярной доли компонента в массовую: w_i = {{x_i*M_i} / {sum{j}{}{x_j*M_j}}} * 100
, где w_i – массовая доля i-го компонента, M_i – молярная масса 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|
==== Исходная консольная программа ====
Sample: Пироконденсат
Duration: 23,80
Method: Бензол
N 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 н-нонан
==== Приложение и файлы .STG ====
Консольное приложение и файлы .stg для теста можно взять по ссылке {{ :soft:chromos-read-stg-main.zip |}}
==== Контакты ====
Результат в виде работающей программы прислать на электронную почту soft@has.ru