folder Tahribat.com Forumları
linefolder Delphi - Pascal
linefolder UZMAN Programcıyım Diyenlere SIKI Bi Soru...



UZMAN Programcıyım Diyenlere SIKI Bi Soru...

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    netsonic
    netsonic's avatar
    Kayıt Tarihi: 30/Ağustos/2003
    Erkek
    elinizde çözümlemeniz gereken bi algoritma var...
    bunu 2 farklı yoldan çözümlediniz...

    1. algoritmanız çözüme gidebilmek için n³ işlem yapıyo...

    2. algoritmanız çözüme gidebilmek için n² işlem yapıyo...

    Sonuçta 2. algoritmanın işlemciyi daha az yorduğu ve daha kısa zamanda çözüme ulaştığı görülüyo...

    Şimdik 2.ve 1. algoritmanın ayrı ayrı programını yazdık falan filan herneyse...Bu iki ayrı programın kaçar saniyede sonuca ulaştıklarını ayrı ayrı nası bulabiliriz...?

    Bunu ölçmek için programlar varmı...program hesaba başladıgında timer çalışcak ve bize sonucu verdiginde timer durcak...


    Hadin millet...;) sakın boyle bişi mumkun diil falan demeyin bu olayın yapıldıgını biliorum...



    ..
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    6E6F70656E
    6E6F70656E's avatar
    Kayıt Tarihi: 21/Eylül/2003
    Erkek
    algoritmanin basina bi gettickcount koyucan (a := gettickcount; mesela)

    bir de islemin bittigi yere (b:=gettickcount)

    ikisinin farki milisaniye cinsinden gecen zamani gosterir.

    biz bahriyeliler, çok çapkın oluruz..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    netsonic
    netsonic's avatar
    Kayıt Tarihi: 30/Ağustos/2003
    Erkek
    aha ok deniyim bi saol aradıgım bu olsa gerek

    ..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek
    en kolay yolu baslangic ve bitis arasindaki zamani olcmek ama bu tam anlamıyla hangi algoritmanin ii olduunu göstermez.

    n³ işlem yapan algoritma Nin boyutu ve yapilan isleme göre n² işlem yapandan daha ii olabilir. burda daha cok bunlari nerde kullancain onemlidir.


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CHaRMaNDeR
    CHaRMaNDeR's avatar
    Kayıt Tarihi: 05/Nisan/2003
    Erkek
    Eger chip programlayacaksan (ki pentium da bir chiptir) bunun hizi mikroislemcinin saat darbe hizina gore degisir.
    Mikroislemci icerisinde komutu isleyene kadar belli bir sure gecer. Bu sureyi uretici firma belirlemistir zaten. Yazdigin programdaki bu komutlarin toplam cycle süresini hesaplayacaksın. Ama eger programda hesaplayacaksan timer koyacaksin. (windows altinda ise timegettime apisini kullan).

    Düşünüyorum, o halde varım.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    blackbird
    blackbird's avatar
    Kayıt Tarihi: 24/Aralık/2003
    Erkek
    şöyle cevapyabilirm:
    -----
    var
    a,b,c,d:Integer;
    begin;
    d:=zamanlayici;
    a:=100;
    b:=500;
    c:=0;
    if a=100 then b:=300;
    else
    c:=a+b;
    table1.edit;
    table1zonuc:=(d);
    table1.post;
    close;
    end;
    ----
    şimdi d için bir zamanlayıcı koyarsan kaç saniye veya salisede bittigini anlarsın;
    bunuda database"e yazabilirisn...


    Çizmiş Ruhu Hisset...
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    netsonic
    netsonic's avatar
    Kayıt Tarihi: 30/Ağustos/2003
    Erkek
    blackbird yazdıgın sey sallama gibi geldi ne alaka simdi

    a 100 e esitse b=300 demissin...degilse c=a+b demissin...

    iyi de a zaten hep 100 e esit onun deeriyle oynanmamıski paso a=100 b=300 olcak...bi de programın basında b=500 demissin o da ne alaka b zaten hep 300 dür...

    kodunda mantıklı hiç bi olay goremedim...

    ..
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MartyN
    MartyN's avatar
    Kayıt Tarihi: 21/Aralık/2002
    Erkek
    uhahauh çok harika bi kod ya :)))))))))
    a:=100;
    b:=500;
    c:=0;
    if a=100 then b:=300;
    else
    c:=a+b;

    ya ben bu işten hiç çakmıyorum ya da bu kodu yazan arkadaş aşmış artık ne diyim.

    222 gün siteye giriş yapmayı unutan emekli admin.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    blackbird
    blackbird's avatar
    Kayıt Tarihi: 24/Aralık/2003
    Erkek
    ben yazdım sadece yarum sizin ama nezaman kanka olduk onu anlayamadım... yanlış olabilir hızlı ve çok az bir zamanda hiç deneyemeden yazdım...

    Çizmiş Ruhu Hisset...
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CLUMSY_WORM
    CLUMSY_WORM's avatar
    Kayıt Tarihi: 02/Ocak/2004
    Erkek
    hellooo. burda birisi zaman ayarli birseyler yapmaya mi calisiyor yoksa...ok cakozladim simdi.istedigin zaman devreye girecek yada devreden cikacak,bu zaman araliginda islemlerde olmus bitmis, yada dosyalar aktarilmis olacak hee.deniyelim bakalim ne oluyor.ama guzel dusunce

    CLUMSY WORM
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    netsonic
    netsonic's avatar
    Kayıt Tarihi: 30/Ağustos/2003
    Erkek
    bu zaman ölçme olayı uzman programcıların sıkça takip ettigi biseydir...

    mesela 3-5 için herangi bi işlem yapan program bu işi 1 sanıyede yapsa nolur 2 sanıyede yapsa ne olur..?veya 100-200 kişi olsun hadi...

    ama sen aynı programı 20.000 kişilik bi üniversite için yazdıysan;
    a)kötü algoritma bu işi her kişi için 2 saniyede yapıyosa==> 2*20.000=40 bin
    b)daha iyi algoritmayla yapıyosa ker kişi için 1 saniye dersek==>1*20.000=20 bin

    sonuç=40 bin- 20 bin=20 bin saniye zarar etmiş olursun

    20 bin saniye=5,5 saat daha fazla iş yapmış olursun

    5,5 saat çok uzun bi zaman o yüzden programı doğru yazmak kadar en hızlı calısan algoritmayı da en başta tespit etmek gerekir...

    nasıl zaman tutacağımızı bu yüzden sormuştum...

    Saygılar...

    ..
Toplam Hit: 3988 Toplam Mesaj: 12