Losowe wyszukiwanie rozwiązań (VBA)

Wielkość: px
Rozpocząć pokaz od strony:

Download "Losowe wyszukiwanie rozwiązań (VBA)"

Transkrypt

1 Losowe wyszukiwanie rozwiązań (VBA) Dariusz Jabłoński (hurgadion) W pierwszym moim artykule dotyczącym losowego wyszukiwania rozwiązań skoncentrowałem się na pokazywaniu problemów dotyczących zagadnień typowo matematycznych. W niniejszym artykule prezentuję przykłady poszukiwania rozwiązań dla problemów częściej spotykanych w działalności gospodarczej. Zaprezentowano ponadto, inaczej niż poprzednio, losową metodę wyszukiwania rozwiązań z wykorzystaniem języka programowania VBA a nie tylko formuł Excela. Podejście to, może być wykorzystywane czasem jako alternatywa dla Solvera, zdarza się przy tym, że daje ono również rozwiązania inne niż Solver. Zadanie 1. 1 Załóżmy, że mamy kilkanaście magazynów umieszczonych w całym kraju, powiedzmy: 15. W każdym z tych magazynów jest jakiś towar, np w magazynie nr 1. jest towar a, b, c,d. W magazynie 2 jest towar b, c, x, y, z... W kolejnych magazynach podobnie. W żadnym magazynie nie ma całego "alfabetu" towarów. Jak obliczyć optymalną (minimalną) liczbę magazynów, które zawierają cały alfabet towarów? Rozwiązanie: W załączniku (Arkusz magazyny) w tabeli mieszczącej się w zakresie C2:S30 można wpisać w których magazynach występują poszczególne artykuły. Jest to tablica pomocnicza, na podstawie której są wykonywane obliczenia. W komórce S4 jest wpisana formuła tablicowa: =SUMA(D4:R4*$D$31:$R$31) która zlicza w ilu magazynach wytypowanych występuje dany artykuł z alfabetu. W zakresie D31:R31 po uruchomieniu Solvera będą występować zera i jedynki. Jedynka oznacza, że dany magazyn jest wytypowany. W Solverze ponadto jest warunek dla zakresu D4:R4 gwarantujący, że dla każdego artykułu z alfabetu zostanie wytypowany co najmniej jeden magazyn po optymalizacji. Po odpaleniu Solvera należy uruchomić poniższe makro, aby wybrać unikalnie magazyn, z którego będziemy sprowadzać dany artykuł. 1

2 Sub Art() Dim tbl1(1 To 26) Dim x&, i&, j&, s As String x = 1 For i = 1 To 15 s = "" If Cells(31, i + 5).Value = 1 Then For j = 1 To 26 If Cells(j + 3, i + 5).Value = 1 Then If tbl1(j) = 0 Then If s = "" Then s = Cells(j + 3, 5).Value Else s = s & ", " & Cells(j + 3, 5).Value tbl1(j) = 1 Cells(i + 5, 4).Value = s Makro wybiera pierwszy z kolei magazyn, z którego da się sprowadzić dany artykuł. Po kolei dla każdego magazynu następuje sprawdzenie czy dany artykuł został już wybrany, jeżeli tak, to przechodzimy dalej, jeżeli nie, to artykuł jest przypisywany do magazynu. Problem postawiony w tym zadaniu da się rozwiązać bez wykorzystania Solvera (dzięki temu da się także uzyskać rozwiązanie nieco innego od Solvera, o ile rozwiązanie nie jest jedyne). Sub Permutacja() Dim i&, j&, l&, x&, x1&, a& ReDim V(1 To 15) ReDim VK(1 To 15) ReDim VZ(1 To 26) ReDim V1(1 To 26, 1 To 15) ReDim VPom(1 To 26, 1 To 15) Range("F31:T31").ClearContents V1 = Range("F4:T29").Value x1 = 15 For l = 1 To V = RndInt() x = 0 For i = 1 To 15 a = V(i) For j = 1 To 26 VPom(j, i) = V1(j, a) If i = 1 Then VZ(j) = 0

3 VZ(j) = VZ(j) + VPom(j, i) x = x + 1 If Application.Product(VZ) > 0 Then Exit For If x < x1 Then VK = V x1 = x Next l For i = 1 To x1 Cells(31, VK(i) + 5).Value = 1 Makro działa w następujący sposób: 1) Kluczowym elementem makra jest pętla iterowana przez i (ilość magazynów) oraz iterowana przez j (ilość artykułów), 2) W każdej iteracji pętli iterowanej przez l (każda pętla odpowiada innemu losowaniu) zostaje wylosowana jednowymiarowa tablica V o unikalnych elementach 1-15 (umożliwia to pomocnicza funkcja RndInt), 3) Do tablicy V1 zostają wpisane komórki zakresu F4:T29 (ten zakres jest kluczowy, odpowiada on informacji o rozmieszczeniu artykułów w magazynach) 4) Następnie zostają przepermutowane kolumny tablicy V1 w zależności od kolejności indukowanej przez elementy tablicy V. 5) W kluczowej pętli iterowanej przez i, j następuje wybór x magazynów, które posiadają wszystkie artykuły (ten warunek sprawdza funkcja Application.Product) 6) Główna pętla generowana przez l umożliwia znalezienie (a raczej zoptymalizowanie) liczby magazynów zawierającej wszystkie artykuły. 7) Dla znalezionej optymalnej liczby magazynów zostaje przypisana losowa tablica V. Funkcja pomocnicza losująca zestaw liczb od 1-15 (na podstawie pozycji [1]) Function RndInt() Dim V() As Variant, Val As Variant Dim i&, j&, r&, c&, a& Dim t1 As Variant, t2 As Variant Randomize a = 15 ReDim V(1 To a) ReDim Val(1 To 2, 1 To a)

