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

Transkript

Yrd.Doç.Dr.Bülent Çobanoğlu
Yrd.Doç.Dr.Bülent Çobanoğlu
PROGRAMLAMA TEMEL KAVRAMLARI

 Hangi programlama dilini kullanırsak kullanalım
bazı temel kavramlar değişmez. Bunlar;
1.
2.
3.
4.
5.
Komutlar
Değişkenler
Sabitler
Mesajlar
Operatörler
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
KOMUTLAR

 Bilgisayarın o an ne yapacağını belirten emirlerdir.
Komutlar kısaltılmış ya da tam İngilizce kelimelerden
oluşur.
 Örneğin; Yaz “SAU” şeklindeki komut farklı dillerde;




Basic/Visul Basic dilinde; Print “SAU”
C/C++ dilinde;
Printf “SAU” ;
Pascal dilinde; Write ‘SAU’
Java dilinde; System.out.println(“SAU");
şeklinde ifade edilmektedir.
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
Değişkenler
 Bilgileri saklamak üzere kullandığımız ismini ve tipini bizim
belirlediğimiz bellek alanlarına verilen isimdir.

 Kısaca bellekte herhangi bir adresi gösteren sembolik bir addır.
Kullandığımız programlama dili ne olursa olsun kendisine verdiğimiz
değerleri belleğinde hangi ad ile saklayacağını biz söylüyoruz.
Belleğinde nerede saklayacağını (adres bilgisini) ise bilgisayar kendisi
belirler. Bilgilerin geçici olarak tutulduğu yere bellek denir.
Değişkenlerde belleklerde tutulur.
 Değişkenleri genel olarak ikiye ayırırız;
 Sayısal tipteki değişkenler ki içerisinde sayıları sakladığımız
değişkenlere sayısal veya nümerik değişken adını veriyoruz.
 int a;
// şeklindeki tanımlamada a değişkeni sadece tamsayı alabilir.
 Alfa sayısal (Sözel) tipteki değişkenler ki içerisinde sayı haricindeki
bilgileri (isim, soy isim, adres, vb.) sakladığımız değişkenlere de alfa
sayısal, alfa nümerik, sözel, metinsel veya string değişken adını
veriyoruz.
 char a;
// a değişkeni sadece alfa sayısal (karakter) türünde veri alabilir.
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
Değişkenlere İsim Verme Kuralları
 Değişkenlerin isim ve tiplerinin programcı tarafından belirlendiğini söylemiştik.
İşte değişkenleri tanımlarken dikkat edeceğimiz hususlar;

1.
2.
3.
4.
5.
6.

Bir değişkenin ilk karakteri mutlaka harf olmalıdır.
Değişken isimlerinin içerisinde _ karakteri hariç, boşluk veya özel karakterler
bulunmamalıdır. [ .,@ ? * : ; !, ( / - + = % & “ $ # ‘ Karakterleri gibi]
Değişken isimlerinde Türkçe karakter kullanmamaya özen gösterilmelidir.
Değişken isimleri kullanılan programlama diline ait komutları içeremez. O
programlama diline ait komutlara ayrılmış sözcükler (reserved words) veya
anahtar sözcükler (keywords) de denilmektedir.
Değişken isimleri, anlamlı ifadelerden oluşmalıdır.
C ve Java dilleri büyük-küçük harf ayrımı yapan (case sensitive) bir dildir. (
Yani Ad değişkeni ile ad değişkeni farklı değişkenler olarak kabul edilir).
NOT: Değişkenlere ( aynı zamanda nesne ve sınıf isimleri gibi diğer
tanımlayıcılara da) isim verirken, genellikle değişken ve içindeki her anlamlı
sözcük büyük harfle başlamalıdır (Örneğin; AdSoyad, EnKucukSayi gibi)
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
C/C++ diline ait komutlar ve ayrılmış kelimeler

C/C++ için örnek Değişken Tanımlamaları
Ali7
Geçerli
Bir değişkenin ilk karakteri mutlaka harf olmalıdır.
7Ali
Geçersiz
Ali_Veli
Geçerli
Değişken isminde ‘_’ alt tire özel karakteri kullanılabilir.
Ali Veli
Geçersiz
Değişken isminde boşluk karakteri kullanılmaz.
Çömlek
Geçersiz
Java
dilinde
değişken
tanımlamalarında
Türkçe
karakter
kullanılabilirken C dilinde kullanılmaz.
do
Geçersiz
Değişken isimleri kullanılan programlama diline ait komutları içeremez.
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
Değişkenlere Değer Aktarma( = )

 Bir aritmetik ya da string ifadeyi değişkene aktarmak için
“ = “ parametresi kullanılır.
 { a = 5, b = ‘A’ gibi…}
 NOT: “=” parametresi ile eşitliğin sağ tarafındaki
ifadenin sonucu sol taraftaki değişkene aktarılırken “= =”
parametresi ile “eşit mi” sorgusu yapılır. { Örneğin, A
sayısı 5’e eşit mi? Sorgusu A= =5 işlemi ile sağlanır}.
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
Değişkenlerin Tanımlanması
Bir değişken kullanılmadan önce tanımlanır. Her değişken belirli bir veri
tipine/türüne sahip olmalıdır (int, long, char gibi). Bu veri tipi,
değişkenin bellekte kaplayacağı alanı ve sakladığı bilginin büyüklüğünü
belirtir.

Veritipi degisken_adi [= başlangıç değeri];
 Burada değişkenlere tanımlama aşamasında başlangıç değeri
atanması isteğe bağlı bir durumdur, zorunlu değildir.




Örnek değişken tanımlamaları;
int x,y ;
// Tamsayı türünde x ve y isimli iki değişken tanımlandı.
char a;
// Karakter(metin) türünde a isimli bir değişken tanımlandı.
int toplam=0;
/* Tamsayı türünde toplam isimli değişkene başlangıç
değeri olarak 0 atandı. */
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
C/C++ Dilinde Kullanılan Temel Veri Tipleri

Not-1: unsigned ibaresi ile veri tipi değer aralığı 0 dan başlatılırken, short ifadesi ile veri tipinin değer aralığı daraltılmış olur.
Not-2: C++ dili için geçerli olan bool veri tipi C dilinde geçersizdir. C dilinde bool veri tipini kullanmak için #include <stdbool.h>
kütüphanesini program başına eklemek gereklidir.
Not-3: void Veri Türü: Fonksiyonlarda fonksiyon geriye değer döndürmeyecekse veya kullanılacak bir değişken veri türüne sahip
olmayacak ise veri türü olarak void belirlenmelidir.
Dr.Bülent Çobanoğlu, SAÜ-TEF, Programlama Ders Notu
SABİTLER
 Program içerisinde değeri değişmeyen ifadelere sabit denir.(∏ sayısı, 2.5, gibi)
. Sabit değerler sayısal ve string olmak üzere ikiye ayrılırlar. İki tırnak (“ ”)
işareti arasında yazılan her türlü bilgi string sabittir. Sabitler özellikle bilinen
değerlerin kullanımını sağlar. Kodlamayı ve kodun okunabilirliğini
kolaylaştırırlar.

sabit olarak
 Java dilinde değişkenleri
tanımlamak için değişken
tanımının önüne final sözcüğü getirilirken C dilinde #define komutu
veya const komutu kullanılır. { const float pi=3.14; gibi}
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
Mesajlar

Kullanıcı ile iletişim kurmak için kullanılır. Mesajlar kullanıcıyı
yönlendirmek amacıyla kullanılırlar. (“Bir sayı giriniz”) gibi
kullanıcıyı program çalışırken yönlendiren ifadelere mesajlar
denir.
C/C++ dilinde printf() fonksiyonu mesajların ve program
sonuçlarının ekranda gösterilmesini sağlayan bir komuttur.
printf(“format dizgisi”,çıktı listesi);
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
Çıkış Karakterleri (Escape Characters)
Mesajların ekranda gösteriminde printf komutu ile birlikte bazı çıkış karakterleri kullanılır. Bunlar;
Basılacak Karakter
Çıkış Karakteri
' (Tek Tırnak)
\'
" (Çift Tırnak)
\"
\ (Backslash)
Örnek kod

Ekran Çıktısı
"Bade\'nin Evi"
Bade’nin Evi
"Bade dedi \"Selam\" "
Bade dedi "Selam"
\\
"C:\\"
Bir alt satıra geç
\n
printf ("a\nb");
Bir tab boşluk
Backspace tuşu
\t
\b
"1\t2"
"12\b3"
Enter tuşuna basıldı (Satır başı)
\r
"Bade\rZehra"
C:\
a
b
1Ø2
13
Bade
Zehra
Bip sesi
\a
PC içerisindeki hoparlorden bip (alert)sesi gelir
Örnek;
Dr.Bülent Çobanoğlu, SAÜ-TEF, Programlama Ders
Notu
printf format dizgisi
Basılacak Karakter
Çıkış Karakteri
Açıklama
Tamsayı (işaretli)
%d
char veya int türlerini onlu tamsayı formatında gösterir.
Tamsayı (işaretsiz)
%u
unsigned int türünü işaretsiz onlu tamsayı formatında gösterir.
Ondalıklı sayı
%f
float ve double türlerini onlu sistemde ondalıklı olarak gösterir.
Ondalıklı sayı
%g
İşaretli veya üstel formatta ondalıklı sayı olarak gösterir.
Ondalıklı sayı
%e
float ve double türlerini üstel biçimde gösterir.
Karakter (Tek)
%c
Tek bir karakteri ekrana basar
String (Karakter dizisi)
%s
Stringleri karakter dizisi şeklinde ekranda gösterir.
Hexadecimal (Onaltılı)
%x
int türünü hexadecimal- Onaltılık tamsayı (0,1,2,… A,B,..F)
formatında gösterir
Octal ( Sekizli)
%O
int türünün Octal-Sekizlik tamsayı (0,1,2,3,4,5,6,7) formatında
gösterir.
int x = 13;
printf(“%d”, x);
Çıktı:
13

Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
printf komutunun kullanım örnekleri

Komut Satırı
printf("%s\b%s ","sau","tf?");
printf("%s\'\t%s ","sau","tf");
int a=9, b=12;
printf("%d\t%X",a,b);
float a=9;
int b=12;
printf("%.2f\\%o",a,b);
printf ("\"Bade\"\nGeldi." );
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
Ekran Çıktısı
scanf deyimi
Klavyeden (dışardan girilen verileri) veri okumak için kullanılır.

scanf ( "%d,%d,%c", &a, &b, &c);
scanf ( "%c %c %f", &c1, &c2, &sayi);
scanf ( "%d-%c- %f", &s1, &c1, &s2);
//Klavyeden veri girişi yaparken 3, 4, a aralarında virgül kullan
//Klavyeden veri girişi yaparken a h 5.4 aralarında boşluk kullan
//Klavyeden veri girişi yaparken 4-q-5.4 aralarında tire kullan
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
C++ dilinde printf - scanf eşdeğeri
int r, alan;

cout << "Gir Yari çapı: "; //printf
cin >> r; // scanf
cout << "Alanı: " << alan << endl;
 Not1: cout komutu iostream başlık dosyasında bulundugundan örnek programın başında
 #include <iostream> komutu kullanılır.
 Not2: Program başında using namespace std; deyimi kullanılmalıdır. Bu bildirim cin,
cout ve endl degerlerine kolay erişimi sağlar. Aksi takdirde std::cin >> r; şeklinde
yazmamız gerekirdi.
 C standardında başlık dosyalarına .h uzantsı verilir. C++ standardında ise bazı başlık dosyalarının
uzantısı bulunmayabilir. Örnekteki iostream başlık dosyası C++ ile tanımlanmış yeni baslık
dosyalarına bir örnektir.
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
Bir karenin alanını hesaplayan programın C ve C++ dillerine (printfcint, scanf-cout) göre kodlanması:

C Dili ile
yazıldım
C++ Dili ile
yazıldım
Dr.Bülent Çobanoğlu, SAÜ-TEF,
Programlama Ders Notu
OPERATÖRLER

 İşlem yapmamızı sağlayan işaretlere operatör (işleç)
adı verilir. Genellikle;
 Aritmetiksel { +, -, *, /, gibi },
 Mantıksal { ve, veya, değil, gibi}
 Karşılaştırma { < , > , =, gibi }
 Artırma ve azaltma { ++, --, gibi}
 Aritmetiksel atama { +=, *=, -=, gibi}
 Bitsel { <<, >>, ^, gibi}
operatörleri isimleri altında sınıflandırılırlar ve her
programlama dilinde farklı şekillerde gösterilebilirler.
Dr. Bülent ÇOBANOĞLU
OPERATÖRLER
Operatör Tipi
Sembolik Gösterimi
Aritmetiksel operatörler
+, -, *, / ve %
Artırma ve azaltma
++ ve --

operatörleri
Aritmetiksel atama
=, +=, -=, *=, /=, %=,>>= ,
operatörleri
&=,
Mantıksal operatörler
&&, ||, ! ve ^
Karşılaştırma operatörleri
>, <, = =, >=, <= ve !=
Bit işlem operatörleri
&, |, ^, >>, <<, >>> ve ~
İkili karşılaştırma operatörü
?:
Ayırma operatörü
, (Virgül)
^= ve |=
Dr. Bülent ÇOBANOĞLU
<<=,
>>>=,
Aritmetiksel Operatörler
İŞLEMLER
Aritmetik
Matematiksel
JAVA dili
C/C++ dili
Operatör
gösterimi
gösterimi
gösterimi
Toplama
+
X+Y
X+Y
X+Y
Çıkartma
-
X-Y
X–Y
X–Y
Çarpma
*
X*Y
X*Y
Bölme
/
X/Y ve
X/Y
X/Y
Üs alma
Yoktur
32
3*3
3*3
Math.pow(3,2);
pow(3,2);
Karekök alma
Yoktur
√3
Math.sqrt(3);
sqrt(3);
%
X Mod Y
X%Y
X%Y
String Birleştirme
+
BadeSare
“Bade” + “Sare”
“Bade” + “Sare”
Eksi (Negatif)
-
—Y
—Y
Mod Alma (Kalanı
Alma)

(XY),(X.Y),
(X*Y)
X
Y
Dr. Bülent ÇOBANOĞLU
—Y
Aritmetiksel Operatörler
Matematiksel ifade
Java dili kodlaması
( a*a +b*c ) / ( 2*a*b)
C/C++ dili kodlaması
( a*a +b*c ) / ( 2*a*b)
Matematiksel ifade
y=prq+w/x-z
Java dili kodlaması
y = p * Math.pow(r, q) + w /x-z;
C/C++ dili kodlaması
y = p * pow(r, q) + w /x-z;

Matematiksel ifade
Java dili kodlaması
c=Math.sqrt(a)+b*b;
C/C++ dili kodlaması
c= sqrt(a) + b*b;
2
3
1
İşlem önceliği
Matematiksel ifade
Java dili kodlaması
z= - (5*Math.pow(a,(2/3)) / (Math.sqrt(x*x-y*y)));
C/C++ dili kodlaması
z= - (5* pow(a,(2/3)) / (sqrt(x*x-y*y)));
Dr. Bülent ÇOBANOĞLU
SoruA:
matematiksel işlemini C dilinde kodlayınız.
{z= - (5*pow(a,(3/2)) / 4); }
SoruB: 9 için C Dilinde kodlayınız;

#include <stdio.h> //printf için lazım
#include <conio.h> //getche() için lazım
#include <math.h>
//pow için lazım
int main ()
{
double z; int a = 9;
z = -(5 * pow(a, (3 / 2)) / 4);
printf("z = %g" , z);
getche();
}
//return 0 da kullanılabilir
Dr. Bülent ÇOBANOĞLU
Artırma ve Azaltma Operatörleri

İşlem
Operatör
Kullanılışı (Örnek)
Ön Artırma
++
++Degisken (A=++B)
Açıklama
Önce değişken değerini 1 artır,
sonra kullan. (B=B+1; A=B ;)
Önce
Son Artırma
++
Degisken++ (A=B++)
değişken
değerini
al,
kullan sonra 1 artır.
(A=B;B=B+1)
Ön Çıkarma
--
--Degisken (A=--B)
Önce değişken değerini 1 azalt,
sonra kullan. (B=B-1;A=B;)
Önce
Son Çıkarma
--
Degisken-- (A=B--)
değişken
değerini
al,
kullan sonra 1 azalt.
(A=B; B=B-1)
x=30;
y=10;
z=x*y++;
x=30;
y=10;
z=x*++y;
Burada çarpma işleminden sonra y değeri artırılmış
Burada ise önce y değeri artırılmış sonra ise çarpma
dolayısı ile z=300 değerini alır.
işlemi gerçekleşmiştir. Dolayısı ile z=330 değerini alır.
Dr. Bülent ÇOBANOĞLU
Karşılaştırma Operatörleri
Verilerin birbiriyle karşılaştırılmasında kullanılır. Sonuç doğru ise 1 ya da true,
yanlış ise 0 ya da false değerini üretir

C/C++/Java
İşlem
Operatör
Büyük
>
>
A < B
Küçük
<
<
A > B
Eşdeğeri
Örnek gösterim
Büyük Eşit
≤
>=
A <= B
Küçük Eşit
≥
<=
A >= B
Eşit mi?
=
==
A == B
Eşit değil
≠
!=
A != B
(Koşul) ? (işlem1) : (işlem2)
İkili karşılaştırma
?:
{Koşul doğru ise <işlem1> değilse
<işlem2> gerçekleşir.}
Dr. Bülent ÇOBANOĞLU
Aşağıda verilen F fonksiyonunu hesaplayan matematiksel ifadenin algoritmasını oluşturup,
akış şemasını çiziniz ve bilgisayar ortamında kodlamasını yapınız.
F=
Algoritması
1.Başla
2. Gir X değerini;
3. Eğer X≤0 ise
F=X2+1;
4. Eğer X≥1 ise
F=X;
5. Eğer 0<X<1 ise
F=√X;
6. Yaz X değerini
7. Dur
x≤0, x2+1
x≥1, x
0<x<1, √x
Akış şeması

C/C++ Dili Kodlaması
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
float X,f;
printf("Gir bir sayı :");
scanf("%g", &X);
if (X<=0) {f=pow(X,2)+1;}
if (X>=1) {f=X;}
if (X>0 && X<1) {f=sqrt(X);}
printf ("f= %g", f);
getche();
}
Dr. Bülent ÇOBANOĞLU
Java Dili Kodlaması
public static void main(String[]
args)
{
System.out.println("Bir sayı
giriniz");
Scanner gir = new Scanner
(System.in);
int X=gir.nextInt();
double f = 0;
if (X<=0) {f=Math.pow(X,2)+1;}
if (X>=1) {f=X;}
if (X>0 && X<1){f=Math.sqrt(X);}
System.out.printf ("f= %g", f);
}
Soru 8. Bir sayının negatif mi pozitif mi olduğunu bulan programın
akış şemasını çiziniz ve bilgisayar ortamında kodlamasını yapınız.
Akış Şeması

C/C++ Dilinde Kodlaması
#include <stdio.h>
#include <conio.h>
int main()
{
int A;
printf("Gir bir sayı :");
scanf("%d", &A);
printf((A>=0) ? "poz." : "neg.");
getche();
}
Dr. Bülent ÇOBANOĞLU
Mantıksal Operatörler
X

KARŞILAŞTIRMA
C/C++/JAVA
NOTASYONU
NOTASYONU
A VE B
A && B
||
A VEYA B
A || B
Değil (NOT)
!
A DEĞİL B
A ! B
Özel VEYA (XOR)
^
A ÖZELVEYA B
A ^ B
İŞLEM
OPERATÖR
Mantıksal VE (AND)
&&
Mantıksal VEYA (OR)
Y
!X
!Y
X && Y
X||Y
X ^Y
(Değil X)
(Değil Y)
(X VE Y)
(X VEYA Y)
(X ÖZELVEYA Y)
true
true
0
0
1
1
0
true
false
0
1
0
1
1
false
true
1
0
0
1
1
false
false
1
1
0
0
0
Dr. Bülent ÇOBANOĞLU
BİT İŞLEM OPERATÖRLERİ

Karşılaştırma
C/C++/Java
Notasyonu
Notasyonu
&
A VE B
Bit düzeyinde VEYA
|
Bit düzeyinde Özel VEYA
İşlem
Operatör
Örnek
Sonuç
Bit düzeyinde VE
A&B
3 & 5;
1
A VEYA B
A|B
3|5
7
^
A Özel VEYA B
A^B
3^5
6
Değil veya 1’e tümleyen
~
Değil A
~A
~3
-4
Sola kaydır
<<
A << basamak
A << değer
3 << 2
12
Sağa kaydır
>>
A >> basamak
A >> değer
9 >> 2
2
A
0
1
0
1
B
0
0
1
1
A|B
0
1
1
1
A&B
0
0
0
1
A^B
0
1
1
0
~A
1
0
1
0
Dr. Bülent ÇOBANOĞLU
Aritmetiksel Atama Operatörleri
Toplam +=5;
Toplam=Toplam + 5;
Toplam += i++;
Toplam=Toplam + i;
i=i+1;
İşlem
Operatör
Aktar

C/C++/Java Gösterimi
Eşdeğeri /Açılımı
=
A = B
A = B
Topla ve aktar
+=
A += B
A = A + B
Çıkar ve aktar
-=
A -= B
A = A - B
Çarp ve aktar
*=
A *= B
A = A * B
Böl ve aktar
/=
A /= B
A = A / B
Kalanı al ve aktar
%=
A %= B
A = A % B
Sola kaydır ve aktar*
<<=
A<<=B
A=A<<B
Sağa kaydır ve aktar*
>>=
A>>=B
A=A>>B
VE’le ve aktar*
&=
A&=B
A=A&B
VEYA’la ve aktar*
|=
A|=B
A=A|B
Özel VEYA’la ve aktar*
^=
A^=B
A=A^B
Değilini Al ve aktar*
~=
A~=B
A=A~B
* Bu konutlar bit düzeyinde (sayının ikili/binary karşılığını alarak) işlem yapar
Dr. Bülent ÇOBANOĞLU
Operatörlerin Öncelik Sıraları
Öncelik
Sırası
İşlemler
Parantez içi
1
Son artırma/azaltma
Matematiksel fonksiyonlar
Dizi işlemleri
2
İşlem önceliği
İşlem Simgesi

(…)
<…> ++, <…> -pow,sqrt,sin,…
[…]
Ön Artırma/Azaltma
++<…>, --<…>
Pozitif, negatif yapma
+ -
Değil (NOT)
Soldan sağa
Sağdan sola
~<…>, !<…>
3
Çarpma, Bölme veya Kalan
*, /, %
4
Toplama veya Çıkarma
+ veya -
5
Kaydırma
6
Karşılaştırma
<,<=,>,>=
7
Karşılaştırma
= =, !=
8
Bit düzeyinde VE (AND)
&
9
Bit düzeyinde Özel VEYA (XOR)
^
10
Bit düzeyinde VEYA (OR)
11
Mantıksal VE (AND)
&&
12
Mantıksal VEYA (OR)
||
13
İkili koşullu karşılaştırma
?:
14
Atama
15
Bitsel Atama
Soldan sağa
<< veya >>, >>>
&, ^, |
Sağdan sola
=,+=,-=,*=,/=, %=
>>=, <<=, &=, ^= ,|=
Dr. Bülent ÇOBANOĞLU
Soru 10: Aşağıdaki program parçasının çalışmasından
sonra ‘k’ değeri ne olur?
int a=3,m=10,k;
k= !( (a<5) != (m>3) );

 k= !( (a<5) != (m>3) );
 k= !( true != true)
 k= ! false
 k=true
Not: Sonuç değeri k değişkeninde Java dilinde ‘true’
olarak saklanırken C/C++ dilinde ‘1’ olarak saklanır.
Soru 11.
m= - 5 – 8 % 4 + 7 * (2 * 2 + 2) ifadesinin sonucunda ‘m’ değişkeninin içeriği ne olur?
Dr. Bülent ÇOBANOĞLU
Soru 12. Aşağıdaki örnek programın çalıştırılmasından sonra d,e,f,g ve h
değişkenlerinin değeri ne olur?
int
int
int
int
int
int
b=1, c=2;
d=b&c;
e=b|c;
f=b^c;
g=c>>1;
h=c<<2;
// C Programı

#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
int b=1,c=2;
printf ("d= %d\n", b&c);
printf ("e= %d\n", b|c);
printf ("f= %d\n", b^c);
printf ("g= %d\n", c>>1);
printf ("h= %d\n", c<<2);
}
getche();
Dr. Bülent ÇOBANOĞLU
Sayı Sistemleri Dönüşümü
On’lu sayıların İkili sayılara dönüştürülmesi { sayi10=knkn-1kn-2…….k0 }
Sayı
Bölüm

Kalan
Sonuç
1=k0
11
0
=k0
110
1
=k1
(9):2 4
1
=k0
4:2 2
0
=k1
0
=k2
(3):2 1
=k1
(6):2 3
3:2 1
2:2 1
=k2
=k3
1001
İkili sayıların Onlu sayılara dönüştürülmesi { İkiliSayı*2BasamakDeğeri + … }
(1101)2 = 1*20+0*21+1*22+1*23=1+0+4+8=13
(0011)2=1*20+1*21+0*22+0*23= 1+2+0+0=3
Ödev. Verilen 10 tabanındaki herhangi bir sayıyı ikilik tabana (ikilik
sayı sistemine) çeviren programın algoritmasını (akış şemasını)
oluşturup, programlama dilleri ile kodlamasını yazınız.
Dr. Bülent ÇOBANOĞLU

Benzer belgeler

1.bölüm - cobanoglu

1.bölüm - cobanoglu iletişim nasıl gerçekleşir? Bu sorunun çözümünü birbirinin konuşma dilini bilmeyen iki yabancı devlet adamının bir araya gelip görüşmesine benzetebiliriz. Bu görüşmede ancak tercüman veya çevirmenl...

Detaylı