TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları 1. Klavyeden girilen üç sayıyı toplayan ve ortalamasını alıp sonuçları ekrana yazdıran sözde kodunu yazınız. PROGRAM Soru1 READ A, B, C; TOP = A + B+ C; ORT = TOP / 3; PRINT TOP, ORT; 2. Bir üçgene ait yükseklik ve taban uzunluğu değerlerini klavyeden girerek, alanını hesaplayan ve sonucu ekranda gösteren sözde kodunu yazınız. PROGRAM Soru2 READ Y, TU; ALAN = (Y * TU) / 2; PRINT ALAN; 3. Klavyeden girilen suyun sıcaklık derecesine göre katı, sıvı veya gaz halinde olduğunu bulan ve sonucu ekranda gösteren sözde kodunu yazınız. PROGRAM Soru3 READ S; IF (S <= 0) THEN PRINT KATI ; IF (S >= 100) THEN PRINT GAZ ; PRINT SIVI ; IF IF
4. Klavyeden girilen bir tamsayının pozitif, negatif veya sıfır olduğunu bulan sözde kodunu yazınız. PROGRAM Soru4 READ S; IF (S > 0) THEN PRINT POZİTİF ; IF (S < 0) THEN PRINT NEGATİF ; PRINT SIFIR ; IF IF 5. Klavyeden girilen pozitif bir tamsayının tek ya da çift olduğunu bulan sözde kodunu yazınız. PROGRAM Soru5 READ S; IF (S > 0) THEN IF (S mod 2 = 0) THEN PRINT ÇİFT ; PRINT TEK ; IF PRINT Lütfen pozitif bir sayı giriniz! ; IF
6. Bir fabrikada sabit maaşla çalışan işçiler aile durumlarına göre ek maaş almaktadırlar. Çocuk sayısı 1 ise maaşının %5 i kadar, çocuk sayısı 2 ise %10 u kadar, 3 ve daha fazla ise %15 i kadar aile yardımı almaktadır. Buna göre kullanıcıdan işçinin maaşı ve çocuk sayısı istenerek gerekli hesaplamayı yapan sözde kodunu yazınız. PROGRAM Soru6 READ Maas, CS; SET EkMaas = 0; IF (CS = 1) THEN EkMaas = Maas * 0,05; IF (CS = 2) THEN EkMaas = Maas * 0,1; IF (CS >= 3) THEN EkMaas = Maas * 0,15; IF IF IF PRINT EkMaas; 7. Bir ürüne ait alış fiyatı, vergi oranı ve kar oranı parametreleri klavyeden girilerek satış fiyatını hesaplayan sözde kodunu yazınız. PROGRAM Soru7 READ AF, VO, KO; SF = AF + (AF * (KO / 100)); SF = SF + (SF * (VO / 100)); PRINT SF;
8. Klavyeden girilen iki sayı için, dört işlem (1:Topla, 2:Çıkar, 3:Çarp, 4:Böl) yapabilen bir akış diyagramını çizilmesi istenmektedir. Kullanıcı 1 ve 4 arasında bir işlem numarası girerek bu işlemleri gerçekleştirir. Bunlardan farklı bir rakam girildiğinde program sonlanır. PROGRAM Soru8 READ Sayi1, Sayi2, IslemTipi; SET Sonuc = 0; IF (IslemTipi = 1) THEN Sonuc = Sayi1 + Sayi2; IF (IslemTipi = 2) THEN Sonuc = Sayi1 - Sayi2; IF (IslemTipi = 3) THEN Sonuc = Sayi1 * Sayi2; IF (IslemTipi = 4) THEN Sonuc = Sayi1 / Sayi2; IF IF IF IF PRINT Sonuc; CASE-OF Yapısı ile Çözüm PROGRAM Soru8 READ Sayi1, Sayi2, IslemTipi; SET Sonuc = 0; CASE IslemTipi OF 1: Sonuc = Sayi1 + Sayi2; 2: Sonuc = Sayi1 - Sayi2; 3: Sonuc = Sayi1 * Sayi2; 4: Sonuc = Sayi1 / Sayi2; CASE PRINT Sonuc;
9. BiletKart uygulaması için bir metroda uygulanan ücret tarifesi aşağıdaki gibidir. Buna göre, uygulanan ücret politikasının algoritmasını oluşturunuz. Normal tarife: 3 TL Öğrenci ve 30 (dahil) yaşından küçük olanlar: 2.5 TL Öğrenci ve 30 yaşından büyük olanlar: 2.75 TL 60 (dahil) yaşından büyük olanlar: Ücretsiz NOT: Bir kişi her iki koşulu birden taşıması durumunda, daha düşük olan ücret tarifesi uygulanır. PROGRAM Soru9 READ Yas, Ogrenci; SET Ucret = 0,00; IF (Yas >= 60) THEN Ucret = 0,00; IF (Ogrenci = True) THEN IF (Yas <= 30) THEN Ucret = 2,50; Ucret = 2,75; IF Ucret = 3,00; IF IF Bu türden mantıksal karşılaştırmalarda doğru ise True, yanlış ise False kullanılır! PRINT Ucret; 10. Klavyeden girilen pozitif bir tamsayının tam bölenlerini bulup ekranda gösteren sözde kodu yazınız. (Örn. 6 sayısı için; 1, 2, 3 ve 6 dır.) PROGRAM Soru10 READ Sayi; FOR X: 1 TO Sayi STEP 1 IF (Sayi mod X = 0) THEN PRINT X; IF FOR
11. Tau sayıları: Tam bölenlerinin sayısına kalansız bölünebilen sayılara Tau sayısı denir. Buna göre Klavyeden girilen pozitif bir tamsayının Tau sayısı olup olmadığını bulan sözde kodu yazınız. PROGRAM Soru11 READ Sayi; SET Sayac = 0; IF (Sayi > 0) THEN FOR X: 1 TO Sayi STEP 1 IF (Sayi mod X = 0) THEN Sayac = Sayac + 1; IF FOR IF (Sayi mod Sayac = 0) THEN PRINT Girilen sayı bir Tau sayıdır. ; PRINT Girilen sayı bir Tau sayısı değildir! ; IF PRINT Lütfen pozitif bir tamsayı giriniz! ; IF 12. 1 ile 100 arasındaki Tau sayılarını bulan ve ekranda listeleyen sözde kodu yazınız. PROGRAM Soru12 SET Sayac = 0; FOR M: 1 TO 100 STEP 1 Sayac = 0; FOR N: 1 TO M STEP 1 IF (M mod N = 0) THEN Sayac = Sayac + 1; IF FOR IF (M mod Sayac = 0) THEN PRINT M; IF FOR