Rasgele Sayılar. 1.1 Bilgisayar Rasgele Sayı Üretemez! 1.2 rand() fonksiyonu

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Rasgele Sayılar. 1.1 Bilgisayar Rasgele Sayı Üretemez! 1.2 rand() fonksiyonu"

Transkript

1 1 Rasgele Sayılar 1.1 Bilgisayar Rasgele Sayı Üretemez! Bilgisayar uygulamalarında sık sık rasgele sayı üretimi ile karşılaşırız. Hemen her oyunda ve kriptografide karşımıza aynı soru çıkar. Bilgisayarda rasgele sayıları nasıl üretiriz? Her şeyden önce şunu bilmeliyiz. Bilgisayar çıktıları deterministiktir. Çıktının ne olacağı, o iş için kullandığı deyimlere (onların topluluğuna algoritma diyelim) ile belirlidir. Dolayısıyla, bilgisayar rasgele sayılar üretemez. Ancak, sayı üretimi çok karmaşık bir algoritma ile yapılabilir. Kullanılan algoritmayı bilmeyenin, bilgisayarın üreteceği sayıyı önceden bilmesi olanaksızdır. Böylece, en azından, görünüşte rasgele sayılan ya da ne çıkacağı önceden öngörülemeyen sayılar üretebiliriz. Çıkacak sayıyı, algoritmayı bilmeyenlerin önceden öngöremeyişi nedeniyle, karmaşık bir algoritma sonunda bir sayısal değer veren fonksiyonlara rastlantı fonksiyonu (random function), üretilen sayıya da rasgele sayı (random number) denilir. Bu kesimde rasgele sayı üretimi yapan başlıca algoritmları ele alacağız. 1.2 rand() fonksiyonu C dilinde, stdlib.h dosyası içine konulan rand() fonksiyonu rasgele sayı üretir. Farklı C derleyicileri farklı algoritmalar kullanabilir. Ama, genel-

2 2 BÖLÜM 1. RASGELE SAYILAR likle, her rand() fonksiyonu 0 ile RAND_MAX arasında bir sayı üretir. RAND_MAX, çoğu derleyicide olarak belirlenir ve RAND_MAX sabiti stdlib.h dosyası içine konulur. Örneğin, [?] den alınan aşağıdaki örnek, arasında bir sayı üretir. Örnek i n t rand ( ) / K&R dan a l ı n t ı d ı r 0 i l e a r a s ı n d a b i r s a y ı ü r e t i r { 6 rand_seed = rand_seed ; r e t u r n ( unsigned i n t ) ( rand_seed / 65536) % 32768; 2 Burada rand_seed sayısının klavyeden girildiğini varsayalım. Her seferinde farklı bir rand_seed sayısı girilirse, rand() fonksiyonu her çağrılışta farklı bir sayı üretir. rand() fonksiyonunun gövdesinde yazılı algoritmayı bilmeyen birisinin, onun vereceği değeri bilmesi olanaksızdır. Ancak, rand() fonksiyonu her çağrılışta aynı sayıyı üretir. Gerçek anlamda rasgele sayı üretimi olmadığından, bazı kaynaklar, rand() fonksiyonunun ürettiği sayıya yalancı rasgele sayı (pseudo random) der. Örnek 1.2. p r i n t f ( "%d ", rand ( ) ) ; 41 Bu programdaki rand() fonksiyonu gcc derleyicisinin rasgele sayı üreticisidir. Çalıştığı makinada 41 sayısını üretmiştir. Programı ard arda koşturursak, hep 41 sayısını verir. Buradan anlaşıldığı gibi rand() fonksiyonu ilk koşmasında bir rasgele sayı üretir, ama ardışık koşmalarında aynı çıktıyı vermeye devam eder. Kullandığımız C derleyicisinde RAND_MAX sabitinin değerini bulmak için Örnek 1.3 programını koşturabiliriz.

3 1.2. RAND() FONKSIYONU 3 Örnek p r i n t f ( "%d ",RAND_MAX) ; rand() fonksiyonuna başka algoritmalar ekleyerek, çıktının tahmin edilmesi daha da zor hale getirilebilir. Program 1.1 örneğinde içdeki for döngüsü 10 tane rasgele sayı üretiyor. Dıştaki for döngüsü, içteki döngüyü 3 kez koşturuyor. Böylece 3*10 = 30 tane rasgele sayı üretilmiş oluyor. Program i n t i, j ; f o r ( j =1; j <=3; j++) { 7 f o r ( i =1; i <=10; i ++) p r i n t f ( "%d\ t ", rand ( ) ) ; p r i n t f ( " \n " ) ; Yazı-tura Oyunu: Yazı-tura oyununda tura== 0, yazı== 1 olmak üzere yalnızca 0 ile 1 sayılarından birisini rasgele üretmek için rand ( ) %2; deyimi yeterlidir. Bunu program haline getirirsek, Örnek 1.4.

4 4 BÖLÜM 1. RASGELE SAYILAR 4 p r i n t f ( "%d ", rand ( ) %2) ; olur. Bu program her koşmasında ya 0 ya 1 yazar. Ancak, ilk koşmadan sonra hep aynı sayıyı üretir. Dolayısyla onu ilk koşturan kişi, sonraki koşmalarında üreteceği sayıyı bilir. Zar oyununda 1-6 arasındaki seçenekelerden yalnız birisinin rasgele gelmesi isteniyorsa 1 + rand ( ) %6; deyimi yeterlidir. Bunun program haline getirilmiş şekli Örnek 1.5 programıdır. Örnek p r i n t f ( "%d ", 1 + rand ( )%6 ) ; Burada rand()%6 ifadesi 0-5 arasında rasgele sayı üretir. 1 + rand() ise, üretilen sayıya 1 ekler, dolayısıyla, 1-6 arasında rasgele bir sayı üretilmiş olur. Tabii, program, ilk koşmadan sonra her koşmada hep aynı sayıyı üretmeye devam eder. Problemi biraz daha genelleştirelim: aralığında 10 tane rasgele sayı üretmek için Örnek 1.6 programını yazabiliriz Örnek i n t c, n ; 8 p r i n t f ( " [ 1, ] a r a l ı ğ ı n d a 10 r a s g e l e s a y ı \n " ) ; f o r ( c = 1 ; c <= 1 0 ; c++) { n = rand ( ) % ; p r i n t f ( "%d\n ", n ) ;

5 1.3. SRAND() FONKSIYONU 5 13 [ 1, ] a r a l ı ğ ı n d a n d a 10 r a s g e l e s a y ı Tabii, burada 10 ve 100 sayıları yerine istenen başka sayılar konulabilir. 1.3 srand() fonksiyonu srand adı seed_rand teriminin kısaltılmışıdır. Yukarıdaki örneklerde, rasgele sayı üreten algritmayı karmaşıklaştırarak ya da rasgele sayıyı klavyeden girilen değere (tohum) bağlayarak, çıktının başkaları tarafından tahmin edilmesini zorlaştırdık. Ancak, bazı hassas işlerde, çıktıyı kullanıcının gireceği sayıya bağlamak sakıncalı olabilir. Örneğin, bir kuruma yapılacak atamaların kura ile yapıldığını ve kura çekme işinin bir bilgisayar programı ile yapıldığını düşünelim. Programı bir kez koşturan kişi, ondan sonraki koşmalarda gelecek çıktıları bilir. O zaman etik olmayan uygulamalar ortaya çıkabilir. Böyle hassas işlerde, her seferinde farklı rasgele sayılar elde edebilmenin bir yolu, her koşmada tohumun (seed) kullanıcıdan bağımsız olarak değiştirilmesidir. srand(x) fonksiyonunun, rand() fonksiyonuna etki edişi derleyiciden derleyiciye değişir. O bir algoritmadır. O algoritmanın ne olduğu konusu, aslında rasgele sayı elde etmek isteyen kullanıcı için önem taşımaz. Bir fikir vermek için, diyelim ki, srand(x), Örnek 1.1 programındaki rand_seed tohumunu veriyor. x parametresi değiştikçe srand(x) değeri, dolayısıyla rand_seed tohumu değişecektir. Bu değişiklik, kullanılan algoritmaya bağlı olarak rand() fonksiyonunun değerini değiştirecektir. Şimdi x değişkenini kullanıcının kontrolünden çıkaran bir sistem geliştirebilirsek, sorunu büyük ölçüde çözmüş oluruz. Bunun pratik bir yolu rand() fonksiyonunun çıktısını, zamanı saniye cinsinden ölçen time() fonksiyonuna bağlamaktır. Başka bir deyişle, time() fonksiyonunu tohum (seed) olarak kullanmaktır. Hemen hemen bütün bilgisayar dillerinde rasgele sayı üreten fonksiyonlarda tohum olarak, zamanı saniye) cinsinden ölçen time() fonksiyonu kullanılır. C dilinde time() fonksiyonu time.h başlık dosyası içindedir. Parametreye NULL atandığında, time(null) değeri, sistem saatine

6 6 BÖLÜM 1. RASGELE SAYILAR bağlı olarak, yılından bu yana geçen zamanı saniye cinsinden ölçer. Saniyelerin değişimini kullanıcının kontrol etmesi çok zordur. time() fonksiyonunun döndürdüğü sayı, her saniyede 1 artar. Dolayısıyla, klavyeden girişe bağlı rasgele sayı yerine time(null) tohumuna bağlı rasgele sayı üretimi daha güvenli olur. gene de bazı işlerde saniyede bir kez değişen tohum (seed) yeterli güveniği sağlayamaz. Örneğin, zamanı saniye cinsinden ölmek yerine milianiye cinsinden ölçek, güvenliği 1000 kat artıracaktır. Örnek 1.7 programı her koşmasında farklı bir rasgele sayı üretir. Örnek #i n c l u d e <time. h> i n t r, a, b ; 7 srand ( ( unsigned ) time (NULL) ) ; p r i n t f ( "%d\ t ", rand ( ) ) ; r e t u r n ( 0 ) ; Örnek 1.8 programı her seferinde 4 satır 5 kolonluk tablolar halinde farklı rasgele sayılar üretir. Bu programı 1.1 ile karşılaştırınız. Örnek #i n c l u d e <time. h> i n t r, a, b ; 7 srand ( ( unsigned ) time (NULL) ) ; f o r ( a=0; a <4; a++) { f o r ( b=0; b<5; b++) { r=rand ( ) ; p r i n t f ( "%d\ t ", r ) ; 12 p r i n t f ( " \n " ) ; r e t u r n ( 0 ) ;

7 1.4. BAZI KLASIK OYUNLAR Bazı Klasik Oyunlar Yazı mı,tura mı? Yazı mı, tura mı? oyunu yalnız oyun olarak değil, günlük yaşamın bir çok yerinde kullanılan bir araçtır. Örneğin, maça çıkan iki takımın sahada hangi kaleyi seçeceği yazı-tura ile belirlenir. Örnek 1.4 programı yazı-tura oyunu için kullanılabilecek bir programı gösteriyor. Aklımdaki Sayıyı Bul Çocukların oynadığı oyunlardan biri, birisinin aklında tuttuğu sayıyı ötekinin tahmin etmesidir. Her tahminin, akılda tutulan sayıdan büyük mü, yoksa küçük mü? olduğu söylenir. Böylece tahmin aralığı giderek daralır. Oyun yeterince uzarsa, tahmin aralığı sonunda tek sayıya düşer ve akılda tutulan sayı mutlaka bulunur. Bu oyunu bir bigisayar programına dönüştürebiliriz. Örnek 1.9. #i n c l u d e <time. h> 4 i n t tutulan_ sayi, tahmin ; / r a s g e l e s a y ı i ç i n tohum at : srand ( time (NULL) ) ; 9 / Rasgele s a y ı y ı ü r e t : tutulan_ sayi = rand ( ) % ; do { p r i n t f ( " Tutulan s a y i y i tahmin e t (1 10) : " ) ; s c a n f ( "%d ",&tahmin ) ; 14 i f ( tutulan_ sayi > tahmin ) p r i n t f ( " Tutulan Sayi daha buyuktur \n " ) ; e l s e i f ( t u t u l a n _ s a y i < tahmin ) p r i n t f ( " Tutulan Sayi daha kucuktur \n " ) ; e l s e 19 b r e a k ; w h i l e ( t u t u l a n _ s a y i!= tahmin ) ; p r i n t f ( " B i l d i n i z! T e b r i k l e r \n " ) ; Örnek 1.10 programı bir zar atımında, klavyeden girilen tohuma bağlı olarak gelen sayıları, 3 satır ve dört sütün halinde listeliyor. Örnek i n t i ; // sayac

8 8 BÖLÜM 1. RASGELE SAYILAR 7 unsigned tohum ; // r a s g e l e s a y ı i ç i n tohum p r i n t f ( "Tohumu g i r i n i z : " ) ; s c a n f ( "%u ", &tohum ) ; srand ( tohum ) ; 12 f o r ( i =1; i <=12; i ++) { p r i n t f ( "%10d ", i + ( rand ( ) % 6) ) ; i f ( i % 4 == 0) { p r i n t f ( " \n " ) ; 17 1 Tohumu g i r i n i z İki zarla oynanan bir oyunda, atışta gelen sayıların toplamına göre şu kural uygulanıyor: 1. Toplam 8 ya da daha büyükse, oyuncu kazanıyor 2. Toplam 6 ya da 7 ise oyuncu zar atmayı tekrarlıyor 3. Tolam 6 dan küçükse, oyun kaybediliyor Örnek 1.11 programı söz konusu oyunun benzetimidir (simulation). Örnek #i n c l u d e <time. h> unsigned seed ; // r a s g e l e s a y ı i ç i n tohum i n t zar1, zar2 ; // oyunda a t ı l a n z a r l a r i n t zarat ( ) ; 9 srand ( time (NULL) ) ; p r i n t f ( " \ natış sonucu %d + %d = %d ", zar1, zar2, zarat ( ) ) ; i f ( zarat ( ) >= 8) p r i n t f ( " \noyunu k a z a n d ı n ı z. T e b r i k l e r " ) ; 14 e l s e i f ( ( zarat ( ) ==6) ( zarat ( ) ==7 ) ) p r i n t f ( " \noyunu t e k r a r l a y ı n ı z " ) ; e l s e p r i n t f ( " \noyunu k a y b e t t i n i z " ) ; i n t zarat ( ) {

9 1.4. BAZI KLASIK OYUNLAR 9 19 / toplam > 8 i s e oyuncu kazanıyor toplam 6<=toplam <=7 i s e zar atmayı t e k r a r l ı y o r toplam < 6 i s e oyunu kaybediyor 24 zar1 = 1 + ( rand ( ) % 6 ) ; zar2 = 1 & ( rand ( ) % 6 ) ; r e t u r n ( zar1 + zar2 ) ; 2 A t ı ş sonucu = 3 Oyunu t e k r a r l a y ı n ı z Örnek 1.12 programı, 0-99 arasında beş tane rasgele sayı yazıyor. Örnek i n t i, n ; 6 time_t t ; n = 5 ; / r a s g e l e s a y ı ü r e t i c i tohumu 11 srand ( ( unsigned ) time(&t ) ) ; / 0 99 a r a s ı n d a 5 tane r a s g e l e s a y ı yaz f o r ( i = 0 ; i < n ; i++ ) { p r i n t f ( "%d\n ", rand ( ) % 100) ; 16 r e t u r n ( 0 ) ; Alıştırmalar srand() fonksiyonu ne yarar? 2. time(null) ne yapar? 3. RAND_MAX nedir? 4. rand() fonksiyonu ne yarar? 5. [1-100] aralığında 10 tane rasgele sayı yazınız. Örnek 1.13.

10 10 BÖLÜM 1. RASGELE SAYILAR 1 6 i n t c, n ; f o r ( c = 1 ; c <= 1 0 ; c++) { n = rand ( ) % ; p r i n t f ( "%d\n ", n ) ; Klavyeden girilen sayı kadar rasgele sayı üreten ve sonra onların arasında 1-99 ve 1-9 arasında olanların sayısını ayrı ayrı gösteren bir C programı yazınız. Örnek #i n c l u d e <time. h> main ( ) { 6 i n t i, num ; p r i n t f ( " Kaç tane r a s g e l e s a y ı i s t i y o r s u n u z?\n " ) ; s c a n f ( "%d ", &num) ; f o r ( i = 0 ; i < num ; i ++) { 11 p r i n t f ( " Rasgele s a y ı [%d]= %d\n ", i + 1, rand ( ) ) ; p r i n t f ( " 0 99 a r a s ı n d a k i s a y i l a r : %d\n ", rand ( ) % 100) ; 16 p r i n t f ( "0 9 r a s ı n d a k i s a y i l a r : %d\n ", rand ( ) % 10) ;

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya

Detaylı

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3 Genel Bakış Giriş Rastgele Sayı Rastgele Sayı Üreteci rand Fonksiyonunun İşlevi srand Fonksiyonunun İşlevi Monte Carlo Yöntemi Uygulama 1: Yazı-Tura

Detaylı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar BLM-112 PROGRAMLAMA DİLLERİ II Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/

Detaylı

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

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Hazır Fonksiyonlar Standart Kütüphane

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Derse Giriş Ders Web Sitesi: www.canerozcan.net Ofis Saatleri: Salı 11:00-13:00 Perşembe 15:30-17:30 ya da email ile randevu alınız: canerozcan@karabuk.edu.tr Kaynak Kitaplar:

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon Tanımı Fonksiyon

Detaylı

C++ Dilinde Bazı Temel Algoritmalar

C++ Dilinde Bazı Temel Algoritmalar C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Derse Giriş Ders Web Sitesi: www.canerozcan.net Ofis Saatleri: Salı 11:00-13:00 Perşembe 15:30-17:30 ya da email ile randevu alınız: canerozcan@karabuk.edu.tr Kaynak Kitaplar:

Detaylı

Rasgele Sayılar (Random Numbers) NUPAMC-2012 Bitlis

Rasgele Sayılar (Random Numbers) NUPAMC-2012 Bitlis Rasgele Sayılar (Random Numbers) NUPAMC-2012 Bitlis Gültekin YEĞİN Fizik Bölümü Celal Bayar Üniversitesi Manisa 10 Mayıs 2012 Doç.Dr.Gultekin Yeğin (C.B.Ü. Fizik) Rasgele Sayılar (Random Numbers) NUPAMC-2012

Detaylı

time.h 1.1 UNIX Zamanı

time.h 1.1 UNIX Zamanı 1 time.h Tarih ve zaman ile ilgili işleri yapmak istediğimizde, standart C kütüphanesinden time.h başlık fonksiyonu çağırmalıyız. time.h başlık fonksiyonu, tarih ve zamanla ilgili işleri yapan fonksiyonları

Detaylı

3.1 Pointer in Yararları

3.1 Pointer in Yararları 3 Pointers Pointer, başka bir değişkenin bellekteki adresini işaret eden bir değişkendir. O nedenle, pointere işaretçi, gösterici adları verilir. Değişkenler için olduğu gibi, pointerin değeri, işaret

Detaylı

C++ Dilinde Bazı Temel Algoritmalar

C++ Dilinde Bazı Temel Algoritmalar C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım

Detaylı

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9 BTP 207 İNTERNET PROGRAMCILIĞI I Ders 9 Dizi Değişkenler (Array) 2 Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1, eleman2,, elemann)

Detaylı

Uygulamadı ki hedef kitlem meslek seçimi arefesindeki ilköğretim 5. Sınıf öğrencileri olacaktır.

Uygulamadı ki hedef kitlem meslek seçimi arefesindeki ilköğretim 5. Sınıf öğrencileri olacaktır. Oyununuzun senaryosunu kısaca tanıtınız amacınıda belirtiniz: Hedef kitlenin gelecekte yapacağı meslek seçimi konusunda bilgi sağlamak amacıyla çeşitli meslek dallarını kullanarak hangi mesleğe ilgi duyduklarını

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 5. DERS NOTU Konu: Döngü Yapıları Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU DÖNGÜ YAPILARI Birçok uygulamada bazı işlemlerin tekrar tekrar gerçekleştirilmesi gerekir. Bizlere bu

Detaylı

Fonksiyonlar -Genel Test- A

Fonksiyonlar -Genel Test- A 1 Fonksiyonlar -Genel Test- A 1. C dilinde fonksiyon bildirimi için hangisi gereklidir? (a) Fonksiyonun döndüreceği veri tipi (b) Fonksionun adı (c) Fonksiyon parantezi ( ) (d) Hepsi 2. C dilinde fonksion

Detaylı

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

İÇ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 İÇ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 UYGULAMA Örnek: Yandaki algoritmada; klavyeden 3 sayı

Detaylı

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların

Detaylı

Döngüler. 1.1 while döngüsü

Döngüler. 1.1 while döngüsü 1 Döngüler Belirli bir iş birden çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü yapıları o deyim(ler)i istenildiği kadar tekrarlar. C dilinde bu işi yapan üç ayrı yapı vardır: 1. while

Detaylı

Program Akışının Denetimi

Program Akışının Denetimi 8 Program Akışının Denetimi Bir programın akışı komutların yazıldığı sırayı izler. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar üç gruba ayrılabilir:

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el

Detaylı

Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme:

Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme: 1 Program Çözümleme Bir bilgisayar programını çözümleme eylemini, onun her satırının (deyiminin) yaptığı işi açıklamak olarak anlayacağız. Bazı kaynaklarda bu eyleme analiz der. Daha ileri düzeyde "trace"

Detaylı

Bil 101 Bilgisayar Yazılımı 1 Çözümlü Sorular Timur Karaçay

Bil 101 Bilgisayar Yazılımı 1 Çözümlü Sorular Timur Karaçay Bil 101 Bilgisayar Yazılımı 1 Çözümlü Sorular Timur Karaçay SORU 1: Aşağıdaki programın çıktısını, adım adım izleyerek (trace) bulunuz? #include int f(int x) { if (x

Detaylı

Fonksiyonlar. Yrd.Doç.Dr.Bülent Çobanoğlu

Fonksiyonlar. Yrd.Doç.Dr.Bülent Çobanoğlu Fonksiyonlar Yrd.Doç.Dr.Bülent Çobanoğlu Fonksiyonlar Bir ana program alt programlardan (prosedür, metot, alt yordam veya fonksiyonlardan) oluşabilir. Yapısal programlama dillerinde (Pascal, C, C++, Visual

Detaylı

How to ASP Language. Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

How to ASP Language. Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013 How to ASP Language Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı 29 Eki. 1 Kas. 2013 Öğr. Gör. Murat KEÇECĠOĞLU Fonksiyonlar, kendilerini göreve çağıran VBScript komutlarına ve işlemlerine bir

Detaylı

2. Dereceden Denklemin Köklerini Bulan Program

2. Dereceden Denklemin Köklerini Bulan Program 2. Dereceden Denklemin Köklerini Bulan Program [crayon-5bb74e5b18b15225541464/] C++ 2.dereceden denklemin köklerini bulan program [crayon-5bb74e5b18b25989362529/] ÇIKTI; C++ 2. dereceden denklemin köklerini

Detaylı

Mantıksal İşlemler. 7.1 true, false, nil

Mantıksal İşlemler. 7.1 true, false, nil 7 Mantıksal İşlemler 7.1 true, false, nil Doğru ya da Yanlış değer alan önermelere (ifadelere) mantıksal (logic) deyimler ya da boolean deyimler denilir ([5]). Bir çok dilde mantıksal işlemler true ve

Detaylı

2. HAFTA DERS NOTLARI İKTİSADİ MATEMATİK MİKRO EKONOMİK YAKLAŞIM. Yazan SAYIN SAN

2. HAFTA DERS NOTLARI İKTİSADİ MATEMATİK MİKRO EKONOMİK YAKLAŞIM. Yazan SAYIN SAN 2. HAFTA DERS NOTLARI İKTİSADİ MATEMATİK MİKRO EKONOMİK YAKLAŞIM Yazan SAYIN SAN SAN / İKTİSADİ MATEMATİK / 2 C.1.2. Piyasa Talep Fonksiyonu Bireysel talep fonksiyonlarının toplanması ile bir mala ait

Detaylı

Ders 1: Markov Zincirleri YÖNEYLEM ARAŞTIRMASI III. Markov Süreçleri Ders 4. Stokastik Süreç Nedir? Stokastik Süreç Nedir?

Ders 1: Markov Zincirleri YÖNEYLEM ARAŞTIRMASI III. Markov Süreçleri Ders 4. Stokastik Süreç Nedir? Stokastik Süreç Nedir? Ders : Markov Zincirleri YÖNEYLEM ARAŞTIRMASI III Markov Süreçleri Ders 4 Yrd. Doç. Dr. Beyazıt Ocaktan E-mail: bocaktan@gmail.com Ders İçerik: nedir? Markov Zinciri nedir? Markov Özelliği Zaman Homojenliği

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU 1 M-Dosya Yapısı Bir senaryo dosyası (script file) özel bir görevi yerine getirmek

Detaylı

C ile Uygulamalar 4 - Cevaplar

C ile Uygulamalar 4 - Cevaplar C ile Uygulamalar 4 - Cevaplar Cevap-1: //Soru 1 #include //Standart kütüphane başlık dosyası. #include //Tarih ve saat fonksiyonlarının yer aldığı başlık dosyası. int dizidensil(int

Detaylı

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir: Programın Akışının Denetimi Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar iki gruba ayrılabilir: Yönlendiriciler

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ Yrd. Doç. Dr. Fatih TOSUNOĞLU Erzurum Teknik Üniversitesi Mühendislik Fakültesi İnşaat Mühendisliği Bölümü DERS NOTU 3 KONU: M-dosya yapısı ve Kontrol Yapıları M-Dosya Yapısı

Detaylı

DENEY 5 TRANSİSTOR KUTUPLAMA KARARLILIK ve DC DUYARLILIk

DENEY 5 TRANSİSTOR KUTUPLAMA KARARLILIK ve DC DUYARLILIk DENEY 5 TRANSİSTOR KUTUPLAMA KARARLILIK ve DC DUYARLILIk AMAÇLAR Bipolar transistorleri kullanarak güncel bazı kutuplama devreleri tasarımı ve analizi. Kutuplama devrelerinin sıcaklığa karşı kararlılık

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Kontrol Yapıları if Seçme Deyimi if... else Seçme Deyimi while Tekrar

Detaylı

RASSAL SAYI ÜRETİLMESİ

RASSAL SAYI ÜRETİLMESİ Dr. Mehmet AKSARAYLI Ekonometri Böl. Simülasyon Ders Notları Rassal Sayı Üretilmesi RASSAL SAYI ÜRETİLMESİ Simülasyon analizinde kullanılacak az sayıda rassal sayı üretimi için ilkel yöntemler kullanılabilir.

Detaylı

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ BİLGİSAYAR PROGRAMLAMAYA GİRİŞ 5. ders notu Örnek program yazılımları İlişkisel operatörler Mantıksal operatörler Şartlı deyimler İf deyimi Kaynak: Dr.Deniz DAL ders sunumları Örnek : Dışarıdan girilen

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

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

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ GİRİŞ AKIŞ ŞEMASI Bir önceki ünitede algoritma, bilgisayarda herhangi bir işlem gerçekleştirmeden ya da program yazmaya başlamadan önce gerçekleştirilmesi düşünülen işlemlerin belirli bir mantık ve plan

Detaylı

1. 100 elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

1. 100 elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini, 1. 100 elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini, pozitif tepe genliğini, negatif tepe genliğini ve ortalamasını

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN BAĞLI LİSTELER Bağlı listeler konusuna çalışmanın bazı faydaları var. Bağlı listeler gerçek programlarda kullanılabilecek bir veri yapısıdır. Bağlı listelerin güçlü ve zayıf yönlerini

Detaylı

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği INPUTBOX KULLANIMI InputBox komutu, Basic programlama dilinde program algoritması içinde ekran aracışığı ile bir sorgu yönlendirerek, kullanıcının bilgi girmesini sağlamak amacıyla kullanılır. Bu komutun

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

Detaylı

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-4 Döngü Yapıları. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-4 Döngü Yapıları Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Döngü Yapıları Döngü (Tekrarlama) yapıları, belli bir şart sağlandığı

Detaylı

Özyineleme (recursion)

Özyineleme (recursion) 2 Özyineleme (recursion) Kendi kendini çağıran fonksiyonlara özyineli (recursive) fonksiyon denilir. Özyineli fonksiyonlar, ileri bilgisayar uygulamalarında çok kullanılır. Bilgisayar biliminin zor sayılan

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

RÜZGAR JENERATÖRÜ TASARIMI

RÜZGAR JENERATÖRÜ TASARIMI RÜZGAR JENERATÖRÜ TASARIMI Derste anlatılan Reklam panosu örneğini ve bazı gruplarda anlatılan Pervane örneğini kullanarak bir Rüzgar Jeneratörü tasarımı yapınız. Buna göre aşağıdaki uygulamaları gerçekleştirin.

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

1203608-SIMÜLASYON DERS SORUMLUSU: DOÇ. DR. SAADETTIN ERHAN KESEN. Ders No:5 Rassal Değişken Üretimi

1203608-SIMÜLASYON DERS SORUMLUSU: DOÇ. DR. SAADETTIN ERHAN KESEN. Ders No:5 Rassal Değişken Üretimi 1203608-SIMÜLASYON DERS SORUMLUSU: DOÇ. DR. SAADETTIN ERHAN KESEN Ders No:5 RASSAL DEĞIŞKEN ÜRETIMI Bu bölümde oldukça yaygın bir biçimde kullanılan sürekli ve kesikli dağılımlardan örneklem alma prosedürleri

Detaylı

Ders 5: Temel Kütüphane Fonksiyonlar

Ders 5: Temel Kütüphane Fonksiyonlar Ders 5: Temel Kütüphane Fonksiyonlar Giriş Bu kısımda, C Programlama Dili'nde sık kullanılan ve diğer bölümlerde yararlanacağımız kütüphane fonksiyonlarının bazıları işlenecektir. Kütüphane fonksiyonu

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu Öğr. Gör. M. Ozan AKI r1.0 Algoritmalar (Algorithms) Algoritma, bir problemin çözümünü sağlayan ancak deneme-yanılma ve sezgisel çözüme karşıt bir

Detaylı

YUVARLAMA FONKSİYONLARI

YUVARLAMA FONKSİYONLARI YUVARLAMA FONKSİYONLARI Fonksiyon Çalışma Prensibi fix(x) x ondalık sayısını sıfır yönündeki ilk tamsayıya round(x) x ondalık sayısını kisine en yakın ilk tamsayıya ceil(x) x ondalık sayısını + yönündeki

Detaylı

BLM 112- Programlama Dilleri II. Hafta 1 Giriş, Kapsama Kuralları ve Rasgele Sayı Üretimi

BLM 112- Programlama Dilleri II. Hafta 1 Giriş, Kapsama Kuralları ve Rasgele Sayı Üretimi 1 BLM 112- Programlama Dilleri II Hafta 1 Giriş, Kapsama Kuralları ve Rasgele Sayı Üretimi Dr. Öğr. Üyesi Caner Özcan Yaşadığımız her an önümüzde iki seçenek vardır: gelişime doğru bir adım atmak ya da

Detaylı

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz. Ön bilgi: Dizi tanımlayabilmeli. foreach deyimi bilinmeli. Rastgele sayılar (Random) bilinmeli. 1. Aşağıda tamsayı tipinde iki boyutlu bir dizinin nasıl tanımlandığı, bir fonksiyona parametre olarak nasıl

Detaylı

OYUN GELİŞTİRME AŞAMALARI-I

OYUN GELİŞTİRME AŞAMALARI-I OYUN GELİŞTİRME AŞAMALARI-I Oyununuzun senaryosunu kısaca tanıtınız/ amacınıda belirtiniz Oyuncu oyuna Oyuna Başla butonu ile başlayacaktır. Ekranda, yukarıda çıkan resimler ile birlikte üzerinde ingilizce

Detaylı

Tablo (2): Atıştırma Sayısı ve Günlük Sınav Sayısı Atıştırma Sınav Sayısı (X) 0 0.07 0.09 0.06 0.01

Tablo (2): Atıştırma Sayısı ve Günlük Sınav Sayısı Atıştırma Sınav Sayısı (X) 0 0.07 0.09 0.06 0.01 Ortak Varyans ve İstatistiksel Bağımsızlık Bir rassal değişken çifti istatistiksel olarak bağımsız ise aralarındaki ortak varyansın değeri 0 dır. Ancak ortak varyans değerinin 0 olması, iki rassal değişkenin

Detaylı

Program AkıĢ Kontrol Yapıları

Program AkıĢ Kontrol Yapıları C PROGRAMLAMA Program AkıĢ Kontrol Yapıları Normal Ģartlarda C dilinde bir programın çalıģması, komutların yukarıdan aģağıya doğru ve sırasıyla iģletilmesiyle gerçekleģtirilir. Ancak bazen problemin çözümü,

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 9 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Dizileri Fonksiyonlara Dizileri Fonksiyonlara Bir dizi argümanını fonksiyon içinde bir değer olarak kullanabilmek

Detaylı

IE 303T Sistem Benzetimi L E C T U R E 6 : R A S S A L R A K A M Ü R E T I M I

IE 303T Sistem Benzetimi L E C T U R E 6 : R A S S A L R A K A M Ü R E T I M I IE 303T Sistem Benzetimi L E C T U R E 6 : R A S S A L R A K A M Ü R E T I M I Geçen Ders Sürekli Dağılımlar Uniform dağılımlar Üssel dağılım ve hafızasızlık özelliği (memoryless property) Gamma Dağılımı

Detaylı

Akış Kontrol Mekanizmaları

Akış Kontrol Mekanizmaları Akış Kontrol Mekanizmaları 1 Akış Kontrol Mekanizmaları if else switch for döngüsü for döngüsünün çalışma prensibi for döngüsüyle ilgili örnekler for döngüsüyle ilgili kurallar while döngüsü while döngüsünün

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Koşul Karşılaştırma Operatörleri Mantıksal

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma 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. Algoritma bir sorunun çözümü

Detaylı

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları MATLAB de Programlama Kontrol Yapıları Döngü Yapıları Doç. Dr. İrfan KAYMAZ if Şartlı deyimi: Bir mantıksal ifadeyi kontrol ederek bunun sonucuna göre mümkün seçeneklerden birini icra edebilen bir komuttur.

Detaylı

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar Bölüm 5 Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar İçindekiler 5.1 Formatlı Yazdırma............................ 34 5.2 Döngü Deyimleri............................. 34 5.2.1

Detaylı

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz 13 Aralık 2007 Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL Đlgili Modül/ler : Raporlar KULLANICI TANIMLI RAPORLAR Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz Kendi isteklerinize özel rapor tasarımları

Detaylı

BLG 1306 Temel Bilgisayar Programlama

BLG 1306 Temel Bilgisayar Programlama BLG 1306 Temel Bilgisayar Programlama WEB : mustafabahsi.cbu.edu.tr E-MAIL : mustafa.bahsi@cbu.edu.tr Değişken ve Atama Bilgisayar programı içerisinde ihtiyaç duyulan sembolik bir ifadeyi veya niceliği

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 1 hafta Ödev No : 5 1. Aşağıdaki programların çıktısı

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

Algoritma ve Programlamaya Giriş

Algoritma ve Programlamaya Giriş Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada

Detaylı

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız. ÖDEV (Vize Dönemi) CEVAPLAR 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız. PROGRAM Soru1 PRINT Merhaba Dünya! ; 2. Klavyeden girilen negatif bir sayıyı

Detaylı

Diziler (Arrays) Çok Boyutlu Diziler

Diziler (Arrays) Çok Boyutlu Diziler Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.

Detaylı

İstatistik, genel olarak, rassal bir olayı (ya da deneyi) matematiksel olarak modellemek ve bu model yardımıyla, anakütlenin bilinmeyen karakteristik

İstatistik, genel olarak, rassal bir olayı (ya da deneyi) matematiksel olarak modellemek ve bu model yardımıyla, anakütlenin bilinmeyen karakteristik 6.SUNUM İstatistik, genel olarak, rassal bir olayı (ya da deneyi) matematiksel olarak modellemek ve bu model yardımıyla, anakütlenin bilinmeyen karakteristik özellikleri (ortalama, varyans v.b. gibi) hakkında

Detaylı

EXCEL DE BENZETİM ÖRNEKLERİ BMÜ-422 BENZETİM VE MODELLEME

EXCEL DE BENZETİM ÖRNEKLERİ BMÜ-422 BENZETİM VE MODELLEME EXCEL DE BENZETİM ÖRNEKLERİ BMÜ-422 BENZETİM VE MODELLEME GİRİŞ Bu bölümde benzetim için excel örnekleri önerilmektedir. Örnekler excel ile yapılabileceği gibi el ile de yapılabilir. Benzetim örnekleri

Detaylı

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK MATLAB de Bilgisayar Programlama Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK disp komutu: Ekrana mesaj veya bir değişken değeri yazdırmak için kullanılan komuttur.

Detaylı

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/ GENEL TEKRAR 1) /*Kullanıcının belirlediği sayı kadar dikdörtgenin kenar bilgilerini kullanıcıdan alan, dikdörtgenlerin alan ve çevresini alt fonksiyon yardımı ile hesaplayan ve sonuçları ekrana yazan

Detaylı

Bekleme Hattı Teorisi

Bekleme Hattı Teorisi Bekleme Hattı Teorisi Sürekli Parametreli Markov Zincirleri Tanım 1. * +, durum uzayı * +olan sürekli parametreli bir süreç olsun. Aşağıdaki özellik geçerli olduğunda bu sürece sürekli parametreli Markov

Detaylı

Daha komplike uygulamalar elektronik ticaret, elektronik kimlik belgeleme, güvenli e-posta,

Daha komplike uygulamalar elektronik ticaret, elektronik kimlik belgeleme, güvenli e-posta, Çift Anahtarlı (Asimetrik Şifreleme) Bilgi Güvenliği: Elektronik iletişim, günümüzde kağıt üzerinde yazı yazarak yapılan her türlü iletişimin yerine geçmeye adaydır. Çok uzak olmayan bir gelecekte kişi/kuruluş/toplumların,

Detaylı

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak LPC2104 Mikro Denetleyicisini KEIL İle Programlamak Program yazabilmek için öncelikle komutları tanımamız ve ne işe yaradıklarını bilmemiz gerekir. Komutlar yeri geldikçe çalışma içerisinde anlatılacaktır.

Detaylı

MAK 210 SAYISAL ANALİZ

MAK 210 SAYISAL ANALİZ MAK 210 SAYISAL ANALİZ BÖLÜM 5- SONLU FARKLAR VE İNTERPOLASYON TEKNİKLERİ Doç. Dr. Ali Rıza YILDIZ MAK 210 - Sayısal Analiz 1 İNTERPOLASYON Tablo halinde verilen hassas sayısal değerler veya ayrık noktalardan

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Döngüler for Döngüsü while Döngüsü do-while Döngüsü break Deyimi Kullanımı continue Deyimi

Detaylı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

ECZACI İSKONTOSU UYGULAMASI

ECZACI İSKONTOSU UYGULAMASI ECZACI İSKONTOSU UYGULAMASI Amaç ve Fayda Yayın Tarihi Kategori Ürün Grubu Bu uygulama ile, ecza depolarının eczacılara kestikleri satış faturalarında, ilaçların perakende ve depo satış fiyatları baz alınarak,

Detaylı

How to ASP Language. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. Hafta V

How to ASP Language. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. Hafta V How to ASP Language Elbistan Meslek Yüksek Okulu 2014 2015 Güz Yarıyılı Hafta V Öğr. Gör. Murat KEÇECĠOĞLU Fonksiyonlar, kendilerini göreve çağıran VBScript komutlarına ve işlemlerine bir değer sunarak

Detaylı

10/17/2007 Nesneye Yonelik Programlama 3.1

10/17/2007 Nesneye Yonelik Programlama 3.1 Procedure-Based Programming in C++ Çoğu gerçek dünya problemleri binlerce kod satırı gerektirir ( MS Windows NT 5.0 25 million dan fazla kod satırından oluşmaktadır). Yazılımın tasarımı, kodlanması ve

Detaylı

1. Yatırımın Faiz Esnekliği

1. Yatırımın Faiz Esnekliği DERS NOTU 08 YATIRIMIN FAİZ ESNEKLİĞİ, PARA VE MALİYE POLİTİKALARININ ETKİNLİKLERİ, TOPLAM TALEP (AD) EĞRİSİNİN ELDE EDİLİŞİ Bugünki dersin içeriği: 1. YATIRIMIN FAİZ ESNEKLİĞİ... 1 2. PARA VE MALİYE POLİTİKALARININ

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi

Detaylı

6. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

6. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 6. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler For Each... Next... 3 Döngüyü

Detaylı

Mikroişlemcilerde Aritmetik

Mikroişlemcilerde Aritmetik Mikroişlemcilerde Aritmetik Mikroişlemcide Matematiksel Modelleme Mikroişlemcilerde aritmetik işlemler (toplama, çıkarma, çarpma ve bölme) bu iş için tasarlanmış bütünleşik devrelerle yapılır. Bilindiği

Detaylı

BMÜ-421 Benzetim ve Modelleme MATLAB SIMULINK. İlhan AYDIN

BMÜ-421 Benzetim ve Modelleme MATLAB SIMULINK. İlhan AYDIN BMÜ-421 Benzetim ve Modelleme MATLAB SIMULINK İlhan AYDIN SIMULINK ORTAMI Simulink bize karmaşık sistemleri tasarlama ve simülasyon yapma olanağı vermektedir. Mühendislik sistemlerinde simülasyonun önemi

Detaylı

Kıyametin Kopacağı Gün (Hanoi Bilmecesi)

Kıyametin Kopacağı Gün (Hanoi Bilmecesi) Kıyametin Kopacağı Gün (Hanoi Bilmecesi) Timur Karaçay tkaracay@baskent.edu.tr Çok eskiden Hanoi deki bir tapınakta başrahip tapınağın bahçesine üç sütun diktirmiş. Yanyana duran sütünlardan soldakine,

Detaylı

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden

Detaylı

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ MTK467 Nesneye Yönelik Programlama Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ while döngüsü while(koşul){ } döngü ifadeleri Koşul boolean değerli olmalıdır. Koşulun değeri true

Detaylı