PROGRAMLAMA DLLERNE GR Ders 1 C ile Programlamaya

  • Slides: 34
Download presentation
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 1: C# ile Programlamaya Giriş Yrd. Doç. Dr. Altan MESUT

PROGRAMLAMA DİLLERİNE GİRİŞ Ders 1: C# ile Programlamaya Giriş Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği

Programlama Dili Nedir? • Programlama dili, bir bilgisayara veya programlanabilir bir elektronik cihaza, hangi

Programlama Dili Nedir? • Programlama dili, bir bilgisayara veya programlanabilir bir elektronik cihaza, hangi veri üzerinde işlem yapılacağı, verinin nasıl depolanıp iletileceği, hangi koşullarda hangi işlemlerin hangi sıra ile yapılacağı gibi konularda talimat vermeyi sağlayan ve belirli bir yazım kuralı (sentaks) olan dildir. • Geçen dönem aldığınız «Bilgisayar Mühendisliğine Giriş» dersinin 4. haftasında Programlama Dilleri ile ilgili bazı temel bilgileri öğrenmiştiniz (dillerin sınıflandırılması gibi bazı bilgiler için ilgili sunuya tekrar göz atınız).

Dersin İçeriği • Bu derste C# (C-Sharp) programlama dili temel düzeyde öğretilecektir. • Uygulama

Dersin İçeriği • Bu derste C# (C-Sharp) programlama dili temel düzeyde öğretilecektir. • Uygulama (Application) programlama amaçlı kullanılan dillerden biri olan C# dili; Yapısal, Nesneye Yönelik ve Görsel bir üst seviye dildir. • C# ve Visual Basic’in nesneye yönelik versiyonu olan VB. NET, ilk olarak 2002 yılında piyasaya sürülen Visual Studio. NET geliştirme ortamı altında yer almışlardır. • C# dili VB. NET ile aynı özelliklere sahiptir (görsel programlamaya olanak sağladığı için Visual sıfatına sahiptir, ama çoğu zaman bu sıfat kullanılmaz) ama sentaks olarak C, C++ ve Java dillerini temel almıştır.

Sistem Programlama: C ve C++ • 70’li yıllarda geliştirilen C ve 80’li yıllarda geliştirilen

Sistem Programlama: C ve C++ • 70’li yıllarda geliştirilen C ve 80’li yıllarda geliştirilen nesneye yönelik özellikler eklenmiş hali olan C++ günümüzde halen en çok kullanılan sistem programlama dilleridir. • İşletim sistemleri, veri tabanı yönetim sistemleri, gömülü sistemler, aygıt sürücüleri, oyun motorları gibi yazılımlar geliştirilirken donanıma direkt erişim gerekebileceği için kimi zaman alt seviye bir dil olan Assembler tercih edilse de, çoğu zaman programlamanın daha kolay olması için orta seviye diller olan C ve C++ kullanılır. • C++ 90’lı yıllara kadar uygulama programlama alanında da en çok kullanılan dil olmuştur.

Uygulama Programlama: Visual C++, Visual Basic ve Delphi • 90’lı yıllarda Windows gibi GUI

Uygulama Programlama: Visual C++, Visual Basic ve Delphi • 90’lı yıllarda Windows gibi GUI (Graphical User Interface: Grafik Kullanıcı Arayüzü) içeren işletim sistemleri yaygınlaştıkça, bu işletim sistemleri altında çalışan uygulama programlarını daha kolay bir şekilde geliştirmek için üst seviye dillere ihtiyaç doğmuştur. • Bu amaç için Microsoft tarafından geliştirilen Visual C++ ve Visual Basic ile Borland tarafından geliştirilen Pascal tabanlı Delphi görsel programlama ortamları* ile metin kutuları, komut düğmeleri gibi GUI programlama elemanları sürükle-bırak yöntemi ile bir form üzerine yerleştirilebilmektedir. Fakat bu elemanlara tıklanması, içindeki metnin değişmesi gibi bir olay gerçekleştiğinde ne işlem yapılacağı kod ile yazılmaktadır. *Bu dillerin kendileri değil IDE’leri görseldir. Visual C++, görsel olmayan Dev-C ile de yazılabilir. Hiç kod yazmaya gerek kalmadan program oluşturabilen diller aslında görsel dildir.

Visual Basic. NET • Visual Basic 6. 0 programlama dilinin varisi olmakla birlikte, .

Visual Basic. NET • Visual Basic 6. 0 programlama dilinin varisi olmakla birlikte, . NET Framework üzerinde çalışması nedeniyle farklı bir yapıdadır ve geriye doğru uyumluluğa sahip değildir (VB 6. 0 ve önceki VB sürümleri ile yazılan kodları çalıştıramaz). • VB 6. 0 ve önceki sürümler sadece nesne tabanlı iken (nesneleri kullanabilir, fakat kalıtım gibi özelliklere sahip değildir), VB. NET nesneye yönelik (object oriented) bir programlama dilidir.

Java • Sun Microsystems mühendislerinden James Gosling tarafından 90’ların ilk yarısında geliştirilen Java; açık

Java • Sun Microsystems mühendislerinden James Gosling tarafından 90’ların ilk yarısında geliştirilen Java; açık kodlu, nesneye yönelik, platform bağımsız, üst seviye, adım işletilen (yorumlanan-interpreted) bir dildir. • Platform bağımsızlığı sayesinde özellikle akıllı telefonlar öncesi kullanılan cep telefonları için uygulamalar ve oyunlar geliştirilirken Java yaygın biçimde kullanılmıştı. • Java’nın sentaksı C ve C++ dillerine benzemekle birlikte daha basit bir nesne modeli ve daha az alt seviye olanakları içerir (işaretçi kullanımı yoktur). Bu nedenle sistem programlama amaçlı kullanılamaz.

J++, J# ve C# • Visual J++, Microsoft tarafından 90’lı yıllarda bir Java IDE’si

J++, J# ve C# • Visual J++, Microsoft tarafından 90’lı yıllarda bir Java IDE’si olarak tasarlanmıştır. Fakat Java dilinin standardına göre bazı uyumsuzluklara sahip olması nedeniyle Sun Microsystems ile davalık olmalarına neden olmuştur. • 2002 sonrasında. NET çatısı altında birkaç yıl da J# ismi ile Java ortamına devam eden Microsoft, süregelen davalar nedeniyle 2007 yılında J# çalışmalarını sonlandırmıştır. – C# dili, zaten J# ile benzer bir dil olduğu için ve o tarihe kadar daha popüler olduğu için her iki dili de geliştirmelerinin bir anlamı kalmamıştır.

Python • Guido van Rossum tarafından 1990 yılında geliştirilmeye başlanan Python, nesneye yönelik, yorumlamalı,

Python • Guido van Rossum tarafından 1990 yılında geliştirilmeye başlanan Python, nesneye yönelik, yorumlamalı, açık kaynak kodlu, platform bağımsız ve yüksek seviyeli bir programlama dilidir. • Bu özellikleri ile Java’ya benzemesine rağmen girintilere dayalı basit sözdizimi sayesinde programlamaya ilk başlayanlar için öğrenilmesi daha kolaydır. 80’li ve 90’lı yıllarda programlamaya genelde BASIC ile başlanırken günümüzde başlangıç dili olarak Python popüler hale gelmiştir. • 2000 yılında çıkan 2. 0 sürümü ile kullanımı yaygınlaşmaya başlamıştır. Her ne kadar 2008 yılında 3. 0 versiyonu yayınlansa da, 3. x serisi 2. x serisiyle uyumlu olmadığından halen 2. x serisi de yayınlanmaya devam etmektedir.

Ruby • Java ve Python gibi Ruby dili de 90’lı yılların başında Yukihiro Matsumoto

Ruby • Java ve Python gibi Ruby dili de 90’lı yılların başında Yukihiro Matsumoto tarafından Japonya'da geliştirilmeye başlanmıştır. • Fonksiyonel, nesneye yönelik, dinamik, reflektif gibi çoklu programlama paradigmalarını destekleyen Ruby, Python gibi 2000’li yıllardan sonra popüler olmaya başlamıştır. • 2004 yılından itibaren geliştirilen açık kaynak kodlu bir web uygulama geliştirme çatısı olan Rails, Ruby diliyle yazılmıştır (Ruby on Rails).

Objective-C ve Swift • Brad Cox ve Tom Love tarafından 1980’li yıllarda geliştirilen Objective-C,

Objective-C ve Swift • Brad Cox ve Tom Love tarafından 1980’li yıllarda geliştirilen Objective-C, C++ dili gibi C diline nesneye yönelik programlama imkânı getirmiştir. • C++ ile aynı yıllarda ortaya çıkmış olmasına rağmen 80’li ve 90’lı yıllarda fazla rağbet görmemiş, asıl popülerliğini Apple’ın işletim sistemleri olan OS X ve i. OS uygulamaları için temel programlama dili olması ile 2000’li yıllarda elde etmiştir. • Apple, 2014 yılında Objective-C’ye göre kullanımı daha kolay olan ve daha güçlü olduğu belirtilen Swift dilini tanıtmıştır. Bu dilin yaygınlaşması ile birlikte Objective. C’nin popülerliği azalmaktadır.

