Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Benzer belgeler
Genel Programlama II

Genel Programlama I

C NASIL BİR DİL?.. PROGRAMIN ÇALIŞMASI

int printf (const char *format [, argument,...]);

PROGRAMLAMAYA GİRİŞ DERS 2

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

Döngü ve Koşul Deyimleri

C Programlama Dilininin Basit Yapıları

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

Fonksiyonlar (Altprogram)

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

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Dr. Fatih AY Tel: fatihay@fatihay.net

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

Temel Giriş/Çıkış Fonksiyonları

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

Giris {\} /\ Suhap SAHIN Onur GÖK

Dr. Fatih AY Tel:

HSancak Nesne Tabanlı Programlama I Ders Notları

Pascal Programlama Dili

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

C++ Operatörler (Operators)

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Programlama Dilleri 1. Ders 4: Diziler

C DİLİ KULLANARAK BİLGİSAYAR PROGRAMLAMA

C PROGRAMLAMA D İ L İ

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

2. BÖLÜM (2nci hafta)

Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek :

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

Adım Adım C. Dr. Hidayet Takcı

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

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

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

C Programlama printf() Fonksiyonu

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

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

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BİL1001 Bilgisayar Bilimlerine Giriş 1

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

C PROGRAMLAMA D İ L İ

BÖLÜM 11: YAPISAL VERİ TİPLERİ

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

Algoritma ve Akış Diyagramları

C PROGRAMLAMA DİLİNE GİRİŞ

Eln 1001 Bilgisayar Programlama I


Bölüm 2 - C ile Programlamaya Giriş

Ders 4: Temel Giriş/Çıkış Fonksiyonları

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

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Sınav tarihi : Süre : 60 dak.

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

IF / ELSE IF / ELSE. Bu deyimler, koşullu işlem yapan deyimlerdir ve daima if deyimi ile başlar, else if veya else ile devam eder.

BİL1001 Bilgisayar Bilimlerine Giriş 1

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI

Giriş. ENF102 Jeoloji

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

Nesne Tabanlı Programlama

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

C Konsol Giriş Çıkış Fonksiyonları

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

BLM 111 ALGORİTMA VE PROGRAMLAMA I

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

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

Program Akış Kontrol Yapıları

4.Hafta BİL Soruların Çözümleri

Diziler (Arrays) Çok Boyutlu Diziler

Biçem Belirteçleri (Format Specifiers)

BİLGİSAYAR PROGRAMLAMA DERSİ

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

BİL-142 Bilgisayar Programlama II

BİLGİSAYAR PROGRAMLAMA DERSİ

BLM 111 Algoritma ve Programlama I Güz 2018

Hafta 12 Karakter Tutan Diziler

BİLGİSAYAR PROGRAMLAMA DERSİ

Nesne Tabanlı Programlama

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Bölüm 3 Yapısal Programlama

Dev C++ kaynak kodlu dosya ile yeni bir boş belge oluşturmak

SAB104 Bilgisayar Programlama

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C#(Sharp) Programlama Dili

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

Lab105-02/ BAHAR DÖNEMİ 3.Hafta Tarih:

PROGRAMLAMA DİLLERİ I

ALGORİTMA VE PROGRAMLAMA II

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

Transkript:

Programlamaya Giriş Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Programın Yazımında İzleyeceğimiz Adımlar Problemi anla. İhtiyaçları belirle. Problemin girdi ve çıktıları ile kısıtlamaları belirle. Problemin çözümünü veren algoritmayı yaz. Algoritmayı bir programla dili ile yerine getir. Programın doğru çalışıp çalışmadığını test et. Bu testi değişik veriler için tekrarla. 10/29/2007 GYTE Bilgisayar Programlama 2

#include <stdio.h> Kullanılan işlevler ile ilgili başlık dosyası main() { int i ; Değişken tanımı scanf("%d",&i); Programın gövdesi i=i*i; printf("%d",i); } 10/29/2007 GYTE Bilgisayar Programlama 3

source compiler object link kaynak kod: C dilinde yazılmış olan program kodu. derleyici: Kaynak kodunu makine koduna çevirici amaç kodu:kaynak kodun makine dilindeki karşılığı bağlama:birden fazla amaç kodunun tek bir dosyada birleştirilmesi. 10/29/2007 GYTE Bilgisayar Programlama 4

Veri Tipleri Int Tip Integer = Tamsayı Tamsayıları içerir. Bellekte 2 Byte tutar. 5, -19, 25000 gibi Minimum : -2 31 = -32768 Maksimum : 2 31-1 = 32767 10/29/2007 GYTE Bilgisayar Programlama 5

