Örnekler Programlama Dillerine Giriş

Slides:



Advertisements
Benzer bir sunumlar
Seramik Dental İmplantlar
Advertisements

BİYOGAZ HAZIRLAYANLAR : HAKAN DEMİRTAŞ
BÖLÜM 5 . KÜTLE BERNOULLI ENERJI DENKLEMİ
HAZIRLAYANLAR AYHAN ÇINLAR YUNUS BAYIR
Yeniliği Benimseyen Kategorilerinin Bütüncül ve Analitik Düşünme Açısından Farklılıkları: Akıllı Telefonlar için Bir İnceleme Prof. Dr. Bahtışen KAVAK,
Doç. Dr. Hatice Bakkaloğlu Ankara Üniversitesi
Newton’un Hareket Yasaları
19. VE 20. YÜZYILDA BİLİM.
Enerji Kaynakları-Bölüm 7
AKIŞKANLAR DİNAMİĞİ BÖLÜM 8 . BORULARDA AKIŞ.
İŞGÜCÜ PİYASASININ ANALİZİ
BRÜLÖR GAZ KONTROL HATTI (GAS TRAİN)
SES DONANIMLARI Ayşegül UFUK Saide TOSYALI
İŞLETİM SİSTEMİ İşletim Sistemi Nedir İşletim Sisteminin Görevleri
Tıbbi ve Aromatik Bitkilerin Hayvansal Üretimde Kullanımı
MUHASEBE YÖNETMELİĞİ KONFERANSI
Bu sitenin konusu kıyamete kadar hiç bitmeyecek
DUYUŞ VE DUYUŞSAL EĞİTİMİN TANIMI
ÇOCUKLARDA BRONŞİOLİT VE PNÖMONİ
Alien hand syndrome following corpus callosum infarction: A case report and review of the literature Department of Neurology and Radiology, Yantai Yuhuangding.
Parallel Dağılmış İşlemci (Parallel Distributed Processing)
TANJANT Q_MATRİS Aleyna ŞEN M. Hamza OYNAK DANIŞMAN : Gökhan KUZUOĞLU.
ADRESLEME YÖNTEMLERİ.
Diksiyon Ödevi Konu:Doğru ve etkili konuşmada
AZE201 ERKEN ÇOCUKLUKTA ÖZEL EĞİTİM (EÇÖE)
ÇUKUROVA ÜNİVERSİTESİ KARATAŞ TURİZM İŞLETMECİLİĞİ VE OTELCİLİK
EĞİTİMDE YENİ YÖNELİMLER
BAĞIMLILIK SÜRECİ Prof Dr Süheyla Ünal.
FACEBOOK KULLANIM DÜZEYİNİN TRAVMA SONRASI STRES BOZUKLUĞU, DEPRESYON VE SOSYODEMOGRAFİK DEĞİŞKENLER İLE İLİŞKİSİ  Psk. Asra Babayiğit.
BİLİŞİM TEKNOLOJİLERİ NEDİR?
PSİKO-SEKSÜEL (RUHSAL) PSİKO-SOSYAL
Sinir Dokusu Biyokimyası
Can, H. (1997). Organizasyon ve Yönetim.
Bölüm 9 OPERASYONEL MÜKEMMELİYETİ VE MÜŞTERİ YAKINLAŞMASINI BAŞARMA: KURUMSAL UYGULAMALAR VIDEO ÖRNEK OLAYLARI Örnek Olay 1: Sinosteel ERP Uygulamalarıyla.
ERGENLİKTE MADDE KULLANIMI
Şeyda GÜL, Fatih YAZICI, Mustafa SÖZBİLİR
MOL HESAPLARINDA KULLANILACAK BAZI KAVRAMLAR:
AKIŞKANLAR MEKANİĞİ 3. BASINÇ VE AKIŞKAN STATİĞİ
GAZLAR Yrd. Doç. Dr. Ahmet Emin ÖZTÜRK. GAZLAR Yrd. Doç. Dr. Ahmet Emin ÖZTÜRK.
Engellerin farkında mıyız?
CEZA MUHAKEMESİ HUKUKU
DİSİPLİN HUKUKU.
İZMİR.
ACİL YARDIM ve AFET YÖNETİMİ ÖĞRENCİLERİNİN KARAR VERME DÜZEYLERİ
Yazar:ZEYNEP CEREN YEŞİLYURT Danışman: YRD. DOÇ. DR
TEMEL MAKROEKONOMİ SORUNLARI VE POLİTİKA ARAÇLARI
IMPLEMENTATION OF SOME STOCK CONTROL METHODS USED IN BUSINESS LOGISTICS ON DISASTER LOGISTICS: T.R. THE PRIME MINISTRY DISASTER AND EMERGENCY MANAGEMENT.
Mikrodalga Sistemleri EEM 448
Modülasyon Neden Gereklidir?
A416 Astronomide Sayısal Çözümleme - II
İSTATİSTİK II Hipotez Testleri 1.
4.BÖLÜM ÇAĞDAŞ BÜYÜME MODELLERİ
Ayçiçeği Neden Stratejik Ürün Olmalı?
Aydınlanma Işığın doğası ile ilgili bilgilerin tarihsel süreç içindeki değişimini farkeder. a. Dalga ve tanecik teorisinden bahsedilir,
Final Öncesi.
Sayısal Haberleşme.
ULUSLARARASI FİNANS.
Elektrik Enerjisi Üretimi, Dağılımı ve Depolanması
İÇ ORGANLARIN YAPISI VE İŞLEYİŞİ
DENK KUVVET SİSTEMLERİ
Dil Materyalleri ve Çalışmaları Doç. Dr. Müdriye YILDIZ BIÇAKÇI
Sosyal Bilimler Enstitüsü
Anlamsal Web, Anlamsal Web Dilleri ve Araçları
Hazırlayan; Görkem Baygın Yabancı Dil / M Şubesi 21 Maddede İngiliz Dili Edebiyatı Okumak Ne Demektir?
FURKAN EĞİTİM VAKFI TEFSİR USULÜNE GİRİŞ
BİN AYDAN DAHA HAYIRLI GECE KADİR GECESİ
Tarımsal nüfus ve tarımda istihdam
AKIŞKANLAR MEKANİĞİ 3. BASINÇ VE AKIŞKAN STATİĞİ
Emir ÖZTÜRK T.Ü. F.B.E. Bilg. Müh. A.B.D. Y.L. Semineri
Toplam Çıktı - Bir ekonomide belirli bir dönemde üretilen (arz edilen) toplam mal ve hizmet miktarıdır. Toplam Gelir - Belirli bir dönemde üretim faktörlerinin.
Sunum transkripti:

Örnekler Programlama Dillerine Giriş

Örnekler GENEL TEKRAR

Matematiksel İfade Dönüşümleri Aşağıdaki matematiksel ifadenin bilgisayar dilinde karşılığını yazınız. 𝑎+𝑏−𝑐 𝑎 2 + 𝑏 3 − 2 𝑎𝑏+𝑎𝑐+𝑏𝑐 9 (a+b-c)/((a^2+b^3)^(1/2))-2*(a*b+a*c+b*c)/9

Matematiksel İfade Dönüşümleri Aşağıdaki matematiksel ifadenin bilgisayar dilinde karşılığını yazınız. 𝑎+ 7 𝑎𝑏𝑐 − 1 1+ 1 𝑎+ 1 𝑏+ 1 𝑐+ 1 𝑎𝑏𝑐 a+(a*b*c)^(1/7)-1/(1+1/(a+1/(b+1/(c+1/(a*b*c)))))

Matematiksel İfade Dönüşümleri Aşağıdaki matematiksel ifadenin bilgisayar dilinde karşılığını yazınız. 5 1 𝑎+1 + 1+ 𝑎 3 𝑎 2 +1 1+ 2𝑎 𝑎 3 +1 (1/(a+1)+(1+a/(a^2+1)^(1/3))/(1+(2*a/(a^3+1))^0.5))^(1/5)

Matematiksel İşlem Öncelikleri c * d / (a * d) + b + c * d / a 𝑐𝑑 𝑎𝑑 +𝑏+ 𝑐𝑑 𝑎 = 𝑐 𝑎 +𝑏+ 𝑐𝑑 𝑎 c * d / a * d + b + c * d / a 𝑐 𝑑 𝑎 𝑑+𝑏+ 𝑐𝑑 𝑎 = 𝑐 𝑑 2 𝑎 +𝑏+ 𝑐𝑑 𝑎 c * d / a * d + (b + c) * d / a 𝑐 𝑑 𝑎 𝑑+ 𝑏+𝑐 𝑑 𝑎 = 𝑐 𝑑 2 + 𝑏+𝑐 𝑑 𝑎 a=4, b=6, c=8, d=10 değerleri için yukarıdaki üç ifadenin sonuçlarını bulunuz. 28 226 235

Matematiksel İşlem Öncelikleri a = 1, b=2, c=3, d=4 ve e=-2 değerlerine göre aşağıdaki ifadelerin sonuçlarını bulunuz. a+d/b+d^2+2*a*b*c/d+e 20 (a+b) / c+d^2+2*a*b*c / (d+e) 23 a+b/(c+d)^2+2*a*b*c/d+e 2.04 (a+b)/(c+d)^2+2*a*b*c/(d+e) 6.06

Mantıksal İşlemler DEĞİL (B>75) VEYA (A>75) VE (C>=75) 1 Sonuç 1

Mantıksal İşlemler B’(A+C) A B C 1 Sonuç 1

Mantıksal İşlemler A’+B.C A B C 1 Sonuç 1

Algoritma - Sözde Kod Eski S Yeni S Sayı Eski T Yeni T Ort. 0+1=1 3 Klavyeden girilen 5 sayının ortalamasını bulan programın algoritmasını sözde kod ile yazınız. 1. Başla 2. N = 5 3. T = 0 4. S = 0 5. Eğer S > N-1 ise git 10 6. S = S + 1 7. Sayıyı (A) gir 8. T = T + A 9. Git 5 10. Ortalama = T / N 11. Yazdır Ortalama 12. Dur Eski S Yeni S Sayı Eski T Yeni T Ort. 0+1=1 3 0+3=3 --- 1 1+1=2 3+1=4 2 2+1=3 5 4 4+5=9 11 9 9+11=20 4+1=5 35 20 20+35=55 Ortalama = 55/5=11

Algoritma - Sözde Kod Eski S Yeni S Eski F Yeni F Sonuç 0+1=1 1 1*1=1 Klavyeden girilen N sayısının faktöriyelini hesaplayan programın algoritmasını sözde kod ile yazınız. 1. Başla 2. N sayısını gir 3. F=1 4. S=0 5. Eğer S > N-1 ise git 9 6. S=S+1 7. F=F*S 8. Git 5 9. Yazdır F 10. Dur Eski S Yeni S Eski F Yeni F Sonuç 0+1=1 1 1*1=1 --- 1+1=2 1*2=2 2 2+1=3 2*3=6 3 3+1=4 6 6*4=24 4 4+1=5 24 24*5=120 120

Algoritma - Sözde Kod Aşağıdaki algoritmanın sonucunu (ya da çıktısını) hesaplayınız. 1. Başla 2. F = 1 3. S = 20 4. Eğer S < 1 ise git 9 5. S = S – 3 6. F = F + S 7. F = F + 2 8. Git 4 9. Yazdır F 10. Dur Adım Silk Filk (S<1) SSon FAra FSon 1 20 false 17 18 2 14 34 36 3 11 47 49 4 8 57 59 5 64 66 6 68 70 7 -1 69 71 true ---

Akış Diyagramları Klavyeden girilen üç sayıdan en büyüğünü bularak yazdıran programın akış diyagramını çiziniz.

Akış Diyagramları ax2+ bx + c = 0 şeklindeki ikinci dereceden bir denklemin köklerini bulan programın akış diyagramını çiziniz.

Akış Diyagramları Aşağıdaki akış diyagramının ekran çıktısını elde ediniz. Algoritma – 1 Algoritma – 3 Algoritma – 5 Döngünün son değeri: 5

Programlama Dillerine Giriş Temel Kavramlar ve C Dilinin Yapısı

