PROGRAMLAMAYA GİRİŞ DERS NOTLARI

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

Algoritmalar ve Programlama. Algoritma

Algoritmanın Hazırlanması

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

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

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.

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

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

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

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

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

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

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

Bilgisayar Programlama. Giriş

Bilgisayar Programlama. 1.Hafta

Dr. Musa KILIÇ Öğretim Görevlisi

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME

ALGORİTMA HAZIRLAMA. Temel tanımlar ve işleyiş. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA. Yazılım Nedir Algoritma Akış Seması Örnekler

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

Genel Programlama I

Algoritma ve Akış Şemaları

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

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

BİLGİSAYAR PROGRAMLAMA MATLAB

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

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Đ

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

İÇ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 TASARIMI VE SCRATCH UYGULAMASI

BİLGİSAYAR PROGRAMLAMA DERSİ

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

GÖRSEL PROGRALAMA HAFTA 2 PROGRAMLAMA DİLLERİNE GİRİŞ

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

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

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

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.

ALGORİTMA VE AKIŞ ŞEMALARI

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

Bilgisayarda Programlama. Temel Kavramlar

Algoritmik Program Tasarımı, Akış Şemaları ve Programlama. Bilgisayar Mühendisliğine Giriş 1


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

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

Bazen de bir işletme veya yönetimin otomasyonunu sağlamak amacı ile bu tip problemler tanımlanır.

Temel Bilgisayar Programlama

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

ÖLÜM 1- GİRİŞ Visual Basic

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

BLG 1306 Temel Bilgisayar Programlama

BÖLÜM 2: ALGORİTMALAR

C++ Dilinde Bazı Temel Algoritmalar

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

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

Algoritma ve Akış Diyagramları

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

C Programlama Dili'ne Giriş

İÇ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

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

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

Algoritma Hazırlama. Programlama. nereden başlamalı? ALGORİTMA VE PROGRAMLAMA Öğr.Gör.Günay TEMUR

Algoritma ve Programlamaya Giriş

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

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

3. Bölüm Algoritmalar

BÖLÜM 1: PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Yrd. Doç. Dr. Fatih YÜCALAR YZM Celal Bayar Üniversitesi Teknoloji Fakültesi

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEK OKULU

Programlamanın Temelleri

PROGRAMLAMA TEMELLERİ

1.1. Yazılım Geliştirme Süreci

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

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

C Dersi Bölüm 1. Bilgisayar Donanımı

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

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.

Bilgisayar Programı Nedir?

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

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Bilgisayar programlaması sırasında izlenebilecek bir çok yol ve yöntem vardır. Programcının probleme ilişkin çözümü ortaya çıkarabilmesi için problem

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

Bilgisayar II Dersi. Bölüm-2

Algoritma ve Akış Şemaları

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

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

ALGORİTMA VE PROGRAMLAMA I DERS#3


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

C PROGRAMLAMA D İ L İ

Programlama Dilinin Özellikleri

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

Yazılım Mühendisliği 1

Algoritma ve Akış Diyagramları

Transkript:

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

PROGRAM Bilgisayar en basit olarak üç ana görevi yerine getiren bir makinedir. Girilen bilgiyi alır (INPUT), işler (PROCESSING) ve bu işlenmiş veriden bir sonuç (OUTPUT) çıkarır. Bilgisayar, sadece donanım olarak çalışmaz. Çünkü yazılım olmadan, donanım ne yapacağını bilemez. Bilgisayar donanımına ne yapacağını söyleyecek bir komutlar dizisi gerekir. Yapacağı görevleri, ona anlatan komutlara program diyebiliriz. Program, belli bir komut ve söz dizimi yapısını uygun olarak, sadece belirtilen işlemlerin yerine getirilmesini belirten komut dizisidir.

PROGRAMLAMA DILI Programlama Dili bilgisayarda çözülecek bir sorun için çözümün bilgisayara adım adım yazılmasını sağlayan biçimsel kuralları olan ve bu kurallara sıkı sıkıya bağımlılığı gerektiren bir tanımlar kümesidir. Belki daha kısa bir tanımı ile sizinle bilgisayar arasında bir tercümandır demek doğru olur.

C PROGRAMLAMA DILI C Programlama Dili genel amaçlı orta seviyeli ve yapısal bir programlama dilidir. 1972 yılında Dennis Ritchie tarafından Bell Telefon Labaratuvarında tasarlanmıştır. İşletim sistemleri, derleyiciler ve debug programları gibi aşağı seviyeli sistem programlarının yazılımında yoğun olarak C programlama dili kullanılır. Bu dil ilk olarak bir programlama dili olarak düşünülmemişti ve özel bir amacı vardı: UNIX işletim sistemini tasarlamak (UNIX işletim sisteminin 1000 satırlık bölümü C ile yazılmıştır). Günümüzde Nesneye Yönelik programlama dilleri (C++, Java gibi) ve script dilleri (JavaScript, JavaApplet, PHP gibi) gibi programlama dilleri tamamen C tabanlıdır. Kısacası Standart C dilini (ANSI C) öğrenmekle bu dillerin tamamına iyi bir hazırlık yapmış olursunuz. Bu derste ANSI C ile programlama konu edilmiştir.

NEDEN C? C güçlü ve esnek bir dildir. Esnek olması yazacağınız programda daha dikkatli olmanız gerektiği anlamına gelir. Unutulacak bir işaret belki derleyici hatasına neden olmayacaktır ancak programınızı da doğru çalıştırmayacaktır. C ile işletim sistemi yazabilir, kelime işlemciler oluşturabilir veya grafik çizebilirsiniz. C taşınabilir bir dildir. Yani herhangi bir C kodu hiçbir değişikliğe uğramadan, veya çok az bir değişimle, başka bir derleyicide derlenebilir. Örneğin, Windows işletim sistemlerinde yazılan bir C kodu, Linux, UNIX veya VAX gibi işletim sistemlerinde de derlenebilir. C yapısal bir dildir. C kodları fonksiyon olarak adlandırılan altprogramlardan oluşmuştur.

DERLEYICI Programda belirtilen işlem dizisi doğrudan işleme konmaz. Bilgisayar, verilen programı, makine dilinde işleme almak zorundadır. Programcı programlama dili biliyor, bilgisayar ise makine dili biliyor. Programcının, bilgisayara ne demek istediğini kim tercüme edecek yani bilgisayar ile programcı arasındaki iletişim nasıl sağlanacak? Bu tercüme derleyici adı verilen çeviri programları yapar. Bu sayede programlama dillleri ile yazılmış komutlar dizisinden oluşan kaynak program makine diline derlenir.

PROBLEM ÇÖZME Problem çözmede soruna hemen girişmek yerine, dikkatli ve sistematik yaklaşım ilke olmalıdır. Problem iyice anlaşılmalı ve mümkün olduğu kadar küçük parçalara ayrılmalıdır.

«DISCOURSE ON METHODS» DESCARTES Doğruluğu kesin olarak kanıtlanmadıkça, hiçbir şeyi doğru olarak kabul etmeyin; tahmin ve önyargılardan kaçının Karşılaştığınız her güçlüğü mümkün olduğu kadar küçük parçalara bölün Düzenli bir şekilde düşünün; anlaşılması en kolay olan şeylerle başlayıp yavaş yavaş daha zor ve karmaşık olanlara doğru ilerleyin 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.

ALGORITMALAR Bir problemin çözümüne yönelik hazırlanacak olan programa ilişkin sonlu sayıda ve anlaşılır adım yada işlemin ardı ardına tanımlanması ve böylece izlenecek yolun veya yöntemin ortaya konulması için hazırlanan plana algoritma denir.

ALGORITMALAR Sıralı olmalıdır. Bir başlangıç noktasından başlayarak, sonlu sayıda, belirsizlik içermeyen adımlardan sonra sona erebilmelidir. Problemle ilgili olarak ortaya çıkabilecek her türlü durumu içermelidir. Aynı tür problemler için de geçerli olmalıdır.

Bir insanın evden çıkıp işe giderken izleyeceği yolu tanımlayan algoritma 1. Evden dışarıya çık 2. Otobüs durağına yürü 3. Durakta gideceğin yöndeki otobüsü bekle 4. Otobüsün geldiğinde otobüse bin 5. Biletini bilet kumbarasına at 6. İneceğin yere yakınlaştığında arkaya yürü 7. İneceğini belirten ikaz lambasına bas 8. Otobüs durunca in 9. İşyerine doğru yürü 10. İş yeri giriş kapısından içeriye gir

ALGORITMIK YAKLAŞIM Algoritmalar iki farklı şekilde kağıt üzerinde ifade edilebilirler; 1. Pseudo Code (Kaba Kod veya Yalancı Kod veya Sözde Kod), bir algoritmanın yarı programlama dili kuralı, yarı konuşma diline dönük olarak ortaya koyulması/ tanımlanmasıdır. Bu şekilde gösterim algoritmayı genel hatlarıyla yansıtır. 2. Akış şeması, algoritmanın görsel/şekilsel olarak ortaya koyulmasıdır. Problemin çözümü için yapılması gerekenleri, başından sonuna kadar, geometrik şekillerden oluşan simgelerle gösterir.

SÖZDE (PSEUDO) KOD Sözde programlar, doğrudan konuşma dilinde ve programlama mantığı altında, eğer, iken gibi koşul kelimeleri ve > = < gibi ifadeler ile beraber yazılır. İyi bir biçimde yazılmış, sözde koddan, programlama diline kolaylıkla geçilebilir. Örnek: Verilen bir sıcaklık derecesine göre suyun durumunu belirten bir sözde program yazınız. 1. Başla. 2. Girilen Sıcaklığı Oku. 3. Eğer Sıcaklık < 0 ise Durum= Buz 4. Eğer Sıcaklık>= 100 ise Durum= Buhar 5. Değilse Durum = Su 6. Sonucu Ekrana Yaz. 7. Son.

SÖZDE (PSEUDO) KOD Örnek: Bilgisayara verilecek iki sayıyı toplayıp sonucu ekrana yazacak bir program için algoritma geliştirmek istiyoruz 1. BAŞLA 2. A sayısını oku 3. B sayısını oku 4. TOPLAM=A + B işlemini yap 5. TOPLAM değerini ekrana yaz 6. SON

AKIŞ ŞEMALARI Algoritmanın, görsel olarak simge ya da sembollerle ifade edilmiş şekline akış şemaları veya FLOWCHART adı verilir. Akış şemalarının algoritmadan farkı, adımların simgeler şeklinde kutular içine yazılmış olması ve adımlar arasındaki ilişkilerin ve yönünün oklar ile gösterilmesidir. Programın saklanacak esas belgeleri olan akış şemalarının hazırlanmasına, sorun çözümlenmesi sürecinin daha kolay anlaşılır biçime getirilmesi, iş akışının kontrol edilmesi ve programın kodlanmasının kolaylaştırılması gibi nedenlerle başvurulur. Uygulamada çoğunlukla, yazılacak programlar için önce programın ana adımlarını (bölümlerini) gösteren genel bir bakış akış şeması hazırlanır. Daha sonra her adım için ayrıntılı akış şemalarının çizimi vardır. En basit şekliyle dikdörtgen kutulardan ve oklardan oluşur. Akış şeması sembolleri ANSI (American National Standards Institute) standardı olarak belirlenmiş ve tüm dünyada kullanılmaktadır.

TEMEL DİYAGRAM ÖĞELERİ A)Başla/Dur C) İşlem Başla Dur Her akış diyagramında olur B)Bilgi girişi c=(a^2+b^2)^(1/2) D) Döngü Bilgisayara dışarıdan (klavyeden) bilgi/veri girişi yapılacağını gösterir A, B, C i=1, 20, 3 j=30, 4, -2 k=1, 99

TEMEL DİYAGRAM ÖĞELERİ E) Yazdır/ Çıktı F) Bağlantı G) İşlem akış yönü H) Karar (Karşılaştırma)

AKIŞ ŞEMALARI Algoritma: A1 :Basla A2 : X i oku A3 : Y yi oku A4 : Ort=(X+Y)/2 A5 : Ort değerini yaz A6 : Bitir Başla X, Y Ort=(X+Y)/2 Ort Dur

KARAR VERME DURUMLARI

TEKRARLI DURUMLAR

Sayaç kavramı Sayaç: Programlarda, bazı işlemlerin belirli sayıda yaptırılması gerekebilir. Bu tür sayma işlemlerine, algoritmada sayaç veya sayıcı adı verilir. Sayaç, işlem akışı kendisine her geldiğinde, belirtilen adım değeri kadar artan/azalan değişkendir. Genel kullanım (syntax) Sayac değişkeni=sayac değişkeni ± adim i=i+1, j=j-2, s=s+3 https://www.youtube.com/watch?v=6hfovs8py1k

1. Basla 2. T=0 3. J=1 4. Eğer J>10 ise git 8 5. T=T+J 6. J=J+2 7. Git 4 8. Yaz T 9. Dur Döngü

1. Basla 2. T=0 3. S=0 4. Eğer S>4 ise git 9 5. S=S+1 6. Sayıyı (A) gir 7. T=T+A 8. Git 4 9. Ortalama=T/(S-1) 10.Yaz Ortalama 11.Dur 1. Basla 2. T=1 3. S=0 4. Eğer S>4 ise git 9 5. S=S+1 6. Sayıyı (A) gir 7. T=T*A 8. Git 4 9. Ortalama=T/S 10.Yaz Ortalama 11.Dur

Kullanıcının girdiği bir sayının tek mi çift mi olduğunu ekrana yazan programın algoritması Girilen sayı :G Ara değişken: M Ara değisken: cevap Algoritma: A1 :Basla A2 : G yi oku A3 : M=mod2(G) A4 : M=0 ise SAYI ÇİFTTİR yaz A5 : M=1 ise SAYI TEKTİR yaz A6 : Bitir

Klavyeden gırılen 2 tamsayıyı, büyükten küçüğe doğru ekrana yazdıran bır program yazınız.