Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Mini Projek : Registration System Student

Registration system student ini adalah sistem tambah, buang, kemas kini dan mencari pelajar. Ianya sangat mudah untuk dilakukan, lagi-lagi menggunakan Bootstrap. Jika berminat untuk pelajari tentang Bootstrap boleh terus ke laman Bootstrap iaitu di http://getbootstrap.com. Boleh juga belajar dari tutorial di youtube.

Jika nak test system itu di device anda, and boleh muat turun di mediafire (Registration.rar). Jika ada apa-apa cadangan boleh contact di facebook.




Mini Project Java : UiTM Fee Management System

Program ini untuk personal advisor student printkan slip yang patut dibayar oleh student mengikut pointer. Jika atas 3.5 ada diskaun yang akan diberi. Di samping itu program ini juga membolehkan personal advisor untuk search, delete, add dan edit student data. Di sebabkan semester ini kami perlu implement elemen data structure dalam mini projek, jadi saya menggunakan arraylist, linkedlist, stack dan queue dalam mini projek kami ini.
Tapi saya paling suka guna arraylist disebabkan senang dan mudah untuk digunakan untuk searching, deleting dan editing, kerana kita hanya perlu hantarkan index object tersebut ke arraylist untuk kita delete, search or edit.

Gambar dibawah adalah interface program programnya dan coding yg related to ArrayList, LinkedList, Stack, Queue:

ArrayList
LinkedList
Queue
Stack








Output that can be printed. :)


Mini Project : UiTM e-Class Reservation 2.0

UiTM e-Class Reservation 2.0 (alpha ver.)

Fungsinya diubah sedikit iaitu boleh printkan slip reservation sebagai bukti yang user telah tempah kelas. Selain itu boleh melihat kelas-kelas yang available dengan search tarikh yang ingin ditempah.

Ambil masa jugak nak buat algorithm untuk search class yang available dengan membandingkan dua table iaitu class timetable dengan reservation timetable. Lepas exam ini mungkin fungsinya akan ditambah lagi.

UiTM e-Class Reservation Link 1
UiTM e-Class Reservation Link 2






Tutorial Test Case

Tutorial untuk membuat test case kita sendiri. Mengenai tips-tips untuk membuat test case yang berkesan, boleh search di google. Definisi dari Wikipedia mengenai test case :
test case, in software engineering, is a set of conditions or variables under which a tester will determine whether an applicationsoftware systemor one of its features is working as it was originally established for it to do.
Jadi secara ringkasnya ianya hanya untuk menguji program kita sama ada ianya berfungsi seperti yang telah dirancang. Langkah-langkah untuk membuat test case adalah :

1) Buat program anda sendiri dan namakannya dengan nama yang sesuai. Sebagai contoh saya buat soalan di uva. Jadi namanya saya beri uva12646.java. Saya menggunakan java language.


2)Kemudian file yang akan inputkan ke program. Namakannya uva12646.in. ".in" tu saya buat merujuk kepada input.


3)Buat lagi satu file baru uva12646.ans. ".ans" itu merujuk kepada output sebenar yang sepatutnya akan dikeluarkan oleh program kita.


 4)Buat lagi satu file baru uva12646.out. ".out" itu merujuk kepada output yang akan dikeluarkan oleh program kita. Buat masa ini biarkan ianya kosong.



5)Kemudian buka terminal(linux)/command prompt(windows) anda. Dan pergi ke tempat anda save file uva12646.java, uva12646.in, uva12646.ans dan uva12646.out. Pastikan anda savekan file-file tersebut di tempat yang sama.


6)Kemudian compile program anda dengan command "javac uva12646.java".


7)Selepas itu inputkan file anda dengan uva12646.in dan outputkannya di file uva12646.out. "java uva12646 < uva12646.in > uva12646.out"

 

8)Kemudian anda boleh lihat di file uva12646.out untuk melihat output yang dikeluarkan oleh program anda. 


9)Kemudian kita bandingkan file uva12646.ans dan uva12646.out, adakah kedua-dua file itu sama nilainya. Jika sama ianya tidak akan keluarkan apa-apa. Untuk linux kita gunakan "diff", untuk windows kita gunakan "fc".



10) Kita cuba ubah sedikit nilai dalam file uva12646.in.



