• Sonuç bulunamadı

Döngü Problemleri. 1. Aşağıdaki programın çıktısı nedir? continue yerine break yazılırsa çıktı ne olur? Neden? Program 1.1.

N/A
N/A
Protected

Academic year: 2022

Share "Döngü Problemleri. 1. Aşağıdaki programın çıktısı nedir? continue yerine break yazılırsa çıktı ne olur? Neden? Program 1.1."

Copied!
13
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

1

Döngü Problemleri

1. Aşağıdaki programın çıktısı nedir? continue yerine break yazılırsa çıktı ne olur? Neden?

Program 1.1.

1 #i n c l u d e < s t d i o . h>

i n t main ( ) {

f o r (i n t j =0; j <=8; j ++)

6 {

i f ( j ==3) {

c o n t i n u e; }

11 p r i n t f ("%d ", j ) ; }

r e t u r n 0 ; }

\ b e g i n { l s t l i s t i n g }

16 \ b e g i n { l s t l i s t i n g } /∗∗

0 1 2 4 5 6 7 8 b r e a k y a z ı l ı r s 0 1 2

21 ∗/

\ end { p r g l i s t i n g }

\ n o i n d e n t

26

\ i t e m

A ş a ğ ı d a k i p r o g r a m ı n ç ı k t ı s ı n e d i r ? \emph{c o n t i n u e} y e r i n e \emph{

b r e a k} y a z ı l ı r s a ç ı k t ı ne o l u r ? Neden ?

(2)

31

\ b e g i n { p r g } \l a b e l{ f o r 2 } \ end { p r g }

\ b e g i n { l s t l i s t i n g }

#i n c l u d e < s t d i o . h>

36 i n t main ( ) {

f o r (i n t j =0; j <=8; j ++) {

i f ( j ==3)

41 {

c o n t i n u e; }

p r i n t f ("%d ", j ) ; }

46 r e t u r n 0 ;

}

\ b e g i n { l s t l i s t i n g }

\ b e g i n { l s t l i s t i n g } /∗∗

51 10 9 8 6 5 4 3 2 1 0

b r e a k y a z ı l ı r s

10 9 8

∗/

\ end { p r g l i s t i n g }

56 \ n o i n d e n t

61 \ i t e m

A ş a ğ ı d a k i p r o g r a m ı n ç ı k t ı s ı n e d i r ? Hangi kod h i ç ç a l ı ş m a z . Neden ?

\emph{c a s e} i f a d e l e r i do ğr u mudur? D e ğ i l s e o n l a r ı g e r ç e k c a s e i f a d e l e r i h a l i n e g e t i r i n i z .

66

\ b e g i n { p r g } \l a b e l{ prb2 : f o r 3 } \ end { p r g }

\ b e g i n { l s t l i s t i n g } //

71 // main . c // d ö n g ü l e r //

// C r e a t e d by Timur Karacay on 0 7 / 0 3 / 1 5 .

// C o p y r i g h t ( c ) 2015 Timur Karacay . A l l r i g h t s r e s e r v e d .

76 //

#i n c l u d e < s t d i o . h>

81 i n t main ( ) {

i n t i = 0 , k = 0 ; f l o a t j = 0 ; i n t s a y a c = 5 ;

86

p r i n t f (" Case 1 : \ n ") ;

(3)

f o r ( i =0; i < s a y a c ; i ++) { p r i n t f ("%d\n ", i ) ; }

91

p r i n t f (" Case 2 : \ n ") ; f o r ( j = 5 . 5 ; j > 0 ; j−−) {

p r i n t f ("%f \n ", j ) ; }

96

p r i n t f (" Case 3 : \ n ") ;

f o r ( i =2; ( i < 5 && i >=2) ; i ++) { p r i n t f ("%d\n ", i ) ;

}

101

p r i n t f (" Case 4 : \ n ") ; f o r ( i =0; ( i != 5 ) ; i ++) {

p r i n t f ("%d\n ", i ) ; }

106

p r i n t f (" Case 5 : \ n ") ; /∗ Blank loop ∗/

f o r ( i =0; i < s a y a c ; i ++) ;

111 p r i n t f (" Case 6 : \ n ") ;

f o r ( i =0 , k =0; ( i < 5 && k < 3 ) ; i ++, k++) { p r i n t f ("%d\n ", i ) ;

}

116 p r i n t f (" Case 7 : \ n ") ; i =5;

f o r ( ; 0 ; i ++) { p r i n t f ("%d\n ", i ) ; }

121

r e t u r n 0 ; }

\ b e g i n { l s t l i s t i n g }

\ b e g i n { l s t l i s t i n g }

126 /∗∗

Case1 : 0 1 2

131 3 4 Case2 : 5 . 5 0 0 0 0 0 4 . 5 0 0 0 0 0

