Katedra Informatyki Stosowanej WZ AGH

Informatyka programowanie w VBA

Kierunek
Zarządzanie i inżynieria produkcji, inżynierskie

Semestr
Lato 2016/2017

Literatura

  1. Carmen T. H., Leiserson C. E., Riverst R. L.: Wprowadzenie do algorytmów, WNT, Warszawa 2002.
  2. Jelen B., Syrstad T.: Microsoft Excel 2010 PL. Język VBA i makra. Akademia Excela, Helion, Gliwice 2011.
  3. Osyczka A., Jankowski R., Skalna I., Krajewski P.: Visual Basic dla Aplikacji, Uczelniane Wydawnictwa Naukowo-Dydaktyczne AGH, Kraków 2006.
  4. Kurs Visual Basic dla aplikacji

Cel
Celem zajęć jest nabycie umiejętności w zapisie problemów w postaci przydatnej dla realizacji komputerowej. Studenci będą umieli posługiwać się językiem programowania VBA. Szczególny nacisk jest położony na samodzielne tworzenie i testowanie programów.

Problemy do rozwiązania na zajęciach laboratoryjnych i jako praca domowa:

  1. Objętość i pole powierzchni kuli oraz walca.
  2. Wyznaczanie oporności zastępczej dwóch oporników połączonych szeregowo i równolegle.
  3. Suma dwóch ułamków zwykłych.
  4. Mniejsza (większa) z dwóch podanych liczb.
  5. Korzystając z definicji oliczyć wartość wyrażenia |a-b|.
  6. Obliczyć wartość funkcji sgn(x).
  7. Dane są dwie liczby. Opracuj algorytm wybierający większą z nich, w przypadku gdy są równe wypisz stosowny komunikat.
  8. Dane są cztery liczby. Opracuj algorytm sprawdzający czy suma 3 pierwszych równa się wartości czwartej.
  9. Wyznaczanie wartości funkcji takiej że:

  10. Zapisz algorytm rozwiązywania równania kwadratowego.
  11. Sprawdź, czy trójkąt o bokach a, b, c jest trójkątem prostokątnym (nie wiemy, który bok jest najdłuższy).
  12. Suma i iloczyn dowolnych n liczb wprowadzanych z klawiatury.
  13. Narysować schemat blokowy algorytmu wczytującego wprowadzane liczby. Po wprowadzeniu liczby 0 algorytm powinien podać sumy wprowadzonych liczb, dodatnich i ujemnych.
  14. Wylosować 3 liczby całkowite z przedziału 1-10; jeśli wszystkie 3 mają tę samą wartość wypisać komunikat „wygrałeś”, w przeciwnym razie – „przegrałeś”.
  15. Opracuj algorytm sumujący liczby większe od zadanej spośród n wprowadzonych.
  16. Opracuj algorytm zliczający liczby większe od zadanej spośród n wprowadzonych.
  17. Opracować algorytm i napisać program odpowiadający funkcji arkusza średnia.jeżeli.
  18. Znajdowanie największej z wczytywanych liczb.
  19. Znajdowanie największej z generowanych losowo liczb.
  20. Odchylenie standardowe.
  21. Znajdowanie największego elementu w wektorze.
  22. Wybór najmniejszego elementu w wektorze wraz z wyznaczeniem indeksu tego elementu.
  23. Wylosować dwa elementy wektora i zamienić miejscami.
  24. Odwrócenie ciągu elementów w wektorze.
  25. Porządkowanie liczb w wektorze (różne algorytmy sortowania).

Zaawansowane:

  1. Stablicować funkcję exp(10x2+3x) w przedziale (0,1).
  2. Stablicować funkcję y=x/(x2+5) w przedziale (x1, x2) z ustalonym krokiem.
  3. Obliczyć ln(1.5) korzystając z rozwinięcia w szereg:

  4. Obliczyć liczbę PI metodą Monte Carlo.
  5. Całka metodą trapezów (prostokątów) np. funkcji f(x)=x7 w przedziale <0,2>.
  6. Tablice dwuwymiarowe:
  7. • wygenerowanie macierzy kwadratowej i prostokątnej,
    • policzyć sumę na przekątnej,
    • policzyć sumę elementów większych od jakiejś liczby,
    • policzyć iloczyn w wybranej kolumnie lub wierszu, w parzystym wierszu,
    • znajdowanie największego elementu z macierzy.
    • wybór najmniejszego elementu w macierzy wraz z wyznaczeniem numeru wiersza i kolumny, w której ten element się znajduje.
    • deklaracja dynamiczna tablic,
    • mnożenie dwóch tablic.
  8. Funkcje:

  9. • silnia,
    • korzystając z powyższego obliczyć exp(3) jako:

    • i sin(PI/6) jako:

  10. Napisać program, który w n-elementowym (n>0) wektorze liczb całkowitych znajduje element występujący w nim najczęściej i liczbę tych wystąpień.
  11. Różne algorytmy sortowania danych w wektorze.
  12. Trzy proste algorytmy dla symetrycznego problemu komiwojażera.