4 For i = 1 To a Val(1, i) = Rnd Val(2, i) = i For i = 1 To a For j = i + 1 To a If Val(1, i) > Val(1, j) Then t1 = Val(1, j) t2 = Val(2, j) Val(1, j) = Val(1, i) Val(2, j) = Val(2, i) Val(1, i) = t1 Val(2, i) = t2 i = 0 For r = 1 To a i = i + 1 V(i) = Val(2, i) Next r RndInt = V End Function Zadanie 2. Mamy zbiór danych liczbowych (od dwóch do dwudziestu dodatnich składników). Znaleźć możliwe kombinacje sum pomiędzy dwoma z góry ustalonymi wartościami. Rozwiązanie: Unikalne (dzięki kolekcji) kombinacje wyławia losowo następujące makro (Arkusz losowanki): Sub Losowanko() Dim tabl(), tablprop(), tabl1() Dim NoDupes As New Collection Dim x&, i&, j&, s As Double, m&, a As String, p&, w& Dim Item As Variant p = Application.CountA(Range("A1:T1")) If p < 2 Then Exit Sub ReDim tabl(1 To p) ReDim tablprop(1 To p) ReDim tabl1(1 To p) tabl = Cells(1, 1).Resize(, p).value Application.ScreenUpdating = False w = Application.Max(2, Cells(Rows.Count, "A").End(xlUp).Row)

5 Range("A2:T" & w).clearcontents Randomize x = 1 On Error Resume Next For i = 1 To 100 * Sqr(2 ^ (p + 3)) For j = 1 To p tablprop(j) = Round(Rnd, 0) s = Application.SumProduct(tabl, tablprop) If s <= Cells(3, "V").Value And s >= Cells(2, "V").Value Then m = Cells(Rows.Count, "A").End(xlUp).Row + 1 m = Application.Max(m, 3) Cells(m, 1).Resize(, p) = tablprop For j = 1 To p Cells(m, j).value = Cells(m, j).value * Cells(1, j).value Cells(m, 1).Value = Lacz_Teksty(Cells(m, 1).Resize(, p)) NoDupes.Add Cells(m, 1).Value, CStr(Cells(m, 1).Value) On Error GoTo 0 x = 3 w = Application.Max(2, Cells(Rows.Count, "A").End(xlUp).Row) Range("A3:T" & w).clearcontents For Each Item In NoDupes Cells(x, 1).Value = Item x = x + 1 Next Item x = Cells(Rows.Count, "A").End(xlUp).Row For i = 3 To x a = Cells(i, 1).Value For j = 1 To p Cells(i, j).value = Extra(a, j) Cells(i, j).value = Cells(i, j).value * 1 Application.ScreenUpdating = True Function Extra(txt, n) Dim All As Variant All = Split(txt, "_") Extra = All(n - 1) End Function Function Lacz_Teksty(x As Range) Dim s As String, kom As Range For Each kom In x If Len(s) = 0 Then s = kom.value Else

6 If Len(kom.Value) > 0 Then s = s & "_" & kom.value Next kom Lacz_Teksty = s End Function Makro działa w następujący sposób: 1) Liczba p zlicza ile jest wypełnionych po kolei komórek w wierszu pierwszym (dla tylu komórek są wyszukiwane rozwiązania), 2) W komórkach V2, V3 są wpisane graniczne wartości, dla których będzie przeprowadzane wyszukiwanie rozwiązań, 3) Następnie do tablicy tabl są wpisane wartości niepustych komórek z wiersza pierwszego, 4) W głównej pętli iterowanej przez i następuje losowe wyszukiwanie odpowiednich rozwiązań, w każdym kroku zostaje utworzona losowa, zerojedynkowa tablica tablprop, 5) Następnie jest obliczona SUMA.ILOCZYNÓW (w wersji VBA) tablic tabl, tablprop 6) W kolejnym kroku jest sprawdzana czy obliczona SUMA.ILOCZYNÓW jest pomiędzy granicznymi wartościami z punktu 2), jeżeli warunek jest sprawdzony następuje dopisanie danego losowego rozwiązania, o ile wcześniej nie zostało już wpisane. Umożliwia to fragment kodu wyławiający unikaty za pomocą obiektu kolekcji, 7) Unikalne rozwiązania są po kolei wypisywane w odpowiednich, kolejnych wierszach W makrze zostały użyte standardowe, pomocnicze funkcje (Extra: na podstawie [1], Lacz_Teksty) umożliwiające operacje na łańcuchach tekstowych. Być może da się ich uniknąć i rozwiązać problem nieco łatwiej, np. za pomocą tablic (Homework ) Zadanie 3 Ogrodnikowi polecono zaprojektować ogród z drzewami i krzewami, przy czym właściciel ogrodu przeznaczył na zakup 1500zł i ponadto życzył sobie, aby: a) cisów było co najwyżej 6 sztuk, b) jałowców tyle samo co tuj i co najmniej po 20 sztuk c) jodły 2 razy więcej niż sosny

7 d) kosodrzewiny więcej niż 6 sztuk, ale mniej niż 12 e) świerków srebrnych 4 sztuki, a świerków białych 6 sztuk f) każdego drzewa i krzewu musi być co najmniej po 2 sztuki Ile drzew i krzewów może kupić ogrodnik za tą sumę, spełniając jednocześnie wymagania właściciela ogrodu jeśli ceny drzew i krzewów są takie, jak podano wyżej w tabeli? TOWAR cis jałowiec jodła sosna kosodrzewina świerk biały świerk srebrny tuja CENA 18,00 zł 11,00 zł 18,00 zł 10,00 zł 18,00 zł 13,00 zł 40,00 zł 25,00 zł Rozwiązanie: Problem można rozwiązać w sposób standardowy wykorzystując Solvera, otrzymamy wtedy rozwiązanie jak na załączonej tabeli. CENA LICZBA 18,00 zł 6 11,00 zł 24 18,00 zł 4 10,00 zł 2 18,00 zł 11 13,00 zł 6 40,00 zł 4 25,00 zł 24 Można jednak spróbować znaleźć rozwiązanie losowo wyszukując optymalne wartości za pomocą poniższego makra, które wyszukuje także rozwiązania inne niż Solver (Arkusz solveration). Sub Solveration() Dim table(), tablelos() Dim i& ReDim table(1 To 8) ReDim tablelos(1 To 8) Range("C2:C9").ClearContents table = Application.Transpose(Range("B2:B9")) Randomize

8 For i = 1 To tablelos(1) = Int(2 + 4 * Rnd, 0) tablelos(2) = Int( * Rnd, 0) tablelos(4) = Int( * Rnd(), 0) tablelos(3) = 2 * tablelos(4) tablelos(5) = Int(7 + 5 * Rnd, 0) tablelos(6) = 6 tablelos(7) = 4 tablelos(8) = tablelos(2) If Application.SumProduct(table, tablelos) = 1500 Then Range("C2:C9").Value = Application.Transpose(tablelos) Exit Sub MsgBox Nie udało się znaleźć właściwego rozwiązania Makro działa w następujący sposób: 1) Główną pętlą jest pętla iterowana przez i. Makro odnajduje rozwiązanie, o ile istnieje (można makro przerobić, aby wyszukiwało rozwiązanie optymalne zamiast dokładnego: Homework ). W tym przypadku rozwiązanie nie jest jednoznaczne, istnieje parę różnych rozwiązań problemu. Główna pętla jest ustawiona na milion kroków, jednak po znalezieniu optymalnego rozwiązania zostaje przerwane działanie głównej pętli, 2) Każdy krok głównej pętli polega na wylosowaniu optymalnego rozwiązania (tablica tablelos, poszczególne elementy tej tablicy odpowiadają ilości danego gatunku drzewa), które jest dobierane w taki sposób, aby spełniało warunki postawione w zadaniu (jest to możliwe dzięki funkcji zaokrąglającej Int oraz podstawowym działaniom matematycznym). Do tablicy table są przypisane ceny poszczególnych drzew. Następnie potencjalne rozwiązanie zostaje zweryfikowane (zostaje obliczona SUMA.ILOCZYNÓW tablic table oraz tablelos i porównana z oczekiwaną wartością). Po pozytywnej weryfikacji potencjalnego rozwiązania następuje przypisanie tablicy tablelos do właściwego zakresu.

9 Ważnym zagadnieniem optymalizacyjnym jest tzw. problem plecakowy, poniżej prezentujemy rozwiązanie oparte o losową metodę wyszukiwania rozwiązań. Zadanie 4. Mamy m plecaków oraz n przedmiotów o wadze w i wartości c oraz ograniczenia pojemności plecaków a_i, i = 1,, m. Należy upakować te przedmioty do tych plecaków tak, aby suma wartości przedmiotów w plecakach była jak największa. Rozwiązanie: Problem można rozwiązać za pomocą poniższego makro (Arkusz plecak): Sub Plecaki() Dim tabil() As Long, tabcost() As Long, tablos() As Long, tab1() As Long, tabplecak() As Long, tab2() As Long Dim c1&, a&, b&, c&, d&, x&, i&, j&, k&, m&, n& m = Application.CountA(Range("1:1")) n = Application.CountA(Range("4:4")) Application.ScreenUpdating = False ReDim tabplecak(1 To m) For i = 1 To m tabplecak(i) = Cells(1, i).value ReDim tabil(1 To n) ReDim tabcost(1 To n) ReDim tablos(1 To n) ReDim tab1(1 To n) For i = 1 To n tabil(i) = Cells(4, i).value tabcost(i) = Cells(5, i).value d = d + tabcost(i) Randomize For i = 1 To Application.Min( , 50 * m ^ UBound(tablos)) ReDim tab2(1 To m) c = 0 For j = 1 To n tablos(j) = Round( (m + 1) * Rnd, 0) For k = 1 To m If tablos(j) = k Then tab2(k) = tab2(k) + tabil(j) c = c + tabcost(j) Next k

10 x = 0 For j = 1 To m If tab2(j) <= tabplecak(j) Then x = x + 1 If c > c1 And x = m Then c1 = c tab1 = tablos If c1 = d Then Exit For Cells(6, 1).Resize(, n) = tab1 Range("C7").Value = c1 Application.ScreenUpdating = True Podobnie jak w poprzednich wypadkach rozwiązanie polega na losowej optymalizacji rozwiązania. W rozwiązaniu są wykorzystane tablice na których są wykonywane odpowiednie działania. Osoby zainteresowane dokładniejszym opisem proszę o kontakt. Na koniec rozwiążemy (bardziej jako ciekawostkę) w nieco nietypowy sposób klasyczny problem dotyczący znajdowania unikatów, szerzej o tym problemie można poczytać w jednym z wątków FAQ 2. Rozwiązanie wykorzystuje funkcję Join (Arkusz unikaty). Zadanie 5. Znaleźć w określonym jednokolumnowym zbiorze danych unikaty. Rozwiązanie: Losowe Unikaty kolejno wyławia z zakresu z kolumny A makro (Arkusz unikaty): Sub LosoweUnikaty() Dim tbl(), x As Range Dim a&, i&, s&, m As String a = WorksheetFunction.CountA(Range("A:A")) Set x = Range("A2:A" & a) s = 1 For i = 1 To 10 * x.count If i = 1 Then ReDim tbl(1 To s) tbl(i) = Application.Index(x, Round(0.5 + x.count * Rnd, 0)) Else m = Application.Index(x, Round(0.5 + x.count * Rnd, 0)) 2