Algoritmalar ve Programlama Dilleri Programlama dili bilgisayarda çözülecek bir sorun için çözümün bilgisayara adım adım aktarılmasını sağlayan biçimsel kuralları olan ve bu kurallara sıkı sıkıya bağlılığı gerektiren bir tanımlar kümesidir. Basit bir benzetmeyle bir programlama dili insanla bilgisayar arasında çeviri yapan bir çevirmen olarak düşünülebilir. Doğal dil ile betimlenen algoritmalarda sıkı sıkıya uyulması gereken kurallar bulunmaz. Bunların aynı dili kullanan kişilerce kolay anlaşılabilir olması yeterlidir. Akış diyagramlarında ise belirlenmiş semboller yer alır ve bu semboller tüm dünyada standarttır. Kısmen biçimsel olan bu diyagramlar, sorunun çözümünü daha evrensel bir dille ifade etmek için kullanılır. Akış diyagramları veya algoritma ile elde edilen çözüm bir programlama dili ile bilgisayar ortamına aktarılır. Programlama dilleri, standart tanımlar içerir ve bir programı yazarken bu tanımlardan uzaklaşılamaz. Bu nedenle bir program parçasından, başkalarının başka şeyler anlaması mümkün değildir. Yazılan programlar bir derleyici vasıtası ile makine diline çevrilir, varsa hataların bulunması sağlanır ve programcı bu hataları düzeltir.

Programlama Dillerinin Özellikleri - 1 İfade gücü: Dili kullanırken gerçek ifadelerin kullanılması ile ilgili bir kavramdır. Örneğin, bir mühendis kodlama sırasında matematiksel ifadeleri betimlerken normalde kullandığı işaretleri ve terimleri kullanmak isteyecektir. Programlama dilinin ifade gücünün programcının yapacağı işi betimlemede kullandığı standartlara uygun olması programlama sürecini kolaylaştıracaktır. Veri Tipleri ve Yapıları: Ön tanımlı değişken türlerinin olabildiğince fazla ve ihtiyaçları karşılar durumda olması bir dilden beklenen önemli özelliklerdendir. Örneğin, karmaşık sayılarla işlem yapacak bir programcı öncelikle tamsayı veri tipine sahip bir programlama dilini kullanmalıdır. Ardından bu veri tipini kullanarak tanımlayacağı karmaşık sayı veri yapısını da programlama dili kurallarına bağlı kalarak tanımlayabilmelidir.

Programlama Dillerinin Özellikleri - 2 Giriş - Çıkış İşlemlerinin Kolaylığı: Dosyalara erişme ve karmaşık işlemler yapabilme imkanlarını belirten bu özellik (C gibi) bazı programlama dillerinde çok gelişmemiştir. Bu dillerde özel kütüphanelerin kullanımı gereklidir. Veritabanı programlama dilleri ise bu konuda oldukça gelişmiştir. Taşınabilirlik: Bir sistemde yazılmış bir kaynak kodun, başka sistemlerde de sorunsuz derlenebilmesidir. Genellikle dilin seviyesi azaldıkça taşınabilirlik azalır. Örneğin, C orta seviyeli dillerden olsa da taşınabilirlik bakımından üst düzeydeki dillerdendir. Alt Programlanabilirlik: Programın daha ufak program parçalarından oluşturulmasıdır. Böylece; kaynak kod kısalır, algılanması kolaylaşır, test olanakları artar, kodun güncelleştirmesi ve yeniden kullanılması kolaylaşır.

Programlama Dillerinin Özellikleri - 3 Verimlilik: Derlenen kodun hızlı ve sorunsuz çalışabilmesidir. Okunabilirlik: Kaynak kodun hızlı biçimde anlaşılabilmesidir. İyi bir programcının yazdığı kaynak kod, çok iyi işlev gören ama karışık bir koddan ziyade açık ve anlaşılabilir biçimde olmalıdır. Esneklik: Dilin, programcıyı kısıtlamamasıdır. Ancak esnek bir dil, daha az hata vermesine karşın hata oluşma riski daha fazladır. Öğrenme Kolaylığı: Dilin konuşma diline yakınlığı, komutlarının sade ve anlaşılır olması gibi ölçütler o dilin öğrenilmesini etkiler. Yapısal Programlanabilirlik: Programın bloklar halinde yazılması yani alt programların kullanılması anlamına gelen bir programlama tekniğidir. Kodun okunabilirliğini ve verimliliğini artırır. Nesne Yönelimlilik: Verilerin birbirinden daha kesin çizgilerle ayrılmasını öngören bir programlama tekniğidir.

