Advertisement
BERKYT

My first programm 2017 year

Dec 24th, 2022
1,711
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.34 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace WindowsFormsApp12
  12. {
  13.     public partial class Form1 : Form
  14.     {
  15.         protected static int GenomNum;
  16.         protected static int A;
  17.         protected static int G;
  18.         protected static int C;
  19.         protected static int T;
  20.         protected static char x;
  21.         protected static string DNA;
  22.         protected static string DNA_2;
  23.         public Form1()
  24.         {
  25.             InitializeComponent();
  26.         }
  27.  
  28.         private void Form1_Load(object sender, EventArgs e)
  29.         {
  30.             string l6 = "Плюс - конец";
  31.             label3.Text = l6;
  32.             string l7 = "Минус - конец";
  33.             label4.Text = l7;
  34.         }
  35.  
  36.         private void textBox1_TextChanged(object sender, EventArgs e)
  37.         {
  38.             DNA = Box1.Text;
  39.         }
  40.         private void Math()
  41.         {
  42.             switch (x)
  43.             {
  44.                 case 'A':
  45.                     A = A + 1;
  46.                     break;
  47.                 case 'G':
  48.                     G = G + 1;
  49.                     break;
  50.                 case 'T':
  51.                     T = T + 1;
  52.                     break;
  53.                 case 'C':
  54.                     C = C + 1;
  55.                     break;
  56.                 case 'a':
  57.                     A = A + 1;
  58.                     break;
  59.                 case 'g':
  60.                     G = G + 1;
  61.                     break;
  62.                 case 't':
  63.                     T = T + 1;
  64.                     break;
  65.                 case 'c':
  66.                     C = C + 1;
  67.                     break;
  68.             }
  69.         }
  70.         private void button1_Click(object sender, EventArgs e)
  71.         {
  72.             DNA_2 = null;
  73.             try
  74.             {
  75.                 char[] n = new char[DNA.Length];
  76.                 GenomNum = DNA.Length;
  77.                 for (int i = 0; i < GenomNum; i++)
  78.                 {
  79.                     //Алгоритм создания комплиментароной цепочки ДНК
  80.                     n[i] = DNA[i];
  81.                     x = n[i];
  82.                     Complementarity();
  83.                 }
  84.                 Kompli.Visible = true;
  85.             }
  86.             catch
  87.             {
  88.                 Form3 error = new Form3();
  89.                 error.ShowDialog();
  90.             }
  91.             Kompli.Text = DNA_2;
  92.         }
  93.         private void Complementarity()
  94.         {
  95.             string Base;
  96.  
  97.             switch (x)
  98.             {
  99.                 case 'a':
  100.                     Base = "T";
  101.                     DNA_2 = DNA_2 + Base;
  102.                     break;
  103.                 case 'c':
  104.                     Base = "G";
  105.                     DNA_2 = DNA_2 + Base;
  106.                     break;
  107.                 case 't':
  108.                     Base = "A";
  109.                     DNA_2 = DNA_2 + Base;
  110.                     break;
  111.                 case 'g':
  112.                     Base = "C";
  113.                     DNA_2 = DNA_2 + Base;
  114.                     break;
  115.                 case 'A':
  116.                     Base = "T";
  117.                     DNA_2 = DNA_2 + Base;
  118.                     break;
  119.                 case 'C':
  120.                     Base = "G";
  121.                     DNA_2 = DNA_2 + Base;
  122.                     break;
  123.                 case 'T':
  124.                     Base = "A";
  125.                     DNA_2 = DNA_2 + Base;
  126.                     break;
  127.                 case 'G':
  128.                     Base = "C";
  129.                     DNA_2 = DNA_2 + Base;
  130.                     break;
  131.             }
  132.         }
  133.  
  134.         private void button2_Click(object sender, EventArgs e)
  135.         {
  136.             if (String.IsNullOrWhiteSpace(DNA))
  137.             {
  138.                 label1.Visible = true;
  139.                 A = 0;
  140.                 G = 0;
  141.                 C = 0;
  142.                 T = 0;
  143.                 label4.Text = ($"Значения на минус - конце молекулы: Аденин - {A} Гуанин - {G} Тимин - {T} Цитозин - {C}");
  144.                 label3.Text = ($"Значения на плюс - конце молекулы: Аденин - {A} Гуанин - {G} Тимин - {T} Цитозин - {C}");
  145.             }
  146.             else
  147.             {
  148.                 A = 0;
  149.                 G = 0;
  150.                 C = 0;
  151.                 T = 0;
  152.                 label1.Visible = false;
  153.                 char[] n = new char[DNA.Length];
  154.                 GenomNum = DNA.Length;
  155.                 GenomNum = GenomNum / 2;
  156.                 for (int i = 0; i < GenomNum; i++)
  157.                 {
  158.                     n[i] = DNA[i];
  159.                     x = n[i];
  160.                     Math();
  161.                 }
  162.                 label4.Text = ($"Значения на минус - конце молекулы: Аденин - {A} Гуанин - {G} Тимин - {T} Цитозин - {C}");
  163.                 A = 0;
  164.                 G = 0;
  165.                 C = 0;
  166.                 T = 0;
  167.                 for (int i = GenomNum; i < DNA.Length; i++)
  168.                 {
  169.                     n[i] = DNA[i];
  170.                     x = n[i];
  171.                     Math();
  172.                 }
  173.                 label3.Text = ($"Значения на плюс - конце молекулы: Аденин - {A} Гуанин - {G} Тимин - {T} Цитозин - {C}");
  174.             }
  175.         }
  176.  
  177.         private void RNA_Click(object sender, EventArgs e)
  178.         {
  179.             DNA_2 = null;
  180.             try
  181.             {
  182.                 char[] count = new char[DNA.Length];
  183.                 GenomNum = DNA.Length / 2;
  184.                 for (int i = 0; i < GenomNum; i++)
  185.                 {
  186.                     count[i] = DNA[i];
  187.                     x = count[i];
  188.                     RNA_Create();
  189.                 }
  190.                 Kompli.Visible = true;
  191.             }
  192.             catch
  193.             {
  194.                 Form3 error = new Form3();
  195.                 error.ShowDialog();
  196.             }
  197.             Kompli.Text = DNA_2;
  198.         }
  199.         private void RNA_Create()
  200.         {
  201.             string Base;
  202.             switch (x)
  203.             {
  204.                 case 'a':
  205.                     Base = "U";
  206.                     DNA_2 = DNA_2 + Base;
  207.                     break;
  208.                 case 'c':
  209.                     Base = "G";
  210.                     DNA_2 = DNA_2 + Base;
  211.                     break;
  212.                 case 't':
  213.                     Base = "A";
  214.                     DNA_2 = DNA_2 + Base;
  215.                     break;
  216.                 case 'g':
  217.                     Base = "C";
  218.                     DNA_2 = DNA_2 + Base;
  219.                     break;
  220.                 case 'A':
  221.                     Base = "U";
  222.                     DNA_2 = DNA_2 + Base;
  223.                     break;
  224.                 case 'C':
  225.                     Base = "G";
  226.                     DNA_2 = DNA_2 + Base;
  227.                     break;
  228.                 case 'T':
  229.                     Base = "A";
  230.                     DNA_2 = DNA_2 + Base;
  231.                     break;
  232.                 case 'G':
  233.                     Base = "C";
  234.                     DNA_2 = DNA_2 + Base;
  235.                     break;
  236.             }
  237.         }
  238.  
  239.         private void DNA_1_Click(object sender, EventArgs e)
  240.         {
  241.             try
  242.             {
  243.                 DNA_2 = null;
  244.                 char[] countDNA = new char[DNA.Length];
  245.                 GenomNum = DNA.Length;
  246.                 for (int i = 0; i < GenomNum; i++)
  247.                 {
  248.                     x = countDNA[i];
  249.                     DNA_Create();
  250.                 }
  251.                 Kompli.Visible = true;
  252.                 Kompli.Text = DNA_2;
  253.             }
  254.             catch
  255.             {
  256.                 Form3 error = new Form3();
  257.                 error.ShowDialog();
  258.             }
  259.         }
  260.         private void DNA_Create()
  261.         {
  262.             string Base;
  263.             switch (x)
  264.             {
  265.                 case 'u':
  266.                     Base = "T";
  267.                     x = Convert.ToChar(Base);
  268.                     break;
  269.                 case 'U':
  270.                     Base = "T";
  271.                     x = Convert.ToChar(Base);
  272.                     break;
  273.             }
  274.             DNA_2 = DNA_2 + Convert.ToString(x);
  275.         }
  276.     }
  277. }
  278.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement