Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 15.09 KB | None | 0 0
  1. using System;
  2. using System.Threading;
  3. using System.Collections.Generic;
  4. using System.Collections;
  5. namespace Proge_al_Tallinn_2017s_pr4
  6. {
  7.     public class Program
  8.     {
  9.         /*public static void Main(string[] args)
  10.         {
  11.  
  12.  
  13.  
  14.  
  15.             // Korduslaused: for, while, do
  16.             // eelkotrolliga laused: for ja while
  17.             // Ãœl1: leida arvude 15 kuni 25 ruudud., tulemus väljastada tabelina
  18.             int N = 25;
  19.             int i;
  20.             Console.WriteLine("i  i*i");
  21.             for (i = 15; i <= N; i++)
  22.             {
  23.                 int iruut = i * i;
  24.                 Console.WriteLine("{0,2} {1,3}", i, iruut);
  25.             }
  26.  
  27.             //ü2. lahendame ül1 while lause abil
  28.             Console.WriteLine("\n\ni  i*i");
  29.             i = 15;
  30.             while (i <= 25)
  31.             {
  32.                 int iruut = i * i;
  33.                 Console.WriteLine("{0,2} {1,3}", i, iruut);
  34.                 i++;
  35.             }
  36.             // järelkontrolliga tsükkel
  37.             // ül3 . teha ül1 lahendus, väljastada tulemused suuremast väiksemani
  38.             Console.WriteLine("\n\ni  i*i");
  39.             i = 25;
  40.             do
  41.             {
  42.                 int iruut = i * i;
  43.                 Console.WriteLine("{0,2} {1,3}", i, iruut);
  44.                 i--;
  45.             } while (i >= 15);
  46.  
  47.             // ül4. Leida arvude 5 kuni -5 pöördarvud, kasutades erinevaid korduslauseid
  48.             Console.WriteLine("\n\nx   1/x");
  49.             for (int j = 5; j >= -5; j--)
  50.             {
  51.                 if (j == 0) continue;
  52.                 double poordarv = 1 / (double)j;
  53.                 Console.WriteLine("{0,2} {1,5:f2}", j, poordarv);
  54.             }
  55.  
  56.             //  ....realiseerida ise sama lahendus while ja do lausetega
  57.  
  58.             // selgitame näite varal mille poole erinevad continue ja break laused
  59.             // selleks asendame viimases näites sõna continue sõnaga break ja vaatame mis juhtus
  60.             Console.WriteLine("\n\nx   1/x");
  61.             for (int j = 5; j >= -5; j--)
  62.             {
  63.                 if (j == 0) break;
  64.                 double poordarv = 1 / (double)j;
  65.                 Console.WriteLine("{0,2} {1,5:f2}", j, poordarv);
  66.             }
  67.             // näeme, et break lause katkestab tsükli töö ja annab juhtimise tsükli taga olevale lausele
  68.             //Ãœl5. rakendada do lauset kasutajatunnuse ja parooli kontrolliks
  69.             string userTrue = "Agent";
  70.             string passTrue = "007";
  71.             string user;
  72.             string pass;
  73.             int loendaja = 0;
  74.             do
  75.             {
  76.                 if (loendaja > 0)
  77.                     Console.WriteLine("Vale kasutajatunnus või parool, proovi uuesti");
  78.                 if (loendaja > 2)
  79.                 {
  80.                     Console.WriteLine("Sisestasite 3 korda valesti, nüüd #");
  81.                     Thread.Sleep(2000);
  82.                     Environment.Exit(0);
  83.                 }
  84.                 //
  85.                 Console.WriteLine("Sisestage kasutajanimi");
  86.                 user = Console.ReadLine();
  87.                 Console.WriteLine("Sisestage parool");
  88.                 pass = Console.ReadLine();
  89.                 loendaja++;
  90.             }
  91.             while (user != userTrue || pass != passTrue);
  92.  
  93.             Console.WriteLine("Yes, pääsesite sisse");
  94.  
  95.             //ül6. lahendada võrrand x^3-2x^2-5x+6=0, Newtoni meetodiga: x1=x0-f(x0)/f'(x0)....
  96.             double xvana, xuus, fxvana, ftxvana;
  97.             double eps = 0.00001;
  98.             xuus = 5;
  99.             int loend = 0;
  100.             while (true)   // lõpmatu tsükkel, katkestame if ja break abil.
  101.             {
  102.                 xvana = xuus;
  103.                 fxvana = xvana * xvana * xvana - 2 * xvana * xvana - 5 * xvana + 6;
  104.                 ftxvana = 3 * xvana * xvana - 4 * xvana - 5;
  105.                 xuus = xvana - fxvana / ftxvana;
  106.                 if (Math.Abs(xuus - xvana) < eps) break;
  107.                 loend++;
  108.                 if (loend > 100) break;
  109.             }
  110.             Console.WriteLine("Teostati {0} iteratsiooni", loend);
  111.             Console.WriteLine("Lahend on: {0,10:f5}", xuus);
  112.  
  113.             //Ãœl7 sisestada täisarv n, genereerida n katsetulemust (reaalarvud) ja arvutade nende keskmine
  114.             // olgu tegemist ilmaga suvel temperatuur vahemikus 20-30
  115.             Console.WriteLine("Sisestage katsete arv");
  116.             int n = int.Parse(Console.ReadLine());
  117.             Random obj = new Random();
  118.             double summa = 0;
  119.             double min = 20;
  120.             double max = 30;
  121.             double tulemus;
  122.             for (int k = 1; k <= n; k++)
  123.             {
  124.                 tulemus = min + (max - min) * obj.NextDouble();
  125.                 Console.WriteLine("{0,3} {1,5:f1}", k, tulemus);
  126.                 summa += tulemus;  // pikem versioon on: summa=summa+tulemus;
  127.             }
  128.             Console.WriteLine("katsete keskmine on: {0,5:f1}", summa / n);
  129.  
  130.             //Ãœl8. List ja foreach lause
  131.             List<string> nimed = new List<string>();
  132.             nimed.Add("Joosep");
  133.             nimed.Add("Teele");
  134.             nimed.Add("Lible");
  135.             nimed.Add("Kiir");
  136.             nimed.Add("Tonisson");
  137.             foreach (string tegelane in nimed)
  138.                 Console.WriteLine("{0}", tegelane);
  139.  
  140.             Console.WriteLine("\nLisame listi keskele uue tegelase");
  141.  
  142.             nimed.Insert(2, "Arno");
  143.             foreach (string tegelane in nimed)
  144.                 Console.WriteLine("{0}", tegelane);
  145.  
  146.             //Ãœl9. 2 kordne tsükkel, joonistada ristkülik või ruut
  147.             // sisemine tsükkel joonistab ühe rea, välimine kordab ridade joonistamist
  148.             Console.WriteLine("\nJoonistame ristkuliku");
  149.             int veergudeArv = 20;
  150.             int ridadeArv = 20;
  151.  
  152.             for (i = 1; i <= ridadeArv; i++)
  153.             {
  154.                 for (int j = 1; j <= veergudeArv; j++)
  155.                     Console.Write("* ");
  156.                 Console.WriteLine();
  157.             }
  158.  
  159.             //Ãœl10. Joonistada kolmnurk, eelmise näite põhjal
  160.             //kujul:
  161.             //   *
  162.             //   * *
  163.             //   * * *  
  164.             Console.WriteLine("\nJoonistame kolmnurga");
  165.  
  166.             for (i = 1; i <= ridadeArv; i++)
  167.             {
  168.                 for (int j = 1; j <= i; j++)
  169.                     Console.Write("* ");
  170.                 Console.WriteLine();
  171.             }
  172.  
  173.             //Ãœl11. Joonistada kolmnurk, eelmise näite põhjal
  174.             //kujul:
  175.             //   * * *
  176.             //     * *
  177.             //       *  
  178.             Console.WriteLine("\nJoonistame kolmnurga");
  179.  
  180.             for (i = 1; i <= ridadeArv; i++)
  181.             {
  182.                 for (int j = 1; j <= veergudeArv; j++)
  183.                 {
  184.                     if (j < i)   // asume allpool diagonaali
  185.                         Console.Write("  ");
  186.                     else
  187.                         Console.Write("* "); // peadiagonaalil või ülevalpool
  188.                 }
  189.                 Console.WriteLine();
  190.             }
  191.  
  192.  
  193.             Console.Read();
  194.             */
  195.  
  196.         public static void Main(string[] args)
  197.         {
  198.             //meetodid teeme väljapoole main meetodit, aga samasse klassi
  199.             //main meetodi seest käivitame enda tehtud meetodid
  200.  
  201.             //yl1. teha meetod Summa, millel on 3 täisarvulist argumenti
  202.  
  203.             /*___________________________________________________________________________________________________________________*/
  204.             /*
  205.             string nr1;
  206.             string nr2;
  207.             int x = 0;
  208.             int y = 0;
  209.  
  210.         margend1:
  211.             Console.WriteLine("Sisestage esimene liidetav");
  212.             nr1 = Console.ReadLine();
  213.             try
  214.             {
  215.                 x = int.Parse(nr1);
  216.             }
  217.             catch (Exception viga)
  218.             {
  219.                 Console.WriteLine("Number valesti sisestatud, proovi uuesti");
  220.                 goto margend1;
  221.             }
  222.  
  223.         margend2:
  224.             Console.WriteLine("Sisestage teine liidetav");
  225.             nr2 = Console.ReadLine();
  226.             try
  227.             {
  228.                 y = int.Parse(nr2);
  229.             }
  230.             catch (Exception viga)
  231.             {
  232.                 Console.WriteLine("Number valesti sisestatud, proovi uuesti");
  233.                 goto margend2;
  234.             }
  235.  
  236.             int z = Summa(x, y);
  237.             Console.WriteLine("{0,3} ja {1,3} summa on {2,3}",x,y,z);
  238.  
  239.             NkordneTrykk(15, "Tere p2evast!");
  240.            
  241.  
  242.             /*___________________________________________________________________________________________________________________*/
  243.  
  244.  
  245.             //yl2. teha meetod argumentidega int n ja string text, mis väljastab teksti n korda.
  246.             //yl3. arvuta MaxTeepikkus, argumentidena on antud kytuseHulk ja kytuseKulu
  247.             /*
  248.                         double KytuseKulu = (7.5);
  249.                         Console.WriteLine("KytuskKulu: {0,6:f2} l/100", KytuseKulu);
  250.  
  251.                         double KytuseHulk = (12.4);
  252.                         Console.WriteLine("Kytusehulk: {0,6:f2} l", KytuseHulk);
  253.  
  254.                         double teepikkus = MaxTeepikkus(KytuseHulk, KytuseKulu);
  255.  
  256.                         Console.WriteLine("Max teepikkus = {0,9:f2} km", teepikkus);
  257.  
  258.            
  259.             /*___________________________________________________________________________________________________________________*/
  260.             //yl4. arvutada plaaniline loengu pikkus minutites ja tundides, tundideArv, tunniPikkus, vaheTundideArv, vaheTunniPikkus
  261.             /*
  262.                         double tundideArv = 6;
  263.                         double tunniPikkus = 45;
  264.                         double vaheTundideArv = 2;
  265.                         double vaheTunniPikkus = 15;
  266.  
  267.                         double loenguPikkusMinutites = LoenguPikkusMinutites(tundideArv, tunniPikkus, vaheTundideArv, vaheTunniPikkus);
  268.                         double loenguPikkusTundides = LoenguPikkusTundides(tundideArv, tunniPikkus, vaheTundideArv, vaheTunniPikkus);
  269.  
  270.                         Console.WriteLine("tunniPikkus * tundideArv - vaheTundideArv * vaheTunniPikkus", tundideArv, tunniPikkus, vaheTundideArv, vaheTunniPikkus);
  271.                         Console.WriteLine("{0,3} * {1,3} - {2,3} * {3,3}", tundideArv, tunniPikkus, vaheTundideArv, vaheTunniPikkus);
  272.                         Console.WriteLine("Loengupikkus minutites = {0,9:f2} minutit", loenguPikkusMinutites);
  273.                         Console.WriteLine("Loengupikkus tundides = {0,9:f2} tundi", loenguPikkusTundides);
  274.            
  275.             /*___________________________________________________________________________________________________________________*/
  276.             /*
  277.            
  278.             //yl5. teha meetod, mis arvutab mitu päeva on jõuludeni
  279.  
  280.             Console.WriteLine(paeviJouludeni());*/
  281.  
  282.             /*___________________________________________________________________________________________________________________*/
  283.             /*
  284.                         //yl6 teha meetod, mis leiab kahest reaalarvust suurema
  285.                         double arv1 = 5.5, arv2 = 8.2;
  286.                         double suurem = Max2double(arv1, arv2);
  287.  
  288.                         Console.WriteLine("Arvud on: {0} ja {1} suurem on {0}.", arv1, arv2, suurem);
  289.  
  290.  
  291.             /*___________________________________________________________________________________________________________________*/
  292.             /*
  293.             //yl7 Teha meetod, mis arvutab silindri ruumala kasutades alammeetodit põhja pindala leidmiseks
  294.  
  295.             double raadius = 4.5;
  296.             double korgus = 15.2;
  297.             Console.WriteLine("Raadius = {0}", raadius);
  298.             Console.WriteLine("Korgus = {0}", korgus);
  299.             double silindriruumala = ArvutaRuumala(raadius, korgus);
  300.             Console.WriteLine("silindri ruumala= {0,7:f1}", silindriruumala);
  301.  
  302.  
  303.             /*___________________________________________________________________________________________________________________*/
  304.             /*
  305.             // yl8 teha meetod, mis vahetab kaks täisarvulist argumenti. selleks kasutame ref tüüpi muutujaid
  306.  
  307.             int a = 7, b = 9;
  308.             Vaheta(ref a, ref b); //ilma REF-ita ei toimu vahetust
  309.             Console.WriteLine("a= {0}   b=  {1}",a,b);
  310.             /*___________________________________________________________________________________________________________________*/
  311.  
  312.             //yl9 teha meetod, mis muudab kauba hinda (MuudaHind)
  313.  
  314.             int hind = 10;
  315.             int vanahind = hind;
  316.             int uushind = 15;
  317.  
  318.             muudahind(ref hind, ref uushind);
  319.             Console.WriteLine("vanahind = {0} uushind = {1}", vanahind, hind);
  320.  
  321.             Console.ReadLine();
  322.         }
  323.  
  324.         private static void muudahind(ref int hind, ref int uushind)
  325.         {
  326.             hind = uushind;
  327.            
  328.         }
  329.  
  330.         public static void Vaheta(ref int a, ref int b)
  331.         {
  332.             int abi = a;
  333.             a = b;
  334.             b = abi;
  335.         }
  336.  
  337.         public static double ArvutaRuumala(double raadius, double korgus)
  338.         {
  339.             double pp = pohjapindala(raadius);
  340.             Console.WriteLine("Pohja pindala = PI * raadius * raadius = {0,7:f1}", pp);
  341.             return korgus * pp;
  342.         }
  343.  
  344.         private static double pohjapindala(double raadius)
  345.         {
  346.             return Math.PI * raadius * raadius;
  347.         }
  348.  
  349.         public static double Max2double(double arv1, double arv2)
  350.         {
  351.             if (arv1 > arv2)
  352.                 return arv1;
  353.             else
  354.                 return arv2;
  355.         }
  356.  
  357.         public static int paeviJouludeni()
  358.         {
  359.             DateTime tana = DateTime.Now;
  360.             DateTime joulud = new DateTime(2017, 12, 24);
  361.             int p1 = (int)tana.DayOfYear;
  362.             int p2 = (int)joulud.DayOfYear;
  363.             return p2 - p1;
  364.  
  365.         }        
  366.  
  367.         public static double LoenguPikkusMinutites(double tundideArv, double tunniPikkus, double vaheTundideArv, double vaheTunniPikkus)
  368.         {
  369.             double lPikkus = tunniPikkus * tundideArv + vaheTundideArv * vaheTunniPikkus;
  370.             return lPikkus;
  371.         }
  372.  
  373.         public static double LoenguPikkusTundides(double tundideArv, double tunniPikkus, double vaheTundideArv, double vaheTunniPikkus)
  374.         {
  375.             double lPikkus = (tunniPikkus * tundideArv + vaheTundideArv * vaheTunniPikkus) / 60;
  376.             return lPikkus;
  377.         }
  378.  
  379.         public static double MaxTeepikkus(double KytuseHulk, double KytuseKulu)
  380.         {
  381.             double teepikkus = 100 / KytuseKulu * KytuseHulk;
  382.             return teepikkus;
  383.         }
  384.  
  385.         public static void NkordneTrykk(int n, string text)
  386.         {
  387.             for(int i=1; i<=n; i++)
  388.             {
  389.                 Console.WriteLine("{0,2}  {1}",i,text);
  390.             }
  391.  
  392.  
  393.         }
  394.  
  395.         public static int Summa(int a, int b)
  396.         {
  397.             int c = a + b;
  398.             return c;
  399.         }
  400.  
  401.  
  402.     }
  403. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement