// Aşağıdaki programın çıktısı nedir?

Benzer belgeler
for Döngüsü Aşağıda for döngüsünün genel yazımını ve akış diyagramını göreceksiniz: İlk örnek ekrana 10 kere "Merhaba Dünya" yazdırmak olacak.

C ile Uygulamalar 1 - Cevaplar

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

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

BLM 111 ALGORİTMA VE PROGRAMLAMA I

C# ÖRNEK UYGULAMALAR

Klavyeden girilen metnin karakter uzunluğu bulan C programı. Klavyeden girilen metin içerisindeki küçük ve büyük harf sayısını bulan C programı

Döngü ve Koşul Deyimleri

C ile Uygulamalar 4 - Cevaplar

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

C# Çalışma Örnekleri

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

NOT: Bu kodlar çeşitli internet siteleri, üniversite siteleri ve ders kitaplarından derlenerek hazırlanmıştır.

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

Döngü blokunda tek bir deyim varsa {} yazılmayabilir.

Ö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.

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

Bil Hafta Çalışma Soruları (Yanıtlar)

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Final Sınavı Soruları Güz, Süre: 90 Dakika

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

Başkent Üniversitesi Mühendislik Fakültesi Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı

SORU 1. Kullanıcıdan tamsayı tipinde 2 vektor değeri alınacak.(negatif ve pozitif sayılar olabilir) Girilen 2 vektör değeri toplanacak.

Ders 7: Döngüler. Giriş. 7.1 while Döngüsü

#include <stdio.h> main() { int i; i=0; do { printf("i nin simdiki degeri= %d\n",i); i = i + 1; } while (i<5); }

C ile Uygulamalar 2 - Cevaplar

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

Koşul doğru olduğu sürece istenilen işlem/işlemlerin tekrarlanmasını sağlayan yapıdır.

BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ, MÜHENDİSLİK FAKÜLTESİ, BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BAHAR Y.Y. BM106 PROGRAMLAMA DİLLERİ 1, ARA SINAVI

ASAL SAYILAR - TAM BÖLENLER - FAKTÖRİYEL Test -1

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

Programlama Dilleri Laboratuvarı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Arasınav Soruları Güz, Süre: 90 Dakika

C ile Uygulamalar 3 - Cevaplar

Ders 6: Karşılaştırma Deyimleri

BİL1001 Bilgisayar Bilimlerine Giriş 1

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika

Kısa Sınav ( 8 Ksım 2013)

C++ Dilinde Bazı Temel Algoritmalar

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.

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

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

Eln 1002 Bilgisayar Programlama II

ALGORİTMA VE PROGRAMLAMA I

12-A. Sayılar - 1 TEST

Algoritma ve Programlamaya Giriş

ALGORİTMA ÖRNEKLERİ ve YAZILIYA HAZIRLIK SORULARI

C# Örnek Uygulamalar I

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

140. 2< a< 1 ise kesrinin değeri aşağıdakilerden hangisi olamaz? (3,7) a 1,9 2,4 2,7 3,2 3,7. a a c b ve c a a b c

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

Temel Giriş/Çıkış Fonksiyonları

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

ARA SINAV 07.Nisan 2015

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

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

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

Matris İşlemleri Uygulaması

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

1. BÖLÜM Mantık BÖLÜM Sayılar BÖLÜM Rasyonel Sayılar BÖLÜM I. Dereceden Denklemler ve Eşitsizlikler

Akış Kontrol Mekanizmaları

Fonksiyonlar (Altprogram)

BLG 1306 Temel Bilgisayar Programlama

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

DÖNGÜ DEYİMLERİ (while, do while, for)

MATLAB/Programı Dallandıran İfadeler

5- AKIŞ DİYAGRAMLARI (FLOW- CHART) M.İLKUÇAR - 1

Bölüm 8, Yrd. Doç. Dr. A. Kadir YALDIR PAÜ Bilgisayar Mühendisliği Bölümü BÖLÜM 8: DİZİLER

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

Bu yazımızda, fonksiyonları açıklayacağız. main( ) Fonksiyonu

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI

Algoritmanın Hazırlanması

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

PROGRAMLAMA DİLLERİ I

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

C PROGRAMLAMA D İ L İ

4- ALGORİTMA (ALGORITHM)

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

BİLGİSAYAR PROGRAMLAMA DERSİ

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

ALGORİTMA VE PROGRAMLAMA I

Programlama Temelleri Dersi - Algoritma Örnekleri-v0.2

SINIF TEST. Üslü Sayılar A) 4 B) 5 C) 6 D) 7 A) - 5 B) - 4 C) 5 D) 7. sayısı aşağıdakilerden hangisine eşittir?

BPR152-Algoritma ve Programlama II Uygulama -12

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

2. Dereceden Denklemin Köklerini Bulan Program

Başkent Üniversitesi MühendislikFakültesi BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı

Döngü yapıları, (for, do while, while),

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada,

Transkript:

// Aşağıdaki programın çıktısı nedir? int i = 0; for( ; i < 12; i++ ) if( ( i++ + 1 ) == 5 ) printf( "%d\n",i ); if( i % 2 == 0 ) if( i % 3 == 0) continue; printf("%d\n", i );

Bir üçgende, iki kenarın toplam uzunluğu, üçüncü kenardan az olamaz. Ayrıca iki kenarın birbirinden farkının mutlak değeri, üçüncü kenardan büyük olmamalıdır. Bu bilgileri kullanarak, verilen üç kenar uzunluğuna göre bir üçgen çizilip çizilmeyeceğini gösteren programı yazınız. Girilecek kenar uzunlukları tam sayı olacaktır. /* Girilen 3 tamsayinin bir ucgenin kenari olup olmadigi kontrol edilir */ int a, b, c; int temp; printf("birinci kenar uzunlugu> "); scanf("%d", &a); printf("ikinci kenar uzunlugu> "); scanf("%d", &b); printf("ucuncu kenar uzunlugu> "); scanf("%d", &c); /* a ile b den buyuk olan a ya kucuk olan b ye atanir */ if(a < b) temp = a; a = b; b = temp; if( ((a + b) < c) ((a - b) > c) ) printf("bu kenar uzunluklarina sahip bir ucgen olamaz.\n"); printf("bu kenar uzunluklarina sahip bir ucgen cizilebilir.\n");

Klavyeden girilecek bir sayının asal sayı olup olmadığını ekrana yazdıran bir program yazınız. /* Bir sayının asal olup olmadığını bulmak için çeşitli metodlar vardır. Aşağıda bu metodlardan basit bir tanesi yazılmıştır. Eğer sayının yarısına kadar kontrol etmek yerine, kareköküne kadar olan sayıları test ederseniz, yine aynı sonuç çıkacaktır. Ancak anlaşılma konusunda sorun olmaması için soru bu şekilde çözülmüştür. */ int sayi, i; //Sayıyı ilk başta asal kabul ediyoruz. //asal_mi değişkeni 1 ise, sayi asaldir. int asal_mi = 1; //Klavyeden, test edilmek üzere bir sayı alınıyor. printf( "Bir sayı giriniz> " ); scanf("%d",&sayi); //Girilen sayının, başka sayılara göre sırayla modunu //alıyoruz. Bir sayının modunu aldığınızda, kalan 0 ise //bu sayının bölünebildiğine ve dolayısıyla //asal olmadığına dair bilgi verir. Bu işlemi yapabilmek //için 2'den başlayarak, sayının yarısına kadar olan //bütün değerler deneniyor. for( i = 2; i <= sayi/2; i++ ) if( sayi%i == 0 ) //Sayı i değişkenine kalansız bölünmektedir. //Dolayısıyla, sayı asal değildir ve döngüyü //sürdürmeye gerek yoktur. asal_mi = 0; //Sayının asal olup olmama durumuna göre, çıktı yazdırılıyor. if( asal_mi == 1 ) printf( "%d sayısı asaldır.\n", sayi ); printf( "%d sayısı asal değildir.\n", sayi );