136 3 . 5 0 0 0 0 0 2 . 5 0 0 0 0 0 1 . 5 0 0 0 0 0 0 . 5 0 0 0 0 0 Case3 :

141 2 3 4 Case4 : 0

(4)

146 1 2 3 4 Case5 :

151 Case6 : 0 1 2 Case7 :

156 ∗/

\ end { l i s t l i s t i n g }

161 \emph{Çözüm : }

\ b e g i n { p r g } \l a b e l{ f u n c : f 3 } \ end { p r g }

\ b e g i n { l s t l i s t i n g }

#i n c l u d e < s t d i o . h>

166

i n t main ( ) {

i n t i = 0 , k = 0 , s a y a c ;

171 f l o a t j = 0 ;

p r i n t f (" S e ç i n i z : 1 , 2 , 3 , 4 , 5 , 6 , 7 > ") ; s c a n f ("%d " , &s a y a c ) ;

176 s w i t c h( s a y a c ) {

c a s e 1 :

f o r ( i =0; i < s a y a c ; i ++) { p r i n t f ("%d\n ", i ) ;

181 }

c a s e 2 :

f o r ( j = 5 . 5 ; j > 0 ; j−−) { p r i n t f ("%f \n ", j ) ;

186 }

c a s e 3 :

f o r ( i =2; ( i < 5 && i >=2) ; i ++) { p r i n t f ("%d\n ", i ) ;

191 }

c a s e 4 :

f o r ( i =0; ( i != 5 ) ; i ++) { p r i n t f ("%d\n ", i ) ;

196 }

c a s e 5 :

/∗ Blank loop ∗/

f o r ( i =0; i < s a y a c ; i ++) ;

201

c a s e 6 :

f o r ( i =0 , k =0; ( i < 5 && k < 3 ) ; i ++, k++) {

(5)

p r i n t f ("%d\n ", i ) ; }

206

c a s e 7 : i =5;

f o r ( ; 0 ; i ++) { p r i n t f ("%d\n ", i ) ;

211 }

}

r e t u r n 0 ; }

/∗∗

S e ç i n i z : 1 , 2 , 3 , 4 , 5 , 6 , 7 > 4 0

1

5 2 3 4 0 1

10 2

∗/

2. Aşağıdaki programdaki yanlışı düzeltip, programı çalışır hale getiri- niz.

Program 1.2.

#i n c l u d e < s t d i o . h>

4 i n t main ( ) {

f o r ( i =0; i < 5 ; i ++) {

f o r ( j =0; j<=i ; j ++) {

9 p r i n t f ("%c " , @) ; }

}

r e t u r n 0 ; }

Çözüm:

Program 1.3.

#i n c l u d e < s t d i o . h>

2

i n t main ( ) { i n t i , j ; c h a r ch = ’@ ’;

(6)

7

f o r ( i =0; i < 5 ; i ++) {

f o r ( j =0; j<=i ; j ++) {

12 p r i n t f ("%c " , ch ) ; }

}

r e t u r n 0 ; }

/∗∗

@ @ @ @ @ @ @ @ @ @ @ @ @ @ @

∗/

3. Aşağıdaki program ne yapar?

Program 1.4.

#i n c l u d e < s t d i o . h>

2

i n t main ( ) { i n t j ; f o r ( ; ; )

7 {

p r i n t f ("%d " , j ) ; }

r e t u r n 0 ; }

Çözüm:

for (; ;) ifadesinde döndüyü durduran bir deyim olmadığı için sonsuz kez &j adresindeki değeri yazar.

4. Aşağıdaki programın çıktısı nedir? case içeren ifadeler gerçek case işlevini görüyor mu? Görmüyorsa, onları gerçek case ifadeleri haline getiriniz.

Program 1.5.

//

// main . c // d o n g u l e r

4 //

// C r e a t e d by Timur Karacay on 0 7 / 0 3 / 1 5 .

// C o p y r i g h t ( c ) 2015 Timur Karacay . A l l r i g h t s r e s e r v e d . //

9 #i n c l u d e < s t d i o . h>

(7)

i n t main ( ) {

14 i n t i = 0 ;

i n t s a y a c = 5 ;

p r i n t f (" c a s e 1 : \ n ") ;

do {

19 p r i n t f ("%d\n ", i ) ; i ++;

} w h i l e ( i <s a y a c ) ;

p r i n t f (" c a s e 2 : \ n ") ;

24 i =20;

do {

p r i n t f ("%d\n ", i ) ; i ++;

} w h i l e ( 0 ) ;

29

p r i n t f (" c a s e 3 : \ n ") ; i =0;

do {

p r i n t f ("%d\n ", i ) ;

34 } w h i l e ( i ++<5) ;

p r i n t f (" c a s e 4 : \ n ") ; i =3;

do {

39 p r i n t f ("%d\n ", i ) ; i ++;

} w h i l e ( i < 5 && i >=2) ; r e t u r n 0 ;

}

