(Ben kimyacı değilim! Bazı şeyler yanılıyor olabilir, lisede öğrendiklerimi yazıyorum)
Karbon atomlarının özel bir niteliği vardır: Diğer 4 atomu (bu özel olmayan) bağlayabilirler ve çok benzersiz olan uzun zincirlerde bile kararlı kalırlar. Çok farklı şekillerde zincirlenip birleştirilebildiklerinden, bunları adlandırmak için bir tür adlandırma kuralına ihtiyacımız var.
Bu yapabileceğimiz en küçük molekül:
CH4
Buna metan denir. Sadece bir karbon ve 4 hidrojen atomundan oluşur. Bir sonraki:
CH3 - CH3
Buna etan denir. 2 karbon ve 6 hidrojen atomundan oluşur.
Sonraki 2:
CH3 - CH2 - CH3
CH3 - CH2 - CH2 - CH3
Propan ve bütandırlar. Problemler, 2 farklı şekilde inşa edilebildiği için 4 karbon atomlu zincirlerle başlar. Biri yukarıda gösterilmiş, diğeri ise:
CH3 - CH - CH3
|
CH3
Bu tabii ki diğeri ile aynı değil. Atom sayısı ve bağlanma farklıdır. Elbette sadece bağları katlamak ve molekülü döndürmek onu farklı kılmaz! Yani bu:
CH3 - CH2 - CH2 - CH3
Ve bu:
CH3 - CH2
|
CH3 - CH2
Aynı (Eğer grafik teorisindeyseniz, 2 molekül arasında izomorfizm varsa; bunların aynı olduğunu söyleyebilirsiniz). Bundan böyle hidrojen atomlarını bu meydan okuma için gerekli olmadıklarından yazmayacağım.
Organik kimyadan nefret ettiğiniz ve adlandırılacak çok sayıda farklı karbon atomuna sahip olduğunuzdan, bunu sizin için yapan bir program yazmaya karar veriyorsunuz. Sabit diskinizde tho üzerinde fazla yer yok, bu nedenle program mümkün olduğunca küçük olmalıdır.
Meydan okuma
Çok satırlı bir metni girdi (karbon zinciri) olarak alan ve karbon zincirinin adını çıkaran bir program yazın. Girdi yalnızca boşluk, büyük harf 'c' karakterleri ve '|' ve bir bağlayıcıyı temsil eden '-'. Giriş zinciri asla döngü içermeyecek! Örnek:
Giriş:
C-C-C-C-C-C
| |
C C-C
Çıktı:
4-etil-2-metılhekzan
Herhangi bir çıktı, insan tarafından okunabilir ve esasen aynı olduğu sürece kabul edilebilir (bu nedenle örneğin isterseniz farklı ayırıcılar kullanabilirsiniz).
Adlandırma kuralı:
(Bkz: IUPAC kuralları )
En uzun karbon zincirini tanımlayın. Bu zincire ana zincir denir.
Tüm sübstitüentleri (ana zincirden ekleyen gruplar) tanımlayın.
Ana zincirin karbonlarını, ikame edicilere en düşük sayıları veren uçtan sayınız. Bir sayı dizisini karşılaştırırken, "en düşük" olan seri, ilk fark sırasında en düşük sayıyı içeren sayıdır. İki veya daha fazla yan zincir eşdeğer konumdaysa, en düşük sayıyı adın başında gelecek olana verin.
Aynı ikame birden fazla meydana gelirse, ikame maddesinin oluştuğu her bir noktanın konumu verilir. Ek olarak, ikame grubunun meydana gelme sayısı bir önek ile gösterilir (di, tri, tetra, vb.).
İki veya daha fazla farklı ikame edici varsa, baz ismi kullanılarak alfabetik olarak sıralanırlar (önekleri yok sayarlar). İkame edicileri alfabetik sıraya koyarken kullanılan tek ön izopropil veya izobütil'deki iso'dur. Sec- ve tert- önekleri, birbirleriyle karşılaştırılmadıkça, alfabetik sıra belirlenmesinde kullanılmaz.
Eşit uzunluktaki zincirler ana zincir olarak seçim için yarışıyorsa, seçim seri olarak:
- en fazla yan zincir zincirine sahip zincir.
- ikame edicileri en düşük sayılara sahip olan zincirdir.
- en küçük yan zincirde en fazla karbon atomuna sahip zincir.
- en az dallı yan zincire sahip zincir (en az yaprak sayısına sahip bir grafik).
Ana zincir için adlandırma:
Number of carbons Name
1 methane
2 ethane
3 propane
4 butane
5 pentane
6 hexane
7 heptane
8 octane
9 nonane
10 decane
11 undecane
12 dodecane
Hiçbir zincir 12'den uzun olmayacak, bu yeterli olacaktır. Alt zincirler için aynıdır ancak sonunda 'ane' yerine 'yl' vardır.
C
S 'nin tek sütunlarda olduğunu ve bağlanmaların ( |
ve -
karakterlerin) karbon atomları arasında 1 uzun olduğunu varsayabilirsiniz .
Test durumları:
Giriş:
C-C-C-C
Çıktı:
bütan
Giriş:
C-C-C
|
C
Çıktı:
2-metilpropan
Giriş:
C-C-C-C
|
C
|
C-C
Çıktı:
3-metılhekzan
Giriş:
C-C-C-C-C
|
C
|
C
Çıktı:
3-metılhekzan
Giriş:
C
|
C
|
C-C-C-C
|
C-C-C
|
C-C
Çıktı:
3,4-dimetil-5-ethylheptane
Düzenleme: Yanlış örnekler için özür dilerim. İyi bir öğrenci değildim :(. Şimdi düzeltilmeleri gerekiyor.
If the same substituent occurs more than once, the location of each point on which the substituent occurs is given. In addition, the number of times the substituent group occurs is indicated by a prefix (di, tri, tetra, etc.).
, son örneğe 3,4 - di metil-5-etilheptan denilmeli mi? (Sadece organik kimyaya başlıyoruz, yanlış olabilirim: P)