Lab105-02/06 2014-2015 BAHAR DÖNEMİ 3.Hafta Tarih: 02.03.2015 08.03.2015 SORULAR 1. Evden işe giden bir kişinin, yağmurlu ise şemsiye almasını sağlayan bir C programı için a. Algoritma yazınız b. Akış çizeneği çiziniz 2. En, boy ve yüksekliğini kullanıcının girdiği bir dikdörtgenler prizmasının hacmını bulan bir C programı için a. Algoritma yazınız b. Akış çizeneği çiziniz c. Programı yazınız 3. Değişken nedir? 4. Giriş ve çıkışta % karakteriyle başlayan dönüştürücüler (Biçem belirteçleri) ne işe yarar? 5. Dönüştürücüleri simgeleri ve işlevleriyle listeleyiniz. 6. Binary sistemde sayaklar (digits) nelerdir? 7. Octal sistemde sayaklar (digits) nelerdir? 8. Hexadecimal sistemde sayaklar (digits) nelerdir? 9. Aşağıdaki deyimin çıktısı nedir? Bu deyimi içine alan bir C programının algoritmasını 10. p r i n t f ( "%d", 10 ) ; 11. Aşağıdaki deyimin çıktısı nedir? Bu deyimi içine alan bir C programının algoritmasını p r i n t f ( "%E", 1234.5678 ) ; 12. Aşağıdaki deyimin çıktısı nedir? Bu deyimi içine alan bir C programının algoritmasını p r i n t f ( "%g", 1234.5678 9) ; 13. Aşağıdaki deyimin çıktısı nedir? Bu deyimi içine alan bir C programının algoritmasını p r i n t f ( "%u", &x ) ; 1
14. Aşağıdaki deyimin çıktısı nedir? Bu deyimi içine alan bir C programının algoritmasını p r i n t f ( "%o", 8 ) ; 15. Aşağıdaki deyimin çıktısı nedir? Bu deyimi içine alan bir C programının algoritmasını p r i n t f ( "%x", 12 ) ; 16. Bir işçinin brüt ücretinden gelir_vergisi ve SGK primlerini keip net_ücretini bulan bir C programının algoritmasını 17. Taban uzunluğunu ve yüksekliğini kullnıcının gireceği bir paralelkenarın alanının bulan bir C programının algoritmasını 18. Kullanıcının gireceği karne notu a. A ise Pekiyi b. B ise iyi c. C ise Orta d. Geçer e. Başarısız Yazan bir C programının algoritmasını Programınız yanlış not girdiğinde kullanıcıyı uyarsın. 19. Bir dersten alınan toplm puanları okuyup; puan >=90 ise A, puan >= 80 ise B, puan >=70 ise C, puan >=60 ise D, puan 60 ise F karne notu yazan bir C programının algoritmasını yazınız, akış çizeneğini çiziniz ve programını yazınız. 20. C Programlama dersini öğrenmekte zorlanıyorsanız, nedenini ve karşolaştığınız zorlukları giderecek çözüm önerilerini yazınız. 2
03_hafta Bil105 Laboratuvar Çözümler SORU1. 2.Hava raporunu dinle 3.Yağmurlu ise şemsiye al 4. İşe git 5.DUR SORU2. 2. OKU en 3. OKU boy 4. OKU yükseklik 5. HACIM = en X boy x yüksekli 6. HACM Yaz 7. DUR SORU3. Teknik olarak değişken, ana bellekte bir veri tipine ayrılan adresi gösteren işaretçidir. SORU4. % karakteriyle başlayan dönüştürücüler, belirli bir karakter kodlama sistemine göre, metin olan girdiyi makinanın anlayacağı biçeme, çıktıyı insanın anlayacağı biçeme (metin) dönüştürürler. Bu işi yaparken, istenirse dönüştürdüğü metni, farklı kültürlerin yazış biçemine sokabilir. SORU5. Belirteç Açıklama %c char Tek karakter %d (%i) int, signed integer %f float %s array karakter dizimi (string) %u int unsigned decimal %ld long double %e (%E) float, double üstel %g (%G) float, double %o unsigned octal %p pointer adresi %x (%X) unsigned hex SORU 6,7,8. Sistem Sayaklar (digits) binary 0,1 Octal 0,1,2,3,4,5,6 Decimal 0,1,2,3,4,5,6,7,8,9 Hexadecimel 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 3
SORU9. 10 SORU10. 1.234568E+003 SORU11. 1234.57 SORU12. x in belleketeki adresini yazar (2686652) SORU13. 8 decimal syısını octal olarak yazar (10) SORU14. 12 decimal syısını hex olarak yazar (c) SORU15. 2. OKU brüt_ücret 3. OKU gelir_vergisi_oranı 4. OKU sgk_prim oranı 5. gelir_vergisi = brüt_ücret * gelir_vergisi_oranı/100.0 6. sgk_primi = brüt_ücret * sgk_prim_oranı/100.0 7. Net_gelir = brüt_gelir gelir vergisi sgk_primi 8. YAZ net_gelir 9. DUR int main(void) { float brut_ucret; float gelir_vergisi_orani; float sgk_prim_orani; float gelir_vergisi; float sgk_primi; printf ("İşçinin brüt ücretini giriniz\n"); scanf("%f", &brut_ucret); printf ("Gelir vergisi ornını giriniz \n"); scanf("%f", &gelir_vergisi_orani); gelir_vergisi = brut_ucret * gelir_vergisi_orani / 100.0; printf ("SGK prim ornını giriniz \n"); scanf("%f", &sgk_prim_orani); sgk_primi = brut_ucret * sgk_prim_orani / 100.0; printf("işçinin aylık net ücreti %.2f dir\n", brut_ucret - gelir_vergisi - sgk_primi ); 4
/** Çıktı örneği: İşçinim brüt ücretini giriniz 20350.89 Gelir vergisi ornını giriniz 21.3 SGK prim ornını giriniz 18.2 İşçinin aylık net ücreti 12312.29 dir */ SORU16. 2. OKU taban-uzunlığu 3. OKU yükseklik 4. Alan = taban_uzunluğu * yükseklik 5. YAZ alan 6. DUR int main(void) { float taban_uzunlugu; float yukseklik; float gelir_vergisi; float sgk_primi; printf ("Paralelkenarın taban_uzunlugunu giriniz\n"); scanf("%f", &taban_uzunlugu); printf ("Paralelkenarın yuksekligini giriniz \n"); scanf("%f", &yukseklik); printf("paralelkenarin alani %.2f dir\n", taban_uzunlugu * yukseklik ); /** Paralelkenar²n taban_uzunlugunu giriniz 6.7 Paralelkenar²n yuksekligini giriniz 3.5 Paralelkenarin alani 23.45 dir */ 5
SORU17. 2. OKU karne_notu 3. else IF karne_notu == A YAZ pekiyi 4. else IF karne_notu == B YAZ iyi 5. else IF karne_notu == C YAZ orta 6. else IF karne_notu == D YAZ geçer 7. else geçersiz not girdiniz 8. DUR 17. #include <locale.h> main() { setlocale(lc_all, ""); char ch; printf("karne Notunuzu giriniz \n"); ch = getchar(); switch (toupper(ch)) { case 'A': printf("pekiyi"); case 'B': case 'C': printf("iyi"); printf("orta"); case 'D': printf("hmmmm..."); case 'F': printf("daha iyisini başarabilirsin!"); default: printf("başarı notunu yanlış girdiniz!"); 6
SORU 18. main() { int i; printf("not ortalamanızı giriniz : \n"); scanf("%d", &i); if (i > 90) printf("puanınız %d ise notunuz A else if (i > 75) printf("puanınız %d ise notunuz B else if (i > 60) printf("puanınız %d ise notunuz C else if (i > 50) printf("puanınız %d ise notunuz D else printf("puanınız %d ise notunuz F SORU 19. Main() metodunun son deyimi olarak yazılan Deyiminin işlevi nedir? 20. C Programlama dersini öğrenmekte zorlanıyorsanız, nedenini ve karşılaştığınız zorlukları giderecek çözüm önerilerinizi yazınız. 7