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

Post on 22-Jan-2016

120 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

top related