Klavyeden girilecek 0 ile 999 arasında bir tam sayının, yazıyla ifade eden ( örneğin 49, 'kırkdokuz' gibi ) bir program oluşturunuz. /* Girilen sayının, nasıl okunduğunu ekrana yazdıran programdır. Fonksiyon kullanımıyla daha efektif olarak yazılabilir. Ancak henüz işlenmeyen bir konu olduğundan, basit bir şekilde yazılmıştır. */ int sayi; //Klavyeden girilecek sayinin 0 ile 999 sınırlarında //olup olmadığı kontrol ediliyor. Eğer değilse, //uyarı verilip, yeni bir sayı isteniyor. Bu işlem //doğru bir değer girilene kadar devam ediyor. do printf( "Sayıyı giriniz> " ); scanf("%d",&sayi); if( sayi>999 sayi<0 ) printf("girdiğiniz sayı uygun değildir.\n" "0 ile 999 arasında olmalıdır.\n"); while( 1 ); printf( "%d sayısı, '",sayi ); //Verilen sayıyı, yazıyla ifade edebilmemiz için, //yüzler, onlar ve birler basamaklarına ayırmamız //gerekmektedir. //Sayının yüzler basamağı ayrıştırılıyor. //Bunun için sayıyı, 100'e bölmek yeterli. //YÜZLER BASAMAĞI: switch( sayi/100 ) case 9: printf( "dokuzyüz" ); case 8: printf( "sekizyüz" ); case 7: printf( "yediyüz" ); case 6: printf( "altıyüz" ); case 5: printf( "beşyüz" ); case 4: printf( "dörtyüz" ); case 3: printf( "üçyüz" ); case 2: printf( "ikiyüz" ); case 1: printf( "yüz" ); //Onlar basamağını bulmak için, sayının

//yüze bölümünden kalan değeri, 10'a //bölüyoruz. Yüzler basamağını bir önceki //adımda ele aldığımız için, bu adımda, //sayının yüze bölümünü değil, bölümünden //kalanı kullandık. //ONLAR BASAMAĞI: switch ( (sayi%100)/10 ) case 9: printf( "doksan" ); case 8: printf( "seksen" ); case 7: printf( "yetmiş" ); case 6: printf( "altmış" ); case 5: printf( "elli" ); case 4: printf( "kırk" ); case 3: printf( "otuz" ); case 2: printf( "yirmi" ); case 1: printf( "on" ); //Birler basamağını bulabilmek için, sayının //10'a bölümünden kalana bakıyoruz. //BİRLER BASAMAĞI: switch ( (sayi%10) ) case 9: printf( "dokuz" ); case 8: printf( "sekiz" ); case 7: printf( "yedi" ); case 6: printf( "altı" ); case 5: printf( "beş" ); case 4: printf( "dört" ); case 3: printf( "üç" ); case 2: printf( "iki" ); case 1: printf( "bir" ); //Eğer sayı 0 ise, yukarda ki düzeneğe //uymayacağından, onu ayrıca ele alıyoruz. if( sayi == 0 ) printf( "sıfır" ); printf( "' şeklinde okunur.\n" );

