Skip to content

Seygaa/Spreadsheet

Repository files navigation

Zadanie wykonane w ramach przedmiotu "Programowanie w Java". Szkielet aplikacji dostarczony był przez Pana Arkadiusza Sokołowskiego ( https://www.linkedin.com/in/arkadiusz-soko%C5%82owski-3a07862b/ ), prowadzącego zajęcia.

Zadanie do wykładu 2

Zadanie 1: Arkusz kalkulacyjny.

Zadanie polega na zaimplementowaniu obliczeń w prostym arkuszy kalkulacyjnym. Arkusz operuje tylko na liczbach całkowitych, w zakresie ograniczonym typem int.

W klase uj.pwj2020.spreadsheet.Spreadsheet Należy zaimplementować metodę calculate tak, aby operując na źródłowym arkuszu (przekazanym w paramtrze) zwróciła arkusz wynikowy, z wykonanymi obliczeniami. Tablica wejściowa zawiera kolejno: wiersze i kolumny.

Arkusz powinien obsługiwać następujące operacje:

  • wartość: jeśli komórka zawiera liczbę, należy ją po prostu zostawić.
  • referencja: jeśli komórka zaczyna się od znaku $, zawiera referencję do innej komórki. Referencje są zbudowane podobnie jak w Excelu, np zapis: $A1 oznacza pierwszą kolumnę (A), pierwszy wiersz (1). Zapis $C7 oznacza trzecią kolumnę, pierwszy wiersz.
  • formuła: jeśli komórka zaczyna się od znaku =, zawiera formułę. Każda formuła składa się ze znaku =, nazwy formuły, oraz dwóch oddzielonych przecinkiem parametrów w zwykłych nawiasach. Parametrem formuły może być tylko wartość lub referencja (ale nie inna formuła).

Istniejące formuły:

  • ADD - dodawanie obu parametrów,
  • SUB - odejmowanie parametrów,
  • MUL - mnożenie parametrów,
  • DIV - dzielenie całkowite parametrów,
  • MOD - reszta z dzielenia parametrów.

Arkusz nie będzie zawierał referencji cyklicznych (np komórka A1 odwołuje się do B2, a B2 znów do A1).

Przykład:

Dla arkusza:

1,2,3
4,5,6
$A1,$C1,$B3
=ADD(10,$A1),=SUB($C3,$A1),0

Wynik powinien wyglądać:

1,2,3
4,5,6
1,1,6
11,5,0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages