Visual Basic: Tablice, sortowanie, r. ak. 2014/2015

Podobne dokumenty
01 grid tablica grid. Copyright 2017, mgr inż. Janusz Bonarowski 1

Tablice, DataGridView

DataGridView. Aby dodawać kolumny wybieramy z listy zadań Add Column..., co wywoła okno dodawania kolumn, rys. 2. Rysunek 1

Aplikacje geodezyjne

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min)

Ćwiczenie laboratoryjne. Oprogramowanie i badanie stosu lub kolejki w środowisku Visual Basic 2005

Ćwiczenie VB3.4 Struktura Try...Catch, obiekt Err, metoda Err.Raise (Strukturalna obsługa wyjątków)

Ten odcinek Akademii PC Kuriera poświęcony zostanie tworzeniu i wykorzystaniu funkcji i procedur w języku Visual Basic.NET.

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

INSTRUKCJA SKOKU GOTO

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Platforma.NET laboratorium 1. Visual Basic.NET podstawowe elementy języka. Wykonanie warunkowe If End If

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

Zadanie. Menu Plik niech posiada dwie pozycje: Tekstowy i Excel, a każda z nich niech posiada dwie pozycje Otwórz i Zapisz, patrz rys. 2.

Class1.vb. _Dlugosc_stopnia = value End Set End Property Public Property Faza As Single Get Return _Faza End Get

LibreOffice Calc VBA

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy informatyki

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Praca z bazą danych. Rysunek 1. Projekt tabeli UZYTKOWNIK bazy KURSY

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

4.1. Analiza AWN jest dokonywana na poziomie VBA

Visual Basic for Application (VBA)

Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

Technologie informacyjne

MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp, HelpContext])

Wprowadzenie do programowania w VBA

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach.

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Technologia informacyjna programowanie Janusz Uriasz

Visual Basic for Application (VBA)

Programowanie w VB Proste algorytmy sortowania

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

Języki skryptowe w programie Plans

Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

tablica: dane_liczbowe

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy.

Tablice. Jones Stygar na tropie zmiennych

Visual Basic for Applications. Wstęp

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Właściwości i metody obiektu Comment Właściwości

3 Delegacje. 3.1 Tworzenie delegacji. 3.2 Skojarzenie delegacji z procedurą czy funkcją

Analiza algorytmów zadania podstawowe

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 3. Programowanie komputerowe

Instrukcje cykliczne (pętle) WHILE...END WHILE

Algorytmika i Programowanie VBA 1 - podstawy

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Materiały do laboratorium MS ACCESS BASIC

Programowanie obiektowe

Aplikacje w środowisku VBA. Visual Basic for Aplications