Gerçel Tipler Gerçel sayıları içerirler. float : Bellekte 4 Byte yer tutar. Hassasiyet 7-8 basamaktır. 3.4E-38 ile 3.4E+38 aralığında değer alır. double : Bellekte 8 Byte ter tutar. Hassasiyet 15-16 basamaktır. 1.7E-308 ile 1.7E308 aralığında değer alır 10/29/2007 GYTE Bilgisayar Programlama 6

Char Tip Alfanumerik karakterleri içerir. '5', '*', 'K' 10/29/2007 GYTE Bilgisayar Programlama 7

Sabitler (CONST) #include <stdio.h> main() { const float PI=3.14; Tanımlama kısmı float r, alan; scanf("%f",r); alan = PI*r*r; printf(('alan = %f', alan); } 10/29/2007 GYTE Bilgisayar Programlama 8

CONST (sabit) : Değeri programın çalışması boyunca sabit kalır. Kullanım biçimi const tip Belirleyici=değeri; const float PI=3.14; Tip belirtilmez ise tamsayı kabul edilir. 10/29/2007 GYTE Bilgisayar Programlama 9

Değişkenler Değeri programın çalışması boyunca değiştirilecektir. Kullanım biçimi: Tip Belirleyici [,Belirleyici] ; int i; float alan; 10/29/2007 GYTE Bilgisayar Programlama 10

Belirleyiciler (Identifier) Bileşenlere isim verme. (Sabit, değişken, altprogram, etiket, tipler). Kısıtlamalar İsimlerin Seçimi 10/29/2007 GYTE Bilgisayar Programlama 11

Kısıtlamalar İlk karakteri rakam olamaz Sadece harfler, rakamlar ve _ (underscore) karakterinin birleşiminden oluşabilir. C diline ait saklı (reserved) sözcükler kullanılamaz. En fazla 31 karakter olabilir. Küçük - büyük harf ayırımı vardır. 10/29/2007 GYTE Bilgisayar Programlama 12

isimlerin Seçimi Belirleyicinin kullanım amacına uygun anlamlı isim seçin. Ne fazla kısa ne de fazla uzun olsun. 3-10 karakter uzunluğunda olmasını alışkanlık edinin. 10/29/2007 GYTE Bilgisayar Programlama 13

Matematiksel ifadeler +, -, *, / toplama, çıkarma, çarpma, bölme % tamsayı bölme sonucundaki kalanı verir (modulus) 7. / 2 ---> 3.5 (nokta sayının gerçel yorumlanmasını sağlar) 7 / 2 ---> 3 (sayılar int kabul edilip sonuçta int tipine dönüştürülür) 7 % 2 ---> 1 2 % 7 ---> 2 2 / 7 ---> 0 10/29/2007 GYTE Bilgisayar Programlama 14

Matematiksel ifadeler hesaplanırken izlenen adımlar: Önce parantez içindeki ifadeler hesaplanır. İçiçe parantezler var ise hesaplamaya en içteki parantezden başlanır. ilk önce *, / ve % işlemleri daha sonra + ve - işlemleri yapılır. Öncelik sırası aynı olan işlemlerde hesaplama soldan sağa doğru yapılır. 5./2*3 --> 7.5 10/29/2007 GYTE Bilgisayar Programlama 15

Bir C Programının Genel Yapısı başlık dosyaları. Kullanılan deyimler ile ilgili main() { sabitler ; sabitlerin tanımlama bölümü değişkenler; değişkenleri tanımlama bölümü deyimler; Program gövdesi } 10/29/2007 GYTE Bilgisayar Programlama 16

Atama Deyimi (Assignment) Bir değişkene bir değer(sabit, değişken, ifade) vermek. DeğişkenAdı = değer; x = 8 ; y = x + 15 ; y = (8 - x) / (2 - x) ; 10/29/2007 GYTE Bilgisayar Programlama 17

Örnek : 5x2+2 fonksiyonunun x=4.8 noktasındaki değerini bul. main() { float x, y ; x = 4.8; y = 5 * x * x + 2; } 10/29/2007 GYTE Bilgisayar Programlama 18

Örnek : Vize ve final notlarınından geçme notu main() { float vize, final, ort; vize = 50; final = 60; ort = vize * 0.4 + final * 0.6; } 10/29/2007 GYTE Bilgisayar Programlama 19

Örnek : 1998 yılına kadar geçen gün sayısı main() { float gun; int yil = 1996; gun = 365 * (yil - 1); gun = gun + (yil -1 ) / 4; } 10/29/2007 GYTE Bilgisayar Programlama 20

Printf İşlevi Program içinde istenen değerleri ekrana göndermek için kullanılır. Kullanım biçimi: prinf( kontrol, <parametreler>) <kontrol> ile belirtilen bilgiye göre parametreleri yazar. printf(" sonuç = %d", k); 10/29/2007 GYTE Bilgisayar Programlama 21

Dönüşüm belirlemek için önce % karakteri ve ardından dönüşümün nasıl olacağını belirten karakter verilir. d : decimal (integer) u : unsigned decimal c : char (tek karakter) s : string e : float/double sayıyı bilimsel gösterimde yaz f : float/double sayıyı [-] mmm.nnnnn biçiminde yaz ld : long integer lu : unsigned long integer Le,Lf : long double ESC dizileri : \n : satır başı, \a : zil, \t : tab, \b : bir karakter geri 10/29/2007 GYTE Bilgisayar Programlama 22

i = 5 ; printf("%d",i) ; 5 printf("'i=%d",i) ; i=5 printf("i=") ; printf("%d",i) ; i=5 - printf("i=\n") ; i= printf("%d",i) ; 5 alt satıra geçer printf('i=%d\n",i) ; i=5 alt satıra geçer printf("%d - %d",i, 5*i); 5-25 10/29/2007 GYTE Bilgisayar Programlama 23

Biçimli yazdırma % karakteri ile dönüşüm karakteri arasına aşağıdaki karakterler de kullanılabilir. - : sola dayalı yaz m : yazılacak değer için ayırılan alan n : değerin kaç karekteri yazılacağı s = "ABCDEF" printf("%10s ",s);.... A B C D E F printf("%10.3s ",s);.... A B C 10/29/2007 GYTE Bilgisayar Programlama 24

x = 128.5 ; printf("%7.2f",x) ; # 128.50 x = 85.47 ; printf("%6.3f",x) ; 85.470 printf("%6.1f",x) ; ## 85.5 10/29/2007 GYTE Bilgisayar Programlama 25

Örnek : Yarıçapı belli dairenin alanını hesaplayan programı yazınız. #include <stdio.h> main() { const float PI=3.14; float r, alan; r = 7; alan := PI*r*r; printf(('alan = %f', alan); } 10/29/2007 GYTE Bilgisayar Programlama 26

Örnek : En fazla dört basamak olabilen sayının basamak değerlerini yazdır. % ve / işlemlerinin kullanımı. #include <stdio.h> main() { int i,y; y=1985; i= y / 1000; printf("%d",i); y= y-i*1000; i= y / 100; printf(" %d",i); y = y-i*100; i= y / 10; printf(" %d",i); y = y-i*10; printf(" %d\n",y); i = 1985; printf("%d ",i / 1000); printf("%d ",(i / 100) % 10); printf("%d ",(i / 10) % 10); printf("%d\n",i % 10); } 10/29/2007 GYTE Bilgisayar Programlama 27

Örnek : ax2+bx+c=0 tipi bir denklemin köklerini veren programı yazınız. Girdi : a, b ve c katsayıları Çıktı : denklemim kökleri Algoritma : a, b ve c katsayılarını oku. Delta= değerini hesapla. x1 ve x2 değerlerini hesapla. Kökleri yaz. 10/29/2007 GYTE Bilgisayar Programlama 28

Programın kodlanması: #include <stdio.h> /* printf işlevi için */ #include <math.h> /* sqrt işlevi için */ main() { float a, b, c; float x1, x2; float d; a = 1; b = -3; c = 2; d = b * b - 4 * a * c; x1 = (-b + sqrt(d)) / (2 * a); x2 = (-b - sqrt(d)) / (2 * a); printf("kökler = %f, %f",x1, x2); } 10/29/2007 GYTE Bilgisayar Programlama 29

C derleyecilerinde standart olmuş bazı fonksiyonlar verilmiştir. Bu işlevler math.h başlık dosyasında tanımlıdır. Fonksiyon x,y Sonuç abs(x) int int x'in mutlak değeri fabs(x) double double x'in mutlak değeri pow(x, y) double double xy sqrt(x) double double x'in karekökü exp(x) double double ex değeri log(x) double double ln(x) değeri log10(x) double double log10(x) değeri ceil(x) double double x ten büyük ilk tamsayı floor(x) double double x ten küçük ilk tamsayı 10/29/2007 GYTE Bilgisayar Programlama 30

Örnekler: ceil(5) 5 ceil(5.2) 6 ceil(-5.2)-5 floor(5) 5 floor(5.2) 5 floor(-5.2) -6 10/29/2007 GYTE Bilgisayar Programlama 31

Scanf İşlevi Klavyeden veri okumak için kullanılır. Yapı olarak printf işlevi ile hemen hemen aynıdır. Kullanım biçimi: scanf( kontrol, <değişkenler>) Girilen karakterler <kontrol> metininde belirtilen biçimlere göre değişkenlere aktarılır. 10/29/2007 GYTE Bilgisayar Programlama 32

Değişkenler işaretçi tipinde olmalıdır. Yani parametre olarak değişkenin adresi gönderilmelidir. Ayırıcılar boşluk, tab, enter scanf("%f %f %f ", &a, &b, &c); scanf işlevinin değeri 0 ise hiçbir değişkene değer atanmamış >0 ise başarılı bir şekilde değer atanan değişken sayısı 10/29/2007 GYTE Bilgisayar Programlama 33

int a,b,c; float m,n; scanf("%d", &a); Klavyeden tamsayı okur. Girilen değer a değişkenine aktarılır. scanf("%d %d",&a,&b) Klavyeden girilen ilk değer a değişkenine, ikinci değer b değişkenine aktarılır. scanf("%f %d", &m, &a); Klavyeden ilki gerçel, ikincisi tamsayı olmak üzere iki değer okur. 10/29/2007 GYTE Bilgisayar Programlama 34

İkinci dereceden denklem çözümünün yapıldığı örnekte katsayıları klavyeden okutmak istersek scanf("%f %f %f ", &a, &b, &c); Farklı kullanıcı arayüzünde yazarsak printf( Katsayıları sırasıyla giriniz (a b c) : ); scanf("%f %f %f ", &a, &b, &c); printf( a katsayısını giriniz : ); scanf( %f, &a); printf( b katsayısını giriniz : ); scanf( %f, &b); printf( c katsayısını giriniz : ); scanf( %f, &c); 10/29/2007 GYTE Bilgisayar Programlama 35

Örnek : Vize ve final notlarınından ortalamayı hesaplayan programda değerlerin klavyeden okunmuş hali. main() { float vize, final, ort; printf( Vize notunu giriniz ); scanf( %f, &vize); printf( Final notunu giriniz ); scanf( %f, &final); ort = vize * 0.4 + final * 0.6; printf( Ortalaması = &f\n, ort); } 10/29/2007 GYTE Bilgisayar Programlama 36

Mantıksal ifadeler Sonucu Doğru veya Yanlış olan ifadelerdir. Sonuç sıfır ise yanlış aksi halde doğru kabul edilir. İlişkisel işleçler Mantıksal işleçler 10/29/2007 GYTE Bilgisayar Programlama 37

İlişkisel işleçler(operatör) : iki değer arasındaki ilişkiyi test etmek için kullanılır. işleç anlamı > büyük >= büyük - eşit == eşit < küçük <= küçük - eşit!= eşit değil x=8, y=5 için x > y Doğru x < y Yanlış x!=y Doğru 10/29/2007 GYTE Bilgisayar Programlama 38

Mantıksal işleçler :İki mantıksal ifade arasındaki ilişki üzerindeki ilişkide kullanılır.! DEĞİL (NOT) && VE (AND) VEYA (OR) (X>0) && (X>Y) (X>0) (Y>0) 10/29/2007 GYTE Bilgisayar Programlama 39

İfadelerde işleçlerin yürütülme sırası işleç Önceliği ( ) en yüksek (ilk yürütülür)! *, /, % +, - <, <=, >=, > ==,!= &&, = en düşük (son yürütülür) = işleci sağdan sola, diğerleri soldan sağa doğru yürütülür. 10/29/2007 GYTE Bilgisayar Programlama 40

İfadelerde matematiksel ve mantıksal işlemler bittikten sonra ilişki test edilir. X=50, Y=80, Z=45 için ( ( X / 4 + Y / 4 + Z / 2 ) >= 50 ) && ( Z >= 50 ) 10/29/2007 GYTE Bilgisayar Programlama 41

Borland C programını ilk çalıştırdığınızda karşınıza çıkacak olan boş ekran. 10/29/2007 GYTE Bilgisayar Programlama 42

Compile Run Programınızı yazacağınız kısım 10/29/2007 GYTE Bilgisayar Programlama 43

Programınızı compile ettikten sonra size programda yaptığınız hatalar gösterilir. 10/29/2007 GYTE Bilgisayar Programlama 44

Programınızı çalıştırdığınızda ekranda sonucu görebilirsiniz. 10/29/2007 GYTE Bilgisayar Programlama 45

Ödevler Ekrana isminizi yazan bir proram yazın. Klavyeden iki sayı okutup, toplamını alın. Toplamı ekrana bastırın. 10/29/2007 GYTE Bilgisayar Programlama 46

main() { int c; c=5 printf( %d \n,c); printf( %d \n,c++); printf( %d \n,c); c=5; printf( %d \n,c); printf( %d \n,++c); printf( %d \n,c); } Yandaki programı çalıştırarak sonucunu görün. Ve her bir printf fonksiyonunun farkını belirtin. 10/29/2007 GYTE Bilgisayar Programlama 47

Bir tane printf() fonksiyonu kullanarak AAA! Ödev mi! Bence ödev diye bir şey olmasa ders daha eğlenceli olabilir. Mahmut bilir bunu. Ona sorarım. cümlelerini alt alta yazın 10/29/2007 GYTE Bilgisayar Programlama 48