11 If Join(tbl) Like "*" & m & "*" Then GoTo dalej: Else s = s + 1 ReDim Preserve tbl(1 To s) tbl(s) = m dalej: Range("B2:B" & a).clearcontents Cells(2, 2).Resize(UBound(tbl)) = Application.Transpose(tbl) Rozwiązanie polega na losowym wyławianiu Unikatów z ustalonego zakresu w kolumnie A. 1) Za pomocą funkcji Rnd oraz Arkuszowej funkcji Indeks następuje wylosowanie pewnego elementu z zakresu kolumny A. 2) Następnie zostaje sprawdzone za pomocą funkcji Join czy wylosowany element został wylosowany już wcześniej. Jeżeli wcześniej nie został wylosowany, to element zostaje dołączony do tablicy tbl przechowującej wylosowane kolejno unikaty. 3) Na koniec unikaty są wpisane do odpowiedniego zakresu kolumny B. 4) Może się zdarzyć, że nie wszystkie unikaty są wytypowane przez makro, ale jest to bardzo mało prawdopodobne. 5) Aby się zabezpieczyć przed wylosowaniem niewłaściwej liczby unikatów można wyliczyć tą liczbę unikatów i wykonywać makro do uzyskania odpowiedniej ilości elementów. W poprawie niniejszego artykułu pomógł mi Artik: Bibliografia: [1] Walkenbach J., Excel 2010 PL Programowanie w VBA, Helion, Gliwice, 2011 [2] Jabłoński D., Losowe wyszukiwanie rozwiązań, Załącznik: losowe.wyszukiwanie.vba.xls

LibreOffice Calc VBA

LibreOffice Calc VBA LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć

Bardziej szczegółowo

INSTRUKCJA SKOKU GOTO

INSTRUKCJA SKOKU GOTO Opracowała Joanna Kisielińska 1 Składnia instrukcji GoTo GoTo etykieta INSTRUKCJA SKOKU GOTO etykieta musi zostać umieszczone w programie: etykieta: Instrukcja lub etykieta: Instrukcja Przykład Sub ocena()

Bardziej szczegółowo

4.1. Analiza AWN jest dokonywana na poziomie VBA

4.1. Analiza AWN jest dokonywana na poziomie VBA 4.1. Analiza AWN jest dokonywana na poziomie VBA Centralnym miejscem systemu wspomagania dokonania analizy wydatków na wynagrodzenia nauczycieli są makra (procedury, programy) przygotowane w środowisku

Bardziej szczegółowo

Technologie informacyjne: Excel i VBA

Technologie informacyjne: Excel i VBA Wrocław, 18.05.2017 Technologie informacyjne: Excel i VBA Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Makra w pakiecie Excel, część 1: język VBA. 1/41 Co to makra?

Bardziej szczegółowo

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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wprowadzenie do programowania w VBA

Wprowadzenie do programowania w VBA Wprowadzenie do programowania w VBA Spis treści Struktura programu... 1 Typy danych... 2 Deklaracja zmiennych i stałych... 2 Deklaracja tablic... 3 Instrukcja przypisania... 3 Wprowadzanie danych... 3

Bardziej szczegółowo

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

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych. Złożone typy danych - TABLICE TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych. * Może przechowywać dowolny typ danych, typ

Bardziej szczegółowo

Visual Basic for Applications. Wstęp

Visual Basic for Applications. Wstęp Visual Basic for Applications Materiały źródłowe: http://www.vbamania.estrefa.pl 2008-01-14 Wstęp Visual Basic for Applications to język programowania, dołączony do wielu aplikacji. Wspierają go między

Bardziej szczegółowo

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Pętle 1 Program wykładu Pojęcie pętli Pętla FOR Pętla DO LOOP Pętle zagnieżdżone 2 Pojęcie pętli Suma lub iloczyn dowolnych n liczb wprowadzanych

Bardziej szczegółowo

Arkusze kalkulacyjne i VBA

Arkusze kalkulacyjne i VBA Arkusze kalkulacyjne i VBA Uniwersytet Łódzki Wydział Matematyki i Informatyki Justyna Walewska Lekcja 4. Okna dialogowe oraz dodatkowe informacje Studia Podyplomowe Analiza danych i data mining Rok akademicki

Bardziej szczegółowo

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS Program szkoleniowy Microsoft Excel VBA Poziom Podstawowy 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS 1. Nagrywanie makr Procedura nagrywania makra Nadanie odpowiedniej nazwy Przypisanie

Bardziej szczegółowo

Tablice. Jones Stygar na tropie zmiennych

Tablice. Jones Stygar na tropie zmiennych Tablice Jones Stygar na tropie zmiennych Czym jest tablica? Obecnie praktycznie wszystkie języki programowania obsługują tablice. W matematyce odpowiednikiem tablicy jednowymiarowej jest ciąg (lub wektor),

Bardziej szczegółowo

Arkusze kalkulacyjne i VBA

Arkusze kalkulacyjne i VBA Arkusze kalkulacyjne i VBA Uniwersytet Łódzki Wydział Matematyki i Informatyki Justyna Walewska Lekcja 2. Dalsze elementy VBA Studia Podyplomowe Analiza danych i data mining Rok akademicki 2018/19 Zmienne

