220 likes | 497 Views
Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2. Bilgisayar Programlamasına Giriş: Tasarım, Programlama- Program kodlama İşletim – Deneme- Doğrulama Sonuç alma. Programlama Laboratuarı-I. İlk dersinizde Bilgisayar
E N D
Bil 105 Programlama LaboratuarıBilgisayar Programlamasına GirişHafta -2 Bilgisayar Programlamasına Giriş: Tasarım, Programlama- Program kodlama İşletim – Deneme- Doğrulama Sonuç alma
Programlama Laboratuarı-I İlk dersinizde Bilgisayar kullanımı ve işletim sistemi işlemleri ile kimi Bilgisayar Okur Yazarlığı bilgilerini yinelediniz. Bugün “Laboratuar” dersinizde henüz program geliştirme adımlarını öğrenmemiş olmanız nedeni ile programlama yöntemi ve “algoritmik çözümleme” konusunda alıştırmalar üzerinde çalışma yapacaksınız!!
Bilgisayar Programlaması Bilgisayar programı geliştirme, amaçlanan problem ya da işlemin yerine getirilme çözüm yönteminin işlemsel adımlarını tanımlamak demektir. Bir başka deyişle programlama, bilgisayar için çözüm yöntemi tanımlama işlevidir ! O nedenle problem çözümüne matematikten Farklı bir yöntem ve yaklaşım gerektirir!
Programlama Laboratuarı-I Program tasarımı yöntemi temellerini: Algoritmik Çözümleme yöntemi ile tasarım ve programlama Dili kurallarını : “BİL 101 ve Bil 102Bilgisayar Yazılımı” Derslerinde öğrenecek ve öğrendiklerinizin uygulamasını- bilgisayar ile gerçekleştirimini- Laboratuar saatlerinde ve öğretim elemanlarınız ile yardımcı danışmanlar gözetiminde laboratuarda yapacaksınız, deneyeceksiniz, pekiştireceksiniz!!
Bilgisayar Bilgi (veri) İşleme Sistemi HATIRLATMA: Sistem ,bir amaç için birbiri ile bağıntılı Parçaların bütünüdür: Donanım Yazılım---- Yöntemler - Programlar İnsan Veri: 1234 567, 90987 ali, metrekare Bil101 10101010 01010 0111 main() { int a,b; printf(“veri giriniz”), scanf(“%d”,&b); a=sqrt(d+2);
Programlama Dilleri Derleyicileri DONANIM Veri tabanları İŞLETİM SİSTEMİ Uygulama Programları Destek Programları Yazılım ve Kullanıcı !!! Kullanıcı uygulama Programları
PROBLEM ÇÖZÜMLEME YÖNTEMİ • El Yöntemleri Çözüm • A1- Problemi tanımla • A2- El ile çözmek için çözüm yöntemi belirle • A3- Araştır, bilgi ve becerini kullanarak, çözüm modelini kur • A4- Hesaplamalar gerçekleştir ( gerekli ise hesap makinesi kullan) • A5- sonucu belirle ve yorumla • B- Bilgisayar Aracılığı ile Çözüm: • B1- Problemi tanımla, • B2- Algoritmik çözüm yöntemini belirle • B3- Araştır, bilgi ve becerini kullanarak, çözüm ALGORİTMASINI kur • B4- Bilgisayar PROGRAMINI Geliştir • B5- PROGRAMI İŞLET ( girdi gerekli ise gir) • B6- Çıktıyı yorumla . Algoritmik Çözüm Bilgisayar Programı Geliştirme
Program tasarımı,Geliştirme ve İşletim Yöntemi • İki yeni yöntem • Araştırma • Bilgi, Beceri • Deneyim • Program tasarımı • İşlemsel ve Mantıksal Çözüm • Programlama dili ile kodlama • Derleme ve Deneme • İşletim ve sonuç alma Bilgisayar Programı Geliştirme Algoritmik Çözüm
Algoritma • Bilgisayar programının programlama dili ile yazılmış bir algoritma olduğundan söz ettik. • Algoritmik çözüm yöntemi yalnızca bilgisayar bilimlerine özgü bir yöntem değildir. Ancak, bilgisayarın özdevimli işleyişini sağlayan kavram algoritmik yaklaşımı zorunlu kılmıştır. Bilgisayar çözüm yönteminin bir algoritma olabilmesi için belirli koşulları sağlaması gerekir. • Bilgisayar programı algoritması kuramsal bir tanım değil işlemsel ağırlıklı bir tanımdır olmalıdır. Cebirsel ya da kuramsal ispatın farklı olarak, çözüm yöntemi ile sonuca varmayı sağlayan tüm işlemleri içermelidir. • Tanımladığı işlem cümleleri içinde çözüm yöntemi kurallarını gizlemeli, işleyiciye kesin ve açık tanımlar vermelidir.
Algoritmik çözüm tanımlama kuralları • Algoritma: belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir. Tanımın bilgisayar programı algoritması olması için aşağıdaki koşulları • taşımalıdır: • Sıralı olma: İşlemler ara arda sıralı tanımlanır, İşlem sırası ancak koşulu • Belirlendiği hallerde değişebilir. • Belirli olma: Her işlem cümlesi kesin, açık, eksiksiz ve işleyici işlemlerine yatkın • Yapıda tanımlanmalıdır. • Sonlu olma: Yerine getirilecek işlem ve işlem sayısı ve işleme süresi sonlu olmalıdır. • Belirli bir koşulla son bulmalıdır. • Geçerli olma: İşlemler işleyici için geçerli olmalıdır. İşlem • Dizi beklenen sonucu en kısa yoldan ulaşmalı, izlenebilir olmalıdır. • Girdi/Çıktı tanımlı olma: Üzerinde işlem uygulanacak veriler özellikleri ile • Ve N girdi sayısı ise, n>= 0 sayıda girdi • Tanımlamalıdır. İşlem sonucunda ulaşılacak çıktılar özellikleri ile • Ve M çıktı sayısı ise algoritma m>=1 sayıda çıktı • Tanımlamalıdır. • Genel olma:Çözüm yönteminin kapsamına giren her koşul ve girdi ile doğru sonuç • Vermeli, diğer bir deyişle genel çözümü kapsamalıdır.
Bir Bilgisayar bilimcisinin ALGORİTMA tanımı: “An algorithm is an ordered set of unambiguous executable steps, defining a terminating process.!” (unambiguous- belirsizlik, terminating- son bulma)
Algoritma Cümlelerinin yapısı • Algoritma tanımı üç tür cümle içerebilir: • Bir işlem ( okuma, yazma, aritmetik işlem vb) , tanımlama ve kendinden bir sonraki işleme sapan- Sıralı cümle, • Örnek: A1-Oku A, B; • A–2 C=A+B; • A–3 Yaz C • Bir koşul tanımlayan sapma cümlesi, kendini izleyenden başka bir cümleye sapma tanımlayan cümle. • Örnek: A–1 Oku A, B • A–2 Eğer A< 0 ise izle Adım 6 • Değilse C=A+B • . • . • A-6 C= B-A • Durma /Başlama cümlesi, görev tamamlandığında DURMA Tanımlayan cümle, • Örnek: A0-Başla • . • . • A10- C=5 ise DUR ( Bitti ).
ALGORİTMA GELİŞTŞRME ve DOĞRULUĞUNU DENEME (trace) • TEMEL ADIMLAR: • Problemi Tanımla • Çözüm yöntemini belirle • Çözümle: Girdi, Çıktı, işlem ve koşulları ile başlama ve bitme koşullarını belirle • Çözümün Algoritmasını Tasarla • Algoritmanın Doğruluğunu dene
Algoritmanın Tarihçesi: • Algoritma sözcüğü, Batılıların, Harzem’de doğan, Türk kökenli matematikçi Mahammed Musa (M.S. 780–850) kendine özgü “Problem Çözüm Yöntemine” verdikleri Latince isim olan “algorism” sözcüğümden türetilmiştir. Bu sözcük, Muhammed Musa’nın Arapça takma adı olan ve Harzem Kentli anlamına gelen Arapça “Al-Harezmi” sanının Latince çevirisinden (Al-Khowarizmi) türetilmiştir. Türkçe “Harzemli” anlamını taşımaktadır. Muhammed Musa, Harzem Gölünün güneyindeki Harzem kentinde doğmuştur. Cebir alt dalının kurucusu olan Harzemli, matematik çalışmalarını Bağdat’da sürdürmüş ve M.S. 825 Tarihlerinde yazdığı “Kitab al-Muhtasar Fi Hisab Al-Cebr Vel Mukabele” isimli kitabından Avrupalılar M.S. 1200–1400 Yılları arasında yeni matematiksel çözümü öğrenmiş ve ona “Cebir” ismini vermişlerdir. Onun kitabındaki, “bir başkasına öğretme tekniği ve yöntemi”, bugün, bilgisayar programlaması çözüm yöntemi olarak kullanılmaktadır. • Avrupa Bilim Tarihinde “Al-Khowarizmi” sanı ile tanıtılmakla beraber, Türkçe tanımlaması “Harzemli” karşılığını kullanıyoruz.
Robo • Robo elinde kalemi olan küçük bir robottur • Onu komutlarınızla kendi etrafında hareket ettirebilirsiniz • O hareket ederken elindeki kalemle gezdiği yerleri çizebilir. • Robo’nun dünyası sonsuz beyaz bir yüzeydir. • Sizin amacınız: • Verilen desen ya da resimleri ona çizdirmektir.
Robo • Komutlar • f(x) - (forward) x birim ilerle • r(x) - (right) x derece sağa dön • l(x) - (left) x derece sola dön • p - (pick up/put down) Kalemi indir/kaldır • Başlangıç durumu • Robo yüzeyin ortasındadır • Yüzü kuzeye bakar • Kalemi de yerdedir. İleri komutunda çizer. • Her satırda tek komut verilmelidir.
r(180) f(50) l(90) f(100) l(90) f(100) l(90) f(100) l(100) f(50) r(90) f(150) l(90) f(70) l(120) f(140) r(120) f(140) r(120) f(70) Robo - Örnek • Bu Nedir? TRACEedin Kendinizi Robo nun yerine koyarak adım Adım komutları gerçekleştirin
Doğru cevap Trace Sonrası Cevap
Oysa biz bunu Çizmeye çalışıyorduk Hata (Error) BUG Programda MantıksalHatalar (Logical Errors) & Hataları düzeltmek zorundayız... DEBUG
r(180) f(50) l(90) f(100) l(90) f(100) l(90) f(100) l(100) f(50) r(90) f(150) l(90) f(70) l(120) f(140) r(120) f(140) r(120) f(70) l(90) r(120) l(90) Düzeltilmiş hali Düzeltmek için... Ekle, Çıkar &Komutları değiştir Tekrar TRACE edin!