UNITY (programlama dili) - UNITY (programming language) - Wikipedia

BİRLİK tarafından oluşturulan bir programlama dilidir K. Mani Chandy ve Jayadev Misra kitapları için Paralel Program Tasarımı: Bir Temel. Odaklanan teorik bir dildir. ne, onun yerine nerede, ne zaman veya Nasıl. Dil hiçbir yöntem içermez akış kontrolü ve program ifadeler koşmak kararsız deyimler yürütme sırasında değişikliklere neden olmaktan çıkana kadar. Bu, otomatik pilot veya elektrik santrali güvenlik sistemleri gibi programların süresiz olarak çalışmasına ve ayrıca normalde sona erecek olan programların (burada bir sabit nokta ).

Açıklama

Tüm ifadeler ödevler ve ile ayrılır #. Bir ifade, formun birden çok atamasından oluşabilir a, b, c: = x, y, zveya a: = x || b: = y || c: = z. Ayrıca bir nicel ifade listesi, <# x, y: ifade :: Beyan>, burada x ve y, karşılayan değerler arasından rastgele seçilir ifade. Bir sayısal atama benzer. İçinde <|| x, y: ifade :: Beyan >, Beyan aynı anda yürütülür herşey çiftleri x ve y bu tatmin edici ifade.

Örnekler

Kabarcık sıralaması

Kabarcık sıralaması dizi, bitişik sayıları karşılaştırarak ve yanlış sıradaysa onları değiştirerek. Kullanma beklenen zaman, işlemciler ve beklenen iş. Sadece sahip olmanın nedeni beklenen zaman, bu mu k her zaman rastgele seçilir . Bu saygısızlık ile düzeltilebilir k manuel olarak.

Bubblesortdeclare programı n: tamsayı, A: dizi [0..n-1] başlangıçta n = 20 # <|| i: 0 <= i ve i  atama <# k: 0 <= k <2 :: <|| i: i% 2 = k ve 0 <= i  A [ i + 1]>> son

Sıra sıralaması

Sıralayabilirsin sıra sıralama ile zaman. İhtiyacın var işlemciler ve yapmak iş.

Program ranksortdeclare n: tamsayı, A, R: başlangıçta tamsayı dizisi [0..n-1] n = 15 # <|| i: 0 <= i  atama <|| i: 0 <= i > # <|| i: 0 <= i  son

Floyd – Warshall algoritması

Kullanmak Floyd – Warshall algoritması tüm çiftler en kısa yol algoritması, ara düğümleri yinelemeli olarak dahil ediyoruz ve zaman, kullanma işlemciler ve iş.

Program en kısa yol bildirimi n, k: tamsayı, D: başlangıçta tamsayıdan oluşan dizi [0..n-1, 0..n-1] # k = 0 # <|| i, j: 0 <= i  atama <|| i, j: 0 <= i  || k: = k + 1 eğer k 

Bunu daha da hızlı yapabiliriz. Aşağıdaki programlar tüm çiftlerin en kısa yolunu hesaplar zaman, kullanma işlemciler ve iş.

Program shortestpath2declare n: integer, D: array [0..n-1, 0..n-1] başlangıçta n = 10 # <|| i, j: 0 <= i  atama <|| i, j: 0 <= i )> son

Turdan sonra , D [i, j] en kısa yolun uzunluğunu içerir -e uzunluk . Sonraki turda, uzunlukta , ve benzeri.

Referanslar

  • K. Mani Chandy ve Jayadev Misra (1988) Paralel Program Tasarımı: Bir Temel.