Bardziej szczegółowo

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne A. Permutacja losowa Matematyka dyskretna - wykład - część 2 9. Podstawowe algorytmy kombinatoryczne Załóżmy, że mamy tablice p złożoną z n liczb (ponumerowanych od 0 do n 1). Aby wygenerować losową permutację

Bardziej szczegółowo

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 1 Programowanie 1 Program wykładu Struktura programu Instrukcja przypisania Wprowadzanie danych Wyprowadzanie wyników Instrukcja

Bardziej szczegółowo

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY.

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY. Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY SZKOLENIE JEST DLA OSÓB, KTÓRE: chcą podnieść swoje umiejętności pracy w języku VBA do poziomu średniozaawansowanego, nigdy wcześniej

Bardziej szczegółowo

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.

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. 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. Sub Hasla1() Dim wzor_hasla As String Dim haslo As String Dim adres

Bardziej szczegółowo

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC T. Zię b a k o ws k i: P ROG R A MO W A N I E M A K R... strona 1 PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC W programie Microsoft Excel można często powtarzane czynności zautomatyzować

Bardziej szczegółowo

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

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański

Bardziej szczegółowo

Pętle instrukcje powtórzeo

Pętle instrukcje powtórzeo Pętle instrukcje powtórzeo Pętle - zbiór instrukcji, które należy wykonad wielokrotnie. Program dyktuje: - ile razy pętla ta wykona zawarty w niej blok instrukcji - jakie mają byd warunki zakooczenia jej

Bardziej szczegółowo

Makra VBA w Excelu dla początkujących

Makra VBA w Excelu dla początkujących Makra VBA w Excelu dla początkujących Informacje o usłudze Numer usługi 2016/10/04/5015/19680 Cena netto 870,00 zł Cena brutto 1 070,10 zł Cena netto za godzinę 62,14 zł Cena brutto za godzinę 76,43 Usługa

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji

Bardziej szczegółowo

2.1 Funkcje - na przykładzie wyceny europejskiej

2.1 Funkcje - na przykładzie wyceny europejskiej Rozdział 2 Funkcje, pętle i tablice 2.1 Funkcje - na przykładzie wyceny europejskiej opcji kupna Aby zastosować nasz wzór do wyceny opcji (1.2) z Sekcji 1.2 musimy w szczególności umieć obliczyć w VBA

Bardziej szczegółowo

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

Instrukcje cykliczne (pętle) WHILE...END WHILE Instrukcje cykliczne (pętle) Pętle pozwalają na powtarzanie fragmentu kodu programu. PĘTLE LOGICZNE WHILE...END WHILE While (warunek)...... End While Pętla będzie się wykonywała dopóki warunek jest spełniony.

Bardziej szczegółowo

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

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych dr Piotr Sulewski POMORSKA AKADEMIA PEDAGOGICZNA W SŁUPSKU KATEDRA INFORMATYKI I STATYSTYKI Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych Wprowadzenie Obecnie bardzo

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Elektroenergetyki Technologie informatyczne

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Elektroenergetyki Technologie informatyczne Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Elektroenergetyki Technologie informatyczne Microsoft Excel Ćw. 5 1. Wstęp 1.1. Wprowadzenie do języka VBA Zaimplementowany w MS Excel

Bardziej szczegółowo

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY. Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY SZKOLENIE JEST DLA OSÓB, KTÓRE: nigdy wcześniej nie programowały lub nie miały styczności z programowaniem od dłuższego czasu,

Bardziej szczegółowo

Visual Basic for Application (VBA)

Visual Basic for Application (VBA) Visual Basic for Application (VBA) http://dzono4.w.interia.pl Książka Visual Basic dla aplikacji w Office XP PL, autorzy: Edward C. Willett i Steve Cummings, Wyd. Helion Typy zmiennych Różne dane różnie

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 7 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji

Bardziej szczegółowo

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC T.Z iębakows ki: PROGRAMOWAN I E MAK R... strona 1 PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC W programie Microsoft Excel można często powtarzane czynności zautomatyzować przy użyciu tzw.

Bardziej szczegółowo

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 3. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 3 1 Program wykładu Zapis danych do arkusza Odczyt danych z arkusza Funkcja MsgBox 2 Instrukcje wejścia/wyjścia Niezbędnym elementem

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania, SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Wykład 3 1 SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Przykład Bingo 2 Treść przykładu Jak wygląda karta do

Bardziej szczegółowo

Technologia informacyjna programowanie Janusz Uriasz

Technologia informacyjna programowanie Janusz Uriasz Technologia informacyjna programowanie Janusz Uriasz 2. Programowanie 2.1. Struktura programu, edycja, kompilacja, uruchomienie programu. Śledzenie programu VB- cd Składowe programu Procedura jest bardzo

Bardziej szczegółowo

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

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Obliczenia równoległe w Microsoft Visual Basic Środowisko Microsoft Visual Studio 2010 i nowsze umożliwia zrównoleglenie obliczeń na wiele rdzeni procesorów. Służą do tego odpowiednie metody dostępne wraz

Bardziej szczegółowo

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 2 Programowanie 1 Program wykładu Typy danych Wyrażenia Operatory 2 VBA Visual Basic dla aplikacji (VBA) firmy Microsoft jest językiem

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego wykład 2 // na poprzednim wykładzie: using System; namespace ConsoleApplication1 class Program Console.Write("Podaj liczbę > "); // wczytywanie int x = int.parse(console.readline());

Bardziej szczegółowo

Aplikacje w środowisku VBA. Visual Basic for Aplications

Aplikacje w środowisku VBA. Visual Basic for Aplications Aplikacje w środowisku VBA Visual Basic for Aplications Podstawowe informacje o VBA Visual Basic for Aplications, w skrócie VBA, to język programowania rozwijany przez Microsoft, którego zastosowanie pozwala

Bardziej szczegółowo

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki INFORMATYKA Z MERMIDONEM Programowanie Moduł 5 / Notatki Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Realizator projektu: Opracowano w ramach projektu

Bardziej szczegółowo

Maxima i Visual Basic w Excelu

Maxima i Visual Basic w Excelu 12 marca 2013 Maxima - zapoznanie z programem Maxima to program - system algebry komputerowej. Podstawowa różnica w stosunku do klasycznych programów obliczeniowych jest możliwość wykonywania obliczeń

Bardziej szczegółowo

Liczby losowe i pętla while w języku Python

Liczby losowe i pętla while w języku Python Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak

Bardziej szczegółowo

Programowanie dynamiczne cz. 2

Programowanie dynamiczne cz. 2 Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy

Bardziej szczegółowo

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 4. Instrukcja warunkowa.

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 4. Instrukcja warunkowa. Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 4. Instrukcja warunkowa. Celem ćwiczenia jest nabycie umiejętności wykorzystania w praktyce instrukcji warunkowych programowania

Bardziej szczegółowo

VBA praca z makrami w Excelu: piszemy kod! Ulepszamy program! 0. Parę uwag o samym edytorze

VBA praca z makrami w Excelu: piszemy kod! Ulepszamy program! 0. Parę uwag o samym edytorze VBA praca z makrami w Excelu: piszemy kod! Ulepszamy program! 0. Parę uwag o samym edytorze Ustawienia Edytora VB Wymuszanie deklarowania zmienny Wyłączenie ostrzeżeń o błędnej składni Włączanie/wyłączanie

Bardziej szczegółowo

Visual Basic for Application (VBA)

Visual Basic for Application (VBA) Visual Basic for Application (VBA) http://dzono4.w.interia.pl Książka Visual Basic dla aplikacji w Office XP PL, autorzy: Edward C. Willett i Steve Cummings, Wyd. Helion Typy zmiennych Różne dane różnie

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

MS Excel. 1. JEŻELI - funkcja służąca do testowania warunków logicznych. Składnia: JEŻELI(warunek_logiczny; wartość_dla_prawdy; wartość_dla_fałszu)

MS Excel. 1. JEŻELI - funkcja służąca do testowania warunków logicznych. Składnia: JEŻELI(warunek_logiczny; wartość_dla_prawdy; wartość_dla_fałszu) MS Excel 1. JEŻELI - funkcja służąca do testowania warunków logicznych Składnia: JEŻELI(warunek_logiczny; wartość_dla_prawdy; wartość_dla_fałszu) W warunku logicznym wykorzystywane są logiczne operatory

Bardziej szczegółowo

VISUAL BASIC W EXCELU

VISUAL BASIC W EXCELU 1. CEL ĆWICZENIA Celem ćwiczenia jest zapoznanie się z podstawami używania makr w MS Excel oraz składni języka skryptowego VBA (Visal Basic for Application). 2. MATERIAŁ NAUCZANIA Makro w najszerszym znaczeniu

Bardziej szczegółowo

Visual Basic for Application (VBA)

Visual Basic for Application (VBA) Visual Basic for Application (VBA) http://dzono4.w.interia.pl Książka Visual Basic dla aplikacji w Office XP PL, autorzy: Edward C. Willett i Steve Cummings, Wyd. Helion http://www.mielk.pl/pl/kursy/kursy.php

Bardziej szczegółowo

Makropolecenia w PowerPoint Spis treści

Makropolecenia w PowerPoint Spis treści Makropolecenia w PowerPoint Spis treści Co to jest makro?... 2 Tworzenie prostego makropolecenia w PowerPoint... 2 Przypisywanie makropoleceń do wstążki.... 5 Zapisywanie prezentacji z makrem.... 7 ZADANIE...

Bardziej szczegółowo

Ćwiczenie 1 Obsługa makr

Ćwiczenie 1 Obsługa makr Ćwiczenie 1 Obsługa makr Celem ćwiczenia jest pokazanie podstaw pracy z makrami w MS Excel. Makra można tworzyć szybko nagrywać - bez koniecznej znajomości języka Visual Basic, w którym zapisywane jest

Bardziej szczegółowo

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE.

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE. Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE SZKOLENIE JEST DLA OSÓB, KTÓRE: znają program Microsoft Excel na poziomie średniozaawansowanym, chcą poznać ogólne zasady tworzenia

Bardziej szczegółowo

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach Tablice Powiedzmy, że chcemy zapamiętać w programie

Bardziej szczegółowo

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ Mariusz Jankowski autor strony internetowej poświęconej Excelowi i programowaniu w VBA; Bogdan Gilarski właściciel firmy szkoleniowej Perfect And Practical;

Bardziej szczegółowo

Analiza algorytmów zadania podstawowe

Analiza algorytmów zadania podstawowe Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą

Bardziej szczegółowo

Rozwiązywanie problemów z użyciem Solvera programu Excel

Rozwiązywanie problemów z użyciem Solvera programu Excel Rozwiązywanie problemów z użyciem Solvera programu Excel Podstawowe czynności: aktywować dodatek Solver oraz ustawić w jego opcjach maksymalny czas trwania algorytmów na sensowną wartość (np. 30 sekund).

Bardziej szczegółowo

AUTOMATYZACJA PRACY Z UŻYCIEM MAKR. Tom XII NPV WSP.KORELACJI ROZKŁ.EXP JEŻELI COS KOMÓRKA VBA DNI.ROBOCZE ILOCZYN LOG SUMA CZY.

