deyanivanov966

Работно табло

Feb 19th, 2022
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 33.78 KB | None | 0 0
  1. Упражнение 0
  2.  
  3. Инсталиране на Visual Studio - пакет .Net desktop development.
  4. Логване във Visual Studio с университетския акаунт.
  5. Създаване на ново приложение – Create a new Project -> C#  -> WindowsFormsApp
  6. Стартиране на приложението - Debug -> Start Without Debugging (Ctrl+F5)
  7. Задача 1. Да се добавят бутон и label. Да се декларира променлива от тип int. Да се присвои стойност на декларираната променлива(варианти). При натискане на бутона стойността да се изведе в label-a.
  8. private void button1_Click(object sender, EventArgs e)
  9. {
  10.         //тип име
  11.             int chislo = 10;
  12.             chislo = 20;
  13.             label1.Text = chislo.ToString();
  14. }
  15. Задача 2. Да се добавят бутон и label. При натискане на бутона да се пресметне стойността на израза (15 - 3 * 2 + 16 / 2 - 9 % 4), като резултатът се изведе в label-a.
  16. private void button1_Click(object sender, EventArgs e)
  17. {
  18.             //тип име
  19.             int chislo;
  20.             chislo = 15 - 3 * 2 + 16 / 2 - 9 % 4;
  21.             label1.Text = chislo.ToString();
  22. }
  23.  
  24. Упражнение 1
  25. Задача 1. Да се добавят текстова кутия, бутон и label. При натискане на бутона да се пресметне стойността на израза (15 - 3 * х + 16 / 2 - 9 % 4), като х се въвежда в текстовата кутия, а резултатът се извежда в label-a.
  26. private void button1_Click(object sender, EventArgs e)
  27. {
  28.             //тип име
  29.             int chislo;
  30.             int x;
  31.             x = int.Parse(textBox1.Text);
  32.             chislo = 15 - 3 * x + 16 / 2 - 9 % 4;
  33.             label1.Text = chislo.ToString();
  34. }
  35. Задача 2. Да се добавят 2 текстови кутии, бутон и label. При натискане на бутона да се изчисли крайната сума с ДДС по въведени от потребителя бройки и цена на стока. Бройките и цената се въвеждат в текстовите кутии. Крайната сума се извежда в label-a.
  36. private void button2_Click(object sender, EventArgs e)
  37. {
  38.             int broiki;
  39.             double cena;
  40.             double dds = 0.2;
  41.             double stoinost;
  42.         broiki = int.Parse(textBox2.Text);
  43.             cena = double.Parse(textBox3.Text);
  44.             stoinost = broiki * cena + (broiki * cena) * dds;
  45.             label2.Text = stoinost.ToString();
  46. }
  47.  
  48. Синтаксис на оператор if.
  49. if (условие)
  50.                 действие;
  51.     else
  52.         действие;
  53. Задача 3. Да се добавят 3 текстови кутии, бутон и label. При натискане на бутона с помощта на if да се намери най-голямото от три числа, въведени от потребителя. Числата се въвеждат в текстовите кутии.  Най-голямото число се извежда в label-a.
  54.     private void button3_Click(object sender, EventArgs e)
  55.         {
  56.                 int a, b, c, max;
  57.                 a = int.Parse(textBox4.Text);
  58.                 b = int.Parse(textBox5.Text);
  59.                 c = int.Parse(textBox6.Text);
  60.                 if (a > b && a > c) max = a;
  61.                 else if (b > c) max = b;
  62.                 else max = c;
  63.                 label3.Text = max.ToString();
  64.         }
  65.  
  66. Упражнение 2
  67.  
  68. Задача 1. Да се добавят 1 текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число. При натискане на бутона да се провери дали въведеното число е четно и ако е така, в label-a да се изведе “Yes”, в противен случай да се изведе "No".
  69. private void button1_Click(object sender, EventArgs e)
  70.         {
  71.                 int a;
  72.                 a = int.Parse(textBox1.Text);
  73.                 if (a % 2 == 0) label1.Text = "Yes";
  74.                 else label1.Text = "No";
  75.     }
  76.  
  77. Задача 2. Да се добавят 1 текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число. При натискане на бутона да се провери дали въведеното число е в интервала от 1 до 7 или от 17 до 23 включително и ако е така, в label-a да се изведе “Yes”, а в противен случай да се изведе “No”.
  78.  
  79. private void button1_Click(object sender, EventArgs e)
  80.         {
  81.                 int a;
  82.                 a = int.Parse(textBox1.Text);
  83.                 if ((a >= 1 && a <= 7) || (a >= 17 && a <= 23)) label1.Text = "Yes";
  84.                 else label1.Text = "No";
  85.         }
  86.  
  87. Задача 3. Да се добавят 1 текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число, което се тълкува като година (напр. 2009). При натискане на бутона да се провери дали годината е високосна и ако е така, в label-a да се изведе „Yes“, а в противен случай да се изведе „No“. Една година е високосна ако се дели на 4. Ако обаче се дели на 100, тогава е високосна ако се дели и на 400. Например, високосни са 1600, 2000, 2004. Не са високосни 1900, 1993, 2009.
  88. private void button1_Click(object sender, EventArgs e)
  89.         {
  90.                 int a;
  91.                 a = int.Parse(textBox1.Text);
  92.                 if (a % 4 == 0)
  93.                     if (a % 100 == 0)
  94.                             if (a % 400 == 0) label1.Text = "Yes";
  95.                                 else label1.Text = "No";
  96.                     else label1.Text = "Yes";
  97.                 else label1.Text = "No";
  98.     }
  99.  
  100. Задача 4. Да се добавят 2 текстови кутии, бутон и label. При натискане на бутона да се изчислява дължимия данък за лек автомобил. Мощността на двигателя (kw) и възрастта (в години) на автомобила се въвеждат в текстовите кутии. Данъкът да се пресмята по следните правила:
  101. До 55 kw включително – 1 лв./ 1 kw
  102. Над 55 kw до 74 kw включително – 1.35 лв./ 1 kw
  103. Над 74 kw до 110 kw включително – 1.65 лв. / 1 kw
  104. Над 110 kw – 1.85 лв. / 1 kw
  105. В зависимост от възрастта на автомобила, данъкът се умножава със следните коефициенти:
  106. Над 14 години – 1
  107. Над 5 до 14 години включително – 1.5
  108.        До 5 години включително – 2.8
  109.  
  110. private void button1_Click(object sender, EventArgs e)
  111.         {
  112.                 int a, b;
  113.                 double dan;
  114.                 a = int.Parse(textBox1.Text); //въвеждане на мощност
  115.                 if (a <= 55) dan = a * 1;
  116.                 else if (a <= 74) dan = a * 1.35;
  117.                        else if (a <= 110) dan = a * 1.65;
  118.                       else dan = a * 1.85;
  119.                 b = int.Parse(textBox2.Text); //въвеждане на години
  120.                 if (b <= 5) dan = dan * 2.8;
  121.                 else if (b <= 14) dan = dan * 1.5;
  122.                        else dan = dan * 1;
  123.                 label1.Text = "Дължимият данък е: " + dan.ToString();
  124.         }
  125. Упражнение 3
  126. Синтаксис на while.
  127. while (условие)
  128.         действие;
  129.  ----------------------
  130. do
  131.             действие;
  132.      while (условие);
  133. Задача 1. Да се добавят 2 текстови кутии, бутон и label. Във всяка текстова кутия се въвежда по едно цяло число. При натискане на бутона в label-a да се изведе сумата на всички числа от въведеното в първата текстова кутия до въведеното във втората. Например, ако се въведат числата 5 и 7, резултатът е 5+6+7=18.
  134. private void button1_Click(object sender, EventArgs e)
  135.         {
  136.                 int a, b, sum=0;
  137.                 a = int.Parse(textBox1.Text);
  138.                 b = int.Parse(textBox2.Text);
  139.                 if (a > b)
  140.                 {
  141.                     int c = a;
  142.                     a = b;
  143.                     b = c;
  144.                 }
  145.                 while (a <= b)
  146.                 {
  147.                     sum = sum + a;
  148.                         a++;
  149.                 }
  150.                 label1.Text = "Сумата е: " + sum.ToString();
  151.     }
  152. Задача 2.  Да се добавят текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число. При натискане на бутона да се пресметне факториелът на въведеното число и резултатът да се изведе в label-a. Например, ако се въведе 4, резултатът е 1*2*3*4=24.
  153. private void button1_Click(object sender, EventArgs e)
  154.         {
  155.                 int a, i = 1, f = 1;
  156.                 a = int.Parse(textBox1.Text);
  157.                 while (i <= a)
  158.                 {
  159.                     f = f * i;
  160.                     i++;
  161.                 }
  162.                 label1.Text = "Факториелът е: " + f.ToString();
  163.     }
  164. Задача 3. Да се добавят текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число. При натискане на бутона да се намерят всички точни делители на въведеното число и резултатът да се изведе в label-a. Например, ако се въведе 10, резултатът е 1, 2, 5, 10.
  165. private void button1_Click(object sender, EventArgs e)
  166.         {
  167.                 int n, i = 1;
  168.                 n = int.Parse(textBox1.Text);
  169.                 label1.Text = "Точните делители са:";
  170.                 while (i <= n)
  171.                 {
  172.                     if (n % i == 0) label1.Text = label1.Text + " " + i.ToString();
  173.                         i++;
  174.                 }  
  175.         }
  176. Задача 4. Да се добавят текстова кутия, бутон и label В текстовата кутия се въвежда едно цяло число. При натискане на бутона ако въведеното число е просто в label-a да се изведе „Yes“, в противен случай да се изведе „No“. Например, ако се въведе 7, резултатът е “Yes”, а ако се въведе 10 резултатът е “No”.
  177. private void button1_Click(object sender, EventArgs e)
  178.         {
  179.                 int n, i = 1, br;
  180.                 n = int.Parse(textBox1.Text);
  181.                 br = 0;
  182.                 while (i <= n)
  183.                 {
  184.                     if (n % i == 0) br++;
  185.                     i++;
  186.                 }
  187.                 if (br == 2) label1.Text = "Yes";
  188.                 else label1.Text = "No";
  189.         }
  190.  
  191. Упражнение 4
  192. Синтаксис на for:
  193. for (начални действия; условие; действия при всяка стъпка)
  194. тяло на цикъла;
  195. Задача 1. Да се добавят текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число. При натискане на бутона в label-a да се изведат всички числа от 1 до 100, които се делят на въведено в текстовата кутия цяло число. Например, ако се въведе 30, резултатът е: 30, 60, 90.
  196. private void button1_Click(object sender, EventArgs e)
  197.         {
  198.                 int n, i;
  199.                 n = int.Parse(textBox1.Text);
  200.                 label1.Text = "Числата, които се делят на " + n + " са: ";
  201.                 for(i = 1; i <= 100; i++)
  202.                 {
  203.                     if (i % n == 0)
  204.                     {
  205.                                 label1.Text = label1.Text + " " + i;
  206.                     }
  207.                 }
  208.         }
  209. Задача 2. Да се добавят текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число. При натискане на бутона с помощта на for ако въведеното число е просто в label-a да се изведе „Yes“, в противен случай да се изведе „No“. Например, ако се въведе 7, резултатът е “Yes”, а ако се въведе 10 резултатът е “No”.
  210. private void button1_Click(object sender, EventArgs e)
  211.         {
  212.                 int n, i, br;
  213.                 n = int.Parse(textBox1.Text);
  214.                 br = 0;
  215.                 for (i = 2; i < n; i++)
  216.                 {
  217.                     if (n % i == 0)
  218.     {
  219.         br++;
  220.         break;
  221.     }
  222.                 }
  223.                 if (br == 0) label1.Text = "Yes";
  224.                 else label1.Text = "No";
  225.     }
  226. Задача 3. Да се добавят текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число. При натискане на бутона в label-a да се изведат  всички прости числа до въведеното. Например, ако се въведе 11, резултатът е: 2, 3, 5, 7, 11.
  227. private void button1_Click(object sender, EventArgs e)
  228.         {
  229.                 int n, i, br, chislo;
  230.                 chislo = int.Parse(textBox1.Text);
  231.                 label1.Text = "Простите числа до " + chislo + " са: ";
  232.                 for (n = 2; n <= chislo; n++)
  233.                 {
  234.                     br = 0;
  235.                     for (i = 2; i < n; i++)
  236.                     {
  237.                             if (n % i == 0)
  238.                             {
  239.                                     br++;
  240.                                     break;
  241.                                 }
  242.                     }
  243.                     if (br == 0) label1.Text = label1.Text + " " + n;
  244.                 }
  245.         }
  246.  
  247. Задача 4. Да се добавят бутон и label. При натискане на бутона с помощта на for в label-a да се изведат малките букви от латинската азбука от a до z.
  248. private void button1_Click(object sender, EventArgs e)
  249.         {
  250.                 char i;
  251.                 label1.Text = "";
  252.                 for (i = 'a'; i <= 'z'; i++)
  253.     {
  254.                         label1.Text = label1.Text + " " + i;
  255.                 }
  256.         }
  257.  
  258. Упражнение 5
  259.  
  260. Задача 1. Да се добавят текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число. При натискане на бутона в label-a да се изведат всички числа от 1 до 50, които не се делят на въведено в текстовата кутия цяло число. Да се използва continue. Например, ако се въведе 25, резултатът е: всички числа без 25 и 50.
  261. private void button1_Click(object sender, EventArgs e)
  262.         {
  263.                 int n, i;
  264.                 n = int.Parse(textBox1.Text);
  265.                 label1.Text = "Числата, които не се делят на " + n + " са: ";
  266.                 for (i = 1; i <= 50; i++)
  267.                 {
  268.                     if (i % n == 0) continue;
  269.                     label1.Text = label1.Text + " " + i;
  270.                 }
  271.         }
  272.  
  273. Задача 2. Да се добавят текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число, което се тълкува като месец от годината. При натискане на бутона в label-a да се изведе колко дни има съответният месец (ако годината не е високосна). Да се използва switch.
  274. private void button1_Click(object sender, EventArgs e)
  275.         {
  276.                 int n;
  277.                 n = int.Parse(textBox1.Text);
  278.                 switch (n)
  279.                 {
  280.                     case 1:
  281.                     case 3:
  282.                     case 5:
  283.                     case 7:
  284.                     case 8:
  285.                     case 10:
  286.                     case 12:
  287.                                 label1.Text = "31";
  288.                                 break;
  289.                     case 4:
  290.                     case 6:
  291.                     case 9:
  292.                     case 11:
  293.                             label1.Text = "30";
  294.                                 break;
  295.                     case 2:
  296.                                 label1.Text = "28";
  297.                                 break;
  298.                 }
  299.         }
  300. Задача 3. Да се добавят текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число, което се тълкува като месец от годината. При натискане на бутона в label-a да се изведе какъв сезон е месецът. Например, ако се въведе 7, резултатът е лято. Да се използва switch.
  301. private void button1_Click(object sender, EventArgs e)
  302.         {
  303.                 int n;
  304.                 n = int.Parse(textBox1.Text);
  305.                 switch (n)
  306.                 {
  307.                     case 12:
  308.                     case 1:
  309.                     case 2:
  310.                                 label1.Text = "зима";
  311.                                 break;
  312.                     case 3:
  313.                     case 4:
  314.                     case 5:
  315.                                 label1.Text = "пролет";
  316.                                 break;
  317.                     case 6:
  318.                     case 7:
  319.                     case 8:
  320.                                 label1.Text = "лято";
  321.                                 break;
  322.                     case 9:
  323.                     case 10:
  324.                     case 11:
  325.                             label1.Text = "есен";
  326.                         break;
  327.                 }
  328.         }
  329.  
  330. Задача 4.  Да се добавят 2 текстови кутии, бутон и label. При натискане на бутона в label-a с помощта на switch се пресмята лицето на фигура. Видът на фигурата се определя от въведеното в първата текстова кутия число – при 1 е окръжност, при 2 е квадрат, при 3 е равнобедрен правоъгълен триъгълник. Във втората текстовата кутия се въвежда едно цяло число, което се тълкува като радиус или страна на фигурата.
  331. private void button1_Click(object sender, EventArgs e)
  332.         {
  333.                 int code;
  334.                 double r, s=0;
  335.                 code = int.Parse(textBox1.Text);
  336.                 r = double.Parse(textBox2.Text);
  337.                 switch (code)
  338.                 {
  339.                     case 1:
  340.                                 s = 3.14 * r * r;
  341.                                 break;
  342.                     case 2:
  343.                                 s = r * r;
  344.                                 break;
  345.                     case 3:
  346.                                 s = r * r / 2;
  347.                                 break;
  348.                     default:
  349.                                 label1.Text = "Въведен е неправилен код на фигура!";
  350.                                 goto a;
  351.                 }
  352.                 label1.Text="Търсеното лице е: " + s;
  353.                 a: { }
  354.         }
  355. Упражнение 6
  356. Кратко припомняне на масиви:
  357. тип[] име = new тип[размер];
  358. int[] a = new int[5];
  359. int[] a = {};
  360. a[0] = 4;
  361. 0               1           2              3                      4
  362. 4
  363. 6
  364. 2
  365. 10
  366. 5
  367.  
  368.  
  369. Задача 1. Да се добавят текстова кутия, бутон и label. При натискане на бутона да се създаде масив от 5 числа тип int, да се зададат стойности на елементите на масива, в текстовата кутия да се визуализират стойностите на елементите на масива и в label-a да се изведе тяхната сума. Например ако се създаде масив със следните елементи {4, 6, 2, 10, 5}, резултатът е 27.
  370. private void button1_Click(object sender, EventArgs e)
  371.         {
  372.                 int[] a = {4, 6, 2, 10, 5};
  373.                 int sum = 0;
  374.                 foreach (int item in a)
  375.                 {
  376.                     textBox1.Text = textBox1.Text + item + " ";
  377.                     sum = sum + item;
  378.                 }
  379.                 label1.Text = "Сумата е :" + sum;
  380.     }
  381.  
  382. Задача 2. Към първа задача да се добавят 3 label-a. При натискане на бутона в първия да се изведе средната аритметична стойност на масива, във втория – елементът с най-голяма стойност, а в третия – елементът с най-малка стойност. Например ако се създаде масив със следните елементи {4, 6, 2, 10, 5}, резултатът е сума 27 (задача 1), средна аритметична стойност – 5.4 , максимален елемент - 10, минимален елемент - 2.
  383.  
  384. private void button1_Click(object sender, EventArgs e)
  385.         {
  386.                 int[] a = {4, 6, 2, 10, 5};
  387.                 int i, min = 0, max = 0;
  388.                 double sum = 0, average = 0;
  389.                 for (i = 0; i < 5; i++)
  390.                 {
  391.                         textBox1.Text = textBox1.Text + a[i] + " ";
  392.                     sum = sum + a[i];
  393.                     if (i == 0)
  394.                     {
  395.                                 max = a[i];
  396.                             min = a[i];
  397.                             continue;
  398.                     }
  399.                     if (a[i] > max) max = a[i];
  400.                     if (a[i] < min) min = a[i];
  401.                 }
  402.                 label1.Text = "Сумата е :" + sum;
  403.                 average = sum / 5;
  404.                 label2.Text = "Средната аритметична стойност е: " + average;
  405.                 label3.Text = "Максималният елемент е: " + max;
  406.                 label4.Text = "Минималният елемент е: " + min;
  407.         }
  408.  
  409. Задача 3. Да се добавят текстова кутия, бутон и label. В текстовата кутия се въвежда едно цяло число. При натискане на бутона да се създаде масив от 5 числа тип int и да се провери дали въведеното в текстовата кутия число се среща в масива. Ако е така в label-a да се изведе „Yes“, в противен случай - „No“. Например ако се създаде масив със следните елементи {4, 6, 2, 10, 5} и в текстовата кутия се въведе 6, резултатът е “Yes”, а ако в текстовата кутия се въведе 1, резултатът е “No”.
  410. private void button1_Click(object sender, EventArgs e)
  411.         {
  412.             int[] a = { 4, 6, 2, 10, 5 };
  413.                 int n, br = 0;
  414.                 n = int.Parse(textBox1.Text);
  415.                 foreach (int item in a)
  416.                     if (item == n)
  417.                     {
  418.                             br++;
  419.                                 break;
  420.                     }
  421.                 if (br > 0) label1.Text = "Yes";
  422.                 else label1.Text = "No";
  423.         }
  424.  
  425. Задача 4. Да се добавят текстова кутия, 2 бутонa и label. При натискане на първия бутон в масив от тип int да се добави като нов елемент число, въведено в текстовата кутия. При натискане на втория бутон в label-а да се изведе масива, сортиран в низходящ ред.
  426. int[] a = new int[0];
  427.         private void button1_Click(object sender, EventArgs e)
  428.         {
  429.                 Array.Resize(ref a, a.Length + 1);
  430.                 a[a.Length - 1] = int.Parse(textBox1.Text);
  431.         }
  432.         private void button2_Click(object sender, EventArgs e)
  433.         {
  434.                 Array.Sort(a);
  435.                 Array.Reverse(a);
  436.                 label1.Text = "Низходящо сортиране: ";
  437.                 foreach (int item in a)
  438.                         label1.Text = label1.Text + item + " ";
  439.         }
  440.  
  441. Упражнение 7
  442.  
  443. Кратко припомняне на потребителски функции:
  444.     тип име(тип 1 параметър 1, тип2 параметър2, ...)
  445.     {
  446.                 тяло - код
  447.                 return стойност;
  448. }
  449. Задача 1. Да се добавят текстова кутия, бутон и label. При натискане на бутона да се извика потребителска функция. Чрез нея да се създаде масив от 5 числа тип int, да се зададат стойности на елементите на масива, в текстовата кутия да се визуализират стойностите на елементите на масива и в label-a да се изведе тяхната сума. Например ако се създаде масив със следните елементи {4, 6, 2, 10, 5}, резултатът е 27.
  450. void masiv()
  451.         {
  452.                 int[] a = { 4, 6, 2, 10, 5 };
  453.                 int sum = 0;
  454.                 foreach (int item in a)
  455.                 {
  456.                         textBox1.Text = textBox1.Text + item + " ";
  457.                     sum = sum + item;
  458.                 }
  459.                 label1.Text = "Сумата е " +sum;
  460.         }
  461.         private void button1_Click(object sender, EventArgs e)
  462.         {
  463.                 masiv();
  464.         }
  465.  
  466. Задача 2. Да се добавят 2 текстови кутии, бутон и label. При натискане на бутона да се извика потребителска функция, която приема като параметри две числа от тип int и намира и показва в label-a по-голямото от тях. Числата се въвеждат от текстовите кутии.
  467.  
  468. void max(int a, int b)
  469.         {
  470.                 if (a > b) label1.Text = "По-голямото число е: " + a;
  471.                 else label1.Text = "По-голямото число е: " + b;
  472.         }
  473.         private void button1_Click(object sender, EventArgs e)
  474.         {
  475.                 int a, b;
  476.                 a = int.Parse(textBox1.Text);
  477.                 b = int.Parse(textBox2.Text);
  478.                 max(a,b);      
  479.         }
  480.  
  481. Задача 3. Да се добавят текстова кутия, бутон и label. При натискане на бутона да се извика потребителска функция, която намира факториела на предадено като параметър число. Числото се въвежда в текстовата кутия. Резултатът от функцията да бъде предаден на мястото на извикването ѝ и да се визуализира в label-a.
  482. int faktoriel(int a)
  483.         {
  484.                 int i = 1, faktoriel = 1;
  485.                 if (a == 0) faktoriel = 1;
  486.                 else while (i <= a)
  487.                        {
  488.                                  faktoriel = faktoriel * i;
  489.                                  i++;
  490.                        }
  491.                 return faktoriel;
  492.         }
  493.         private void button1_Click(object sender, EventArgs e)
  494.         {
  495.                 int a;
  496.                 a = int.Parse(textBox1.Text);
  497.                 label1.Text = "Факториелът на " + a + " е: " + faktoriel(a);      
  498.         }
  499.  
  500. Задача 4. Да се добавят текстова кутия, бутон и label. При натискане на бутона да се извика потребителска функция, която намира сумата на редицата 1/n + 1/2n +1/3n++1/n.n. Числото n e цяло, въвежда се от текстовата кутия и се предава като параметър на функцията. Резултатът от функцията да бъде предаден на мястото на извикването ѝ и да се визуализира в label-a. Например, ако се въведе за n числото 2, резултатът е 1/2 + 1/2*2 = 1/2+1/4 = 3/4 = 0,75.
  501. double redica(int n)
  502.         {
  503.                 int i;
  504.                 double sum = 0.0;
  505.                 for(i = 1; i <= n; i++)
  506.                     sum = sum + (double)1 / (i * n);
  507.                 return sum;
  508.         }
  509.         private void button1_Click(object sender, EventArgs e)
  510.         {
  511.             int a;
  512.                 a = int.Parse(textBox1.Text);
  513.                 label1.Text = "Резултатът е: " + redica(a);         
  514.     }
  515.  
  516. Упражнение 8
  517.  
  518. Задача 1. Да се добавят текстова кутия, бутон и label. При натискане на бутона да се извика потребителска функция, която намира и връща като резултат n-тото число на редицата на Фибоначи. Резултатът се извежда в label-a, a n е цяло число, което се въвежда в текстовата кутия и се предава като параметър на функцията. Редицата на Фибоначи е 0, 1, 1, 2, 3, 5, 8 и т.н. – всеки следващ член се получава от сумата на предходните два. Напр. при въведено 6, резултатът трябва да е 5.
  519. int fibonachi(int n)
  520.         {
  521.                 int i, fbn1 = 0, fbn2 = 1, fbn3;
  522.                 if (n == 1)
  523.                     return fbn1;
  524.                 else if (n == 2)
  525.                     return fbn2;
  526.                 else
  527.                 {
  528.                     for (i = 3; i <= n; i++)
  529.                     {
  530.                                 fbn3 = fbn1 + fbn2;
  531.                                 fbn1 = fbn2;
  532.                             fbn2 = fbn3;
  533.                     }
  534.                     return fbn2;
  535.             }
  536.         }
  537.         private void button1_Click(object sender, EventArgs e)
  538.         {
  539.                 int n;
  540.                 n = int.Parse(textBox1.Text);
  541.                 label1.Text = "Числото с номер " + n + " на Фибоначи е: " + fibonachi(n);
  542.  
  543.         }
  544.  
  545.  
  546. 0
  547. 1
  548. 1
  549. 2
  550. 3
  551. 5
  552. 8
  553. 13
  554.  
  555.  
  556. fbn1
  557. fbn2
  558. fbn3
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573. fbn1
  574. fbn2
  575. fbn3
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590. fbn1
  591. fbn2
  592. fbn3
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601. Задача 2. Да се добавят текстова кутия, 2 бутонa и label. При натискане на първия бутон в масив от тип int да се добави като нов елемент число, въведено в текстовата кутия. При натискане на втория бутон да се извика потребителска функция, която проверява дали масивът е симетричен (напр. 1 3 2 3 1), при което в label-a да се изведе “Yes”или „No“.
  602. int[] a = new int[0];
  603.         void array()
  604.         {
  605.                 int i, br = 0;
  606.                 for (i = 0; i < a.Length/2; i++)
  607.                     if (a[i] != a[a.Length - 1 - i])
  608. {
  609. br++;
  610. break;
  611. }
  612.                 if (br == 0) label1.Text = "Yes";
  613.                 else label1.Text = "No";
  614.         }
  615. private void button1_Click(object sender, EventArgs e)
  616.         {
  617.                 Array.Resize(ref a, a.Length + 1);
  618.                 a[a.Length - 1] = int.Parse(textBox1.Text);
  619.         }
  620.         private void button2_Click(object sender, EventArgs e)
  621.         {
  622.                 array();
  623.         }
  624.  
  625. Задача 3. Да се добавят 2 текстови кутии, бутон и label. При натискане на бутона да се извика потребителска функция, която да разменя стойностите на две променливи от тип int, които се въвеждат в текстовите кутии и се предават като параметри на функцията. Новите стойности да се визуализират в label-a.
  626. void swap(ref int x, ref int y)
  627.         {
  628.                 int c = x;
  629.                 x = y;
  630.                 y = c;
  631.         }
  632.         private void button1_Click(object sender, EventArgs e)
  633.         {
  634.                 int a, b;
  635.                 a = int.Parse(textBox1.Text);
  636.                 b = int.Parse(textBox2.Text);
  637.                 label1.Text = "a = " + a + ", b = " + b;
  638.                 swap(ref a, ref b);
  639.                 label1.Text = label1.Text + ", new a = " + a + ", new b = " + b;
  640.         }
  641.  
  642. Задача 4. Да се добавят текстова кутия, бутон и label. При натискане на бутона да се извика потребителска функция, която намира рекурсивно факториела на предадено като параметър число. Числото се въвежда в текстовата кутия. Резултатът от функцията да бъде предаден на мястото на извикването ѝ и да се визуализира в label-a.
  643. int fakt_rek(int a)
  644.             {
  645.                 if (a == 0) return 1;
  646.                 else return a * fakt_rek(a - 1);
  647.         }
  648.         private void button1_Click(object sender, EventArgs e)
  649.         {
  650.                 int a;
  651.                 a = int.Parse(textBox1.Text);
  652.                 label1.Text = "Факториелът на числото " + a + " e: " + fakt_rek(a);
  653.         }
  654.  
  655.  
Add Comment
Please, Sign In to add comment