You are on page 1of 15

Zakad Informatyzacji Systemw Produkcyjnych

Podstawy informatyki
Programowanie w jzyku Visual Basic .NET Instrukcja do zaj laboratoryjnych

Opracowa: mgr in. Jacek DIAKUN

Zakad Informatyzacji Systemw Produkcyjnych wiczenie 1. Utworzy program zawierajcy jedno okno i przycisk. Po klikniciu na przycisk program ma zakoczy swoje dziaanie. 1. Uruchom Visual Studio (Start Programy Microsoft Visual Studio 2005 Microsoft Visual Studio 2005). 2. Utwrz nowy projekt bdcy aplikacj systemu Windows stworzon w jzyku Visual Basic .NET (File -> New Project -> Visual Basic -> Windows -> Windows Application), okrelajc jego nazw:

Po wybraniu powyszej opcji na ekranie pojawi si widok okna programu Visual Studio (patrz: Zacznik 1). 3. Na formularzu umie komponent (przecignij mysz z Przybornika na projekt okna tworzonej aplikacji) przycisku (Button) zgodnie z poniszym rysunkiem:

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

2/15

Zakad Informatyzacji Systemw Produkcyjnych 4. Kliknij dwukrotnie na przycisku z napisem Button1 pojawi si okno umoliwiajce wprowadzenie kodu programu bdcego reakcj na zajcie zdarzenia pojedynczego kliknicia lewym przyciskiem myszy na przycisk:

5. Wprowad nastpujcy kod:

6. Zapisz w wybranym katalogu dotychczas wykonan prac (File Save All; zaakceptuj nazwy zaproponowane przez VB, zmieniajc ewentualnie miejsce zapisu projektu na dysku):

7. Uruchom program pod kontrol rodowiska VS (Debug Start Debugging lub klawisz F5) i sprawd jego dziaanie. 8. Na podstawie wykonanego projektu utwrz samodzieln aplikacj systemu Windows (inaczej: skompiluj program do postaci wykonywalnej) (Build Build zadanie_01). Posta wykonywalna programu zostanie zapisana w miejscu zapisu projektu w katalogu Bin/Release Uwagi: Otwarcie nowego projektu (rozpoczcie tworzenia nowego programu dziaajcego 1 w rodowisku Windows). Tworzony program bdzie zawiera jedno okno (ktre na etapie projektowania nazywane 2 jest formularzem) o nazwie Form1 (wasno Name w oknie Properties). Na rodku okna umieszczono jeden komponent przycisk o nazwie Button1. Po klikniciu na przycisk ma zaj okrelona reakcja (zakoczenie dziaania programu). 3 Naley wic utworzy fragment kodu programu (wstawi do stworzonego szkieletu procedury) bdcy reakcj na zdarzenie kliknicia na przycisk.

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

3/15

Zakad Informatyzacji Systemw Produkcyjnych Procedura obsugi zdarzenia zawiera jedn instrukcj jzyka procedur End, koczc dziaanie programu.

Do samodzielnego wykonania: 1. Nadaj wasnociom Text komponentu Button1 oraz formularza Form1 wartoci odpowiednio: Koniec i wiczenie nr 1. Co okrela wasno Caption dla tych komponentw? 2. Zmie warto Koniec na Konie&c. Jakie dziaanie powoduje umieszczenie znaku & we wasnoci Text przycisku? 3. Co powoduje zmiana wartoci nastpujcych wasnoci formularza: a. FormBorderStyle (sprbuj zmienia wielko okna uruchomionego programu dla kolejnych wartoci przypisywanych tej wasnoci), b. MaximizeBox, MinimizeBox i ControlBox (wyprbuj dla FormBorderStyle = Sizeable) 4. Co okrelaj nastpujce wasnoci: a. WindowState, b. StartPosition? wiczenie 2. 1. Otwrz nowy projekt. 2. Zaprojektuj formularz wg poniszego rysunku (zmie odpowiednio warto wasnoci Text komponentu TextBox1):
Pole tekstowe (komponent typu TextBox o nazwie TextBox1)
(zmie domyln warto wasnoci Text na pusty cig znakw)

Komponent o nazwie Button1


(okrelon przez wasno Name)

Komponent o nazwie Button3


(wasno Name)

Komponent o nazwie Button2


(wasno Name)

3. Uzupenij kod obsugi zdarzenia kliknicia na komponencie (przycisku) Command1: TextBox1.Text = "Visual Basic"
1

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

4/15

Zakad Informatyzacji Systemw Produkcyjnych

4. Uzupenij kod obsugi zdarzenia kliknicia na komponencie (przycisku) Command2: TextBox1.Text = ""
2