Derleyici (Compiler) Nedir? • Bir programlama dili ile yazılmış program kodunu (kaynak kod: source

Derleyici (Compiler) Nedir? • Bir programlama dili ile yazılmış program kodunu (kaynak kod: source code) bir ara koda çeviren yazılımdır. Bu ara kod genellikle OBJ dosyası (object file) olarak üretilir. Program Kodu Derleyici OBJ Dosyası

Bağlayıcı (Linker) Nedir? • Derleyici tarafından üretilen ara kodları bağlayarak işletim sisteminin çalıştırabileceği makine

Bağlayıcı (Linker) Nedir? • Derleyici tarafından üretilen ara kodları bağlayarak işletim sisteminin çalıştırabileceği makine kodlarına (exe: executable files, dll: dynamic link library) çeviren yazılımdır.

Yorumlayıcı (Interpreter) Nedir? • Bir programın kaynak kodunu derlemek yerine doğrudan yürüten yazılımdır (Aslında

Yorumlayıcı (Interpreter) Nedir? • Bir programın kaynak kodunu derlemek yerine doğrudan yürüten yazılımdır (Aslında arkaplanda derleme yapılır ama OBJ, EXE dosyaları üretilmez). • Birçok programlama dili için hem derleyici hem de yorumlayıcı yazılımlar mevcuttur. Fakat genellikle BASIC Python, Ruby ve Java dillerinde yorumlayıcı daha çok kullanılır. • Java dili, yorumlayıcı kullanması nedeniyle taşınabilir (platform bağımsız) bir yapıya sahip olmuştur. Derleme işlemi programı çalıştıran cihaz üzerinde yapılır: JIT (Just In Time) Compiler. Bunun için o cihazda Java Sanal Makinesi (JVM: Java Virtual Machine) yüklü olmalıdır.

Tümleşik Geliştirme Ortamı • İngilizcesi: Integrated Development Environment (IDE) • Kaynak kodu düzenleyicisi (source

Tümleşik Geliştirme Ortamı • İngilizcesi: Integrated Development Environment (IDE) • Kaynak kodu düzenleyicisi (source code editor), hata ayıklayıcı (debugger), derleyici (compiler) ve/veya yorumlayıcı (interpreter), bağlayıcı (linker) gibi uygulama geliştirme bileşenlerini tümleşik olarak sunan yazılımdır. • Modern kaynak kodu düzenleyicileri, programı yazdığınız sırada arkaplanda çalışan; sözdizimi renklendirmesi, hata bulma ve otomatik tamamlama mekanizmalarına sahiptir. • Microsoft tarafından geliştirilen Visual Studio ve açık kaynak kodlu Eclipse yazılımları, faklı diller ile uygulama geliştirme imkanı sağlayan günümüzdeki en gelişmiş IDE’lerdir. • DOS tabanlı eski IDE’ler: QBASIC, Turbo Pascal, Turbo C • Windows tabanlı basit IDE’ler: Dev-Pascal ve Dev-C++

Visual Studio 2015 • İlk derslerimizde New Project ile yeni bir proje başlattıktan sonra

Visual Studio 2015 • İlk derslerimizde New Project ile yeni bir proje başlattıktan sonra Visual C# dili altında Console Application seçerek bir komut-istemi uygulaması başlatacağız. • İlerleyen derslerde Windows Forms Application seçerek Görsel (Visual) uygulamalar da geliştireceğiz.

C# ile Console Application Gerekli olan kütüphanelerin tanımları Projemiz ile aynı isimde bir isim

C# ile Console Application Gerekli olan kütüphanelerin tanımları Projemiz ile aynı isimde bir isim uzayı otomatik olarak yaratılır. Bu isim uzayının içinde Program adında bir sınıf ve onun içinde de Main adında bir fonksiyon yine otomatik olarak yaratılır.

C# ile Merhaba Dünya class Program Main programın çalışmaya başladığı fonksiyondur. Sonraki derslerimizde başka

C# ile Merhaba Dünya class Program Main programın çalışmaya başladığı fonksiyondur. Sonraki derslerimizde başka { fonksiyonlar yaratarak Main içinden nasıl çağrılacaklarını göstereceğiz. static void Main(string[] args) { Console. Write("Merhaba Dünya"); } Eğer programı F 5 tuşuna veya butonuna basarak başlatırsanız siyah ekran belirip kaybolur. Ekranın kalıcı olması için Ctrl ve F 5 tuşlarına birlikte basarak başlatabilirsiniz ("Devam etmek için bir tuşa basın" yazar). } Write yerine Write. Line kullanılırsa parametre olarak verilen yazı (string) yazıldıktan sonra imleç alt satıra iner:

Değişken (Variable) • Programlarda kullanılan verileri saklamak ve gerektiğinde o veriler üzerinde işlem yapmak

Değişken (Variable) • Programlarda kullanılan verileri saklamak ve gerektiğinde o veriler üzerinde işlem yapmak için değişkenler kullanılır. • Bir değişken tanımı yapıldığında, programlama dili o değişkenin türüne göre istenilen büyüklükte bir hafıza bölgesini RAM’de tahsis eder. • Tanımlanan değişkene bir değer atandığında, değişken için ayrılan hafıza bölgesine o değer yazılır. • Eğer bir değişken herhangi bir fonksiyonun içinde değil de, örneğin main fonksiyonundan önce tanımlandıysa, o değişkene global değişken denir. Global bir değişkene programdaki tüm fonksiyonlar erişebilir.

Değişken Tanımlama ve Değişkene Değer Atama Değişken tanımları: int a; double b; char c;

Değişken Tanımlama ve Değişkene Değer Atama Değişken tanımları: int a; double b; char c; string d; tamsayı türünde a adında bir değişken ondalıklı sayı karakter dizisi (yazı) Değişkenlere değer atanması: a = 5; b = 3. 75; c = 'A'; d = "Ahmet 123"; NOT: Değişken ismi solda, atanacak değer sağda olmalıdır (5 = a; doğru değildir): a = b; b = a; a değişkenine b değişkenindeki değeri atar b değişkenine a değişkenindeki değeri atar

Değişkenlerde Kısıtlamalar • Değişken isminde : ; , . / ' # [ ]

Değişkenlerde Kısıtlamalar • Değişken isminde : ; , . / ' # [ ] ! " $ % ^ & * ( ) { } karakterleri ve boşluk karakteri kullanılamaz. Ancak _ kullanılabilir. • Değişken isminin ilk karakteri harf olmalıdır. Yani değişkenler rakamla veya _ ile başlamaz (sayi 2 olur 2 sayi olmaz). • Bir fonksiyon veya prosedürde aynı değişken ismi birçok defa tanımlanamaz (farklı fonksiyonlarda tanımlanabilir). • Programlama diline ait bir komut ismi, değişken ismi olarak tanımlanamaz. • Genellikle değişken isminde sınır 255 karakterdir. • Faklı tipte iki değişkenin birbirlerine atanması veri kaybına neden olabileceğinden bu durumlarda tip dönüşümü fonksiyonları kullanılmalıdır. • VB. NET dilinde değişken isimlerinde büyük/küçük harf ayrımı yoktur. Abc, abc veya ABC aynı değişkeni ifade eder. C ve C# dillerinde büyük/küçük harf ayrımı vardır.

Sabit (Constant) • Değişkenden farkı; tanımlandığı anda atanan değerinin program içinde değiştirilememesidir. • Tanımlanması

Sabit (Constant) • Değişkenden farkı; tanımlandığı anda atanan değerinin program içinde değiştirilememesidir. • Tanımlanması değişken tanımına benzer. Sadece önüne const eklenir. const float PI = 3. 142857; • Programda PI sabitine atanan ilk değeri sonraki satırlarda kullanabiliriz ama değiştiremeyiz. float A = PI*2; doğru PI = 3. 15; hatalı

C# Veri Tipleri 1 -bit veri tipi 8 -bit 16 -bit Tamsayı 32 -bit

C# Veri Tipleri 1 -bit veri tipi 8 -bit 16 -bit Tamsayı 32 -bit 64 -bit 32 -bit Gerçel Sayı 64 -bit Unicode Karakter (16 bit) Unicode Karakter Dizisi bool & Boolean işaretli işaretsiz sbyte & SByte byte & Byte short & Int 16 ushort & UInt 16 int & Int 32 uint & UInt 32 long & Int 64 ulong & UInt 64 float & Single double & Double char & Char string & String Bir tamsayının işaretli olması negatif değer alabildiğini gösterir. (Örn: sbyte -128 ile 127 arasında, byte ise 0 ile 255 arasında değer kabul eder)

Klavyeden Veri Alma Komutları • Console. Read. Line – ENTER basılana kadar girilen karakter

Klavyeden Veri Alma Komutları • Console. Read. Line – ENTER basılana kadar girilen karakter dizisini (string) döndürür • Console. Read – ENTER basılana kadar girilen karakter dizisinin ilk karakterinin ASCII değerini döndürür • Console. Read. Key – Basılan tuşun değerini Console. Key. Info olarak döndürür (ENTER tuşuna basılmasını beklemez) NOT: Console. Write("Merhaba Dünya"); satırından sonra Console. Read. Key(); yazsaydık F 5 tuşu ile program başlatıldığında pencere hemen kapanmaz, bir tuşa basılana kadar beklerdi (Ctrl+F 5 kullanımına gerek kalmazdı).

Dört İşlem Programı static void Main(string[] args) { int a, b; Console. Write("İlk sayıyı

Dört İşlem Programı static void Main(string[] args) { int a, b; Console. Write("İlk sayıyı girin : "); a = Convert. To. Int 32(Console. Read. Line()); Console. Write("İkinci sayıyı girin : "); b = Convert. To. Int 32(Console. Read. Line()); Console. Write. Line("Toplam : " + (a + b)); Console. Write. Line("Fark : " + (a - b)); Console. Write. Line("Çarpım : " + (a * b)); Console. Write. Line("Bölüm : " + (a / b)); } Console. Read. Line() string türü değer döndür. Integer türünde olan a ve b değişkenlerine string türünde değer atanamayacağı için Convert. To. Int 32 ile tamsayıya çevrilir (Int 32. Parse ile de bu çevirim yapılabilirdi).

Tip Dönüşümü • Convert ile string’i sadece tamsayıya değil ondalıklı sayılara da dönüştürebiliriz: –

Tip Dönüşümü • Convert ile string’i sadece tamsayıya değil ondalıklı sayılara da dönüştürebiliriz: – Convert. To. Single, Convert. To. Double, … • Sadece sayı türü veriler arasında cast olarak adlandırılan ve (tip adı) ifade şeklinde kullanılan bir dönüşüm daha vardır: double sayi = 5. 7; Console. Write((int)sayi); Ekranda 5 görüntülenir (. 7 için yuvarlama olmaz ondalık kısmı atılır). Eğer int -> float dönüşümü olsaydı kayıp olmazdı. Sadece büyük veri tipi küçük olana çevrilirse (double -> float, long -> int, int -> short, …) kayıp olur.

Tip Dönüşümü ile Bölme İşlemi • Önceki programda ilk sayı 5 ikincisi 3 olarak

Tip Dönüşümü ile Bölme İşlemi • Önceki programda ilk sayı 5 ikincisi 3 olarak girilirse bölme işleminde sonuç 1 çıkar. Eğer a ve b değişkenleri float gibi ondalıklı türde tanımlanırsa, veya tip dönüşümü kullanılarak ondalıklı sayıya dönüştürülürse sonuç 1. 666667 çıkar: Console. Write. Line("Bölüm : " + ((float)a / (float)b));

Parametre (Argüman) Nedir? • Örnek programımızda Console bir sınıf; Write, Write. Line ve Read.

Parametre (Argüman) Nedir? • Örnek programımızda Console bir sınıf; Write, Write. Line ve Read. Line ise o sınıfın yöntemleridir (method). Yöntem aslında C dilindeki fonksiyona eşdeğerdir (bazen bunlarda komut ta diyoruz). • Fonksiyonlar isimlerinden sonra gelen parantez içinde farklı değerler verilerek çağrılabilir. Virgül ile birbirinden ayrılan bu değerlere fonksiyonun parametreleri denir. • Örneğimizde Read. Line fonksiyonu hiç parametre almamış, Write ve Write. Line ise string veri türünde bir parametre almışlardır. Bu parametrenin veri türü farklı olabilirdi ve bu fonksiyonlar başka parametreler de alabilirlerdi.

Write ve Write. Line ile formatlı yazdırma Console. Write ("Toplam : " + (a+b));

Write ve Write. Line ile formatlı yazdırma Console. Write ("Toplam : " + (a+b)); yerine Console. Write ("Toplam : {0}", (a+b)); yazılırsa yine aynı çıktıyı üretir. Bu hali ile Write fonksiyonu iki parametre almış olur. İlk parametre olan format string'i içinde yer alan {0} yerine ikinci parametre olan (a+b) sayı değerinin string'e dönüştürülmüş hali yazılır. Eğer birden çok değer string içinde aralara eklenecek ise {1}, {2}, … ve şeklinde kullanılabilir.

Dört İşlem Programı (Farklı Şekilde Çıktı). . . Console. Write. Line("{0} + {1} =

Dört İşlem Programı (Farklı Şekilde Çıktı). . . Console. Write. Line("{0} + {1} = {2}", a, b, (a + b)); Console. Write. Line("{0} - {1} = {2}", a, b, (a - b)); Console. Write. Line(a + " * " + b + " = " + (a * b)); Console. Write. Line("{0} / {1} = {2}", a, b, ((float)a / (float)b)); } Çarpma işleminde farklı bir yöntem kullanılmış olmasına rağmen aynı tipte çıktı elde edilmiştir. Diğer işlemlerde 1 format string'i ve 3 adet sayısal değer verilmişken, çarpma işleminde + operatörü ile birleştirilen değerler tek bir string ifade oluşturmaktadır. Bu operatör her iki yanında sayısal değer varsa aritmetik toplama işlemi yaparken, bir tanesi string ise ekleme yapar. NOT: Eskiden her iki yanında string varsa string birleştirme yapabiliyordu, dolayısı ile sayıları string türe dönüştürmek için To. String() kullanımı zorunlu idi: Console. Write. Line(a. To. String() + " * " + b. To. String() + " = " + (a * b). To. String());

Operatörler • Aritmetik işlem operatörleri: mod alma + * / % • Mantıksal operatörler:

Operatörler • Aritmetik işlem operatörleri: mod alma + * / % • Mantıksal operatörler: && ve || veya ! değil eşit değil • Karşılaştırma operatörleri: eşit < > <= >= == != • Atama operatörleri: = += -= *= /= ++ -Değişkenin değerini belli bir sayı kadar arttırma (+=), belli bir sayı kadar azaltma (-=), belli bir sayı kadar çarpma (*=), belli bir sayı kadar bölme (/=), 1 arttırma (++) ve 1 azaltma (--) için kullanılırlar. Örneğin: a = a + 1; yerine a += 1; yazılabileceği gibi, kısaca a++; olarak ta yazılabilir.

Örnek : Ekran çıktısı ne olur? static void Main(string[] args) { int a =

Örnek : Ekran çıktısı ne olur? static void Main(string[] args) { int a = 10, b = 20; Önce a'yı 1 arttırır sonra görüntüler Console. Write. Line(++a); Console. Write. Line(a++); Önce a'yı görüntüler sonra 1 arttırır Console. Write. Line(a); Console. Write. Line("{0} {1}", a, b += a); Console. Write. Line(b=5); Console. Write. Line(b+=5); Console. Write. Line(b==5); Console. Write. Line(true && false); Console. Write. Line(!((true || false) && !true)); } ~((1 ᴠ 0) ᴧ ~1)

Ödev 1 ÖRNEK ÇALIŞTIRMA • Saniye olarak verilen değeri saat: dakika: saniye olarak gösteren

Ödev 1 ÖRNEK ÇALIŞTIRMA • Saniye olarak verilen değeri saat: dakika: saniye olarak gösteren programı yazın (ve akış diyagramını çizin) süreyi girin (sn): 100 0: 1: 40 süreyi girin (sn): 1000 0: 16: 40 süreyi girin (sn): 8000 2: 13: 20

Ödev 2 ÖRNEK ÇALIŞTIRMA • Başlangıç koordinatı, fırlatma hızı ve geçen süre verildiğinde bir

Ödev 2 ÖRNEK ÇALIŞTIRMA • Başlangıç koordinatı, fırlatma hızı ve geçen süre verildiğinde bir nesnenin son koordinatını hesaplayan programı yazın ve akış diyagramını çizin (g=9. 81). Başlangıç x koordinatı: -1, 4 Başlangıç y koordinatı: 4, 5 Fırlatma x hızı: 2, 34 Fırlatma y hızı: 12, 4 Geçen süre (sn): 5, 6 Sonuç x koodinatı: 11, 704 Sonuç y koodinatı: -79, 8808 Programda veri girerken Türkçe standardına göre ondalık ayıracı olarak virgül kullanmalıyız (4, 5 gibi). Fakat program kodunu yazarken İngiliz standardına göre ayıraç olarak nokta kullanmalıyız (9. 81 gibi).