11)Kemudian kita bandingkan file uva12646.ans dan uva12646.out, adakah kedua-dua file itu sama nilainya dan ianya akan display bahawa ada nilai yang tak sama.


12)Kita boleh bandingkan dengan melihat fail uva12646.out dan uva12646.ans.




Itu sahaja tutorial yang dapat dikongsi.  Sekian.
11044 - Searching for Nessy

11044 - Searching for Nessy

Searching for Nessy 

The Loch Ness Monsteris a mysterious and unidentified animal said to inhabit Loch Ness, 
a large deep freshwater loch near the city of Inverness in northern Scotland. Nessie is usually categorized as a type of lake monster.

http://en.wikipedia.org/wiki/Loch_Ness_Monster


In July 2003, the BBC reported an extensive investigation of Loch Ness by a BBC team, using 600 separate sonar beams, found no trace of any ¨sea monster¨ (i.e., any large animal, known or unknown) in the loch. The BBC team concluded that Nessie does not exist. Now we want to repeat the experiment.


Given a grid of n rows and m columns representing the loch, 6$ \le$n, m$ \le$10000, find the minimum number s of sonar beams you must put in the square such that we can control every position in the grid, with the following conditions:

  • one sonar occupies one position in the grid; the sonar beam controls its own cell and the contiguous cells;
  • the border cells do not need to be controlled, because Nessy cannot hide there (she is too big).
For example,


$\textstyle \parbox{.5\textwidth}{
\begin{center}
\mbox{}
\epsfbox{p11044.eps}
\end{center}}$$\textstyle \parbox{.49\textwidth}{
\begin{center}
\mbox{}
\epsfbox{p11044a.eps}
\end{center}}$
\epsfbox{p11044b.eps}
where X represents a sonar, and the shaded cells are controlled by their sonar beams; the last figure gives us a solution.

Input 

The first line of the input contains an integer, t, indicating the number of test cases. For each test case, there is a line with two numbers separated by blanks, 6$ \le$n, m$ \le$10000, that is, the size of the grid (n rows and m columns).

Output 

For each test case, the output should consist of one line showing the minimum number of sonars that verifies the conditions above.

Sample Input 

 
3
6 6
7 7
9 13

Sample Output 

 
4
4
12

Cara untuk selesaikan masalah ini adalah dengan melihat kepada sonar beam itu yg mempunyai 3*3. Jadi kita perlu mencari banyak mana sonar beam yang diperlukan untuk memenuhi satu bentuk segi empat tepat tapi tidak kisah jika "border"nya tidak dipenuhi. Kita boleh tengok syarat-syaratnya disini :
  • one sonar occupies one position in the grid; the sonar beam controls its own cell and the contiguous cells;
  • the border cells do not need to be controlled, because Nessy cannot hide there (she is too big).
Jadi untuk selesaikannya kita perlu bahagikan row/3 dan column/3, tetapi jika ada perpuluhan, abaikan. Kita gunakan integer dalam problem ini. Setelah dibahagikan, kemudian darabkan kedua-dua jawapan tersebut. Cara ini saya dapat dengan brute force. :)

Solution :

2013 ACM-ICPC Malaysia National Programming Contest (QUESTION G-RICE SACK)

2013 ACM-ICPC Malaysia National Programming Contest (QUESTION G-RICE SACK)

G
RICE SACK

Problem Description

Several sacks of rice need to be transported to five Orphanage Houses. The heaviest sack will go
to Orphanage House Al-Ameen because it has the most number of orphanges. The lightest will
be sent to Orphanage House Mutiara due to the small number of children staying there.
Given a row of rice sacks, decide which sack goes to Al-Ameen?

Input

The first line is an integer that represent the number of case. The following lines have 5 integers
indicating the weights of 5 rice sacks, each separated by a blank. No sack will have a weight of
more than 100 unit.

Output

For each test case, the output contains a line in the format Case #x: followed by a sequence of
integers, where x is the case number (starting from 1) and an integer that indicates the weight of
a rice sack that will go to Al-Ameen.

Sample Input Output

Sample Input
4
1 6 10 5 20
5 10 25 3 1
30 15 5 1 8
7 4 20 50 5

Sample Output
Case #1: 20
Case #2: 25
Case #3: 30
Case #4: 50

Cara nak selesaikan Problem G ni adalah dengan cari nilai maksimum dari 5 nilai yang diberi.

Solution :