Problem Çözme ve Algoritmalar

Slides:



Advertisements
Benzer bir sunumlar
ÇANKIRI KARATEKİN ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ
Advertisements

Gözün kısımlarını yerleştirme oyunu
MIT503 Veri Yapıları ve algoritmalar Algoritma Oluşturma – Açgözlü algoritmalar ve buluşsallar Y. Doç. Yuriy Mishchenko.
Problemi Çözme Adımları
Bilgi Teknolojisinin Temel Kavramları
Bölüm 1: Introductions (Tanıtım,Tanım)
SQL de Değişken Tanımlama
BİTKİ KORUMA BÖLÜMÜ YETERLİLİKLER ÇERÇEVESİ Kasım 2009 Ziraat Fakültesi.
Bölüm 3 – Yapısal Programlama
Yapısal Program Geliştirme – if, if-else
Problem Çözme Süreci.
Temel tanımlar ve işleyiş
İLKÖĞRETİMDE EĞİTİM PROGRAMLARI
MESAJ KUTUSU.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Neden Proje Yönetimi - PROBLEMLERİN KARMAŞIKLIĞI - TEK BİR KİŞİNİN ÇÖZÜME ULAŞMA GÜÇLÜĞÜ - DİSİPLİNLER ARASI İLİŞKİLERİN SAĞLANMASI - MADDE VE İNSAN KAYNAKLARININ.
=>NOKTALAMA İŞARETLERİ<=
FIZ 275 Bilgisayar Uygulamaları Ders Notu
PROGRAM YETERLİLİKLERİ MÜHENDİSLİK FAKÜLTESİ. YÜKSEKÖĞRETİM YETERLİLİKLER ÇERÇEVESİ 1.Belli bir alanda genel ortaöğretimde kazanılan bilgi, beceri ve.
Probleme Dayalı Öğrenme (Problem Based Learning)
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
BİLGİSAYAR DESTEKLİ EĞİTİM UYGULAMALARI
Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması
Bilgi Teknolojisinin Temel Kavramları
BİL 102 BİLGİSAYAR PROGRAMLAMA DERS 1. PROGRAM GELİŞTİRME AŞAMALARI 1- Probleme ilişkin veriler nelerdir? 2- Çözüm yöntemi nasıl olacaktır? 3- Çözüm sonucunda.
Python Programlama Dilini Oyun Oynayarak Öğreniyorum
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
Sistem Analizi Sistem Analisti
Bilgisayar Programcılığına ve Algoritmaya Giriş
SAYISAL ANALİZ Doç. Dr. Cüneyt BAYILMIŞ.
“Ders Kitabı İnceleme” … Yayınları Numara İsim Soyisim.
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
Adım Adım Algoritma.
BİLGİSAYARI TANIYORUM. MERHABA BENN BİLGİSAYARKURDU ALİCAN.
Ders 2 Algoritma İfade Şekilleri
Özel Gereksinimli Öğrenciler ve Fen Öğretimi
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
Algoritma ve Akış Şemaları
DİN EĞİTİMİ BİLİMİNİN ARAŞTIRMA METODLARI ve DİLİ
TEKSTİL MÜHENDİSLİĞİ HAKKINDA……
T.C. ÖMER HALİSDEMİR ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ ÖĞRETMENLİĞİ EĞİTİMDE BİLİŞİM TEKNOLOJİLERİ – 2 DERSİ ALGORİTMALAR.
BM-103 Programlamaya Giriş Güz 2016 (4. Sunu)
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Problem Çözme ve Algoritmalar
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Öğr.Gör. Hüseyin TURGUT / Tefenni MYO hturgut.com.
PROBLEM ÇÖZME VE ALGORİTMALAR
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
VERİ TÜRLERİ.
Fen Öğretiminin Genel Amaçları Prof. Dr. Fitnat KAPTAN Arş. Gör. Dr
Problem Çözme ve Algoritmalar
PROGRAMLAMA VE KODLAMAYA GİRİŞ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROBLEM ÇÖZME VE ALGORİTMALAR
Problem Çözme Yaklaşımları
Algoritma Nedir? Algoritmayı, herhangi bir problemin çözümü için izlenecek yolun adımlar halinde yazılması olarak tanımlayabiliriz. Algoritma, bir problemin.
Problem Çözme Kavramları ve Yaklaşımlar
Bilgisayar Bilimi Problem Çözme Süreci-2.
Problemi Çözme Adımları
EĞİTİMDE BİLGİSAYAR KULLANIMI
Yakınsak düşünme ve Iraksak düşünme
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ
YAPAY ZEKA Genel Kavramlar hturgut.com
Yapay Zeka Nadir Can KAVKAS
PROBLEM ÇÖZME VE ALGORİTMALAR
Bilgisayar Bilimi Problem Çözme Süreci-3.
KODLAMA ve BECERİLER Dr. Osman EROL.
Sunum transkripti:

Problem Çözme ve Algoritmalar Problem Çözme Kavramları ve Yaklaşımlar

Programlama nedir? Bilgisayar bilimcileri genel olarak matematiksel sembolleri, işlemleri ve formülleri kullanır, mühendisler gibi tasarım yaparak farklı sistemler oluşturur ve bilim insanları gibi deney yaparak teknoloji desteği ile çözüm üretir. Bir bilgisayar bilimcisi için en önemli beceri problem çözme becerisidir. Programlama; bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar ve işlemler bütünüdür. Bir insan makine değildir, o yüzden düşünmeye zorlanamaz. Programlama, hem problem çözme becerisi hem de bilgi işlemsel düşünme becerisine sahip olmayı gerektirir.

Bilgi işlemsel düşünme Bilgisayar biliminin kavramlarından yararlanarak problem çözme, sistem tasarlama ve insan davranışlarını anlama olarak tanımlanabilir.

Program Nedir? Yapılacak bir işlemi ya da hesaplamayı gerçekleştirmek için birbirini izleyen komut ya da yönergelerden oluşan yapıdır. Girdi: Klavyeden, dosyadan veya başka bir aygıttan veri almadır. Çıktı: Ekranda veriyi görüntüleme veya veriyi dosyaya veya başka bir aygıta göndermedir. Koşullu yürütme: Belirli durumları sınamak ve komutları uygun bir sıraya göre çalıştırmaktır. Tekrarlama: Bazı eylemleri genellikle ufak tefek değişikliklerle yineleme işlemidir.

Hata Ayıklama Nedir? Programlama hatalarını bulma ve düzeltme işlemine hata ayıklama (debugging) denilir. Bir programda üç tür hata oluşabilir: söz dizimsel hatalar, çalışma zamanı hataları ve anlam bilimsel hatalar.

Çalışma zamanı hataları Bu hatalar ancak program çalıştırıldıktan sonra ortaya çıkar. Hesaplanması mümkün olmayan işlemler (sıfıra bölünme) ya da hiç gerçekleşmeyecek koşulların (5<3) yürütülmesi gibi durumlarda ortaya çıkar.

Söz dizimsel hatalar Söz dizimi, programın yapısı hakkındaki kurallar demektir. Örneğin Türkçede bir cümle büyük harfle başlamalı ve uygun bir noktalama işaretiyle sona ermelidir. Bu kurallara uymayan cümlelere “Söz dizimi hatası içermektedir.” diyebiliriz. Programlama dilleri için söz dizimi, kesin ve net ifadeler içermelidir. Aksi takdirde program, söz dizimi hatası verir ve programın doğru çalışmasını bekleyemeyiz.

Anlam bilimsel hatalar Program, genellikle hata mesajı vermeden çalışır ancak çoğu zaman beklenen sonucu üretmez. En zor hata ayıklama türüdür. Bu yüzden programı satır satır çalıştırarak, farklı adımlardaki çıktıları gözlemleyerek nerede mantık hatası yapıldığını bularak program doğru biçimde çalışana kadar bu hataları ayıklamak gerekir.

Günlük Hayatta Problem Çözme Günlük hayatımızda problemlerimizi çözmek için yaşantımızı etkileyen pek çok karar veririz. Örneğin karşılaştığımız problemler, televizyonda hangi kanalı seyretsem gibi basit de olabilir, hangi mesleği seçmeliyim gibi çok önemli de olabilir. Yanlış bir karar verilirse zaman ve kaynaklar boşa gidebilir, bu nedenle nasıl doğru karar verildiğini öğrenmek önemlidir. En iyi kararı vermek aslında problem çözmektir. İnsan hayatı aslında bir problem çözme sürecidir. Genellikle bir problemin birden fazla çözümü vardır, her bir çözüm bir alternatif olarak düşünülebilir. Problem çözme, amaca ulaşabilmek için alternatifler arasından en uygun yolu belirlemektir.

Tilki, Kaz ve Mısır Çuvalı Problemi Bir çiftçinin bir tilkiyi, bir kazı ve bir mısır çuvalını nehrin karşısına geçirmesi gerekmektedir. Çiftçinin bu işlemi gerçekleştirmek için küçük bir teknesi var ancak bu teknede çiftçi ile birlikte en fazla bir nesneye daha yer var. Ne yazık ki tilki ve kaz açtır. Bu yüzden tilki kaz ile yalnız kalamaz çünkü tilki kazı yiyebilir. Aynı şekilde kaz ve mısır çuvalı yalnız bırakılamaz çünkü kaz mısırı yiyebilir. Bu koşullarda çiftçi nehrin karşısına tilki, kaz ve mısırı sorunsuz bir şekilde nasıl geçirebilir?

Tilki, Kaz ve Mısır Çuvalı Problem Çözümü Çiftçi ilk turda kazı almak zorundadır. İkinci turda, çiftçinin tilkiyi aldığını varsayalım. Bununla birlikte tilkiyi kaz ile bırakmak yerine çiftçi kazı yanına alarak yakın kıyıya geri götürür. Tilki uzak kıyıda yalnız kalır. Sonra çiftçi dördüncü turda tilkiyi yakın kıyıda yalnız bırakarak mısır çuvalını uzak kıyıya götürür.

Su Doku 9x9 boyutlu bir tablo kısmen (1-9 arası) sayı ile doldurulur ve oyuncu belirli kısıtlamalara göre boş kareleri doldurmalıdır: Her bir satır ve sütunda, her rakam tam olarak bir kez yazılmalıdır ve her doldurulmuş 3x3 alanda her bir rakam tam olarak bir kez yer almalıdır. O zaman, 1-9 arasındaki her bir sayıyı; bulunduğu satır, sütun ve kare içinde yalnızca bir kez kullanılacak biçimde nasıl doldururuz?