04-02-2018 Saat: 22:07
Programa girilen kelimelerin Türk Yazım Kurallarına uygunluğunu denetlemek için fonksiyon yazacağız.
Türk Yazım Kuralları-
Kurallar artabilir, bunlar test amaçlı. Bu kurallar ile başlayalım.
Kod Başlangıcı
Türk Yazım Kuralları-
- Türkçe'de ilk iki harf (Sesli veya Sessiz) aynı olamaz.
- Türkçede son iki harf sesli genelde olmaz (matbaa , camii) istisnalar hariç.
- Türkçede Ğ - ğ başta olamaz kesin kural
- Kelime içerisinde aynı harf yanyana 2 den fazla kullanılmaz.
Kurallar artabilir, bunlar test amaçlı. Bu kurallar ile başlayalım.
Kod Başlangıcı
PHP Kod:
Function kural(kelime:string):string; // Dışarıdan string değer alan bir fonksiyon tanımladık
var
seslih,sessizh,ilkh,ikih,sonh,soniki:string; //fonksiyon içindeki değişkenlerimiz
birp,ikip,i,pozisyon:integer; //fonksiyon içindeki değişkenlerimiz
begin // Başladık
Result := ’’; // İlk önce bir rahatladık boşa alıp !|>
seslih:=’AEIİOÖUÜaeıioöuü’;
sessizh:=’BCÇDFGHĞJKLMNPRSTŞVYZbcçdfgğhjklmnprsştv yz’;
ilkh:=LeftStr(kelime,1); // Kelimenin İlk Harfi
ikih:=rightstr(leftstr(kelime,2),1); // Kelimenin Baştan 2. Harfi
sonh:=rightstr(kelime,1); //Kelimenin Son Harfi
soniki:=leftstr(rightstr(kelime,2),1); //Kelimenin Sondan İkinci Harfi
birp:=pos(ilkh,seslih); // İlk harf seslimi
ikip:=pos(ikih,seslih); // ikinci harf seslimi
if (ilkh=’Ğ’) or (ilkh=’ğ’) then // Türkçede Ğ başta olamaz Kural
begin // örnek : Ğalip uygun değil
result:=’Dilimize Uygun Değil !--> (Ğ&ğ) Başta Olamaz’;
exit;
end; // Ğ end
if ilkh=ikih then //İlk harf ve ikinci harf aynı olan bir kelime bilmiyom Kural
begin // örnek : kklak ,aalak,yylak gibi
result:=’Dilimize Uygun Değil !--> İlk İki Harf Aynı olamaz.’;
exit;
end; //end
if sonh=soniki then //Son iki harf aynı olamaz Kural
begin // örnek : aylakk ,kalmaa , Camii , Matbaa gibi kelimeler istisnadır
result:=’Dilimize Uygun Değil !--> Son İki Harf Aynı olamaz.’;
exit;
end; //end
if (birp>0) and (ikip>0) then // İki Sesli ne olursa olsun başta olmaz Kural
begin
result:=’Dilimize Uygun Değil !--> İki Sesli ne olursa olsun başta olamaz !’;
exit;
end; //end
for i:=1 to length(kelime) do // döngüyle harfleri tek tek alıyoruz begin
pozisyon:=pos(DupeString(kelime[i],3),kelime); //her harfi 3 kere yazdırıp kelime içerisinde yanyana olup olmadığnı kontrol ediyoruz.
if (pozisyon>0) or (pozisyon<0) then
begin
result:=’ Dilimize Uygun Değil Aynı Harfler 3 Kere Yan Yana Gelemez’;
exit;
end
else begin
result:=’ Bu Kelime Uygundur !’;
end;
end;
end;