ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

Benzer belgeler
ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.)

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

Bilgisayar Programlama. Giriş

Algoritmalar ve Programlama. Algoritma

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

Algoritma ve Programlamaya Giriş

Genel Programlama I

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

ALGORİTMA VE AKIŞ ŞEMALARI

BÖLÜM 2: ALGORİTMALAR

TEMEL BİLGİSAYAR BİLİMLERİ

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

Algoritmanın Hazırlanması

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ENDÜSTRİYEL OTOMASYON TEKNOLOJİSİ

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1


ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

BİLGİSAYAR PROGRAMLAMA MATLAB

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

Algoritma ve Akış Diyagramları

Bilgisayarda Programlama. Temel Kavramlar

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

4- ALGORİTMA (ALGORITHM)

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ. Yrd.Doç.Dr. Emel ARSLAN

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.

4- ALGORİTMA (ALGORITHM) M.İLKUÇAR - 1

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

Dr. Musa KILIÇ Öğretim Görevlisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Bilgisayar Programı Nedir?

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Ana Bellek (RAM) İşlemci (CPU) Depolama

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Bilgisayar II Dersi. Bölüm-2

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

Programlama Dilinin Özellikleri

Bilgisayar Programlama. 1.Hafta

Algoritma. 19. yüzyılda Persli matematikçi Al- Khowarizmi (Al-Harezmi) tarafından bulunmuş ve onun adında türetilmiştir.

ÖRNEK 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır:

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

5- AKIŞ DİYAGRAMLARI (FLOW- CHART) M.İLKUÇAR - 1

BİLGİSAYAR PROGRAMLAMA DERSİ

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz Bölüm 1-2

PROGRAMLAMAYA GİRİŞ DERS 2

Dr. Fatih AY Tel: fatihay@fatihay.net

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

BİLGİSAYAR PROGRAMLAMA DERSİ

BİL1001 Bilgisayar Bilimlerine Giriş 1

Algoritma ve Akış Diyagramları

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

C Programlama Dilininin Basit Yapıları

Algoritma ve Programlama: Karar Yapıları ve Döngüler

ALGORİTMA VE PROGRAMLAMA I

2. BÖLÜM. Problem Çözme ve Algoritmalar

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

ALGORİTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir.

3/3/2011. ENF-102 Jeoloji 1. Akış Diyagramı. Akış Diyagramı Şekilleri

Genel Programlama II

Temel Bilgisayar Programlama

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Algoritma & Matlab.

1. PROGRAMLAMAYA GİRİŞ

BLG 1306 Temel Bilgisayar Programlama

Hafta 4 Döngü Yapıları

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

C SHARP UYGULAMA ÇALIŞMASI

FORMÜLLER VE FONKSİYONLAR

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

EM-554 İleri Bilgisayar Programlama Teknikleri Algoritma ve Akış Diyagramları

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-4 Döngü Yapıları. Yrd. Doç. Dr. Ümit ATİLA

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Transkript:

Turbo C ++ 3.0 ALGORİTMALAR http://vaibhavweb.tripod.com/others/tc3.zip http://www.top4download.com/turbo-c- /aklqwuba.html 1 2 Bilgisayarda Problem Çözme Adımları Bilgisayarda Problem Çözme Adımları 1-Problemi Tanıma: Çözüm için her şeyden önce problemin tam olarak anlaşılması gerekir. Descartes Discourse on method isimli kitabında problem çözme ile ilgili şuönerilerde bulunur. Doğruluğu kesin kanıtlanmadıkça hiçbir şeyi doğru olarak kabul etmeyin. Tahmin ve ön yargılardan kaçının. Karşılaştığınız her güçlüğü mümkün olduğunca çok parçaya bölün. Düzenli bir biçimde düşünün; anlaşılması en kolay olan şeylerle başlayıp yavaş yavaş daha zor ve karmaşık olanlara doğru ilerleyiniz. Olaya bakışınız çok genel, hazırladığınız ayrıntılı liste ise hiçbir şeyi dışarıda bırakmayacak kadar kusursuz ve eksiksiz olsun. 2-Algoritma Geliştirme: Bir sorunun çözümü için izlenecek yoldur. Birden fazla çözüm yolunun en uygunu seçilmeye çalışılır. Her algoritma aşağıdaki kriterleri sağlamalıdır. Giriş : Her algoritmanın bir başlangıç noktası vardır. Başlangıçta herhangi bir sayısal değer dışarıdan verilmelidir. Çıkış :Her algoritmanın bir çıkış noktası vardır ve en az bir değer üretmelidir. Kesinlik : Algoritmanın her adımında yapılacak iş açık olmalı ve farklı anlamlar içermemelidir. Sonluluk :Her türlü olasılık için algoritma sonlu adımda bitmelidir. 3 4

Bilgisayarda Problem Çözme Adımları Bilgisayarda Problem Çözme Adımları Günlük yaşamımızda her zaman yaptığımız işlemleri algoritmik sırayla aşağıdaki gibi yazabiliriz. 3-Girdi ve Çıktı Biçimi Belirleme: Programcı, program çıktısı olarak almak istediği sonucun biçimini tasarlar. 4-Akış Diyagramı Çizme: Akış şeması belirli bir işin yapılabilmesi için basit işlemlerle şema hâlinde gösterilmesidir. Kısaca algoritmanın şemalarla gösterilmesidir. 5 6 Akış diyagramı sembolleri Akış diyagramı sembolleri 7 8

Bilgisayarda Problem Çözme Adımları Problem çözme algoritması 5-Kodlama: Akış şemaları çizildikten sonra sorunu yapısına uygun bir programlama dili seçilir. Bu dil ile akış şemaları dilin kurallarına uygun olarak bilgisayarın anlayabileceği duruma getirilir. 6-Programı Sınama: Program yazıldıktan sonra, sonuçları daha önceden bilinen veriler girilerek, eldeki sonuçlarla çıkan sonuçlar karşılaştırılır. Programın doğru çalışıp çalışmadığı sınanır. 9 10 Algoritma Örnekleri Bu bölümde günlük yaşamımızda her zaman yaptığımız, fakat üzerinde düşünmediğimiz işlemleri algoritma mantığı ile uygulayacağız. Böylece algoritmada sayısal işlemleri daha kolay yapabileceğiz. Örnek (çay demleme) akış diyagramı; 11 12

Örnek (çay demleme) akış diyagramı 13 14 15 16

Algoritmada Sayısal Örnekler İki sayının toplanması Değişkenler; Programın herhangi bir basamağında tanımlanan ve farklı zamanlarda farklı değerler alabilen sembolik ifadeye değişken denir. Değişkenler, bilgisayarın RAM adı verilen belleğinde geçici olarak saklanır. Bir değişken tanımlandığında RAM bellekte bir odacık (bölüm) açılır ve buraya değişken ismi ile ulaşılır. Programdaki değişkenler problemin tanımı ve girdi çıktı belirleme aşamalarında belirlenmelidir. Klavyeden iki sayının toplamını bulan program yazılırken 3 adet değişken tanımlanmalıdır.çünkü klavyeden 2 sayı girilecek ve bu sayılar toplanarak 3. bir değişkene aktarılacaktır. Algoritma sadece akış diyagramı ile değil komutlar ile de açıklanabilir. Buna göre akış diyagramının algoritması aşağıdaki şekilde yazılabilir. 17 18 19 20

Aritmetik ve Karşılaştırma İşlemleri Aritmetik ve Karşılaştırma İşlemleri Bilgisayarlar temel matematik işlemleri yapabildiği gibi; karşılaştırma işlemleri de yapabilir. Yaşları girilen iki kişiden genç olanı bulmak, sınıfın içinde en yüksek puanı alan öğrenciyi tespit etmek, bir alışveriş merkezinde belli bir tarihte yapılan işlemleri bulmak gibi örnekleri verebiliriz Aritmetik işlemlerde parantezin önceliği vardır. İşlemde parantez yoksa çarpma ve bölmenin toplama ve çıkarmaya karşı önceliği vardır. 21 22 Mantıksal bağlaçlar Ortalama bulunması Bilgisayarlar iki veya daha fazla koşulun birlikte sınanması da yapar. Örneğin; Puanı 69'dan büyük VE 85'ten küçük olma koşulu öğrencinin edebiyat VEYA matematik notunun 70'ten yukarı olması durumu Klavyeden girilen 3 sayının ortalamasını bulan algoritmayı tasarlayın BAŞLA OKU A OKU B OKU C T=(A+B+C)/3 YAZ T DUR 23 24

Ortalama bulunması Satış fiyatı bulunması Bu örnekteki (A+B+C)/3 işleminde parantez önceliği vardır. Eğer parantez kullanılmasaydı A+B+C/3 işleminde bölmenin toplamaya göre önceliği olacaktı. Klavyeden fiyatı girilen bir malın KDV eklenmiş satış fiyatını veren algoritmayı yazınız. BAŞLA OKU A T=A+A/10018 YAZ T DUR 25 26 Satış fiyatı bulunması Programlamada Karar İfadesi T=A+A/100x18 işleminde parantez almaya gerek yoktur.çarpma ve bölmenin kendi aralarında önceliği olmadığı için A/100x18 işleminin sonucu ile A değeri toplanır. Programlamada karar yapısı EĞER ifadesi ile sağlanır. Genellikle programlama dillerinde İngilizce if olarak kullanılır. 27 28

Tek durumlu karar yapısı Tek durumlu karar yapısı örneği Eğer ifadesinin tek durumlu kullanımında gerekli şart sağlanıyorsa sadece bir işlem yapılır. Aksi durumda herhangi bir şey yapılmaz. Klavyeden girilen pozitif sayıyı ekrana yazdıran algoritmayı tasarlayın. BAŞLA OKU A EĞER A>=0 İSE YAZ A DUR 29 30 Eğer İfadesinin İki Durumlu Kullanımı Eğer İfadesinin İki Durumlu Kullanımı Eğer ifadesinin iki durumlu kullanımında gerekli şart sağlanıyorsa bir işlem yapılır. Şart sağlanmıyor ise başka bir işlem yapılır. 31 32

Tek durumlu karar yapısı örneği Klavyeden girilen iki sayıdan hangisinin büyük olduğunu bulan algoritmayı yazınız. BAŞLA OKU A OKU B EĞER A>B İSE YAZ A DEĞİLSE YAZ B DUR 33 34 İç içe karar yapısı örneği Aşağıdaki ücret tarifesine göre aracın otopark ücretini hesaplayınız. Araçların otopark içinde en fazla 24 saat kaldığını varsayın. 35 36

İç içe karar yapısı örneği Klavyeden girilen puan değerine göre öğrenci notunu hesaplayan algoritmayı yazınız. Not sistemine göre öğrenci puanı 0-24 ise 0 55-69 ise 3 25-44 ise 1 70-84 ise 4 45-54 ise 2 85-100 ise 5 olacaktır 37 38 Sayaç Mantığı Programlamada işlemlerin arka arkaya yapılabilmesi için sayaç mantığı kullanılabilir. Örnek: Klavyeden girilen 100 sayının toplamını bulan ve ekrana yazdıran algoritmayı tasarlayın. 39 40

İnceleme Programa rasgele değerler verilerek çalışması incelenebilir.bu yöntem programların test edilmesinde çok önemlidir. 1.BAŞLA 2.OKU A 3.T=T+A 4.S=S+1 5.EĞER S<>100 ise GİT2 6.YAZ T 7.DUR 41 42 Ekrana 10 defa merhaba yazılması Ekrana 10 defa merhaba yazılması Ekrana 10 defa merhaba yazdıran algoritmayı yazınız. Önceki örnekte sayaç, EĞER karar yapısında belirlenen değere kadar sayıyor. Sayma işlemi sona erdiğinde ekrana program sonucu yazılıyordu. Yukarıdaki algoritmada ise S sayaç değeri S=S+1 işlemi ile artmaktadır. Sayaç değeri her artışında ekrana merhaba yazılır. Sayaç 10 değerine ulaştığında ise yazma işlemi durur. 43 44

Döngüler Sayaç ve algoritmaları Sayma işlemi, başlangıç değerinden başlar ve EĞER karar yapısında belirlenmiş koşul ile sorgulanır.sayaç artışında koşul sağlanmamış ise program akışı GİT komutu ile başlangıç değerine gider. Döngüler, sayaç mantığı ile yapılan işlemleri otomatik olarak yapan yapılardır. Döngülerde de bir başlangıç sayısı artış değeri ve koşul vardır. 45 46 Döngü kullanımında S=1, N, 1 ifadesi S değişkenini 1 değerinden N değerine kadar 1'er artır anlamındadır Döngü örneği Döngü örneği 1` den 100`e kadar olan sayıların toplamını hesaplayan algoritmayı yazınız 1` den 100`e kadar olan tek sayıları gösteren algoritmayı yazınız. 47 48

İç İçe Döngüler Programlama Dilleri Şekilde görülen birbirinin içine girmiş döngü yapısında dış döngü değeri 1 arttığında, iç döngü N sayısına kadar dönmektedir.bu durumda dış döngünün N kadar dönmesi, iç döngü içindeki işlemin M x N sayısı kadar yapılacağını gösterir. 49 50 C Programlama Dili Özellikleri C Programının Derlenmesi 51 C algoritmik bir dildir. C'de program yazmak için yalnızca dilin yazım kurallarını ve yapısını bilmek yetmez, genel bir algoritma bilgisi de gerekir. C diğer dillerle kıyaslandığında taşınabilirliği çok yüksek olan bir dildir. Çünkü 1989 yılından bu yana genel kabul görmüş standartlara sahiptir. C çok esnektir. Diğer dillerde olduğu gibi programcıya kısıtlamalar getirmez. Güçlü bir dildir. Çok iyi bir biçimde tasarlanmıştır. C'ye ilişkin operatörlerin ve yapıların birçoğu daha sonra başka programlama dilleri tarafından da benimsenmiştir. C verimli bir dildir. Seviyesinden dolayı hızlı çalışır. Verimlilik konusunda assembly diller ile rekabet edebilir. 52 Bilgisayarlar sadece makine dilinde yazılan kodları işleyebilirler. Yüksek seviyeli dillerle yazılan programlar makine diline derleyiciler (compiler) vasıtasıyla dönüştürülürler. Kaynak kod herhangi bir kelime işlemci programı yardımıyla girilir (kaynak kodun dosya uzantısı.c olmak zorundadır). Sonraki adımda derleyici tarafından işlenen dosya, makine diline çevrilir.

İlk Program 53 54 C Programlama Dili Özellikleri C Programlama Dili Özellikleri Program içine /* -------- */ şeklinde yazacağınız açıklama satırları, derleyici tarafından dikkate alınmaz. # işareti programda ön işlemci kullanılacağını belirtir.her C programı <stdio.h> ifadesi ile başlar.standart giriş-çıkış (standart input output) anlamına gelen bu ifade, temel komutların kullanılabilmesini sağlayan kütüphane dosyasıdır.başka bir ifade ile #include<stdio.h>, derleyiciye stdio.h kütüphanesindeki fonksiyonları program ile birlikte derleme işini yaptırır. C programları fonksiyonlardan meydana gelir. main() (temel) fonksiyonu her programda mutlaka kullanılması gereken bir fonksiyondur.bu fonksiyon küme parantezi ile başlar ve biter. Bilgisayar ekranına çıktı verebilmek için printf komutu kullanılır.komut içine yazılacak ifade karakterleri arasında olmalıdır. Her komut ; karakteri ile sonlandırılmalıdır. \n ifadesi merhaba dünya yazdıktan sonra bir alt satıra geçmek için kullanılır. 55 56

Program Editörünün Kullanılması Bir C programını derleme işleminin algoritması aşağıdaki şekilde olabilir. 57 58 Program Editörünün Kullanılması 59 60

Program Editörünün Kullanılması Program Editörünün Kullanılması 61 62 Program Editörünün Kullanılması Program Editörünün Kullanılması 63 64

Program Editörünün Kullanılması Program Editörünün Kullanılması 65 66 Program Editörünün Kullanılması 67