Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
LABORATORIJSKA VEŽBA 2: .NET Core aplikacija i osnove C# jezika
Cilj vežbe: Upoznavanje sa strukturom NET Core aplikacja. Korišćenje naredbi grananja i petlji za rad sa višedimenzionalnim nizovima. Upoznati se sa načinima za učitavanje promenljivih sa komandne linije i tastature. Tabeliranje vrednosti funkcija. Ispravljanje grešaka u toku razvoja aplikacija.
Zadatak 1: Konzolna .NET Core aplikacija Pokrenite VS (2019) i aktivirajte opciju „Create new project“. Izaberite „Console App (.NET
Core)“ i kreirajte novi projekt pod imenom Vezba_2_CORE kao što je prikazano na slici 21.
Slika 2-1. Kreiranje novog projekta u MS Visual Studio (2019) - izbor konzolne aplikacije u .NET Core-u
Slika 2-2. Izgled kreirane konzolne NET Core aplikacije
Opisati strukturu .NET Core projekta iz prozora „Solution explorer“ sa svim otvorenim folderima. Opisati ulogu i značaj svakog foldera iz ovog prozora. Dependencies: SDK: Program.cs: Startujete izvršavanje aplikacije. Ispišite sadržaj poruke iz „Debug“ prozora.
__________________________________________________________________________________________________________ __________________________________________________________________________________________________________
Zadatak 2: Praćenje izvršavanja programa – prekidne tačke u VSu Izmenom izvornog koda sa slike 21 formirati niz od pet elemenata double tipa i kreirati
šesti element niza sabiranjem svih prehodnih pet elemenata. Slika programskog koda je data na slici 23. Napomena: U programskom kodu na slici 23 je načinjena „namerna“ greška kako bi se pokazala primena alata za izvršavanje korak po korak i postavljanje tačaka prekida (engl. Break points).
Slika 2-3. Izvorni programski kod konzolne NET Core aplikacije
Startujte izvršenje programa i popunite zahtevane podatke.
Jasno je da je šesti element niza ima nekorektnu vrednost 26, a trebalo bi da je njegova
vrednost 15.15! Izvor greške se može jednostavno otkriti korišćenjem tačaka prekida u izvršavanju programa. Tačke prekida omogućavaju označavanje linije u izvornom kodu u kojoj želimo da se privremeno prekine izvršavanje programa. Istovremeno se u prozoru „Locals“ može izabrati prikaz trenutnih vrednosti promenljivih. U ovom slučaju to je niz a. Postavljanje prekidne tačke i vrednosti selektovanih promenljivih je prikazan na slikama 24 25. Postavite tri prekidne tačke (klikom na krajnje levu poziciju u edit prozoru ili na F9) kao na slici 24 i startujte izvršenje programa. Popunite zahtevane podatke.
Ispisati sadržaj ekrana po izvršenju programa:
Slika 2-4. Prikaz postavljenih tačaka prekida, prozor „Breakpoints“
Slika 2-5. Prikaz prozora „Locals“ sa tekućim vrednostima niza a na prekidnoj tačci 2
Pažljivo pogledajte 22. liniju koda gde se vrši izračunavanje šestog ečementa niza a.
Korigujte aritmetički izraz koji odgovara uslovima Zadatka 2.
Zadatak 3: Dodavanje metode za izračunavanje vrednosti elementa Dodati metodu Add() za izračunavanje vrednosti šestog elementa i pozvati je na izvršenje.
Korišćenjem prekidnih tačaka u i izvan metode pratite dodeljivanje vrednosti promenljivama. Sckicirati sve opcije koje stoje na raspolaganju za praćenje izvršenja složenih programa.
Uporedite izvorni kod aplikacije koja je kreirana u .NET Coreu i .NET Frameworku. U čemu je osnovna razlika?
__________________________________________________________________________________________________________ __________________________________________________________________________________________________________ Sa kojim indeksom počinje indeksiranje nizova u C#u? Napisati naredbu kojom se štampa vrednost trećeg elementa u nizu a?
__________________________________________________________________________________________________________ __________________________________________________________________________________________________________ Napisati naredbu kojom se definiše broj elemenata niza a?
__________________________________________________________________________________________________________
Zadatak 4: Prenos parametara metodi Main() Uneti izvorni kod za obrtanje redosleda elemenata zadatog niza realnih brojeva od n
elemenata. Dimenziju niza n učitati preko argumenta funkcije Main(). Da bi se preneli parametri metodi Main() – broj n, sledite sledeća uputstva sa slike 26.
Ispisati sadržaj ekrana posle treće tačke prekida:
Dodatna dugmmad u VS-u za praćenje izvršavanja:
a b
Slika 2-6. Postavljanje parametra aplikacije – podrazumevanni niz stringova args using System; namespace Vezba_2_Core_Z4 { class Program { static void Main(string[] args) { int n = int.Parse(args[0]); double[] a = new double[n]; for (int i = 0; i < a.Length; i++) { a[i] = i; //formiranje niza } //stampanje niza Console.WriteLine("Originalni niz:"); foreach (int i in a) { Console.Write("a[" + i + "]="); Console.WriteLine(a[i]); } //zamena mesta elemenata niza for (int i = 0; i < a.Length; i++) { if (i < a.Length / 2) { int j = a.Length - 1 - i; double b = a[i]; a[i] = a[j]; a[j] = b;
} } Console.WriteLine("Modifikovani niz:"); for (int i = 0; i < a.Length; i++) { Console.Write("a[" + i + "]="); Console.WriteLine(a[i]); } } }
Slika 2-7. Izvorni kod za Zadatak 4
Alternativno, stratovanje programa sa parametrima se može obaviti i na sledeći način: po kompliranju koda, komandom “windows taster + R” pokrenuti „run“prozor. Zatim u „run“ prozoru otkucati “cmd” i pokrenuti konzolu. Jedan od načina za pokretanje konzole je klikom na ikonu „command prompt“, koja se nalazi u meniju: start/programs/accessories/command prompt. Zatim se pozicionirati u „debug“ folder projekta i program prokrenuti komandom: “Vezba_2_Core_Z4 15“ gde 15 predstavlja vrednost za n, odnosno broj članova niza.
Teorijska pitanja Koje promenljive su deklarisane u prethodnom kodu?
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
Napisati sadržaj ekrana po izvršenju programa:
Objasniti naredbu: a.Length;
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________ Zašto je u kodu neophodna promenljiva b?
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________ Na koji način se prosleđuju argumenti funkciji main()? U čemu je razlika između poziva programa sa „Vezba_2_Core_Z4 15“ i sa „Vezba_2_Core_Z4 15“?
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________ Objasniti naredbu: foreach (int i in a)
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
Zadatak 5: Kreiranje 2D jedinične matrice Kreirajte jediničnu matricu elemenata double tipa, dimenzija n x n. Dimenzije matrice učitati sa tastature naredbom ReadLine(), koja je članica klase Console i imenskog prostora System. Izvorni kod je dat na slici 28.
Slika 2-8. Izvorni kod za Zadatak 5
Kojom linijom koda se vrši formiranje matrice n x n?
__________________________________________________________________________________________________________ Šta se dešava prilikom izvršenja naredbe int n = int.Parse(System.Console.ReadLine());?
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
Zadaci za samostalan rad Napisati C# program koji vrši transponovanje kvadratne matrice A celih brojeva,
dimenzije n x n. Dimenzije matrice učitati sa tastature naredbom ReadLine(). Transponovana matrica je matrica kod koje su zamenjene vrste i kolone. NAPOMENA: Jedan od načina da se realizuje transponovana matrica je zamena mesta elemenata koji se ne nalaze na glavnoj dijagonali matrice. Napisati izvorni kod programa u označenom mestu. Takođe, prikažite izgled ekrana po izvršenju programa kada je matrica dimenzija 3x3. Elementi matrice su celi brojevi počev od 10 u opadajućem nizu.
U Nišu POTVRĐUJE