Karşılaştırma Komutları (Switch ve? Operatörü)

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

C PROGRAMLAMA D İ L İ

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

Programlama Dilleri Laboratuvarı

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

PROGRAMLAMA DİLLERİ I

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

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

Döngü ve Koşul Deyimleri

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

ALGORİTMA VE PROGRAMLAMA I

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.

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Programlama Dilleri Laboratuvarı

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

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

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

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

Temel Giriş/Çıkış Fonksiyonları

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

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

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

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

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

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

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

BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ. GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur.

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

BİL-142 Bilgisayar Programlama II

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

Program Akış Kontrol Yapıları

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

Algoritma ve Programlamaya Giriş

M.ilkucar MAKU MYO 1

Bölüm 4 C de Program Kontrolü

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

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

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

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

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

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

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

C PROGRAMLAMA D İ L İ

Bölüm 3 Yapısal Programlama

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

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

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

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

B tekrarlama kontrol komutları 7. do-while döngüsü 8. while döngüsü 9. for döngüsü

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

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Temel Bilgisayar Bilimleri Ders Notu #2

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

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

C PROGRAMLAMA D İ L İ

BİLGİSAYAR PROGRAMLAMA DERSİ

PROGRAMLAMAYA GİRİŞ DERS 2

C PROGRAMLAMA DİLİ. * Dersler

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

Fonksiyonlar (Altprogram)

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

1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Adı Soyadı : Öğrenci No :

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

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

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

C Programlama Dili'ne Giriş

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

DOSYA İŞLEMLERİ Programlama dilleri hafta -

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

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

C PROGRAMLAMA D İ L İ

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

Eln 1001 Bilgisayar Programlama I

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

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

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

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

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

Temel Bilgisayar Programlama Ara Sınav Çalışma Notları

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ı

C PROGRAMLAMA D İ L İ

STRİNG DİZİLER(KATARLAR)

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

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

ARA SINAV 07.Nisan 2015

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

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

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.

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

Transkript:

MAK 1005 Bilgisayar Programlamaya Giriş Karşılaştırma Komutları (Switch ve? Operatörü) Prof. Dr. Necmettin Kaya

KARŞILAŞTIRMA KOMUTLARI - SWITCH SWITCH: Program akışı bir çok seçenekten birine yönlendirilir. Genel yazım biçimi: switch(değişken) case sabit1:... komutlar;... case sabit2:... komutlar;... case sabitn:... komutlar;... default:... hata mesajları veya varsayılan komutlar;... case deyiminden sonra değişkenin durumu belirlenir ve takip eden gelen satırlar işleme konur. Bütün durumların aksi söz konusu olduğunda gerçekleştirilmesi istenen komutlar default deyiminden sonraki kısımda bildirilir.

KARŞILAŞTIRMA KOMUTLARI - SWITCH Örnek 1: Ekran Çıktısı: #include <stdio.h> char kr; main() printf("lutfen bir karakter girin\n"); kr = getchar(); /* tek bir karakterin okunması */ switch (kr) case 'a': printf("a harfine bastiniz\n"); case 'b': printf("b harfine bastiniz\n"); default: printf("a veya b ye basmadiniz\n"); system("pause"); İlk ekran çıktısında görüldüğü gibi kr değişkeni için a karakteri girildiğinde b harfine bastiniz ve a veya b ye basmadiniz mesajlarıda yazılmıştır. Bu durumu önlemek için break komutu kullanılmalıdır:

KARŞILAŞTIRMA KOMUTLARI - SWITCH #include <stdio.h> char kr; main() printf("lutfen bir karakter girin\n"); kr = getchar(); /* tek bir karakterin okunması */ switch (kr) case 'a': printf("a harfine bastiniz\n"); break; case 'b': printf("b harfine bastiniz\n"); break; default: printf("a veya b ye basmadiniz\n"); break; system("pause"); Ekran Çıktısı:

KARŞILAŞTIRMA KOMUTLARI - SWITCH Örnek 2: #include <stdio.h> #include <conio.h> #include <stdlib.h> İnt secim; float x,y,sonuc; main() printf("iki sayi girin: "); scanf("%f %f",&x,&y); puts("*** Menu ***"); puts("[1] Toplama"); puts("[2] Cikarma"); puts("[3] Carpma"); puts("[4] Bolme"); printf("seciminiz: "); scanf("%d",&secim); switch( secim ) case 1: sonuc = x + y; printf("toplam = %f\n",sonuc); break; case 2: sonuc = x-y; printf("fark = %f\n",sonuc); break; case 3: sonuc = x * y; printf("carpim = %f\n",sonuc); break; case 4: sonuc = x/y; printf("oran = %f\n",sonuc); break; default: puts("yanlis secim!\a"); system("pause"); Ekrana yazdırılacak ifade bir karakter topluluğu ise, printf()'e alternatif olarak puts() fonksiyonu kullanılabilir Ekran Çıktısı:

KARŞILAŞTIRMA KOMUTLARI - SWITCH? (Şart operatörü): Bir şartın gerçekleşip gerçekleşmemesine göre iki deyimden birini seçer. deyim1? deyim2 : deyim3 Burada öncelikle deyim1 değerlendirilir. Sonuç doğruysa deyim2, yanlışsa deyim3 seçilir. Basit bir örnekle, iki sayıdan küçüğünü seçmek için şöyle bir kod kullanılabilir: if (x < y) z = x; else z = y; yerine z = x < y? x : y; kullanılabilir.

MAK 1005 Bilgisayar Programlamaya Giriş ÖRNEK SORU ve CEVAPLARI

Örnek Soru ve Cevapları Soru 1: Bir yerleşim bölgesinde bulunan 1250 abonenin ödeyecekleri elektrik ücretlerini hesaplatmak için; - Abonenin adı ve soyadı, elektrik kullanım yeri (1: Ev, 2: Ticarethane) ve kullanılan elektrik miktarı (kw/saat) bilgileri verilmektedir. Abonelerin ödeyecekleri ücretler: - Ticari yerlerde 100 kw/saat ten az ise her kw/saat için 0,5 TL, 100 kw/saat ten fazla olması durumunda her fazla kw/saat için 0,2 TL -Evlerde 50 kw/saat ten az ise her kw/saat için 0,3 TL, 50 kw/saat ten fazla olması durumunda her fazla kw/saat için 0,4 TL dır. Buna göre, bilgileri okutup, her abonenin ödeyeceği ücreti, toplam ödenilen ücreti ve en fazla ödeme yapan abonenin adı soyadını bulup ekrana yazan programın algoritmasını yazınız, akış diyagramını çiziniz.

Örnek Soru ve Cevapları CEVAP 1: Algoritma (Akış diyagramları yazılan algoritmadan faydalanılarak çizilebilir. Cevap anahtarında A0: Başla verilmemiştir) A1: TOPÜCRET 0, EB -9999 A2: Döngü başlangıcı, I 1,1250 A3: ADSOYAD ı, EK ve KEM i gir. A4: Eğer EK=1 ise, Eğer KEM<50 ise ÜCRET KEM*0.3 Eğer KEM 50 ise ÜCRET 50*0.3+(KEM-50)*0.4 A5: Eğer EK=2 ise, Eğer KEM<100 ise ÜCRET KEM*0.5 Eğer KEM 100 ise ÜCRET 100*0.5+(KEM-100)*0.2 A6: TOPÜCRET TOPÜCRET +ÜCRET A7: Eğer ÜCRET>EB ise EB ÜCRET, EBADSOYAD ADSOYAD A8: ÜCRET i yaz. A9: Döngü sonu. A10: TOPÜCRET i ve EBADSOYAD ı yaz. A11: Dur.

Örnek Soru ve Cevapları Soru 2: 180 öğrencinin bulunduğu sınıfta Matematik ve Bilgisayar derslerinden sınav yapılıyor. Sınava giren öğrencilerin, her iki dersten aldıkları notları klavyeden girerek, aşağıdaki işlemleri yapan programın, algoritmasını yazınız, akış diyagramını çiziniz. Her iki dersin en büyük ve en küçük notlarını hesaba katmadan her iki dersin not ortalamasını hesaplayıp yazdırınız. Matematik dersi sınavından 0-40, 41-70 ve 71-100 puan arasında not alanların yüzdesini bulup yazdırınız. Her iki dersten 60 puan üzerinde not alanların sayısını bulup yazdırınız.

Örnek Soru ve Cevapları CEVAP 2: Algoritma A0: Başla A1: S1 0, S2 0, YS1 0, YS2 0, YS3 0 A2: MTOP 0, BTOP 0 A3: EBM -9999, EKM 9999, EBB -9999, EKB 9999 A4: Döngü başlangıcı, I 1,180 A5: MNOT ve BNOT u gir. A6: Eğer MNOT>EBM ise EBM MNOT A7: Eğer MNOT<EKM ise EKM MNOT A8: Eğer MNOT>60 ise S1 S1+1 A9: Eğer MNOT>0 ve MNOT 40 ise YS1 YS1+1 A10: Eğer MNOT 41 ve MNOT 70 ise YS2 YS2+1 A11: Eğer MNOT 71 ve MNOT 100 ise YS3 YS3+1 A12: MTOP MTOP+MNOT A13: Eğer BNOT>EBB ise EBB BNOT A14: Eğer BNOT<EKB ise EKB BNOT A15: Eğer BNOT>60 ise S2 S2+1 A16: BTOP BTOP+BNOT A17: Döngü sonu A18: MORT (MTOP-EBM-EKM)/178 A19: BORT (BTOP-EBB-EKB)/178 A20: Y1 YS1*100/180 A21: Y2 YS2*100/180 A22: Y3 YS3*100/180 A23: MORT, BORT, Y1, Y2, Y3, S1 ve S2 yi yaz. A24: Dur.

Örnek Soru ve Cevapları Soru 3: Verilen x değerine karşılık y fonksiyon değerini hesaplayan C programını yazınız. -10 x 0 1 x 10 y y 12 x x 1 1 x 1 2 3 1 4 3x x Bu aralıkların dışında y 1

Örnek Soru ve Cevapları CEVAP 3: #include <stdio.h> #include <math.h> float x,y; int main() printf("x="); scanf("%f",&x); if (x>=-10 && x<=0) y=-(x-pow(x,12))/(1-(1/(x-1))); else if (x>=1 && x<=10) y=1+sqrt(4+3*x*x)+pow(x,3); else y=1; printf("y=%8.1f",y); system("pause"); Ekran Çıktısı:

Örnek Soru ve Cevapları Soru 4: Aşağıda verilen C programının çalışması sonucunda elde edilen çıktıları yazınız. İşlem adımlarınızı (değişkenlerin aldıkları değerleri) gösteriniz. #include <stdio.h> int a,b,c,d; main() a=5; b=a-2; c=2*a-4; a=b+3; d=2*c+a-7; if (b+c>d-1) c=b-a+2; d=c-3; b=a+b-4; else c=b+a-2; d=c+3; b=a+b-c+3; if (c+3<a+2) b=a-2*c+d; else b=2*c+d+3; a=b-c+5; if (a+b>20) if (c>20) a=b-c+2; else b=d-c+2; c=a-d+3; else d=a+2*b-5;b=a-b+2; if (a+3>b-3 && c>d-1) b=2*c-b+3; a=3*d-6; else b=2*a+c-7; printf("a=%d\t b=%d\t c=%d\t d=%d", a,b,c,d); system("pause");

Örnek Soru ve Cevapları CEVAP 4: A B C D 5 3 6 11 6 5 7 10 25 27 18 24 5 34 Ekran çıktısı:

LABORATUVAR UYGULAMASI Uygulama 1: Seçime göre bir dairenin alanını ve bir çemberin çevresini hesaplayan C programını yazınız. Programda ilk önce daire veya çember seçimi yapılacak, seçime göre daire için alan hesabı, çember için ise çevre hesabı yapılarak sonuç ekrana yazdırılacaktır (switch yapısı). Uygulama 2: Seçime göre bir dikdörtgenin alan ve çevresi ve bir dairenin alan ve çevresini hesaplayan C programını yazınız. Programda ilk önce dikdörtgen veya daire seçimi yapılacak, daha sonra alan veya çevre seçimi yapılarak sonuç ekrana yazdırılacaktır (iç içe switch yapısı).