/* Darba autors: Ēriks Brūveris Grupa: 110. Veidots: 22.05.2026. Darbs veidots onlinegdb.com ar C#(mono) valodu Nosaukums: Informatīvā programma Apraksts: Šī ir programma, kas paskaidro dažas C# funkcijas. */ using System; class HelloWorld { static void Main() { /*do while izmanto, lai sākumā izdarītu kādu rīcību, tad pārbaudītu vai atbilst kādam nosacījumam. Šo sauc par ciklu ar pēcnosacījumu. Šajā gadījumā, es lietošu do-while, lai izveidotu galveno izvēlni. */ int izvele = 0; do{ Console.Write("1 - C# datu izvade, ievade, if-else un datu apstrāde.\n"+ "2 - C# masīvi, for cikli, cikls ciklā, Sort funkcija\n"+ "3 - C# OOP (klases, objekti, konstruktori, utt.)\n"+ "4 - Apturēt programmu.\nIevadi skaitli: "); izvele = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("\n\n\n\n"); switch(izvele){ case 1: Basic(); break; case 2: Masivi(); break; case 3: OOPDarbi(); break; case 4: break; default: Console.WriteLine("Šī izvēle nav paredzēta!"); break; } }while(izvele!=4); Console.WriteLine("\n\n\n\nProgramma apturēta."); } static void Basic(){ //šeit izmanto basic C# funkcijas, kā output, input un if-else statement, izmantojot dažādus datu tipus. //Es izmantošu šo metodi, lai vienkārši ievadītu datus, kurus sūta uz citu metodi kā parametrus (extra punkti :P) //boolean mainīgais "PareizsSK" tiks izmantots, lai mainītu statement "while" uz patiesu, kad tiek pareizi ievadīti dati. bool PareizsSK = false; do{ Console.Write("Šī ir teksta izdruka."+ "\nAr Console.Write(); var izvadīt tekstu, nepārceļot kursoru uz nākamo rindu."+ "\nIevadi 1. skaitli starp 1 un 100: "); int skaitlis1 = Convert.ToInt32(Console.ReadLine()); Console.Write("Ievadi 2. skaitli starp 1 un 100: "); int skaitlis2 = Convert.ToInt32(Console.ReadLine()); if(skaitlis1<1 || skaitlis1>=101 && skaitlis2<1 || skaitlis2>=101) { Console.WriteLine("\n\n\n\nNepareiza skaitļa ievade. Mēģini atkal.\n\n"); }else { Console.WriteLine("Skaitļu "+skaitlis1+" un "+skaitlis2+" kvadrātsakņu summa ir: "+MatAprekini(skaitlis1, skaitlis2)); PareizsSK=true; } }while(PareizsSK==false); //Atkal iestata "PareizsSK", kā false, lai lietotājs varētu atkārtoti izmantot metodi. PareizsSK=false; Console.WriteLine(); } static double MatAprekini(int skaitlis1, int skaitlis2){ //es šo metodi izmantošu, priekš Math kvadrātsaknes funkcijas, diviem parametriem un return statement double sk1=Math.Sqrt(skaitlis1); double sk2=Math.Sqrt(skaitlis2); return sk1+sk2; } //šajā metodē tiks izveidots masīvs, izdrukāts ar 2 for cikliem, tad sakārtots un atkal izdrukāts. static void Masivi(){ int [] masivs = new int [10]; Console.WriteLine("Šajā metodē tiks izveidots masīvs, izdrukāts ar 2 for cikliem, tad sakārtots un atkal izdrukāts.\n\n"+ "Kad veido masīvus, sākomā norāda datu tipu, piemēram, int, double, string, char vai pat bool.\n\n"+ "Tad, norāda masīva nosaukumu un dimensiju skaitu ar kvadrātiekavām un komatiem. Piemēram, viendimensiju masīvu veido ar [] bet divdimensiju ar [,]\n\n"+ "Labi, ar nejaušiem skaitļiem starp 1 un 100 izveidosim jaunu masīvu:"); Random rand = new Random(); //masīvu aizpilda ar Random un for ciklu palīdzību Console.WriteLine("Neasakārtots masīvs:"); for(int i=0; i<10; i++){ masivs[i] = rand.Next(1,100); Console.Write(masivs[i]+" "); } char KartotIzv; do{ Console.Write("\nSakārtot? (Y/N): "); KartotIzv = Convert.ToChar(Console.ReadLine()); //izvada paziņojumu, ja kļūdaina ievade if (KartotIzv!='Y' && KartotIzv!='N' && KartotIzv!='y' && KartotIzv!='n') Console.WriteLine("Izvēle nav paredzēta!"); }while(KartotIzv!='Y' && KartotIzv!='N' && KartotIzv!='y' && KartotIzv!='n'); Console.WriteLine("------------------------------------------------------------------------------"); if (KartotIzv=='Y' || KartotIzv=='y'){ Console.WriteLine("Masīvus var kārtot ar visādiem kārtošanas algoritmiem vai ar Array.Sort()\nSakārtots masīvs:"); //Sort() funkcija Array.Sort(masivs); for(int i=0; i<10; i++) Console.Write(masivs[i]+" "); Console.WriteLine("\n"); } } static void OOPDarbi(){ bool asums; //izveidosim dažus objektsus ar dažādām īpašībām Square Kvadrats1 = new Square("liels", "sarkans", 3, true); Console.WriteLine("Šis ir programmas izveidota forma: "+Kvadrats1.izmers+", "+Kvadrats1.krasa+", "+ Kvadrats1.skaits+", ass?:"+Kvadrats1.sharp+" "+Kvadrats1.shape); //2. objekts ar apli Circle Aplis1 = new Circle("liels", "zils", 1, 6); Console.WriteLine("Šis ir programmas izveidota forma: "+Aplis1.izmers+", "+Aplis1.krasa+", "+ Aplis1.skaits+", ass?:"+Aplis1.virsotnes+" "+Aplis1.shape); //ļauj lietotājam izveidot savu kvadrātu Console.Write("Izveido savu kvadrātu! Ievadi kvadrāta izmēru: "); string size = Console.ReadLine(); Console.Write("Ievadi kvadrāta krāsu: "); string color = Console.ReadLine(); Console.Write("Ievadik kvadrāta skaitu: "); int count = Convert.ToInt32(Console.ReadLine()); Console.Write("Vai kvadrāts būs ass? (y/n): "); char izvele = Convert.ToChar(Console.ReadLine()); if(izvele=='y') asums=true; else if (izvele=='n') asums=false; else{ Console.WriteLine("Nepareiza ievade!"); asums = false; } Square Kvadrats2 = new Square (size, color, count, asums); Console.WriteLine("Tu izveidoji "+Kvadrats2.izmers+", "+Kvadrats2.krasa+", "+ Kvadrats2.skaits+", ass?:"+Kvadrats2.sharp+" "+Kvadrats2.shape); } } //darbs ar OOP //parent public class Shapes { public string izmers; public string krasa; public int skaits; public void ShapeCheck(string shape){ if(shape=="square") Console.WriteLine("Šis ir kvadrāts"); else if(shape=="circle") Console.WriteLine("Šis ir aplis"); else Console.WriteLine("Nezināma forma"); } } //child public class Square : Shapes { public string shape = "kvadrāts"; public bool sharp; //konstruktors public Square(string KvIzmers, string KvKrasa, int KvSkaits, bool KvAsums){ izmers = KvIzmers; krasa = KvKrasa; skaits = KvSkaits; sharp = KvAsums; } } public class Circle : Shapes{ public string shape = "aplis"; public int virsotnes; //konstruktors public Circle(string ApIzmers, string ApKrasa, int ApSkaits, int ApVirs){ izmers = ApIzmers; krasa = ApKrasa; skaits = ApSkaits; virsotnes = ApVirs; } }