Programlama Dillerinin Özellikleri - 4 Genellik: Bir dilin herhangi bir alanda kullanılabilmesidir. Bazı diller sadece mühendislik alanlarında kullanılabilmesine karşın, C genel amaçlı bir dildir. Programlama dillerinin kendi alanları vardır ve her dil uygun branşta kullanıldığı sürece başarılı ve etkili kullanılmış olur. Genel olarak programlama dilleri uygulama alanlarına göre aşağıdaki sınıflara ayrılabilir: Bilim ve Mühendislik Alanları: Mühendislik veya matematik hesapları için kullanılırlar. Bu dillere Pascal, C, C++, Java, Fortran gibi diller örnek olarak verilebilir. Veritabanı Programlama: Genellikle personel kayıtları, stok veya depo denetimi gibi veritabanı gerektiren işlemlerde kullanılan dillerdir. Bu dillere DBase, Sql, Foxpro ve Paradox örnek olarak verilebilir. Sistem Programcılığı: İşletim sistemlerinin ve sistem programlarının yazılımında kullanılan dillerdir. Örnek olarak C, C++, Java ve makina dilleri verilebilir. Genel Amaçlı Kullanım : Çeşitli konularda uygulama geliştirmek için kullanılan dillere örnek olarak C, C++, Java, VB ve Pascal’ı verebiliriz. Yapay Zeka Kullanımında: Özellikle son zamanlarda popüler olan yapa zeka uygulamalarında kullanılan dillerdir. Örnek olarak Prolog ve Lisp gibi diller verilebilir.

Programlama Dillerinin Sınıflandırılması Programlama dilleri, makine dilinde programlama zor olduğu için doğal dile doğru gelişim göstermiştir. İnsanın en zor öğrenebileceği, anlayabileceği yani 1100101 gibi makina kodlarına yakın diller en düşük seviyeli (low level) programlama dilleri, insanın en kolay anlayıp kullanabileceği ve insan diline yakın özellikler gösteren diller ise en yüksek seviyeli (high level) programlama dilleridir. Yazılan kodları, makine dilinde değilse, makine diline çevirip çalışmaya hazır hale getirmek, o dilin derleyicisinin veya yorumlayıcısının görevidir. Programlama dilleri seviyelerine göre aşağıdaki gibi sınıflandırılabilir; Çok Yüksek Seviyeli Diller (İnsana en yakın) FOXPRO, ACCESS, PARADOX, VB.NET... (Öğrenilmesi Kolay, Daha Yavaş) Yüksek Seviyeli Diller : PASCAL, FORTRAN, COBOL, BASIC... Orta Seviyeli Diller : C ,C++, C# , Java ,ADA... Düşük Seviyeli Diller: Assembly... Makine Dilleri (Makineye en yakın diller. 0 ve 1’lerin dizilimlerinden oluşurlar..) (Öğrenilmesi Daha Zor, Daha Hızlı)

Yüksek Seviye vs. Düşük Seviye Doğal dile yakınlık, insanın anlamasına uygun, anlamlı sözcüklerle kodlama yapmak anlamına gelirken; Makineye yakınlık, bilgisayarın çalışma mantığına uygun şekilde, yapılacak işin nasıl yapılacağının kodlanması demektir. Bir dilin seviyesi yüksekse, o dili öğrenmek kolaydır, kaynak kod kısadır ama oluşacak çalıştırılabilir dosya uzundur, uzun ve karmaşık işlemler kısa kodlarla gerçekleştirilebilir. Düşük seviyeli dillerde ise programcı, makineye daha hakimdir, sorumluluğu daha fazladır, kod yazımı uzun ve zahmetlidir.