AUTOMATYZACJA PRACY Z UŻYCIEM MAKR. Tom XII NPV WSP.KORELACJI ROZKŁ.EXP JEŻELI COS KOMÓRKA VBA DNI.ROBOCZE ILOCZYN LOG SUMA CZY. z a a w a n s o w a n y AUTOMATYZACJA PRACY Z UŻYCIEM MAKR VBA NPV WSP.KORELACJI ROZKŁ.EXP KOMÓRKA CZY.LICZBA JEŻELI COS DNI.ROBOCZE ILOCZYN LOG SUMA Tom XII Autorzy: Piotr Dynia, Jakub Kudliński Kierownik

Bardziej szczegółowo

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

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu

Bardziej szczegółowo

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

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych 2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:

Bardziej szczegółowo

Podstawy programowania. Podstawy C# Tablice

Podstawy programowania. Podstawy C# Tablice Podstawy programowania Podstawy C# Tablice Tablica to indeksowany zbiór elementów Tablica jest typem referencyjnym (deklaracja tworzy tylko referencję, sama tablica musi być utworzona oddzielnie, najprościej

Bardziej szczegółowo

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie. Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy

Bardziej szczegółowo

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA 1 Rozdział 1 Praca z makropoleceniami Opis: W tym rozdziale kursanci przechodzą przez wprowadzenie do programowania

Bardziej szczegółowo

Podstawowym zadaniem, które realizuje

Podstawowym zadaniem, które realizuje Funkcje wyszukiwania i adresu INDEKS Mariusz Jankowski autor strony internetowej poświęconej Excelowi i programowaniu w VBA; Bogdan Gilarski właściciel firmy szkoleniowej Perfect And Practical; Pytania:

Bardziej szczegółowo

3. Podstawy programowania w MS EXCEL

3. Podstawy programowania w MS EXCEL 3. Podstawy programowania w MS EXCEL sz: mia Applications, struktury, MS Excel. 3.1. Wprowadzenie Kolejne edycje pakietów biurowych, aplikacji bazodanowych czy pakietów statystycznych aktualnie, Bardzo

Bardziej szczegółowo

Excel 2010 PL. Formuły.

Excel 2010 PL. Formuły. Excel 2010 PL. Formuły. Autor: John Walkenbach Wykorzystaj wszystkie możliwości drzemiące w formułach! Jak tworzyć formuły finansowe, tablicowe i tekstowe? Jak napisać własne funkcje arkusza w języku VBA?

Bardziej szczegółowo

Visual Basic dla AutoCAD

Visual Basic dla AutoCAD Visual Basic dla AutoCAD 1. Programowanie Język programowania to sztuczny język przeznaczony do zapisu algorytmów, w taki sposób, aby mogły one być wykonywane przez komputer. Język programowania charakteryzuje

Bardziej szczegółowo

Automatyzacja pracy w AutoCAD

Automatyzacja pracy w AutoCAD Automatyzacja pracy w AutoCAD 1 Informacje wstępne BASIC (Beginners All-Purpose Symbolic Instruction Code) Rok powstania: 1963 r. Cel realizacji: nauczanie studentów programowania umożliwienie programowania

Bardziej szczegółowo

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne 1 Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,

Bardziej szczegółowo

PROGRAMOWANIE W EXCELU W JĘZYKU VISUAL BASIC FOR APPLICATIONS

PROGRAMOWANIE W EXCELU W JĘZYKU VISUAL BASIC FOR APPLICATIONS ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY INSTYTUT TECHNOLOGII MECHANICZNEJ PROGRAMOWANIE W EXCELU W JĘZYKU VISUAL BASIC FOR APPLICATIONS mgr Tadeusz Ziębakowski Szczecin 2009 T.Ziębakowski PROGRAMOWANIE

Bardziej szczegółowo

Lista, Stos, Kolejka, Tablica Asocjacyjna

Lista, Stos, Kolejka, Tablica Asocjacyjna Lista, Stos, Kolejka, Tablica Asocjacyjna Listy Lista zbiór elementów tego samego typu może dynamicznie zmieniać rozmiar, pozwala na dostęp do poszczególnych elementów Typowo dwie implementacje: tablicowa,

Bardziej szczegółowo

2. Wstaw przyciski: a. wykonujące funkcje z ćwiczenia 1 b. zastosuj różnorodne właściwości dla przycisku

2. Wstaw przyciski: a. wykonujące funkcje z ćwiczenia 1 b. zastosuj różnorodne właściwości dla przycisku MAKRA W EXCEL-u 1. Pierwsza funkcja użytkownika Wybieramy z menu: "NARZĘDZIA/MAKRA/EDYTOR VISULA BASIC", a następnie wstawmy moduł makr - menu: "INSERT/MODULE". Moduł to taki arkusz w którym są przechowywane

Bardziej szczegółowo

VBA-podstawy cz. 1. Począwszy od wersji Office 2010 skoroszyty Excel wsparte makrami VB mają rozszerzenie.xlsm

VBA-podstawy cz. 1. Począwszy od wersji Office 2010 skoroszyty Excel wsparte makrami VB mają rozszerzenie.xlsm VBA-podstawy cz. 1 1. Uwagi historyczne Nazwa BASIC pochodzi od słów "Beginner s All-purposes Symbolic Instruction", oznacza nazwę języka programowania, który powstał na początku lat 60-tych. Pierwotnie

Bardziej szczegółowo

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

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Funkcje Tablicowe podstawy

Funkcje Tablicowe podstawy Funkcje Tablicowe podstawy Funkcje Tablicowe są dość rzadko używane w biznesie, a pomocne przede wszystkim w przypadku zaawansowanych obliczeń matematycznych i statystycznych. Lekcja ta ograniczy się tylko

Bardziej szczegółowo

