24 Aralık 2024 Salı English Abone Ol Giriş Yap

Katalog

2000 yılı sorunu için bir çözüm önerisi 000 yılı sorununu bsaca tekrarlamakta fayda var Bügısayar ıcat edüdıgınden berı yü hep üa basamak olarak kullanüdı ve 2000 yüına yaklaşüdıgı şu gunlerde yılın 4 basamağa çıkdrüma zorunlulugu doğdu Oysa, yıllar once bu ışle ugraşanlar, yılı 4 basamak olarak kullansalardı, tayamet hıç de kopmayacak ve dunya çapmda mılyarlarca dolar masraf yapılmasına neden olmayacdklardı Pekı bu olanak olmasına karşın, 4 basamak yenne 2 ba samak olarak kullamlmasında neden ısrar edüdı? Isrann tek nedenı tasarrnftu Yetmışlı yıllar ve oncesınde, bügısayar teknolojısı bugunku gıbı başdondurucu bır şekılde gelışmemekteydı Sıstemlenn belleklen ve kapasıtelen çok pahalı ve kısıt lı ıdı Burada bır ornek vermek gerekırse, o yülarda kullanmakta oldugumuz IBM 360/20 sıstemırun ana bellegı sadece 16KB ıdı (bugun bellek ıçın konuşulan en duşuk rakarnlar PC'lerde büe 16MB'tan başlıyor) ve bılgı gınşı kartlarla yapılıyordu Du rum boyle olunca program yazarken, şımdıkı gıbı bol keseden bellek ve kapasıte kullanılamıyordu Bır uygulama sıstemırun onlarca programdan oluştugu ve bügılerın depolanmak zorundd oldugu gozonune alırursa, bu darboğazı aşmanın tek yolu tasarruf yapmaktı O gunku şartlarda, bellek ve bılgı depolamada yılın 4 bdsamak yenne 2 basamak olarak alınması kayda değer bır tasarruftu donuştunüerek saklanmaktadır Bu nedenle, 2000'lı yülar üerledıkçe, verüerde saklanan 1900'lu yülar zamanla kaybolacak ve boylece alfabeük bügı ıçeren verüer de kendüıgınden kaybolacakür Bu çozum onerısının kullanüabümesı ıçın, saklanan ven lenn karakter olarak tanımldnmıs olması gerelar Çozume geçılırken de 1900'lu yülara aıt olan tum veıüeruı alfabetık şekle donuşturulmus olmdsı gerekır 2 buyuk sorunlardan bırı zaman Çunku kullanümakta olan programlann buyuk bır kısmında, 2000 yüı ıçın gereklı duzelt meler yapüması, yapüan duzeltmelenn dogrulugunu kontrol etmek ıçın test yapüması gerekmektedu Bu çözümün getireceği avantajlar: * Son lcullarucüar, yüı eskıden oldugu gıbı, yıne üa bdsamak olarak gırecekler Dolayısıyla bügı gınş ekranlannın ve lıste çüaşlannın tasanmlarında bır degışıklık yapümayacak * Uygulama programlanndakı tanh degışkenlerının ve structure'lann tanımlan degıstırümeyecektır * Uygulama programı ıçerısınde yapüan buyuk kuçuk eşıt ( > , < , = ) gıbı karşüaştırma ıslemlerı, hıçbır degısüdık yapmaya gerek kalmadan, dogru olarak çalışacakur * Sıralama ıslemlenndekı SORT FELDS tanımldn tanh sahalarının uzunlugu ve konumu değışmeyecegı ıçın aynı kalacaktrr Çuknrova Sanayi tfletmeler TJLŞ.'nde gehştırüen bu çozumumuzu bını dşkm programda uyguladık Sonuç olarak bu depremın şıddetını epeyce azaltmış olduk Çözüm Ha basamak olarak kullanüan yüın, 50 99 arasmda ıse, 1950 1999, 00 49 arasında ıse, 2000 2049 yülanna karşüık geldığı kabul edümıştır Yanı 1950 üe 2049 yülan drasınddkı tanhler ıçın geçerlıdır Bunun dışındakı tanhler ıçın geçerlı degüdır Bu çozum onensı, 50 99 (1950 1999) yülannın ük basamaklanmn dlfabetık olarak Kuüanıanm gırdığı bıçımdekı tanhı, saklamak uzete donuşturur Saklanmış Kullanım Verının bılgıyı ıse, kullanıcıya gostermek ıçın bılınen bıçımıne donuşturur Saklaruşı Yü Şeklı '2007991 şeklmde gelen tanhı 'E90720' şeklıne çevırır Aynı şekılde, 'E90720' şeklmde gelen tanhı '200799' şekhne çevırır A0 A9 1950 1959 5059 Tarihi alfabetik ya da sayısal arasında dönüştürme ve ters yevirme işlemi yapan servis modülü: Sonuç olardk olanaklar çok kısıüı oldugundan, programcılar yapabüeceklen her turlu tasarnıfu uyguldmak zorundaydılaı Şartlar boylp olunca da, bugun sozu edılen kıyametın tohumldn o gunlerde atıldı Yılın 2 basamak olarak kullarulması tum bügısayar sektorunde kural halıne geldı Bügısayar teknolojısı buyuk bır suratle üerledı Ozellüde bügısayara yenı başlayanlar, ellennde bol ve ucuz ımkanlar olmasına ragmen, bunlan kullanmayıp, yılı yıne 2, basamak olarak kullanmayı surdurduler Oysa bu ımkarüan zamanında kullanmış olsalardı, kendüenru bugunku kıyametın ıçınde bulmayacaklardı Sorun ortada Bu sorunun gıdenlmesı ıçın çozum ure tırken, mevcut programlarda olabüdıgınce az sayıda degısüdık yapmak amaçlanmaktadır Degısüdık sayısı arttücça, program başına harcanacak bakım zamanı artacagı gıbı, hata yapma olasüıgı da artacaktır Bu soylemden de anlaşüacagı gıbı, en 1960 1969 1970 1979 1980 1989 1990 • 1999 2000 2009 20102019 2020 2029 2030 2039 2040 2049 60 69 7079 80 89 9099 0009 10 19 2029 30 39 40 49 B0 B9 CO C9 D0 D9 E0 E9 00 09 10 19 20 29 30 39 40 49 SER203 PROC (GELENTARTH,GIDENTARrH,GY), DCL (GELENTARIH,GroENTARIH,TAMPON) CHAR(6), DCLGY CHAR(l) DCLDYHCHAR(2), TAMPON = GELENJTARIH, IFGY = 'G' /*GUNAYYILBIÇIMINDEGELMİŞ*/ THEN DO, CALL SER201(SUBSTR(TAMPON,5,2),DY1L), GIDENTARIH = DYTL » SUBSTR(TAMPON,3,2) n SUBSTR(TAMPON,1,2), END, IF GY = T /* YILAYGÜN BtÇÜMÎNDE GELM1Ş */ THEN DO, CALLSER201(SUBSTR(TAMPON,1 2),DYIL), GIDENTARIH SUBSTR(TAMPON,5,2) " SUBSTR(TAMPON,3,2) " DYIL, END, END SER203, kullanüması esasına dayanmaktadır Alfabetk degerler, sayısal degerlerden daha kuçuk oldugu ıçın, tanh sıralamdsmda bdşa geçmekte ve boylece tanh ıstedıgımız sıraya gırmektedır Dıkkat edüecek olursa, 2000'b yülar kullanım ve saklanma şeklıyle aynen korunmakta, sadece 1900'lu yüların ük basamagı Yılı dört basamağa çeviren servis modülü : Yüın dort basamak olarak kullanılmasını gerekoren durumlarda, (lısteye yazma ya da antmetık ıslem yapma gıbı) kullanüabüır SER202 PROC (YIL2.YIL4), DCLYTL2CHAR(2), DCLYIL4CHAR(4), DCLCYILCHAR(2), v '"> • ' f ', ' " SER201 PROC (YIL.CYIL), DCLYIL CHAR(2), DCL CYIL CHAR(2), Yılı alfabetik ya da sayısal arasında dönüştürme işlemi yapan servis modüli . , , IFYrL2>= 1 00'&YIL2<='49' v THEN • • " YIL4 ='20'ıı YIL2, ELSE rFYIL2>='50'&YrL2<='99' THEN YIL4 = '19'"YIL2, ELSE DO, '• CYIL = Y1L2, SELECT (SUBSTR(YIL2,1,1)); WHLN ('A') SUBSTR(CYIL,1,1) = '5', VVHEN ('B') SUBSTR(CY1L,1,1) = '6', WHEN('C')SUBSTR(CYIL,1,1) = '7', VVHEN ('D') SUBSTR(CY1L,1,1) = '8', VVHEN ('E') SUBSTR(CY1L,1,1) '9' OTHERW1SESUBSTR(CYIL,1,1) 'X', END, YIL4 = '19' ıı CYIL, END; END SER202, 648/4 CYIL = Y1L, IF CYIL >='00'& CYIL <='49' THEN, , ELSE ' ' '>>• IF CYIL > '50' & CYIL <= '99' THEN SELECT (SUBSTR(YIL 1 1)) VVHEN VVHEN VVHEN VVHEN VVHEN ('5') ('6') ('7') ('8') ('9') SUBSTR(CYIL 1,1) = SUBSTR(CYIL 11) = SUBSTR(CYIL 11) = SUBSTR(CY1L,1 1) = SUBSTR(CYIU1,1) • ' ' ' END ELSE SELECT (SUBSTR(Y1L 1 1)) VVHEN ('A') SUBSTR(CYIL 1 1) = '5', VVHEN ('B') SUBSTR(CYIL,1 1) = '6' VVHEN f C ) SUBSTR(CYIL 11) = '7', VVHEN ('D) SUBSTR(CY1L,1,1) = '8', VVHEN ('E') SUBSTR(CYIL,1 1) = '9' OTHERW1SESUBSTR(CYIL,1,1)= X' END, ENDSER201
Abone Ol Giriş Yap
Anasayfa Abonelik Paketleri Yayınlar Yardım İletişim English
x
Aşağıdaki yayınlardan bul
Tümünü seç
|
Tümünü temizle
Aşağıdaki tarih aralığında yayınlanmış makaleleri bul
Aşağıdaki yöntemler yoluyla kelimeleri içeren makaleleri bul
ve ve
ve ve
Temizle