Bilgisayar Programlama Güz 2011

Slides:



Advertisements
Benzer bir sunumlar
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Advertisements

Bilgisayar Programlama I
Bilgisayar Programlama Güz 2011
Algoritma ve Akış Diyagramları
(Yrd. Doç. Dr. İbrahim ASRİ)
Bilgisayar Mühendisliğine Giriş
Ayrık Yapılar Matlab Notları
Algoritma ve Akış Diyagramları
Problemi Çözme Adımları
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
TEMEL BİLGİSAYAR BİLİMLERİ
AKIŞ DİYAGRAMLARI Yard.Doç.Dr. Cihad DEMİRLİ
BPR151 ALGORİTMA VE PROGRAMLAMA - I
ALGORİTMA VE AKIŞ ŞEMALARI.
Algoritma ve Akış Diyagramları
Yapısal Program Geliştirme – if, if-else
ALGORİTMA ve PROGRAMLAMA
Görsel C# ile Windows Programlama
Bilgisayar Programlama
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Algoritmalar (Algoritms)
Temel tanımlar ve işleyiş
Algoritmalar (Algoritms)
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
ALGORİTMA.
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması
Bilgisayar Programlama Güz 2011
Algoritmalar (Algoritms)
PROGRAMLAMA 2. Hafta TEMEL KAVRAMLAR.
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
Algoritmalar (Algoritms)
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Algoritma Mantığı ve Akış Diyagramları
ALGORİTMA ve PROGRAMLAMA KAVRAMLARI
Adım Adım Algoritma.
ALGORİTMA NEDİR? İster bilgisayarda, ister matematikte, isterse günlük hayatta karşımıza çıkan her problemin çözüm yolu vardır. Örneğin yemek yerken farkında.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Bilgisayar Programlama Dersi KTÜ Harita Müh. Böl. 2015/2016Bahar Dönemi Doç. Dr. Oğuz Güngör Yrd. Doç. Dr. Emine Tanır Kayıkçı Yrd. Doç. Dr. Esra TUNÇ.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMA MANTIĞI, ALGORİTMA PROBLEM ÇÖZME
BÖLÜM 2 ALGORİTMA.
Akış Diyagramları - 1. Akış Diyagramı  Algoritmalar doğal dille yazıldıklarında herkes tarafından aynı biçimde anlaşılmayabilir.  Ancak, akış diyagramlarında.
BÖLÜM 3 AKIŞ DİYAGRAMI.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
O R T L G İ M A A Ve Akış şemaları.
PROGRAMLAMA TEMELLERİ Burak UZUN Bilişim Teknolojileri Öğretmeni Burak UZUN.
Algoritma Örnekleri.
Algoritma ve Akış Şemaları
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.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Bilgisayar Programlama
Algoritmanın Hazırlanması
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
Algoritma Nedir? Algoritmayı, herhangi bir problemin çözümü için izlenecek yolun adımlar halinde yazılması olarak tanımlayabiliriz. Algoritma, bir problemin.
Problemi Çözme Adımları
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Akis diyagramı Örnekleri
Algoritma ve Akış Diyagramları
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Bilgisayar Programlama Güz 2011 MF-103 Bilgisayar Programlama Güz 2011 (1. Sunu) (Yrd. Doç. Dr. Deniz Dal)

BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI

BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI (devam) ANALİZ: Çözülmesi istenen problemin tamamen anlaşılmasını sağlayacak ön çalışmalardır. ALGORİTMA GELİŞTİRME: Problemi çözecek adımların sıralı olarak ifade edilmesidir. AKIŞ ŞEMASI ÇİZİMİ: Geliştirilen algoritmanın şekillerle ifade edilmesidir. PROGRAMLAMA DİLİ SEÇİMİ: Geliştirilen algoritmayı kolay bir şekilde bilgisayar ortamına aktaracak bir bilgisayar programlama dilinin seçilmesidir.

BİLGİSAYARLA PROBLEM ÇÖZÜMÜNÜN AŞAMALARI (devam) PROGRAMIN YAZILMASI: Seçilen programlama dilinin kuralları kullanılarak programın yazılması aşamasıdır. DERLEME: Programlama dili komutlarına dönüşmüş çözümün yazım hatalarının olup olmadığının kontrol edilmesi ve programın makina dili komutlarına çevrilmesidir. ÇALIŞTIRMA: Derlenmiş programın işletim sistemi tarafından hard diskten alınarak belleğe taşındığı ve programın ilk komutunun adresinin Merkezi İşlem Birimine bildirildiği aşamadır. TEST: Programın mantıksal olarak test edildiği ve muhtemel her giriş için doğru sonuçlar üretip üretmediğinin kontrol edildiği aşamadır.

