bil 105 programlama laboratuarı bilgisayar programlamasına giriş hafta -2
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Bil 105 Programlama LaboratuarıBilgisayar Programlamasına Giriş
Hafta -2
Bilgisayar Programlamasına Giriş:
Tasarım,Programlama- Program kodlama
İşletim – Deneme- DoğrulamaSonuç 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 programlamaDili kurallarını :“BİL 101 ve Bil 102 Bilgisayar Yazılımı” Derslerinde öğrenecek ve öğrendiklerinizinuygulamasını- bilgisayar ile gerçekleştirimini-Laboratuar saatlerinde ve öğretim elemanlarınızile 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ımYazılım---- Yöntemler - ProgramlarİnsanVeri: 1234567, 90987 ali, metrekare Bil10110101010010100111
main() { int a,b;printf(“veri giriniz”),
scanf(“%d”,&b);a=sqrt(d+2);
Yazılım ve Kullanıcı
!!!
DONANIM
İŞLETİM SİSTEMİ
Programlama Dilleri Derleyicileri
Veri tabanları
Uygulama Programları
Destek Programları
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
Algoritmik Çözüm
Bilgisayar ProgramıGeliştirme
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.
Basit Algoritma Çalışmaları
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.
Robo - Örnek
• Bu Nedir?
TRACE edinKendinizi Robo nun
yerine koyarak adım Adım komutları gerçekleştirin
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)
Trace Sonrası Cevap
Doğru cevap
Hata (Error)
Oysa biz bunuÇizmeye
çalışıyorduk
Programda Mantıksal Hatalar (Logical Errors) & Hataları düzeltmek zorundayız...
DEBUG
BUG
Düzeltilmiş hali
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)
Tekrar TRACE edin!
l(90) r(120)
l(90)Düzeltmek için... Ekle, Çıkar & Komutları değiştir
Bil105 Laboratuar 2