/∗∗

2 Case1 : 0 1 2 3

7 4 Case2 : 20 Case3 : 0

12 1 2 3 4 5

17 Case4 : 3 4

∗/

Program 1.6.

(8)

//

// main . c // d o n g u l e r //

5 // C r e a t e d by Timur Karacay on 0 7 / 0 3 / 1 5 .

// C o p y r i g h t ( c ) 2015 Timur Karacay . A l l r i g h t s r e s e r v e d . //

#i n c l u d e < s t d i o . h>

10

i n t main ( ) {

i n t i = 0 ;

15 i n t s a y a c = 5 , s e c ;

p r i n t f (" S e ç i n i z : 1 , 2 , 3 , 4 , 5 > ") ; s c a n f ("%d " , &s e c ) ;

s w i t c h( s e c ) {

20 c a s e 1 :

do {

p r i n t f ("%d\n ", i ) ; i ++;

} w h i l e ( i <s a y a c ) ;

25 b r e a k;

c a s e 2 : i =20;

do {

30 p r i n t f ("%d\n ", i ) ; i ++;

} w h i l e ( 0 ) ;

b r e a k;

35 c a s e 3 :

i =0;

do {

p r i n t f ("%d\n ", i ) ; } w h i l e ( i ++<5) ;

40 b r e a k;

c a s e 4 : i =3;

do {

45 p r i n t f ("%d\n ", i ) ; i ++;

} w h i l e ( i < 5 && i >=2) ; b r e a k; r e t u r n 0 ;

50 }

}

/∗∗

S e ç i n i z : 1 , 2 , 3 , 4 , 5 > 2 20

4 ∗/

(9)

5. Aşağıdaki program ne yapar? Varsa yanlışı düzeltiniz Program 1.7.

1 #i n c l u d e < s t d i o . h>

i n t main ( ) {

6 i n t i , s a y a c = 5 ;

do {

p r i n t f ("%d \n ", i ) ; i ++;

11 } w h i l e ( i <s a y a c ) ;

r e t u r n 0 ; }

Çözüm:

i değişkenine değer atanmadığı için, &i adresindeki çöp değere bakar.

5 ’ten küçükse onu sonsuz kez yazar. <=5 ise bir kez yazar. Bunun teri de olabilir. Programı düzeltmek için i değişkenine bir değer atan- malıdır.

Program 1.8.

1 #i n c l u d e < s t d i o . h>

i n t main ( ) {

6 i n t i =0 , s a y a c = 5 ;

do {

p r i n t f ("%d \n ", i ) ; i ++;

11 } w h i l e ( i <s a y a c ) ;

r e t u r n 0 ; }

1 /∗∗

0 1 2 3

6 4

∗/

6. Program 1.7’deck do-while yapısını while yapısına dönüştürünüz.

Program 1.9.

(10)

#i n c l u d e < s t d i o . h>

3

i n t main ( ) {

i n t i =0 , s a y a c = 5 ;

8 w h i l e ( i <s a y a c ) {

p r i n t f ("%d \n ", i ) ; i ++;

}

13 r e t u r n 0 ;

}

1 /∗∗

0 1 2 3

6 4

∗/

7. (a) Program 1.10’ın çıktısı nedir? Hangi deyim hiç işlemez? Neden?

(b) Programı switch-case yapısına dönüştürünüz. Döüşümden sonra case için 1 girilirse program ne yapar

(c) Her case içindeki while yapısını do-while yapısına dönüştürünüz.

Program 1.10.

#i n c l u d e < s t d i o . h>

3 i n t main ( ) {

i n t i = 0 ; i n t s a y a c = 5 ;

8 p r i n t f (" c a s e 1 : \ n ") ; w h i l e ( i <s a y a c ) {

p r i n t f ("%d\n ", i ) ; i ++;

}

13

p r i n t f (" c a s e 2 : \ n ") ; i =20;

w h i l e ( 0 ) {

p r i n t f ("%d\n ", i ) ;

18 i ++;

}

p r i n t f (" c a s e 3 : \ n ") ; i =0;

23 w h i l e ( i ++<5) { p r i n t f ("%d\n ", i ) ;

(11)

}

p r i n t f (" c a s e 4 : \ n ") ; i =3;

28 w h i l e ( i < 5 && i >=2) { p r i n t f ("%d\n ", i ) ; i ++;

}

33 r e t u r n 0 ;

}

1 /∗∗

Çözüm ( a ) :

Programın ç ı k t ı s ı : Case1 :

0

6 1 2 3 4 Case2 :

11 Case3 : 1 2 3 4

16 5 Case4 : 3 4

