bil 105 programlama laboratuarı bilgisayar programlamasına giriş hafta -2

22
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

Upload: tate

Post on 22-Jan-2016

120 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

Bil 105 Programlama LaboratuarıBilgisayar Programlamasına Giriş

Hafta -2

Bilgisayar Programlamasına Giriş:

Tasarım,Programlama- Program kodlama

İşletim – Deneme- DoğrulamaSonuç alma

Page 2: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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!!

Page 3: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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!

Page 4: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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!!

Page 5: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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);

Page 6: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -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ı

Page 7: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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

Page 8: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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

Page 9: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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.

Page 10: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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.

Page 11: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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)

Page 12: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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 ).

Page 13: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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

Page 14: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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.

Page 15: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

Basit Algoritma Çalışmaları

Page 16: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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.

Page 17: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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.

Page 18: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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)

Page 19: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

Trace Sonrası Cevap

Doğru cevap

Page 20: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

Hata (Error)

Oysa biz bunuÇizmeye

çalışıyorduk

Programda Mantıksal Hatalar (Logical Errors) & Hataları düzeltmek zorundayız...

DEBUG

BUG

Page 21: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

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

Page 22: Bil 105 Programlama Laboratuarı Bilgisayar Programlamasına Giriş Hafta -2

Bil105 Laboratuar 2