Algoritmalar dersinde bizden aşağıdaki aşamaları uygulayarak bir makro yazmamız istendi ancak beceremedim.
5. SUB.0 (Verilen_Karakter_Dizisi_İçin_Permütasyonları_Türet): Çalışma kitabının içinde permütasyon hesaplayan iki Sub Procedureı kullanarak bu harflerden oluşturulabilir tüm permütasyonları ilk permütasyonu {adınızdaki karakter sayısı +3} satırında olacak şekilde A sütununda oluşturmasını sağlayınız. Bu permutasyonlarda harflerin tekrar etmesine izin veriniz. Örneğin ADRIANA için AAADRIN geçerli bir permutasyondur.
6. SUB.1(Tekrarlı_Harfleri_Ayıkla): Bir başka Sub Procedure adınızdaki harflerin aynı olanlarını ayıklasın. Mesela: MUZAFFER için MUZAFER veya ADRIANA için ADRIN şeklinde.
7. SUB.2 (Hazırlık_Süreleri_Türet): Tekrarlı olmayan adınızdaki harfler işlerin kodları olsun. Bir işten diğerine geçiş için tezgahlarda harcanan zamanları aşağıdaki şekilde rassal olarak türeten bir Sub Procedure oluşturunuz: =RASTGELEARADA(0,KOD(SOLDAN($A$1,1))). Rasgelearada(..) işlevi volatile yani değişime tabi olduğu için bu türetme işleminden sonra sayıları kendi üzerine yapıştırınız. Köşegen üzerindeki süreleri 0 olarak atayınız. Yani permutasyonda MUZAFFER için toplam setup timelar hesaplanırken FF için 0 kullanılsın. Veya AAADRIN için AA diziliminin süresi 0 olsun.
8. SUB.3 (Permütasyonları_Parçala): Her permütasyonun yanına içinde yer alan harfleri aynı sıra ile tek tek hücrelere parçalayarak yazınız. Bu sütunların üzerinde 1den Len(Ad)+1e kadar sıra sayıları yer alsın. Permütasyonun son parçası listedeki ilk işi temsil eden harfi göstermeli (Len(Ad)+1 sütunu).
9. SUB.4 (Toplam_Setup_Time_Hesapla): Permütasyonun parçalarının bitim sütunundan hemen sonraki sütunun başında TopSetup yazmalı. Ayrıca her permütasyonun toplam setup timeı bulunduğu satırla TopSetup sütununun kesiştiği hücreye hesaplanarak yerleştirilmelidir.
10. SUB.5 (En_Kısa_Setup_Time_Bul): Bunun için permütasyonların da bulunduğu veri bloğu komple seçilerek TopSetup sütununundaki değerlere göre küçükten büyüğe sıralama yaptırılır. Bunun için excelin sort (sırala) işlevlerinden yararlanılır. En küçük setup timeı veren çözümler listenin en üstünde görüntülenir. Bunlar renklendirilir.
11. SUB.6 (MyBigSortMacro) Yukarıdaki işlevleri adım adım çalıştırır. Çalışma sayfası üzerinde A sütunu üzerindeki ÇÖZ butonu bu makroyu çalıştırır.
12. A1 hücresindeki isim değiştirildiğinde ÇÖZ butonuna basıldığında bir önceki çalışmadan formatlama dahil kirlilik kalmamasına dikkat edilir.
http://hizliresim.com/B8qk2Q
5. SUB.0 (Verilen_Karakter_Dizisi_İçin_Permütasyonları_Türet): Çalışma kitabının içinde permütasyon hesaplayan iki Sub Procedureı kullanarak bu harflerden oluşturulabilir tüm permütasyonları ilk permütasyonu {adınızdaki karakter sayısı +3} satırında olacak şekilde A sütununda oluşturmasını sağlayınız. Bu permutasyonlarda harflerin tekrar etmesine izin veriniz. Örneğin ADRIANA için AAADRIN geçerli bir permutasyondur.
6. SUB.1(Tekrarlı_Harfleri_Ayıkla): Bir başka Sub Procedure adınızdaki harflerin aynı olanlarını ayıklasın. Mesela: MUZAFFER için MUZAFER veya ADRIANA için ADRIN şeklinde.
7. SUB.2 (Hazırlık_Süreleri_Türet): Tekrarlı olmayan adınızdaki harfler işlerin kodları olsun. Bir işten diğerine geçiş için tezgahlarda harcanan zamanları aşağıdaki şekilde rassal olarak türeten bir Sub Procedure oluşturunuz: =RASTGELEARADA(0,KOD(SOLDAN($A$1,1))). Rasgelearada(..) işlevi volatile yani değişime tabi olduğu için bu türetme işleminden sonra sayıları kendi üzerine yapıştırınız. Köşegen üzerindeki süreleri 0 olarak atayınız. Yani permutasyonda MUZAFFER için toplam setup timelar hesaplanırken FF için 0 kullanılsın. Veya AAADRIN için AA diziliminin süresi 0 olsun.
8. SUB.3 (Permütasyonları_Parçala): Her permütasyonun yanına içinde yer alan harfleri aynı sıra ile tek tek hücrelere parçalayarak yazınız. Bu sütunların üzerinde 1den Len(Ad)+1e kadar sıra sayıları yer alsın. Permütasyonun son parçası listedeki ilk işi temsil eden harfi göstermeli (Len(Ad)+1 sütunu).
9. SUB.4 (Toplam_Setup_Time_Hesapla): Permütasyonun parçalarının bitim sütunundan hemen sonraki sütunun başında TopSetup yazmalı. Ayrıca her permütasyonun toplam setup timeı bulunduğu satırla TopSetup sütununun kesiştiği hücreye hesaplanarak yerleştirilmelidir.
10. SUB.5 (En_Kısa_Setup_Time_Bul): Bunun için permütasyonların da bulunduğu veri bloğu komple seçilerek TopSetup sütununundaki değerlere göre küçükten büyüğe sıralama yaptırılır. Bunun için excelin sort (sırala) işlevlerinden yararlanılır. En küçük setup timeı veren çözümler listenin en üstünde görüntülenir. Bunlar renklendirilir.
11. SUB.6 (MyBigSortMacro) Yukarıdaki işlevleri adım adım çalıştırır. Çalışma sayfası üzerinde A sütunu üzerindeki ÇÖZ butonu bu makroyu çalıştırır.
12. A1 hücresindeki isim değiştirildiğinde ÇÖZ butonuna basıldığında bir önceki çalışmadan formatlama dahil kirlilik kalmamasına dikkat edilir.
http://hizliresim.com/B8qk2Q