∗/

21 Bu programda 1 7 . s a t ı r d a k i p r i n t f ("\%d\n ", i ) d e y i m i h i ç ç a l ı ş m a z

; çünkü w h i l e( 0 ) \emph{f a l s e} d e ğ e r a l d ı ğ ı i ç i n program a k ı ş ı bu b l o k a g i r m e z .

Çözüm (b):

Program 1.11.

#i n c l u d e < s t d i o . h>

i n t main ( ) {

4

i n t i = 0 ;

i n t s a y a c = 5 , s e c ;

p r i n t f (" S e ç i n i z : 1 , 2 , 3 , 4 > ") ;

9 s c a n f ("%d " ,& s e c ) ; s w i t c h( s e c ) {

c a s e 2 :

14 do {

p r i n t f ("%d\n ", i ) ; i ++;

} w h i l e ( 0 ) ; b r e a k;

(12)

19

c a s e 1 : i =20;

do {

p r i n t f ("%d\n ", i ) ;

24 i ++;

} w h i l e ( 0 ) ; b r e a k;

c a s e 3 :

29 i =0;

do {

p r i n t f ("%d\n ", i ) ; } w h i l e ( i++ < 5 ) ;

34 c a s e 4 : i =3;

b r e a k;

do {

39 p r i n t f ("%d\n ", i ) ; i ++;

} w h i l e ( i < 5 && i >=2) ; b r e a k;

44 r e t u r n 0 ;

} }

/∗∗

S e ç i n i z : 1 , 2 , 3 , 4 > 1

4 c a s e 4 o l d u ğ u n d a \emph{ b r e a k } d e y i m i program a k ı ş ı n ı s w i t c h c a s e y a p ı s ı d ı ş ı n a ç ı k a r ı r . O n e d e n l e program h i ç b i r ç ı k t ı vermez .

∗/

Çözüm (b):

S e ç i n i z : 1 , 2 , 3 , 4 > 1 20

i =20 y a z ı l d ı k t a n s o n r a \emph{w h i l e( 0 )== f a l s e} o l d u ğ u i ç i n döngü k e s i l i r . So nr a g e l e n \emph{b r e a k} d e y i m i program a k ı ş ı n ı \emph{s w i t c hc a s e} y a p ı s ı d ı ş ı n a ç ı k a r ı r . O n e d e n l e program h i ç b i r ç ı k t ı vermez .

8. Aşağıdaki çıktıyı veren bir C programı yazınız.

1 ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗ ∗

∗ ∗ ∗

∗ ∗∗

Çözüm 2:

(13)

Program 1.12.

#i n c l u d e < s t d i o . h>

i n t main ( ) {

5 i n t i , j , k =0;

f o r( i =1; i <=4; i ++) {

f o r( j =1; j<=i+k ; j ++)

10 {

i f( j %2==0)

p r i n t f (" A") ; e l s e

p r i n t f (" ∗ ") ;

15 }

p r i n t f (" \n ") ; }

}

Referanslar

Benzer Belgeler

 Değerleri eğitim programı yoluyla öğretme: Eğitim programı ahlaki potansiyeli için incelemek öğretmenlerin kendi sınıf seviyesi eğitim programlarına bakmalarını

6. Mouseun hareket ettirilmesi suretiyle parçanın döndürülmesini sağlayan komuttur. Komut ikonunu tıklayıp, mouseun sol tuşunu basılı tutarak mouseu hareket ettirdiğimizde

a) Bir öğrenciye üç grup soru verilmektedir. gruptaki soruların herbiri 5 puan, II. gruptaki soruların herbiri 4 puan, III. gruptaki bir sorunun da ortalama 4

1) Okuduğunuz programın program yeterliliklerini (çıktıları) (mezun bilgi, beceri ve yetkinlikleri) nasıl değerlendirmektesiniz? Sizce bu bölümden mezun olan

Çocuklarda Öykü Alma ve Fizik Muayene: Ortopedik Bakı Doç.Dr.Abdurrahman ÖZÇELİK.. Spondilartopatiler 2

· DİJİTAL (SAYISAL) FOTOĞRAF MAKİNESİ TÜRLERİ -SABİT OBJEKTİFLİ MAKİNELER ( KOMPAKT MAKİNELER) -BASİT FOTOĞRAF MAKİNELERİ.. -ELEKTRONİK BAKAÇLI (EVF)

Soru 33: Görevli Araştırma Görevlisi Hakkında [Ders saatleri dışında, dersle ilgili olarak öğrenciye zaman ayırır.]... Soru 34: Görevli Araştırma Görevlisi Hakkında

İçerik Veri madenciliğine giriş niteliğinde olan bu derste sık öğe kümesi algılama ve birliktelik kurallarının tespit edilmesi gibi temel örüntü