Makropolecenia w Excelu

Makropolecenia w Excelu Makropolecenia w Excelu Trochę teorii Makropolecenie w skrócie nazywane makro ma za zadanie automatyczne wykonanie powtarzających się po sobie określonych czynności. Na przykładzie arkusza kalkulacyjnego

Bardziej szczegółowo

Excel. Tworzenie zaawansowanych aplikacji.

Excel. Tworzenie zaawansowanych aplikacji. Excel. Tworzenie zaawansowanych aplikacji. Autor: Sergiusz Flanczewski Zmierz się z Excelem! Narzędzia automatyzacji prac w Excelu, czyli czego można pozbyć się od ręki Przekazywanie danych pomiędzy procedurami,

Bardziej szczegółowo

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()

Bardziej szczegółowo

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

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej. Formularze VBA Przykład1 INTERAKTYWNY FORMULARZ Program tworzący interaktywny formularz. Objaśnienie: w dowolnym momencie można wprowadzić wartość w polu tekstowym ID, Excel VBA wczytuje odpowiedni rekord.

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

Obsługa blędów i zewnętrznych plików

Obsługa blędów i zewnętrznych plików Obsługa blędów i zewnętrznych plików Rafał Zduńczyk Programowanie arkuszy kalkulacyjnych 2017 Wyłapanie błędu Sub error1() Dim x, y, z x = InputBox("x:") y = InputBox("y:") On Error GoTo handler1 On Error

Bardziej szczegółowo

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

Wyszukiwanie największej spośród czterech liczb. Przykładowe rozwiązanie Wyszukiwanie największej spośród czterech liczb Użytkownik podaje cztery liczby rzeczywiste. Podaj algorytm znajdowania największej spośród nich. (Np.: po wprowadzeniu liczb: 12 7 18.5 9 program powinien

Bardziej szczegółowo

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych Laboratorium Programowania Kart Elektronicznych Programowanie BasicCard Marek Gosławski Przygotowanie do zajęć dokumentacja ZeitControl BasicCard środowisko programistyczne karta BasicCard Potrzebne wiadomości

Bardziej szczegółowo

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to

Bardziej szczegółowo

Palindromy. Przykładowe rozwiązanie

Palindromy. Przykładowe rozwiązanie Palindromy Palindromem (z greckiego) nazywamy wyraz, który tak samo brzmi, gdy jest czytany wspak. Palindromami są na przykład takie wyrazy, jak kajak, zaraz, oko, zakaz, mam itp. Użytkownik wprowadza

Bardziej szczegółowo

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

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

PODSTAWY VBA Rinat Szepe (21.02.2013)

PODSTAWY VBA Rinat Szepe (21.02.2013) Programowanie w VBA pozwala stworzyć MAKRA, które automatyzują pewne procesy/zadania, które chcemy wykonać w Excelu. Szczególnie przydatne w symulacjach. 1. NAGRYWANIE MAKRA. Załóżmy, że chcemy stworzyć

Bardziej szczegółowo

Wstęp do systemów wielozadaniowych laboratorium 19 awk

Wstęp do systemów wielozadaniowych laboratorium 19 awk Wstęp do systemów wielozadaniowych laboratorium 19 awk Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-01-08 Język programowania do pracy z bazami danych (w formie

Bardziej szczegółowo

Część I: Przypisanie makr do obiektu (przycisku).

Część I: Przypisanie makr do obiektu (przycisku). Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 2. Przypisanie makr do przycisku. Procedury i funkcje. Celem ćwiczenia jest przedstawienie możliwości uruchamiania makr

Bardziej szczegółowo

Parę uwag, uzupełnień

Parę uwag, uzupełnień Parę uwag, uzupełnień Konstrukcja With End With Konstrukcja With End With With Worksheets("Arkusz1").Range("A1:B20").Interior.Color = RGB(255,0,0).Font.Underline = True.Font.Name = "Freestyle Script End

Bardziej szczegółowo

Ekonometria. Regresja liniowa, współczynnik zmienności, współczynnik korelacji liniowej, współczynnik korelacji wielorakiej

Ekonometria. Regresja liniowa, współczynnik zmienności, współczynnik korelacji liniowej, współczynnik korelacji wielorakiej Regresja liniowa, współczynnik zmienności, współczynnik korelacji liniowej, współczynnik korelacji wielorakiej Paweł Cibis pawel@cibis.pl 23 lutego 2007 1 Regresja liniowa 2 wzory funkcje 3 Korelacja liniowa

Bardziej szczegółowo

Excel w obliczeniach naukowych i inżynierskich. Wydanie II.

Excel w obliczeniach naukowych i inżynierskich. Wydanie II. Excel w obliczeniach naukowych i inżynierskich. Wydanie II. Autor: Maciej Gonet Sprawdź, jak Excel może pomóc Ci w skomplikowanych obliczeniach! Jak za pomocą arkusza rozwiązywać zaawansowane zadania matematyczne?

Bardziej szczegółowo

VBA praca z makrami w Excelu

VBA praca z makrami w Excelu VBA praca z makrami w Excelu Dariusz Aksamit Wydział Fizyki Politechniki Warszawskiej Szkolenie Programowanie w języku Visual Basic for Application (VBA) Zajęcia 1 i 2 VBA praca z makrami w Excelu 1. Jak

Bardziej szczegółowo

Działki Przygotowanie organizacyjne

Działki Przygotowanie organizacyjne Celem poniższego ćwiczenia jest nauczenie rozwiązywania zadań maturalnych z wykorzystaniem arkusza kalkulacyjnego. Jako przykład wykorzystano zadanie maturalne o działkach z matury w 2015 roku. Działki

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za

Bardziej szczegółowo