• Sonuç bulunamadı

Main() Fonksiyonu. Main () Fonksiyonu. int main() İfadeler. Return ;

N/A
N/A
Protected

Academic year: 2022

Share "Main() Fonksiyonu. Main () Fonksiyonu. int main() İfadeler. Return ;"

Copied!
28
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Main() Fonksiyonu

Main () Fonksiyonu int main()

{

İfadeler Return ; }

int main() fonksiyon başlığıdır. Bu fonksiyonun { ile gövdesi oluşturulur. Bu ifadelerin her birinin sonunda noktalı virgül(;) işareti bulunur. Main fonksiyonundan önce gelen int kelimesi fonksiyon çağırıldığında çağıran programa dönen sonucun tam sayı tipinde olması gerektiğini belirtir. İnt main(void) şeklinde yazıldığında void kelimesi fonksiyonun argümanının olmadığını gösterir.

2- Cout << “Merhaba Dunya \ n”;

Satırı ekrana Merhaba DunyaYazar.

Cout teriminden sonra gelen << işareti işlemcisi ekrana yaz anlamındadır.

Cin >> a; ifadesi de a isimli değişkenin değerini ekrandan okutur. Cin’den sonra gelen >> işlemcisi çıkarma işlemcisidir. Ekrandan oku anlamına gelir.

\n kursörün bir alt satırın başına geçmesini sağlar.

Return 0; ifadesi de fonksiyonun çağıran programa döndüreceği değerin 0 olduğunu gösterir. Dönüş değerinin olması fonksiyonun derlenmesinin, başarılı olduğunu

(2)

işletim sistemine bildirmesini ifade eder. ’dan farklı dönüş değeri, hata anlamına gelir.

Örnek ;

[crayon-59e6bd9cf1ec5581016376/]

Ekran Çıktısı:

Örnek ;

[crayon-59e6bd9cf1ed7187701546/]

Ekran Çıktısı:

HİLAL TAŞKIRAN

SONSUZ&ÖLÜ DÖNGÜLER

[crayon-59e6bd9cf3042878741523/]

(3)

Kolay bir konudur.Eğer döngüdeki şart sürekli sağlanıyorsa sonsuz yani hiç bitmeyen bir döngü oluşur.Eğer döngüdeki şart hiç sağlanmazsa ölü yani hiç çalışmayan bir döngü oluşur.

[crayon-59e6bd9cf304d666212517/]

Yukarıdaki kodlarda x her zaman y değişkeninden küçük olacağı için sonsuz bir döngü oluşur.Sonsuz döngüler muhtemelen yazım hatası ya da mantık hatasından dolayı meydana gelir.Sonsuz döngü oluştuğunda tüm işlemci gücünü sömürür ve bilgisayarın çok yavaş çalışmasını sağlamaktadır.

[crayon-59e6bd9cf3056005436774/]

Bu kod ise sonsuza kadar ekrana sıfır basar.

Aşağıdaki örnekte ise şart hiçbir zaman sağlanmayacağı için döngü hiç çalışmayacaktır.

[crayon-59e6bd9cf305f947901479/]

Ölü döngü için bir tane daha örnek verebiliriz.

[crayon-59e6bd9cf3066321571708/]

s değişkenimizin değeri 1 olduğu için hiçbir zaman 5e eşit ya da ondan büyük olamaz.Bu yüzden bu örneğimizde ölü döngüdür.

SEMA SERDAROĞLU

(4)

Struct Yapısı

Struct yapısı, herhangi bir değişkende birden fazla ve farklı veri tiplerinde değerler saklamamıza yarayan değişken yapısıdır. Bu yapılar dizilerle benzerlik gösterirler.

Dizilerde aynı veri tipi üzerinden işlem yapılırken , structlar birden fazla veri tipinde işlem yapmamıza olanak sağlarlar.

Structların tanımlanması aşağıdaki gibidir.

struct yapi_adi {

veri_tipi degisken1;

veri_tipi degisken2;

veri_tipi degisken3;

}

(5)

Örneğin bir kütüphanedeki kitaplar için bir yapı oluşturalım.

[crayon-59e6bd9cf38fa265366957/]

Yukarıda oluşturduğumuz kutuphane veri tipine göre yeni değişkenler oluşturabilir ve kutuphane veri tipindeki her elemana değerler atayabiliriz. Eğer kutuphane veri tipinde bir değişken oluşturmak istersek aşağıdaki komutu kullanabiliriz:

kutuphane kitap1;

kutuphane veri tipinde tanımladığımız kitap1 değişkeninin elemanlarına değer atamak için

degisken.eleman_adi=deger;

ifadesi kullanılır. Örneklendirecek olursak:

[crayon-59e6bd9cf3909120183312/]

Ekran çıktısı ;

Aşağıdaki örnekte bir hayvan hastanesine getirilen hayvanlar ve hastalıklarını barındıran bir yapı oluşturulmuştur.

[crayon-59e6bd9cf3912237372061/]

Ekran çıktısı ;

(6)

Hazırlayan: Muhammed Şamil Özer Kaynakça:

ERDİNÇ Fahrettin, Mühendislik Öğrencileri İçin Temel Kılavuz C / C++, Abaküs Kitap, İstanbul, 2016

Enum Yapısı

(7)

Kendi veri tipimizi tanımlamada kullandığımız enum , değişkenin alabileceği değerlerin belli (sabit) olduğu durumlarda programı daha okunabilir hale getirmek için kullanılır. Genel yazım biçimi:

enum tip_ismi{değer_1, değer_2, …, değer_n}

değişken_adı;

şeklindedir.

tip_ismi programcı tarafından verilen bir isimdir.

değişken_adı ise program içinde kullanılacak olan değişkenin adıdır. Eğer kullanılmazsa program içinde daha sonra enum ile birlikte kullanılır. Örneğin:

[crayon-59e6bd9cf3ff2599193074/]

tanımı ile derleyici ram için “” , monitör için “1” , ekran_karti için “2” ve hard_disk için “3” değerini kabul ederek atamaları buna göre yapar.

Değişken adı bildirilirse daha sonra enum kullanmaya gerek kalmaz. Örneğin:

(8)

[crayon-59e6bd9cf3ffe603328031/]

g i b i y a p ı l a n s a b i t t a n ı m l a m a l a r ı p r o g r a m i ç i n d e kullanılabilir.

Ekran çıktısı ;

dort_mevsim ve bilgisayar_parcalari için bir değişken adı tanımlanmadığından program içerisinde şu şekilde bir tanımlama yapılması gerekmektedir:

[crayon-59e6bd9cf4008514265663/]

Ekran çıktısı :

Hazırlayan: Muhammed Şamil Özer Kaynakça:

ERDİNÇ Fahrettin, Mühendislik Öğrencileri İçin Temel Kılavuz C / C++, Abaküs Kitap, İstanbul, 2016

http://www1.gantep.edu.tr/~bingul/c/index.php?ders=15

(9)

c++ derleyici hataları

C++ YAPILAN HATALAR

Merhaba arkadaşlar ben Mehmet Akif Ersoy üniversitesinde 1.sınıf bilgisayar mühendisliği öğrencisi İsmail Acaboğa ve sizlere c++ da başlangıçta yapılan hatalardan bahsedeceğim. ve aynı zamanda benimde yaptığım hatalar var bunların içlerinde basit zor demeden aklıma gelen tüm yapılan hataları yazacağım.

KÜTÜPHANELERDEN KAYNAKLANAN HATALAR

Kütüphaneler giriş/çıkış işlemleri bazı işlemleri derleyiciye tanıtmak için kullanırız.kütüphanelerde yapılan hatalara geçecek olursak ;

1- Yetersiz kütüphane kullanımı

#include <iostream>

using namespace std ; int main (){

double a;

cout<<“Sayi girin: “<<endl;

cin>>a;

(10)

cout<<pow(a,2);

//yukarda karesini alan bir kod sistemi var fakat cmath kütüphanesi tanımlamadığımız için pow işlemi yapamayacak

}

2- std fonksiyonların eksikleri

//using namespace std ; kullanmamız kütüpanenin içindeki fonksiyonları işlevli hale getirir.

//yada kullancağımız fonksiyonları tek tek tanımlamamız lazım alttaki gibi ben using namespace önerrim.

#include <iostream>

using namespace std;

yada

#include <iostream>

using std :: cout;

using std :: cin;

3-Kütüphaneler hakkında az bilgi

Bu hataya çok düşen yoktur. ama yinede belirtmek istedim bazı kütüphanelerde bazı işlemler yoktur mesela climits : İntegral limitlerini içerir.Eğer integral hesabı yapacaksanız bu kütüphane lazım kullanmadığımız için hata verir. Ve siz bu hatayı yapmamak için biraz araştırma lazım kütüphanelerin hepsini tek tek hiç kimse anlatmaz. Eğer c/c++ öğrenmek isterseniz biraz da sizin üstüne düşmeniz lazım bu zor olduğunu göstermez sadece istemek gerekli bu yüzden isteksizlikten gelen bir hata direk yapmaya çalışmayın biraz

(11)

bakın bilginiz olsun.

YAZIM YANLIŞLARI VE EKSiKLERİ

1- Noktalı virgül(;) yanlış kullanımı

Noktalı virgül derleyicide satır sonuna geldiğimiz yeri belirtir. Bir çok fonksiyonları yazdıktan sonra noktalı virgül kullanmak lazım bazı fonksiyonlarda da kulanmak hata verir.

#include <iostream>

using namespace std ; int main () {

int i;

cout<<“lütfen puanınızı giriniz“;

cin>>i;

if (i<=40) ; //burada ; kullanılması yanlıştır.

{

cout<<“basarisiz“<<endl;

}

2-Dikkatsizlikten kaynaklanan ; eksikliği

Hepimizin çoğunlukla yaptığı hata olduğu için bence bunu çok iyi biliyorum diyen yapmıştır ama önemli bir hata değil bazen kafamızda devamını kurarken ; kullanmayı unutuyoruz derlediğimizde hata oluşuyor.

3- Değişkenlerde türkçe karakter hatası ve boşluk hatası

Değişkenler türkçe karakter içermez ve boşluk tuşu kullanmak yanlıştır bu yüzden hata alırız ve eğer yeni başlıyorsak bunu fark etmek biraz zor olabilir.

(12)

#include <iostream>

using namespace std ; int main ( ) {

int sayı (sayi) , birinci degisken (birinci_degisken);

4- Switch case yapılan hatalar

#include <iostream>

main() {

int i;

cout<< ” 1 ile 4 arasi sir sayi giriniz:“;

cin>>i;

switch(i) {

case 1 :cout<<“1 Girdiniz” break; //bu satır yanlıştır cout fonksiyonunda ; olması lazımdır aşağıdakiler gibi olması lazımdır

case 2 :cout<<“2 Girdiniz“; break;

case 3 :cout<<“3 Girdiniz“; break;

case 4 :cout<<“4 Girdiniz“; break;

default:cout<<“1 ile 4 ten farkli”;

}

Atama operatörünün (=) yanlış kullanımı

Atama operatörü eşittir anlamına gelmez ve işlem sağdan başlar soldaki değere atanır. örneğin

#include <iostream>

using namespace std;

int main ( ) {

(13)

int a;

2=a+1; //bu ifade yanlıştır atama operatörü eşittir değildir.

2==a+1 //bu ifade size hata vermez ama DEVC++ da a nın değerini sıfır olarak çıkartır.

Son olarak bilgi eksikliğine deyinmek istiyorum

Ben bugüne kadar bilgi eksikliği yüzünden yapamıyormuşum ve bir çok hata ile karşılaşıyordum yukarıdaki hataların çoğunu gördüm kendimde ya da arkadaşlarımda ama çoğunluğunda bilgi eksikliği ve kendimizi vermemizden kaynaklandığını kendimize itiraf etmeliyiz çünkü bunlar yapılacak hatalar değil bilgi eksikliğinden kaynaklı hocayı özenle takip edip tekrar etmek yeterli oluyor. Öğrenceksek eğer en azından hakkını verelim.

Günde bir iki saat yeterli olur ama benim önerim azla başlamamak çünkü çok çalışmaya bünyeyi alıştırmalıyız.

tahminimce benim gibi çok çalışmayı sevmeyen insanlar için bu sözüm tabi.

İsim(gerekli) E-Posta(gerekli) Web Sitesi

Yorum(gerekli) Gönder »

(14)

C++ DA MANTIKSAL OPERATÖRLER

C++ da kullanılan mantıksal operatörler ” != ” —> eşit değildir;

” || ” —> veya operatörü

” && ” —> ve operatörü

” <= ” —> küçük eşit operatörü

” >= ” —> büyük eşit operatörü

” == ” —> eşittir operatörü

” + ” —> toplama operatörü

” – ” —> çıkarma operatörü

” * ” —> çarpma operatörü

” / ” —> bölme operatörü

” % ” —> mod alma operatörü.

ÖRNEK:

[crayon-59e6bd9d00457531760996/]

EKRAN ÇIKTISI:

(15)

KAYNAK:

https://tr.wikibooks.org/wiki/C%2B%2B/S3/Mant%C4%B1ksal_Operat

%C3%B6rler

HAZIRLAYAN:

GÜLBEYAZ BAYRAM

BREAK VE CONTİNUE ,RETURN KOMUTLARI

BREAK VE CONTINUE KOMUTLARI

Break ve continue komutları kontrol ve döngü komutlarının akışını kontrol etmek için kullanılır.Kısaca açıklamak gerekirse break komutu yapıları sonlandırırken continue komutu ise döngüde belli şarta uyan adımın atlanmasını saglar.

BREAK KOMUTU

Break ifadesini switch ifadeleri ile görmüş olsanız da, diğer

(16)

döngü türleri ile de kullanılabileceğinden, daha kapsamlı bir işleme sahiptir.Break komutu do, for, switch veya while deyiminin sonlanmasına neden olur.

ÖRNEK KOD:

Bu örnegimizde 1-10 arası sayıların toplamı hesaplanır.Ancak sayi=4 ise break komutundan dolayı döngü sona erer.Bu durumda toplama 4 dahil edilmez.Sonuçta 1, 2 ve 3 degerlerinin toplamı bulunur.

[crayon-59e6bd9d00a07161980979/]

EKRAN ÇIKTISI:

ÖRNEK KOD2:

Aşagıdaki örnekte switch komutunda her işlem sonunda break komutu çalıştırılır.

Böylece işlem bittikten sonra yapı dışına çıkılır ve sıradaki komut çalıştırılır.

[crayon-59e6bd9d00a13262748207/]

EKRAN ÇIKTISI:

(17)

CONTINUE KOMUTU

Continue komutu da, aynı break gibi, sadece bir döngü içinde ve bir if şartı altında anlam ifade eder. continue döngü bloğunun işlemesini yarıda keser ve başa döner. break‘den farkı, programın döngünün dışına çıkmaması, ama döngünün başına dönmesi ve tekrar başlatmasıdır. Bu arada döngü şartının doğru olup olmadığı da kontrol edilir.

ÖRNEK KOD:

Bu örnegimizde 1-10 arası sayıların toplamı hesaplanır.Ancak sayi=4 ise continue komutundan dolayı döngü sonraki degere geçer.Bu durumda toplama 4 dahil edilmez.

Sonuçta 1,2,3,5,6,7,8,9 degerlerinin toplamı bulunur.

[crayon-59e6bd9d00a20749193910/]

EKRAN ÇIKTISI:

(18)

KAYNAK:

https://pybilim.wordpress.com/2013/05/30/donguler-while-for-br eak-continue/

http://www.learncpp.com/cpp-tutorial/58-break-and-continue/

MÜHENDİSLİK ÖĞRENCİLERİ İÇİN TEMEL KILAVUZ C++/C -FAHRETTİN ERDİNÇ

HAZIRLAYAN:

GÜLBEYAZ BAYRAM

ARİTMETİKSEL OPERATÖRLER

Aritmetiksel Operatörler:Adından da anlaşılabileceği gibi bilgisayarda toplama,çıkarma,çarpma,bölme gibi aritmetiksel işlemleri yapmaya yarayan sembollerdir.

(19)

Yukarıdaki tabloda çok kullanılan aritmetiksel operatörlere örnekler verilmiştir.Aritmetiksel operatörlerde işlem sırası şu şekildedir:Parantez içindeki işlemler,arttırma veya azaltma işlemleri,çarpma veya bölme veya mod(kalan) işlemleri,toplama veya çıkarma işlemleri sırasıyla yapılır.

Örnekler:

x=12%5; x=2 olacaktır.

y=(2+5)%7; y=0 olacaktır.

z=4*5+3*10; z=50 olacaktır.

Sıralama Örneği:

sonuc=(a1+a2)/5*0.2+a3*0.5;

Buradaki sonuc değişkeninde önceliğimiz a1 ve a2 değerlerini toplamaktır.Daha sonra bu sonucu 5’e bölüp 0.2 ile çarparız ve a3 sayısını 0.5 ile çarpıp her iki değeride toplarız.Böylece sonuc değişkeni elde edilmiş olur.

Atama operatörü aritmetiksel işlemlerle birlikte atama o p e r a t ö r l e r i n i k o l a y l a ş t ı r m a k i ç i n d e kullanılabilirler.Aşağıda bulunan örneklerde bunu ayrıntılı bir şekilde görebilirsiniz.

x=x+y; yerine x+=y; ifadesini kullanabiliriz.

x=x-y; yerine x-=y; ifadesini kullanabiliriz.

x=x*y; yerine x*=y; ifadesini kullanabiliriz.

x=x/y; yerine x/=y; ifadesini kullanabiliriz.

(20)

x=x%y; yerine x%=y; ifadesini kullanabiliriz.

[crayon-59e6bd9d010ed928263656/]

[crayon-59e6bd9d010f8842704568/]

Ö r n e k l e r i n e k r a n ç ı k t ı l a r ı :

BEYZA NUR KILIÇ

Atama Operatörleri

Merhaba arkadaşlar bu yazımızın amacı sizlere C ve C++’ta atama operatörünün nasıl kullanıldığını öğretmektir.Atama operatörü programlama dillerinin temel konularından biridir ve kesinlikle öğrenilmesi gerekir.Umarım sizin için öğretici bir yazı olur.

Operatörler:Değişkenler üzerinde matematiksel,mantıksal vb.

işlemleri yapmaya yarayan sembollerdir.Operatörlere toplama(+),çıkarma(-),bölme(/),mod alma(%) işlemleri örnek olarak verilebilir.Bilgisayarda yapılacak işlemler operatörler yardımıyla gerçekleştirilir.Operatörleri kullanım türlerine göre aşağıdaki gibi sınıflandırabiliriz:

1-Aritmetiksel Operatörler

2-Arttırma Ve Azaltma Operatörleri

(21)

3-Atama Operatörü

4-Mantıksal Operatörleri

5-Eşitlik Ve İlişki Operatörleri 6-Diğer Operatörleri

İlk olarak atama operatöründen bahsedelim:

Matematikteki eşittir(=) sembolünü C dilinde atama operatörü olarak kullanıyoruz.Atama operatörü değişkenlere değer atamak için kullanılır.Bu operatör sağ taraftaki ifadelerin değerini sol taraftaki ifadeye atar yani sağ taraftaki değer sol taraftaki değişkenin hafıza adresine yazdırılır.

Örneğin:

a=5; deyiminde a değişkenine 5 değeri atanır.

b=3+27; b değişkenine 30 değeri atanır.Böyle örneklerde atama yapılmadan önce sağ taraftaki işlemler tamamlanır.

c=e+d; c değişkenine e ve d değerlerinin içerdiği değerlerin toplamı atanır.

a=b=c+4; hem a hem b değişkenlerine c değişkeni ile 4 değerinin toplamı atanır.

= Sağdaki değeri soldaki değişkene atar .

+= Soldaki değişkene sağdaki değişkenin değerini ekler, sonucu soldaki değişkene atar.

-= Soldaki değişkenden sağdaki değişkeni çıkarır, sonucu soldaki değişkene atar.

*= Soldaki değişkeni sağdaki ile çarpar, sonucu soldaki değişkene atar.

/= Soldaki değişkeni sağdaki değişkene böler, sonucu soldaki değişkene atar.

%= Soldaki değişkeni sağdaki değişkene böler, kalanı soldaki değişkene atar.

Arttırma Ve Azaltma Operatörleri:Sayısal değerlerden bir çıkarmak ya da sayısal değerlere bir eklemek için kullanılan operatörlerdir.Mesela a adında bir değişkenimiz olsun. Bu a

(22)

değişkenini bir arttırmak için aşağıdaki gibi kodlar yazabiliriz:

1)sayi = sayi + 1;

2)sayi += 1;

3)sayi++;

Aynı değişkenden (değişkenimiz:a) bir eksiltme işlemi aşağıdaki şekilde yapılır:

1)sayi=sayi-1;

2)sayi-1=;