5. Uzupenij kod do programu w taki sposb, aby po klikniciu na komponencie (przycisku) Command3 program koczy swoje dziaanie. Uwagi: nadanie okrelonej wasnoci komponentu odbywa si teraz z poziomu kodu programu 1 tym samym zmiana dokonuje si w czasie dziaania programu, a nie, jak poprzednio, jest okrelana rcznie przed jego uruchomieniem. Zmiana wartoci okrelonej wasnoci komponentu odbywa si w kodzie programu wg schematu: nazwaKomponentu.wasno = warto
2

wstawienie pustego cigu znakw usuwa wpisany tekst.

Do samodzielnego wykonania: 1. Dodaj now lini (przed instrukcjami End Sub) do procedury obsugi zdarzenia kliknicia na komponencie (przycisku) Button2 i dopisz nastpujcy kod: TextBox1.Focus Co spowodowaa powysza zmiana? 2. 3. Jaka jest rnica pomidzy wasnociami: Name oraz Text? wiczenie 3. 1. Otwrz nowy projekt. 2. Zaprojektuj formularz wg poniszego rysunku:
Etykieta (komponent o nazwie Label1) Etykieta (komponent o nazwie Label2) Komponent o nazwie TextBox2 Komponent o nazwie TextBox1

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

5/15

Zakad Informatyzacji Systemw Produkcyjnych 3. Uzupenij kod do programu w taki sposb, aby po klikniciu na komponencie (przycisku) Wyczy znaki wprowadzone w polach tekstowych byy usuwane. 4. Uzupenij kod do programu w taki sposb, aby po klikniciu na komponencie (przycisku) Zakocz program koczy swoje dziaanie. 5. Uzupenij kod obsugi zdarzenia kliknicia na komponencie (przycisku) Poka w nastpujcy sposb: MsgBox TextBox1.Text & TextBox2.Text 6. Zapisz zmiany i przetestuj dziaanie programu. Do samodzielnego wykonania: 1. Zmodyfikuj kod z punktu 5. w taki sposb, aby znaki w wywietlanym oknie byy od siebie oddzielone (zmie argument instrukcji MsgBox). wiczenie 4. Napisa program dodajcy dwie wprowadzone przez uytkownika liczby. 1. Otwrz nowy projekt. 2. Zaprojektuj formularz wg poniszego rysunku (nie przedstawiono nazw wszystkich komponentw):
Komponent o nazwie TextBox1 Komponent o nazwie TextBox2

3. Uzupenij kod do programu w taki sposb, aby po klikniciu na przyciskach z napisami Wyczy (1) i Wyczy (2) znaki wprowadzone w odpowiednich polach tekstowych byy usuwane. 4. Uzupenij kod do programu w taki sposb, aby po klikniciu na przycisku z napisem Zakocz program koczy dziaanie. 5. Uzupenij kod obsugi zdarzenia kliknicia na przycisku z napisem Dodawanie w nastpujcy sposb:

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

6/15

Zakad Informatyzacji Systemw Produkcyjnych

Dim liczba1 As Single Dim liczba2 As Single Dim wynik As Single liczba1 = CSng(TextBox1.Text) liczba2 = CSng(TextBox2.Text) wynik = liczba1 + liczba2 MsgBox wynik, , "Wynik dodawania:" 6. Dodaj na pocztku kodu programu (1. linia) nastpujce instrukcje (patrz rwnie: Zacznik 2 Punkt 3): Option Explicit On 7. Zapisz zmiany i przetestuj dziaanie programu. Do samodzielnego wykonania: 1. Uzupenij formularz o dodatkowe komponenty zgodnie z poniszym rysunkiem: 2. Dodaj kod programu (obsuga kliknicia na przyciskach z napisami Odejmowanie, Mnoenie i Dzielenie). wiczenie 5. Napisz program obliczajcy miejsca zerowe rwnania: ax 2 + bx + c = 0 Formularz zaprojektuj zgodnie z poniszym rysunkiem:

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

7/15

Zakad Informatyzacji Systemw Produkcyjnych wiczenie 6. Napisz program wykonujcy 4 dziaania na liczbach zespolonych. Formularz zaprojektuj zgodnie z poniszym rysunkiem:
Ramka (komponent o nazwie GroupBox1) Ramka (komponent o nazwie GroupBox 2)

Reguy dziaa na liczbach zespolonych ( Z1 = Re1 + j Im1 , Z 2 = Re 2 + j Im 2 ): Z1 + Z 2 = (Re1 + Re 2 ) + j (Im1 + Im 2 ) Z1 Z 2 = (Re1 Re 2 ) + j (Im1 Im 2 ) Z1 Z 2 = (Re1 Re 2 Im1 Im 2 ) + j (Re1 Im 2 + Re 2 Im1 ) Z1 Re1 Re 2 + Im1 Im2 Re Im Re1 Im2 = + j 2 1 ; Re 2 , Im 2 0 2 2 Z2 Re 2 + Im2 Re 2 + Im2 2 2

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

