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

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


soft:progtest

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
soft:progtest [2025/07/29 10:39] stramnovsoft:progtest [2026/02/16 10:38] (текущий) stramnov
Строка 1: Строка 1:
-====== Техническое задание: Программиста C ====== +====== Техническое задание ======
- +
-Необходимо переделать консольную программу, которая зачитывает информацию из файлов (*.stg) и отображает в виде таблицы в программу с оконным интерфейсом. +
- +
-==== Стек технологий ==== +
- +
-  * Основной язык разработки: C++ +
-  * Фреймворк: MFC +
-  * Среда для разработки: MS Visual C++ +
- +
-==== Интерфейс ==== +
- +
-{{ :soft:user_interface.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-го компонента. +
- +
-В хроматограммах концентрация компонента указана в молярных долях. Необходимо для каждого компонента вычислить концентрацию в массовых долях. +
-Пересчёт молярной доли компонента в массовую: <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 +
  
 +  * [[progcpp|Техническое задание: Программиста C++]]
 +  * [[progweb|Техническое задание: Программиста WEB]]
soft/progtest.1753785566.txt.gz · Последнее изменение: stramnov