Özyinelemeli Yapılar ve Fonksiyonların Hesaplanması

SonsuzUs Her şey › Category: Soru › Özyinelemeli Yapılar ve Fonksiyonların Hesaplanması
sonsuz Kurucu sordu 2 saat önce

Aşağıda üç adet karşılıklı özyinelemeli yapının sözdizim kuralları verilmiştir. Bu tanımlarda yer alan Ai, Bj, Ck ve • gibi semboller tanımlanan yapıların sözdizimlerinde yer almaktadırlar; fazla ya da eksik kullanılamazlar. T pozitif tamsayıları ifade etmektedir. Bu tanımlara uygun olarak oluşturulan ifadeleri aşağıdaki sorularda X1, X2 ve X3 nesneleri olarak adlandıracağız.

X1 = A0 • T veya A1 • X1 veya A2 • X2 veya A3 • X3
X2 = B0 • T veya B1 • X1 veya B2 • X2 veya B3 • X3
X3 = C0 • T veya C1 • X1 veya C2 • X2 veya C3 • X3

X1, X2 ve X3 nesneleri üzerinde aşağıdaki fonksiyonlar tanımlanmaktadır. Fonksiyonların parametrelerinin türleri parametreden sonra | ile belirtilmiştir ve T pozitif tamsayıları ifade etmektedir. Bu fonksiyon tanımlarında f1, f2, f3, g1, g2, g3, h1, h2, h3 fonksiyon adlarını; px1 ve px′1 X1 nesnelerini, px2 ve px′2 X2 nesnelerini, px3 ve px′3 X3 nesnelerini; n, n1 ve n2 ise pozitif tamsayıları göstermektedir. f1 ve g1 fonksiyonları X1 nesnelerini, f2 ve g2 fonksiyonları X2 nesnelerini, f3 ve g3 fonksiyonları X3 nesnelerini parametre olarak alıp (pozitif veya negatif) tamsayılar üretirken, h1, h2 ve h3 fonksiyonları ise iki adet pozitif tamsayıyı parametre olarak alıp, birincisi X1 nesnelerini, ikincisi X2 nesnelerini, üçüncüsü de X3 nesnelerini oluşturmaktadır. Tüm fonksiyonlar yukarıdan aşağıya doğru işleme alınmaktadır.

f1(px1 | X1) = n, px1 = A0 • n ise; f1(px′1) − 1, px1 = A1 • px′1 ise; f2(px′2) − 2, px1 = A2 • px′2 ise; f3(px′3) − 3, px1 = A3 • px′3 ise.

f2(px2 | X2) = n, px2 = B0 • n ise; f1(px′1) − 10, px2 = B1 • px′1 ise; f2(px′2) − 20, px2 = B2 • px′2 ise; f3(px′3) − 30, px2 = B3 • px′3 ise.

f3(px3 | X3) = n, px3 = A0 • n ise; f1(px′1) − 100, px3 = C1 • px′1 ise; f2(px′2) − 200, px3 = C2 • px′2 ise; f3(px′3) − 300, px3 = C3 • px′3 ise.

g1(px1 | X1) = n, px1 = A0 • n ise; 1 − g1(px′1), px1 = A1 • px′1 ise; 2 − g2(px′2), px1 = A2 • px′2 ise; 3 − g3(px′3), px1 = A3 • px′3 ise.

g2(px2 | X2) = n, px2 = B0 • n ise; 10 − g1(px′1), px2 = B1 • px′1 ise; 20 − g2(px′2), px2 = B2 • px′2 ise; 30 − g3(px′3), px2 = B3 • px′3 ise.

g3(px3 | X3) = n, px3 = C0 • n ise; 100 − g1(px′1), px3 = C1 • px′1 ise; 200 − g2(px′2), px3 = C2 • px′2 ise; 300 − g3(px′3), px3 = C3 • px′3 ise.

h1(n1 | T, n2 | T) = A0 • n2, n1 = 0 ise; A3 • h3(n1 − 1,n2), n1 mod 3 = 0 ise; A2 • h2(n1 − 1,n2), n1 mod 2 = 0 ise; A1 • h1(n1 − 1,n2), hiçbiri değilse.

h2(n1 | T, n2 | T) = B0 • n2, n1 = 0 ise; B3 • h3(n1 − 1,n2), n1 mod 3 = 0 ise; B2 • h2(n1 − 1,n2), n1 mod 2 = 0 ise; B1 • h1(n1 − 1,n2), hiçbiri değilse.

h3(n1 | T, n2 | T) = C0 • n2, n1 = 0 ise; C3 • h3(n1 − 1,n2), n1 mod 3 = 0 ise; C2 • h2(n1 − 1,n2), n1 mod 2 = 0 ise; C1 • h1(n1 − 1,n2), hiçbiri değilse.

f1(A3 • C2 • B2 • B1 • A1 • A2 • B3 • C3 • C1 • A0 • 0) işleminin sonucu nedir?

g1(A3 • C2 • B2 • B1 • A1 • A2 • B3 • C3 • C1 • A0 • 0) işleminin sonucu nedir?

f1(h1(5, 0)) işleminin sonucu nedir?

g1(h1(5, 0)) işleminin sonucu nedir?

f3(h3(3, f2(h2(2, f1(h1(1, 0)))))) işleminin sonucu nedir?

Cevapla