3)sayi–;

ÖRNEK:

[crayon-59e6bd9d01759252170054/]

ÇIKTI:

ÖRNEKLER:

[crayon-59e6bd9d01764853641674/]

[crayon-59e6bd9d0176c896066200/]

ÖRNEKLERİN EKRAN ÇIKTILARI:

(23)

ÖRNEK

[crayon-59e6bd9d01775222417688/]

Örneğin ekran çıktısı:

ATAMA OPERATÖRÜYLE İLGİLİ GÖRSELLER:

(24)

Daha fazla kaynak için:

(25)

http://www.cplusplus.com/doc/tutorial/operators/

http://www.canerseref.com/2014/11/cpp-operatorler.html https://www.youtube.com/watch?v=qEc0tnmWT0o

BEYZA NUR KILIÇ

For Döngüsü

En çok kullanılan döngü komutlarından biridir; Eğer işlemin v e y a d ö n g ü n ü n t e k r a r s a y ı s ı b e l l i i s e f o r k o m u t u kullanılır.For komutu kullanılır . for döngüsünde bir sayaç , bir şart ve sayacın artış durumunu belirleyen artış komutu kullanılır.

For döngüsünün genel yapısı aşağıdaki gibidir:

for dönsügü bir satırdan oluşuyor ise süslü parantez({ }) kullanmaya gerek yoktur.