private: System::Void button1_click(system::object^ sender, System::EventArgs^ e) {

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

W powyższym kodzie utworzono wyliczenie dni tygodnia.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Wyszukiwanie największej spośród czterech liczb. Przykładowe rozwiązanie

Delphi podstawy programowania. Dialogi

5.9 Modyfikacja gry Kółko i krzyżyk

Instrukcja warunkowa i wyboru

Visual Basic dla AutoCAD

Visual Basic for Application (VBA)

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2

Akademia Morska w Szczecinie Wydział Nawigacyjny TRANSPORT MORSKI

Laboratorium Programowania Kart Elektronicznych

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Paweł Górczyński, Janusz Górczyński. Aplikacja MS SQL Server i MS VB.NET do zarządzania studiami podyplomowymi

PROGRAMOWANIE W PYTHONIE ALGORYTMY TABLICOWE A LISTY

Wstęp do informatyki Ćwiczenia. Piotr Fulmański

Metody Metody, parametry, zwracanie wartości

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Instrukcje sterujące. Programowanie komputerowe

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych

Aplikacja MDI. Rysunek 1. Tworzenie nowego projektu

Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Procedury i funkcje. Programowanie komputerowe

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Metodyka programowania. Edytor tekstu. Specyfikacja

Wykład 4. Tablice. Pliki

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

Listing_ $crystal = deklaracja

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Opis podstawowych funkcji PC- SHELLa

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Działki Przygotowanie organizacyjne

Podstawy Programowania C++

Informatyka A. Algorytmy

PRACA Z FORMULARZAMI UserForm

Transkrypt:

Visual Basic: Tablice, sortowanie, r. ak. 2014/2015 Public Class Form1 Deklaracja tablicy pól tekstowych o 4 wierszach i 5 kolumnach Dim TabPol(3, 4) As TextBox Deklaracja tablicy pól tekstowych o 4 wierszach i 1 kolumnie Dim TabPolSort(3) As TextBox Deklaracja jednowymiarowej dynamicznej tablicy typu znakowego Dim TabSort As String() Deklaracja dwuwymiarowej dynamicznej tablicy typu znakowego Dim TabWartosci As String(,) Private Sub Form1_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Load Przypisanie pól tekstowych z sekcji "Tablica" formularza do elementów tablicy TablicaPol TabPol(0, 0) = txt00 TabPol(0, 1) = txt01 TabPol(0, 2) = txt02 TabPol(0, 3) = txt03 TabPol(0, 4) = txt04 TabPol(1, 0) = txt10 TabPol(1, 1) = txt11 TabPol(1, 2) = txt12 TabPol(1, 3) = txt13 TabPol(1, 4) = txt14 TabPol(2, 0) = txt20 TabPol(2, 1) = txt21 TabPol(2, 2) = txt22 TabPol(2, 3) = txt23 TabPol(2, 4) = txt24 TabPol(3, 0) = txt30 TabPol(3, 1) = txt31 TabPol(3, 2) = txt32 TabPol(3, 3) = txt33 TabPol(3, 4) = txt34 Przypisanie pól tekstowych wyników sortowania do elementów tablicy TabPolSort TabPolSort(0) = txtsort0 TabPolSort(1) = txtsort1 TabPolSort(2) = txtsort2 TabPolSort(3) = txtsort3 1

Private Sub btnpokaz_click(byval sender As Object, _ ByVal e As System.EventArgs) Handles btnpokaz.click Pokazanie wybranych elementów tablicy pól Dim i, j As Integer Dim LK, LW As Integer LW = CInt(cmbWiersze.Text) LK = CInt(cmbKolumny.Text) If LW > 4 Or LK > 5 Then Tyt = "Nieprawidłowe dane" Kom = "Maksymalna liczba wierszy wynosi 4," & vbcrlf & _ "maksymalna liczba kolumn wynosi 5." & vbcrlf & vbcrlf & _ "Proszę skorygować wprowadzone wartości." MessageBox.Show(Kom, Tyt, MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) Else For i = 0 To LW - 1 For j = 0 To LK - 1 TabPol(i, j).visible = True Tyt = "Błąd wykonania programu" End Private Sub btnukryj_click(byval sender As Object, _ ByVal e As System.EventArgs) Handles btnukryj.click Ukrywanie wszystkich pól tekstowych służących do wprowadzania wartości elementów tablicy i zawierających wyniki obliczeń Dim i, j As Integer For i = 0 To 3 For j = 0 To 4 If TabPol(i, j).visible Then TabPol(i, j).visible = False If TabPolSort(i).Visible Then TabPolSort(i).Visible = False txtmax.visible = False txtlnum.visible = False txtsuma.visible = False Tyt = "Błąd ukrywania pól tablicy" End 2

Private Sub btnprzepisz_click(byval sender As Object, _ ByVal e As System.EventArgs) Handles btnprzepisz.click Ustalenie wymiaru tablicy znakowej i przepisanie do niej zawartości wyświetlanych pól tablicy pól tekstowych. ReDim TabWartosci(CInt(cmbWiersze.Text) - 1, CInt(cmbKolumny.Text) - 1) Przepisanie wpisów z tablicy pól tekstowych do tablicy wartości TabWartosci(w, k) = TabPol(w, k).text Włączenie przycisków analizy zawartości tablicy btnmax.enabled = True btnnumeryczne.enabled = True btnglownaprzek.enabled = True btnsortuj.enabled = True Tyt = "Błąd przepisywania pól tekstowych" End Private Sub btnwyczysc_click(byval sender As Object, _ ByVal e As System.EventArgs) Handles btnwyczysc.click Wyczyszczenie pól tekstowych formularza (z wyjątkiem pól wyboru rozmiaru tablicy) i tablic znakowych w kodzie TabPol(w, k).text = "" TabWartosci(w, k) = "" TabPolSort(w).Text = "" TabSort(w) = "" txtlnum.text = "" txtmax.text = "" txtsuma.text = "" txtnrkol.text = "" Tyt = "Błąd czyszczenia pól formularza" End 3

Private Sub btnmax_click(byval sender As Object, _ ByVal e As System.EventArgs) Handles btnmax.click Odnalezienie największego ciągu znakowego w tablicy znakowej utworzonej w kodzie Dim Najwiekszy As String Wstępnie zakładamy, że element (0,0) jest największy Najwiekszy = TabWartosci(0, 0) If Najwiekszy < TabWartosci(w, k) Then Najwiekszy = TabWartosci(w, k) txtmax.text = Najwiekszy txtmax.visible = True Tyt = "Błąd poszukiwania maksimum" End Private Sub btnnumeryczne_click(byval sender As Object, _ ByVal e As System.EventArgs) Handles btnnumeryczne.click Odnalezienie liczby elementów numerycznych w tablicy znakowej utworzonej w kodzie Dim Liczby As Integer Liczby = 0 inicjalizacja If IsNumeric(TabWartosci(w, k)) Then Liczby = Liczby + 1 txtlnum.text = Liczby.ToString txtlnum.visible = True Tyt = "Błąd zliczania liczb" End Private Sub btnglownaprzek_click(byval sender As Object, _ ByVal e As System.EventArgs) Handles btnglownaprzek.click Sumowanie liczb na głównej przekątnej (tylko dla tablic kwadratowych) Dim i As Integer Dim Suma As Single If CInt(cmbWiersze.Text) <> CInt(cmbKolumny.Text) Then Tyt = "Wykonanie operacji jest niemożliwe" Kom = "Tablica nie jest tablicą kwadratową" MessageBox.Show(Kom, Tyt, MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) 4

Else Suma = 0.0 For i = 0 To CInt(cmbWiersze.Text) - 1 If IsNumeric(TabWartosci(i, i)) Then Suma = Suma + CSng(TabWartosci(i, i)) txtsuma.text = Suma.ToString txtsuma.visible = True Tyt = "Błąd obliczania sumy liczb na głównej przekątnej" End Private Sub btnsortuj_click(byval sender As Object, _ ByVal e As System.EventArgs) Handles btnsortuj.click Sortowanie elementów wybranej kolumny tablicy znakowej Dim i, j, NrKol As Integer Dim Schowek As String Dim Tyt, Kom As String NrKol = CInt(txtNrKol.Text) Określenie rozmiaru tabeli "TabSort" i przepisanie do niej kolumny z tabeli "TabelaWartosci" ReDim TabSort(CInt(cmbWiersze.Text) - 1) For i = 0 To CInt(cmbWiersze.Text) - 1 TabSort(i) = TabWartosci(i, NrKol) Sortowanie elementów kolumny wg algorytmu bąbelkowego For j = 0 To CInt(cmbWiersze.Text) - 2 For i = 0 To CInt(cmbWiersze.Text) - 2 If TabSort(i) > TabSort(i + 1) Then Schowek = TabSort(i) TabSort(i) = TabSort(i + 1) TabSort(i + 1) = Schowek Wyświetlenie wyników For i = 0 To CInt(cmbWiersze.Text) - 1 TabPolSort(i).Text = TabSort(i) TabPolSort(i).Visible = True Tyt = "Błąd sortowania kolumny " & txtnrkol.text End Private Sub btnzakoncz_click(byval sender As Object, _ ByVal e As System.EventArgs) Handles btnzakoncz.click Koniec pracy programu End 5

Private Sub cmbwiersze_textchanged(byval sender As Object, _ ByVal e As System.EventArgs) Handles cmbwiersze.textchanged Zmiana definicji tablicy w kodzie przy zmianie ustawień list rozwijalnych (nie została zastosowana, należałoby jeszcze skorygować wyświetlanie pól) If IsNumeric(cmbKolumny.Text) Then ReDim TabWartosci(CInt(cmbWiersze.Text) - 1, CInt(cmbKolumny.Text) - 1) Else ReDim TabWartosci(CInt(cmbWiersze.Text) - 1, 0) Private Sub cmbkolumny_textchanged(byval sender As Object, _ ByVal e As System.EventArgs) Handles cmbkolumny.textchanged Zmiana definicji tablicy w kodzie przy zmianie ustawień list rozwijalnych (nie została zastosowana, należałoby jeszcze skorygować wyświetlanie pól) If IsNumeric(cmbWiersze.Text) Then ReDim TabWartosci(CInt(cmbWiersze.Text) - 1, CInt(cmbKolumny.Text) - 1) Else ReDim TabWartosci(0, CInt(cmbKolumny.Text) - 1) End Class 6