Dört basamaklı bir sayının rakamları ters yazılıp, 4 ile çarpılırsa, çıkan sonuç, kendisiyle aynıdır. Dört basamaklı bu sayıyı bulunuz. /* Dört basamaklı bir sayının rakamları, ters yazılıp, 4 ile çarpılırsa, sayının kendisine eşit olmaktadır. Bu program, bahsedilen dört basamaklı bu sayıyı bulmaktadır. */ //Dört basamaklı bir sayının tersinin dört katına //eşit olmasını hesaplamamız gerektiğinden, her //basamağı ayrı ayrı düşünmemiz gerekmektedir. //Bilinmeyen bu sayıyı, abcd olarak düşünebiliriz. int a,b,c,d; int sayi, sayinin_tersi; for( a = 0; a < 10; a++ ) for( b = 0; b < 10; b++ ) for( c = 0; c < 10; c++ ) for( d = 0; d < 10; d++ ) //Burada sayinin degeri bulunmaktadir. sayi = a * 1000 + b * 100 + c * 10 + d; hesaplanmaktadir. + b * 10 + a; sayiya ediliyor. gerekmektedir. sayi!= 0 ) gosterilir: %d\n", sayi, sayinin_tersi ); daha fazla devam kullanilmistir. //Burada da sayinin tersi sayinin_tersi = d * 1000 + c * 100 //Sayinin tersinin 4 katinin ilk //esit olup olmadigi kontrol //Ayrica sayinin 0 olmamasi //Bu kontrol de yapilmaktadir. if( sayi == 4 * sayinin_tersi && //Sayi ve uygun olan tersi printf( "Sayı: %d, tersi: //return ifadesi programin //etmemesi icin burada

//Program donguye devam etmez ve burada kesilir. //return, main fonksiyonunu sonlandirir. //Uygun bir sayi bulunamazsa, program burada sonlanacaktir.

Fibonacci serisinin ilk iki elemanı 0 ve 1'dir. Bundan sonra gelen sayılar, kendisinden önceki iki sayının toplamıyla bulunur. Yani seri elemanları 0 1 1 2 3 5 8 13 21... şeklinde gitmektedir. Verilecek adım sayısına göre, Fibonnaci serisinin elemanlarını gösterecek bir program yazınız. /* Fibonacci sayilarini ekrana yazar */ int a = 0; /* a[n] */ int b = 1; /* a[n+1] */ int c; /* a[n+2] */ int n; int i; printf("fibonacci serisi kacinci elemana kadar yazilsin> "); scanf("%d", &n); for( i = 1; i <= n ; i++ ) printf( "%4d. Eleman: %d\n", i, a ); c = a + b; a = b; b = c;

Verilecek kenar uzunluğuna göre, yıldız (*) işareti kullanarak kare çizen, bir program yazınız. /* '*'ler kullanarak kenar uzunlugu verilen kareyi cizer */ int kenar; int i; int j; printf("karenin kenar uzunlugu: "); scanf("%d", &kenar); /* Gecerli bir deger mi */ while((kenar < 0) (kenar > 20)) printf("lutfen 0 ile 20 arasinda bi deger giriniz."); printf("karenin kenar uzunlugu"); scanf("%d", &kenar); /* karenin cizilmesi */ for(i = 1; i <= kenar; i++) if(kenar == 0) /* alt ve üst kenarlarin cizimi */ if((i == 1) (i == kenar)) for(j = 1; j <= kenar; j++) printf("*"); printf("\n"); continue; /* if sonu */ /* sag ve sol kenarlarin cizimi */ for(j = 1; j <= kenar; j++) if((j == 1) (j == kenar)) printf("*"); printf(" "); printf("\n"); /* for sonu */

Aşağıdaki eşkenar dörtgen çıktısını üretecek bir program yazınız: * *** ***** ******* ********* ******* ***** *** * /* '*'ler yardimiyla eskenar dortgen cizer */ int i, j; for(i = 1; i <= 5; i++) for(j = 1; j <= 9; j++) if((j <= (9 - (2*i - 1))/2) (j > (i + 4))) printf(" "); printf("*"); printf("\n"); for(i = 4; i >= 1; i--) for(j = 1; j <= 9; j++) if((j <= (9 - (2*i - 1))/2) (j > (i + 4))) printf(" "); printf("*"); printf("\n");

