Oktober 25, 2010

Algorita Swap dengan Operasi Aritmatika

Dari judulnya saja bisa ditebak bahwa KuraKura akan membahas tentang 'algortima swap' atau tata cara untuk menukar nilai suatu variabel. Tapi algoritma yang akan saya bahas ini hanya dapat dilakukan pada variabel bilangan (real, integer dkk) karena teknik yang digunakan adalah operasi aritmatik. Dan algoritma ini sering keluar pada soal olimpiade komputer tingkat OSK ataupun OSP. Berikut penjelasannya



Algoritma Swap yang dilakukan dengan operasi aritmatik hanya memerlukan operator penjumlahan dan pengurangan. berikut contoh potongan programmnya




a:=10;
b:=5;
a:=b-a;
b:=b-a;
a:=a+b;

atau

a:=10;
b:=5;
b:=a-b;
a:=a-b;
b:=b+a;

KuraKura menyarankan untuk memahami cara kerja algoritma ini dan menghapal penuh cara kerjanya. Kenapa saya katakan dihapal penuh? karena jika kalian menghapal setengah-setengah dan menerka-nerka algoritma sewaktu menjawab soal olimpiade, kalian bisa saja salah, bisa saja soal nya di perbaharui dan sengaja digunakan untuk menjebak kalian yang sengaja menghapal algoritma ini namun 'setengah-setengah'. Jadi ingat! jangan pernah meremehkan soal, baca terlebih dahulu, mungkin saja soal yang dibuat memang sengaja untuk menjebak.

Inti dari postingan kali ini adalah : Pahami dan hapal! Jika menjawab soal yang 'mirip' seperti ini, pastikan codingan nya sama persis! :))


Bye! Salam KuraKura :)

2 komentar:

  1. maksud nya gmna kk???
    ko bisa a:=b-a;
    padahl a=10 b=5 kalo a:=b-a; bukanya 10=5-10 jd hasilnya -5 kan kk?????

    BalasHapus
    Balasan
    1. ya bener dong..
      soalnya kan gini nih
      a:=10;
      b:=5;
      a:=b-a;
      b:=b-a;
      a:=a+b;
      nah, a=b-a kan -5
      terus b=b-a --> berarti b=5-(-5)= 10
      habis itu a=(-5)+10 = 5 deh, selesai kan? :D

      Hapus