8/15

Zakad Informatyzacji Systemw Produkcyjnych wiczenie 7. Napisz program obliczajcy najwikszy wsplny dzielnik dwch liczb zgodnie z podanym poniej algorytmem:
START

Wprowad a i b (liczby naturalne)

nie a b?

tak

nie a > b?

tak

b=b-a

a=a-b

Wypisz a

STOP

Formularz zaprojektuj samodzielnie. Wynik wyprowad za pomoc instrukcji MsgBox. wiczenie 8. Napisz program przedstawiajcy posta dwjkow wprowadzonej przez uytkownika liczby naturalnej (w systemie dziesitnym). Formularz zaprojektuj samodzielnie. Zabezpiecz program przed wprowadzeniem bdnych danych. Wynik wyprowad za pomoc instrukcji MsgBox. wiczenie 9. Dana jest pewna kwota pienidzy (np. 1236 PLN). Zamy, e dysponujemy banknotami o nominaach: 200, 100, 50, 20 i 10 PLN oraz monetami o nominaach 5, 2 i 1 PLN. Napisz program, umoliwiajcy wypacenie podanej przez uytkownika kwoty (tylko zote, bez groszy) przy uyciu jak najmniejszej liczby banknotw i monet. Formularz zaprojektuj samodzielnie. Zabezpiecz program przed wprowadzeniem bdnych danych. Wynik wyprowad za pomoc instrukcji MsgBox. wiczenie 10. Napisz program wypisujcy w kolejnoci rosncej wszystkie dzielniki podanej liczby naturalnej (wikszej od 0). Formularz zaprojektuj samodzielnie. Zabezpiecz program przed wprowadzeniem bdnych danych. Wynik wyprowad za pomoc instrukcji MsgBox. VB_NET-cwiczenia-v0_02-wg_v0_29.doc 9/15

Zakad Informatyzacji Systemw Produkcyjnych

wiczenie 11. Liczba doskonaa jest to liczba naturalna, ktrej suma dzielnikw (oprcz siebie samej) jest rwna tej liczbie (np. 6 jest liczba doskona, poniewa 6 = 1 + 2 + 3). Napisz program sprawdzajcy, czy podana przez uytkownika liczba naturalna (wiksza od 0) jest doskonaa. Formularz zaprojektuj samodzielnie. Zabezpiecz program przed wprowadzeniem bdnych danych. Wynik wyprowad za pomoc instrukcji MsgBox. wiczenie 12. Napisz program sprawdzajcy, czy podana przez uytkownika liczba naturalna (wiksza od 0) jest pierwsza. Formularz zaprojektuj samodzielnie. Zabezpiecz program przed wprowadzeniem bdnych danych. Wynik wyprowad za pomoc instrukcji MsgBox. wiczenie 13. Dany jest cig liczb: 1, -1/2, 1/3, -1/4, ..., 1/9999, -1/10000. Napisz program wyliczajcy sum wyrazw tego cigu tak, aby: a. sumowane byy wszystkie wyrazy od lewej do prawej, b. sumowane byy wszystkie wyrazy od prawej do lewej, c. sumowane byy osobno dodatnie i osobno ujemne wyrazy od lewej do prawej, d. sumowane byy osobno dodatnie i osobno ujemne wyrazy od prawej do lewej. Wyniki wyprowad w taki sposb, aby moliwe byo ich porwnanie. Czy uzyskane wyniki s identyczne? wiczenie 14. Dane s dwa wektory: x = (1020, 1223, 1018, 1015, 3, -1012) y = (1020, 2, -1022, 1013, 2111, 1016) Obliczy warto iloczynu skalarnego tych wektorw. wiczenie 15. Napisz program znajdujcy wszystkie liczby pierwsze mniejsze od N = 10000. Zadanie zrealizuj przy pomocy algorytmu sita Eratostenesa. wiczenie 16. Zmodyfikuj program z wiczenia 15. w taki sposb, aby znajdowane byy wszystkie liczby pierwsze mniejsze lub rwne od N (warto N wprowadzana przez uytkownika).

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

10/15

Zakad Informatyzacji Systemw Produkcyjnych Zacznik 1. Widok okna programu MS Visual Studio 2005 (opcja tworzenia programw w jzyku Visual Basic).
Przybornik
(zestaw komponentw moliwych do wykorzystania w tworzonym programie)

Okno edytora formularza


(projekt okna tworzonego programu wraz z uytymi kontrolkami)

Okno zarzdzania projektem