Hipotenus'u 500 birime kadar olan dik üçgenlerin, kenar uzunluklarını gösteren bir program yazınız. Kenar uzunlukları, sadece tam sayı olacaktır. /* Hipotenusu 500'e kadar olan pisagor uclulerini ekrana yazar. */ int a; /* birinci dik kenar */ int b; /* ikinci dik kenar */ int hipotenus; for(a = 1; a < 500; a++) for(b = a; b < 500; b++) for(hipotenus = b+1; hipotenus <= 500; hipotenus++) if( (a*a + b*b) == hipotenus*hipotenus ) printf("%5d%5d%5d\n", a, b, hipotenus);

int sayi_1, sayi_2; char devam_mi; do printf("birinci sayıyı giriniz> "); scanf("%d",&sayi_1); printf("ikinci sayıyı giriniz> "); scanf("%d",&sayi_2); printf("%d + %d = %d\n", sayi_1, sayi_2, sayi_1 + sayi_2); printf("devam etmek ister misiniz? "); //C'de tek karakter okuma işlemi biraz sıkıntılı //olduğundan, burada da bir do while kullandık. do scanf("%c",&devam_mi); while( devam_mi == '\n' ); printf("\n"); while( devam_mi == 'E' devam_mi == 'e' );

Klavyeden girilen sayının faktöriyelini hesaplayıp, ekrana yazdıran bir program yazınız. int sayi,i; int faktoriyel = 1; printf("sayı giriniz> "); scanf("%d",&sayi); //Şayet sayı 0'a büyük eşitse, faktoriyel //hesaplanır. if( sayi >= 0 ) //Şayet sayı 0 ise, alttaki döngü //hiç çalışmaz. for( i = sayi; i > 0; i-- ) faktoriyel *= i; printf("faktoriyel = %d\n",faktoriyel); //Şayet sayı 0'dan küçükse, değer hesaplanamaz. printf("hata: Sayı 0'dan küçük olamaz!\n");

Klavyeden girilen sayının tersini (örneğin 1234 ==> 4321 gibi) ekrana bastıran programı yazınız. int sayi; int yazilacak_rakam; printf("sayıyı giriniz> "); scanf("%d",&sayi); printf("sayının tersi: "); while( sayi>10 ) //Sayının son rakamı alınıp //ekrana bastırılıyor. yazilacak_rakam = sayi % 10; printf("%d",yazilacak_rakam); //Son rakam ekrana bastırıldığı //için sayının son hanesi atılıyor. sayi /= 10; printf("%d\n",sayi);

Kullanıcıdan sınırsız sayıda, pozitif sayı alacak ve aldığı sayıların ortalamasını ekrana bastıracak bir program yazınız. Kullanıcı negatif bir sayı girdiği takdire, bu sayı hesaba alınmayacak ve program sonlandırılıp, o zamana kadar girilmiş pozitif sayıların ortalamasını yazdıracaktır. int girilen_sayi_adedi = 0; int sayi_toplami = 0; int girilen_sayi; //Sonsuz döngü oluşturuyoruz. for( ; ; ) printf("lütfen bir sayı giriniz> "); scanf("%d",&girilen_sayi); if( girilen_sayi < 0 ) sayi_toplami += girilen_sayi; girilen_sayi_adedi++; printf("toplam %d adet sayı girilmiştir.\n",girilen_sayi_adedi); printf("bunların toplam değeri %d olarak bulunmuştur.\n",sayi_toplami); printf("ortalaması %.3f olarak hesaplanmıştır\n",(float)sayi_toplami/girilen_sayi_adedi);

Aşağıdaki çıktıyı üreten programı yazınız: * * * * * * * * * * * * * * * int i, j; for( i = 0 ; i < 5; i++ ) for( j = 0; j < i+1; j++ ) printf("* "); printf("\n"); int i=0,j; while( i < 5 ) j = 0; while( j < i+1 ) printf("* "); j++; printf("\n"); i++;