for (sayac;kosul; sayacArtisi) komut;

for döngüsü bir satırdan fazla oluşuyor ise süslü parantez({

}) kullanılır.

for (sayac;kosul;sayacArtisi) {

komut1;

(26)

komut2;

komut3;

}

şeklinde kullanılır..

Sayac adından da belli olduğu gibi , döngünün kaç defa çalıştığını sayar. Sayacın daha önceden tanımlanması ve başlangıç değerinin belirtilmesi gerekmektedir. Sayacın başlangıç değeri for() döngüsünde de belirtilebilir.

Şart ,döngünün hangi şart sağlanırsa devam edeceğini belirler.. şart basit (x<5) veya karmaşık (x<5 || y<10) yapıda olabilir.

sayac artışı ise sayacın nasıl artacağını belirle örneğin sayaç 1 artırılarak veya 1 azaltılarak işlem yapılabilir .

For döngüsü aşağıdaki örnekle pekiştirmeye çalışalım:

yapacağımız örnekte kullanıcı bir mesaj girecek programda kullanıcının girdiği mesajı piramit şeklinde yazmaya çalışacak. Başlayalım…

#include<iostream>

#include<cstring>

using namespace std;

int main () {

char mesaj[180];

(27)

int i,j;

cout<<"Mesaji giriniz:";

cin>>mesaj;

for(j=1;j<strlen(mesaj)+1;j++) {

for(i=0;i<j;i++)

printf("%c",mesaj[i]);

printf("\n");

}

for(j=strlen(mesaj);j<strlen(mesaj)+1;j--) {

for(i=0;i<j;i++)

printf("%c",mesaj[i]);

printf("\n");

} }

Piramit Yazı

kodu çalıştırdığımızda konsolda aşağıdaki gibi çıkmasını bekleriz..

(28)

RİFAİ KUCİ

Referanslar

Benzer Belgeler

Whether you are doing a science fair project, a classroom science activity, independent research, or any other hands-on science inquiry understanding the steps of the scientific

15:00 – 15:50  Management of Aorto – Iliac Occlusions  Live Case 5: Leriche Syndrome .

■ Outre les matériaux de haute qualité des composants, les plaques d'usure (ST 52 et le moulage) sont également conçues pour une longue durée de vie et sont adaptées avec

Altprogramın icrası sona erdikten sonra ana programa bilgi transferi yapması gerekebilir4. Altprogramın icrası tamamen program değişkenlerine

standarts of behavior on all other members and impose any fundamental principle for regulating international dealings.  The increase in the corpus of rules made it clear that

Bloklar ‘{‘ ve ‘}’ ayraç işaretleri içinde belirtilen komutların bir araya gelmesi ile..

Ben, insan bir resulden başka neyim ki?&#34; 94: Kendilerine hak kılavuzcusu geldiğinde, insanların iman etmelerine, şöyle demelerinden başka bir şey engel olmadı: &#34;Allah,

[r]