(formularze i moduy wchodzce w skad projektu)

Okno waciwoci obiektu


(okrelanie wasnoci wykorzystanych w programie komponentw)

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

11/15

Zakad Informatyzacji Systemw Produkcyjnych Zacznik 2. Zmienne w Visual Basic 1. Oglny schemat deklaracji zmiennych: Dim nazwa_zmiennej As typ_zmiennej Przykady: Dim Dim Dim Dim liczba_calkowita As Integer liczbaRzeczywista As Single wartosc_logiczna As Boolean ciagZnakow As String

2. Typy danych Typ danych Byte Integer Long Single Double String Boolean Currency Date Object Variant Warto cakowita cakowita cakowita zmiennoprzecinkowa pojedynczej precyzji zmiennoprzecinkowa podwjnej precyzji cig znakw logiczna walutowa (z ustalon kropk dziesitn) data adres obiektu kady z powyszych typw Zakres od 0 do 255 od -32768 do 32767 od -2 247 483 648 do 2 147 483 647 od -3.402823e38 do 3.402823e38 od -0.79769313486232e308 do 1.79769313486232e308 od 0 do 2*109 znakw (Win 9x/2x) True lub False od -922 337 203 685 477.5808 do 922 337 203 685 477.5807 od 01.01.0100 do 31.01.9999 referencja do obiektu zgodnie z powyszymi typami 1B 2B 4B 4B 8B 10 B + dugo cigu 1B 8B 8B 4B 16 B (dane liczbowe) 22 B + dugo cigu (cigi znakw) Wielko pamici

Uwagi: 1. Nazwa zmiennej musi zaczyna si od litery; ponisza deklaracja jest niepoprawna: Dim 5a As Integer 2. Istnieje moliwo deklaracji kilku zmiennych w jednej linii.

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

12/15

Zakad Informatyzacji Systemw Produkcyjnych Przykad: Dim i, j, k As Integer Powysza deklaracja jest deklaracj trzech zmiennych: i, j oraz k typu Integer. 3. Standardowo (domylnie) deklaracja zmiennych w VB .NET jest wymagana (w przeciwiestwie do poprzednich wersji jzyka, tzn. do Visual Basic 6). Dodatkowo wymuszenie deklaracji zmiennych mona osign przez: a. klauzul Option Explicit On na pocztku kodu programu (pierwsza linia):

b. zaznaczenie opcji Require Variable Declaration (Tools Options Project and Solutions -> VB Defaults):

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

13/15

Zakad Informatyzacji Systemw Produkcyjnych Zacznik 3. Instrukcja warunkowa Instrukcja warunkowa okrela wykonanie pewnej grupy (jednej, kilku, kilkunastu...) instrukcji jzyka w zalenoci od spenienia okrelonego warunku. Postaci instrukcji warunkowej: a) If warunek Then instrukcja_1 grupa instrukcji wykonywanych w przypadku spenienia warunku instrukcja_2 ... instrukcja_n End If Przykad: If dzielnik <> 0 Then wynikDzielenia = dzielna / dzielnik End If b) If warunek Then instrukcja_1 grupa instrukcji wykonywanych w przypadku spenienia warunku instrukcja_2 ... instrukcja_n Else instrukcja_1 grupa instrukcji wykonywanych w przypadku niespenienia warunku instrukcja_2 ... instrukcja_n End If Przykad: If dzielnik <> 0 Then wynikDzielenia = dzielna / dzielnik Else MsgBox Dzielenie przez 0! End If

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

14/15

Zakad Informatyzacji Systemw Produkcyjnych Zacznik 4. Tablice w Visual Basic 1) Oglny schemat deklaracji tablic: Dim nazwa_tablicy(zakres) As typ_zmiennej Deklaracja tablicy o liczbie elementw rwnej zakres+1 (indeksy maj warto od 0 do zakres) Przykady: Dim liczba(10) As Integer Deklaracja 11-elementowej tablicy liczba zawierajce liczby typu Integer kolejne elementy tablicy: liczba(0), liczba(1), liczba(2), ..., liczba(9), liczba(10). Dim macierz(100) As Single Deklaracja 101-elementowej tablicy macierz zawierajce liczby typu Single kolejne elementy tablicy: macierz(0), macierz(1), ..., macierz(99), macierz(100). 2) Tablice deklarowane dynamicznie: a) deklaracja: Dim nazwa_tablicy() As typ_zmiennej b) dynamiczna zmiana wielkoci tablicy (okrelenie zakresu w kodzie programu): ReDim nazwa_tablicy(zakres) Przykad: Dim tablica() As Double ... ReDim tablica(50) ... ReDim tablica(200)

VB_NET-cwiczenia-v0_02-wg_v0_29.doc

15/15