Problem çözümünde anlatılan adımların tümüne birden programlama denir. PROGRAM (BİLGİSAYAR PROGRAMI) NEDİR? Problem çözümü kısmında anlatılan adımlar uygulandıktan sonra ortaya çıkan ve sorunumuzu bilgisayar ortamında çözen ürüne program denir. PROGRAMLAMA (BİLGİSAYAR PROGRAMLAMA) NEDİR? Problem çözümünde anlatılan adımların tümüne birden programlama denir.

BAZI PROGRAMLAMA DİLLERİ PROGRAMLAMA DİLİ NEDİR? Bir problemin algoritmik çözümünün bilgisayarda yazılmasını sağlayan kurallar dizisidir. BAZI PROGRAMLAMA DİLLERİ MATLAB, Delphi, Pascal, Fortran, Lisp C, C++, C#, Visual Basic, Java

ALGORİTMA Belirli bir problemi çözmek için işletilmesi gereken adımları ve bu adımların hangi sıra ile uygulanacağını belirleyen prosedüre algoritma denir. “İşine gitmek üzere uyanan birinin yapması gereken işler” algoritması: Yataktan kalk Pijamalarını çıkar Duş al Elbiselerini giy Kahvaltını yap Arabana bin ve işe git Sıra önemli. 3 ve 4 nolu adımlar yer değiştirirse mesela? (Kim ıslanmak ister? )

Pasta tarifi bir algoritma mıdır?

ALGORİTMA GELİŞTİRMEDE VE BİLGİSAYAR PROGRAMLAMADA KULLANILAN BAZI TEMEL KAVRAMLAR 1–Değişken 2–Atama 3–Fonksiyon 4–Sayaç 5–Döngü

DEĞİŞKEN Değişken denince aklınıza saklama kapları gelmelidir. Bir program içerisinde bilgileri geçici olarak saklamak ve ihtiyaç duyduğumuzda bu bilgiler üzerinde işlem yapmak için değişkenlerden yararlanırız.

ATAMA Herhangi bir değişkenin içine bir değeri veya ifadenin/işlemin sonucunu aktarma işlemine atama denir.

ATAMA (devam) değişken = ifade satırında ‘değişken’ yazan kısım, herhangi bir değişkenin adıdır. ‘ifade’ yazan kısımda ise matematiksel, mantıksal veya alfa-nümerik bir ifade olabilir. Aradaki ‘=’ sembolü, ‘atama operatörü’ olarak adlandırılır ve sağdaki ifadenin/işlemin sonucunu soldaki değişkene aktarır. Bu durumda değişkenin (eğer varsa) bir önceki değeri (eski değeri) silinir. Y=9 X=26 X=3 Y=X+5 işleminin sonucunda Y’nin bir önceki değeri silinerek yerine 8 değeri atanır.

FONKSİYON Bir giriş parametresini(lerini) (argümanlarını) belirli bir işlemden geçirdikten sonra geriye bir çıkış parametresi(leri) döndüren programlara fonksiyon denir. Kıyma makinesi parça eti kıymaya dönüştüren bir fonksiyona sahiptir.

SAYAÇ Programlarımızda bazı işlemlerin belirli sayıda yaptırılması veya işlenen/üretilen değerlerin sayılması gerekebilir. Sayma amacıyla kullanılan bu tür değişkenlere sayaç denir. Örneğin klavyeden girilen bir cümlede kaç sesli harf olduğunu bulan programda, cümlenin her harfi sırayla çağrılır ve sesli harfler kümesine ait olup olmadığı araştırılır. Eğer çağrılan harf bu kümeye ait ise bunları sayacak olan değişkenin değeri bir artırılır.

sayac = sayac + 1 bilgisayar deyimi ile sayac adlı değişkenin eski (önceki) değerine ‘1’ eklenmekte; bulunan sonuç yine kendisine, yeni değer olarak aktarılmaktadır. Bu tür değişkenlere, algoritmada “sayaç” veya “sayıcı” (counter) adı verilir. Yani “sayaç” işlem akışı kendisine her geldiğinde, belirtilen adım değeri kadar artan/azalan değişkendir.

‘Sayaç’ kullanımına örnek: sayac=sayac+3 Üçer üçer artan bir sayıcıdır sayac=sayac-5 Beşer beşer azalan bir sayıcıdır

A3: Eğer sayac 5’e eşit ise adım 7 ye git A4: sayac ı ekrana yaz Örnek: Aşağıdaki algoritmada 1-5 arası sayılar (1 dahil, 5 hariç), sayaç kullanılarak ekrana yazdırılmaktadır. Burada, sayac sayaç değişkenidir. A1: Başla A2: sayac=1 A3: Eğer sayac 5’e eşit ise adım 7 ye git A4: sayac ı ekrana yaz A5: sayac=sayac+1 A6: 3. adım’ a git A7: Bitir Hangi amaçlarla kaç değişkene ihtiyaç var?

DÖNGÜ Birçok programda bazı işlemler belirli ardışık değerlerle gerçekleştirilmekte veya belirli sayıda yapılmaktadır. Programlardaki belirli işlem bloklarını, belirli sayıda tekrarlayan işlem akış çevrimlerine döngü denir.

Döngü Oluşturma Kuralları: 1- Döngü değişkeninin başlangıç değeri belirlenir. 2- Döngü değişkeninin bitiş değeri belirlenir. 3- Döngü değişkeninin bitiş değerine ulaşıp ulaşmadığı test edilir. 4- İstenen işlem gerçekleştirilir. 5- Döngü değişkeni, döngü içinde adım miktarı kadar artırılır yada azaltılır.

A4: Eğer sayac>10 ise adım 8 e git A5: toplam=toplam+sayac Örnek: Aşağıdaki algoritmada 1-10 arası tek sayıların toplamı hesaplanmaktadır. (Aşağıdaki algoritmayı çift sayıların toplamına hangi değişikliği yaparak dönüştürebilirsiniz?) A1: Başla A2: toplam=0 A3: sayac=1 A4: Eğer sayac>10 ise adım 8 e git A5: toplam=toplam+sayac A6: sayac=sayac+2 A7: Adım 4 e git A8: toplam ı ekrana yaz A9: Bitir Döngü Hangi amaçlarla kaç değişkene ihtiyaç var?

Örnek : Dışarıdan girilen iki sayının toplamını bulan programın algoritması aşağıdaki gibidir. A1 : Başla A2 : sayi1 değerini gir A3 : sayi2 değerini gir A4 : toplam= sayi1+sayi2 A5 : toplam ı ekrana yaz A6 : Bitir Hangi amaçlarla kaç değişkene ihtiyaç var?

A2 : sayi1, sayi2 ve sayi3 sayılarını dışarıdan gir A3 : enBuyuk=sayi1 Örnek : Dışarıdan girilen 3 sayıdan en büyüğünü bulan algoritmayı geliştiriniz. A1 : Başla A2 : sayi1, sayi2 ve sayi3 sayılarını dışarıdan gir A3 : enBuyuk=sayi1 A4 : Eğer sayi2>enBuyuk ise enBuyuk=sayi2 yap A5 : Eğer sayi3>enBuyuk ise enBuyuk=sayi3 yap A6 : enBuyuk değerini ekrana yaz A7 : Bitir Hangi amaçlarla kaç değişkene ihtiyaç var?

A2 : toplam=0;sayac=1 başlangıç değerlerini ata Örnek: 0’dan 100’e kadar olan sayma sayılarının kümülatif toplamını ekrana yazdıran algoritmayı geliştiriniz. A1 : Başla A2 : toplam=0;sayac=1 başlangıç değerlerini ata A3 : Eğer sayac 100’e eşit ise 6. adıma git A4 : toplam=toplam+sayac A5 : sayac=sayac+1 yap ve 3. adıma geri dön A6 : toplam ı ekrana yaz A7 : Bitir Hangi amaçlarla kaç değişkene ihtiyaç var?

Sayının Faktöriyeli : faktor , Faktöriyel Değişkeni :sayac Örnek: Verilen bir sayının faktöriyelini hesaplayan programın algoritmasını yazınız. (Faktöriyeli hesaplanacak sayı negatif girilmişse yeniden giriş istenmelidir.) Değişkenler: Sayının Faktöriyeli : faktor , Faktöriyel Değişkeni :sayac Faktöriyeli Hesaplanacak Sayı :Y Algoritma: A1: Başla A2: faktor =1; sayac =1 A3: Y’yi gir A4: Eğer Y<0 ise 3. adima git A5: Eğer sayac>Y ise adim 8 e git A6: faktor=faktor*sayac A7: sayac =sayac+1 yap ve adım 5 e git A8: faktor degerini ekrana yaz A9: Bitir Anlamlı Değişken İsimleri Seçmek Çok Önemli !!!!!!!!!!!! Hangi amaçlarla kaç değişkene ihtiyaç var?

Akış Diyagramları (Flow Charts): Akış diyagramları, algoritmaların sembolik olarak gösterimidir. Bilgisayarda gerçekleştirilecek her tür aksiyon ayrı bir sembolle gösterilir.

Örnek: Verilen iki sayının ortalamasını hesaplayan programın algoritmasını geliştiriniz ve akış diyagramını çiziniz. Algoritma: A1 : Başla A2 : sayi1 değerini gir A3 : sayi2 değerini gir A4 : ortalama = (sayi1+sayi2)/2 A5 : ortalama degerini ekrana yaz A6 : Bitir Başla Akış diyagramı: sayi1=? sayi2=? ortalama=(sayi1+sayi)/2 ortalama Bitir Hangi amaçlarla kaç değişkene ihtiyaç var?

A3: Eğer A 0’a eşit ise Adım 2’ye git A4: B değerini giriniz Örnek: AX+B=0 şeklinde verilen 1. derece denklemin çözümünü bulan programın algoritmasını geliştiriniz ve akış diyagramını çiziniz. (A=0 girilmiş ise veri girişi yenilenecektir.) A1: Başla A2: A değerini giriniz A3: Eğer A 0’a eşit ise Adım 2’ye git A4: B değerini giriniz A5: X=-B/A A6: Yaz X A7: Bitir A=0 Evet Hayır Hangi amaçlarla kaç değişkene ihtiyaç var?

Örnek: 1’den 100’e kadar olan sayıların (100 dahil) toplamını ve ortalamasını bulan algoritmayı geliştiriniz. Algoritma: A1: Başla A2: sayac=0 A3: toplam=0 A4: sayac=sayac+1 A5: toplam=toplam+sayac A6: Eğer sayac 100’e eşit değilse Adım 4’e git A7: ortalama=toplam/sayac A8: Yaz toplam, ortalama A9: Bitir Hangi amaçlarla kaç değişkene ihtiyaç var?

Uygulama: Daha önce algoritması geliştirilen ve dışarıdan girilen 3 sayıdan en büyüğünü bulan programın akış diyagramını çiziniz. Uygulama: Daha önce algoritması geliştirilen ve dışarıdan girilen bir sayının faktöriyelini hesaplayan programın akış diyagramını çiziniz.

Örnek: f(X) fonksiyonunun degeri X'in aldığı değerlere göre asağıda verilmiştir. X'in değeri 0-20 arasında 0.5 aralıklarla arttığına göre her bir X degeri için f(X) fonksiyonunu hesaplayan programın akış diyagramını çiziniz. 0<= X <= 2 f(X)=X 2< X <= 3 f(X)=X-X3-22 3< X <=4 f(X)=X2-2X+13 4< X f(X)=X4-3X2-43 Algoritma: ???

Örnek : Ax²+Bx+C=0 şeklinde verilen 2 Örnek : Ax²+Bx+C=0 şeklinde verilen 2. derece denklemin köklerini bulan programın akış diyagramını çiziniz. (İkinci derece denklem olmadığı uyarısını nasıl verirsiniz?)

Örnek: 10 tane N sayısının faktöriyelini hesaplayan programın akış diyagramını çiziniz. (Yandaki diyagramdaki sorunları bulunuz.)

A3: A=B ise A4’e git değilse A5’e git Örnek : Kenar uzunlukları dışarıdan girilen bir ABC üçgenini kenar uzunluklarına göre inceleyen programın algoritmasını kurunuz. A1: Başla     A2: A,B,C değerlerini gir     A3: A=B ise A4’e git değilse A5’e git     A4: B=C ise A6’ya git değilse A8’e git     A5: A=C ise A8’e git değilse A7’e git A6: ‘Üçgen Eşkenardır’ yazdir ve A10’a git A7: B=C ise A8’e git, değilse A9’a git         A8: ‘Üçgen İkizkenardır’ yazdir ve A10’a git     A9: ‘Üçgen Çeşitkenardır’ yazdir     A10: Bitir Hangi amaçlarla kaç değişkene ihtiyaç var?

A1 Başla Eşkenar : A=B=C İkizkenar: A=B veya A=C veya B=C A2 A,B,C Gir Çeşitkenar: A=B=C A3 H A=B E A5 A4 A6 H A=C E H B=C E Eşkenar A7 A8 H B=C E İkizkenar A9 Çeşitkenar Bitir A10