Kısa Sınav ( 8 Ksım 2013) Prblem 1: Klvyeden girilen R1 ve R2 değerlerine göre, a cisminin alanı alan1 = (3.14*R1*R1) / (2+ 2*R1) + R1 / 2; b cisminin alanı alan2 = (3.14*R2*R2*R2) / (3+ 3*R2) - R2 / 3; dir. Buna göre hangi cismin alanının daha büyük olduğunu veren ve büyük cisim ile küçük cismin alan değerlerini ekran ayazan bir C programı geliştirip işletiniz. (40 + 10 puan) Problemin float değerlerle çözümü: int main() { float R1; float R2; float alan1; float alan2; printf("r1 sayısını giriniz \n"); scanf("%f", &R1); printf("r2 sayısını giriniz \n"); scanf("%f", &R2); alan1 = (3.14*R1*R1) / (2+ 2*R1) + R1 / 2; alan2 = (3.14*R2*R2*R2) / (3+ 3*R2) - R2 / 3; //maxalan = (alan1 > alan2)?alan1 : alan2 ; if (alan2 > alan1) printf("b cisminin alanı daha büyüktür. \n"); printf("a cisminin alanı daha büyüktür. \n"); printf("b cisminin alanı %.2f ve a cisminin alanı %.2f dir.", alan2, alan1); R1 sayısını giriniz 4 R2 sayısınısını b cisminin alan² daha büyüktürr. b cisminin alan² 20.14 ve a cisminin alanı 7.02 dir. Problemin int değerlerle çözümü:
int main() { int R1; int R2; float alan1; float alan2; printf("r1 sayısını giriniz \n"); scanf("%d", &R1); printf("r2 sayısını giriniz \n"); scanf("%d", &R2); alan1 = (3.14*R1*R1) / (2 + 2*R1) + R1 / 2; alan2 = (3.14*R2*R2*R2) / (3 + 3*R2) - R2 / 3; //maxalan = (alan1 > alan2)?alan1 : alan2 ; if (alan2 > alan1) printf("b cisminin alanı daha büyüktür. \n"); printf("a cisminin alanı daha büyüktür. \n"); printf("b cisminin alanı %.2f ve a cisminin alanı %.2f dir.", alan2, alan1); R1 sayısını giriniz 4 R2 sayısını giriniz 5 b cisminin alan² daha büyükr. b cisminin alan² 20.81 ve a cisminin alan² 7.02 dir.
Problem 2: Klavyeden girilen araba hız değerlerine göre, eğer hız değeri 100 de büyükse çok hızlı, 100 ile 70 arasında ise Hızlı, diğer durumlarda ise Yavaş olduğunu belirten bir C programı geliştirip 3 kez işletiniz. (40 + 10 puan) int main() { int hiz; printf("hız değerini giriniz. "); scanf("%d", &hiz); if (hiz >= 100) printf("cok hizli"); if (hiz > 70) printf("hizli "); printf("yavas "); return 0; 103 ==> Çok Hızlı 97 ==> Hızlı 65 ==> Yavaş
Kısa Sınav ( 12 Mart 2014) Problem 1: Adınızı ekrana aynı printf() ile altalta iki kez yazıp, iki boş satır veren ve taban uzunlukları 4.5, 3.5 ve 4.0 ve yükseklikleri (tam sayı: 10, 15, 7 cm olan üç dik üçgen verildiğine göre ; hangi üçgenin hipotenüzünün karesinin yarısının en büyük olduğunu bulan bir C programı geliştirip işletiniz. Çözüm 1: #include <math.h> #include <locale.h> int main() { setlocale(lc_all,""); float a1=4.5, a2=3.5, a3=4.0; // üçgenlerin taban uzunlukları int h1=10, h2=15, h3=7; // üçgenlerin yükseklikleri float hip1, hip2, hip3, maxhip; // hipotenüsler ve en büyük hipotenüs float karehip1, karehip2, karehip3; // hipotenüslerin kareleri printf("üçgenlerin taban uzunluklarını ve yüksekliklerini, sırayla giriniz \n"); scanf("%f%f%f%d%d%d", &a1, &a2, &a3, &h1, &h2, &h3); hip1 = sqrt(a1*a1 + h1*h1); hip2 = sqrt(a2*a2 + h2*h2); hip3 = sqrt(a3*a3 + h3*h3); if ((hip1 > hip2 )&& (hip1 > hip3)) { maxhip = hip1; printf("h1 üçgeninin hipotesü en büyüktür \n"); if ((hip2 > hip1 )&& (hip2 > hip3)) { maxhip = hip2; printf("h2 üçgeninin hipotesü en büyüktür \n");
{ maxhip = hip3; printf("h3 üçgeninin hipotesü en büyüktür \n"); printf("en büyük hipotenüs %.2f \n", maxhip); karehip1 = (a1*a1 + h1*h1); karehip2 = (a2*a2 + h2*h2); karehip3 = (a3*a3 + h3*h3); if ((karehip1/2 > karehip2/2) && (karehip1/2 > karehip3/2 )) printf("birinci üçgenin daha büyüktür \n"); if ((karehip2/2 > karehip1/2) && (karehip2/2 > karehip3/2 )) printf("ikinci üçgenin daha büyüktür \n"); printf("üçüncü üçgen daha büyüktür \n"); printf("h1 üçgeninin hipotenüsünün karesinin yarısı %.2f dir.\n", karehip1/2); printf("h2 üçgeninin hipotenüsünün karesinin yarısı %.2f dir.\n", karehip2/2); printf("h3 üçgeninin hipotenüsünün karesinin yarısı %.2f dir.\n", karehip3/2); return 0; Üçgenlerin taban uzunlukalarını ve yüksekliklerini, srayla giriniz 4.5 3.5 4.0 10 15 7 h2 üçgeninin hipotesü en büyüktür En büyük hipotenüs 15,40 İkinci üçgenin daha büyüktür h1 üçgeninin hipotenüsünün karesinin yarısı 58,00 dir. h2 üçgeninin hipotenüsünün karesinin yarısı 118,63 dir. h3 üçgeninin hipotenüsünün karesinin yarısı 32,50 dir.
Çözüm 2: UYARI. Önceki probleminde amaç en büyük hipotenüsü bulmak olsaydı, programı aşağıdaki gibi yazabilirdik. Ama problem, işlem yapma becerimizi test ettiği için, hipotenüslerin karelerinin yarılarını mukayese ettiriyor. Aşağıdaki çözüm hipotenüslerin en büyüğünü buluyor. #include <math.h> #include <locale.h> int main() { setlocale(lc_all,""); float a1=4.5, a2=3.5, a3=4.0; int h1=10, h2=15, h3=7; float hip1, hip2, hip3, maxhip; printf("üçgenlerin taban uzunlukalarını ve yüksekliklerini, sırayla giriniz \n"); scanf("%f%f%f%d%d%d", &a1, &a2, &a3, &h1, &h2, &h3); hip1 = sqrt(a1*a1 + h1*h1); hip2 = sqrt(a2*a2 + h2*h2); hip3 = sqrt(a3*a3 + h3*h3); if ((hip1 > hip2 )&& (hip1 > hip3)) { maxhip = hip1; printf("h1 üçgeninin hipotenüsü en büyüktür \n"); if ((hip2 > hip1 )&& (hip2 > hip3)) { maxhip = hip2; printf("h2 üçgeninin hipotenüsü en büyüktür \n"); { maxhip = hip3; printf("h3 üçgeninin hipotenüsü en büyüktür \n"); printf("en büyük hipotenüs %.2f \n", maxhip); printf("h1 üçgeninin hipotenüsünün karesinin yarısı %.2f dir.\n", hip1* hip1/2); printf("h1 üçgeninin hipotenüsünün karesinin yarısı %.2f dir.\n", hip2* hip2/2); printf("h3 üçgeninin hipotenüsünün karesinin yarısı %.2f dir.\n", hip3*hip3/2); return 0;
Üçgenlerin taban uzunlukalarını ve yüksekliklerini, sırayla giriniz 4.5 3.5 4.0 10 15 7 h2 üçgeninin hipotesü en büyüktür En büyük hipotenüs 15,40 İkinci üçgenin daha büyüktür h1 üçgeninin hipotenüsünün karesinin yarısı 58,00 dir. h2 üçgeninin hipotenüsünün karesinin yarısı 118,62 dir. h3 üçgeninin hipotenüsünün karesinin yarısı 32,50 dir.
Problem2 : Adınızı yazıp ki satır boş geçiniz. Sonra, bir uçak yolcusunun ödeyeceği fazla bagaj ücretini aşağıdaki kurala göre hesaplayan bir C programı yazınız. Bagaj ağırlığı 50kg ya da daha fazla ise, ücret, ağırlığın yarısından 3 fazlasının %23ü olur. Değilse, ağırlığı üçte birinin 2 fazlasının %15 i olur. Önce çözüm algoritnasını ve AKIŞ çizeneğini çiziniz. Sonra çözümü veren C programını geliştşiriniz. Ücret TL cinsindendir.kesirli sayıları iki ondalıklı yazınız. #include <math.h> #include <locale.h> int main() { setlocale(lc_all,""); printf("timur akaraçay \n\n\n"); int bagaj; float ucret; printf("bagaj ağırlığını giriniz "); scanf("%d", &bagaj); if (bagaj >=50) ucret = (bagaj/2 +3)*0.23; ucret = (bagaj/3 +2)*0.15; printf("ödenecek bagaj ücreti %.2f TL dir.\n", ucret); return 0; Bagaj ağırlığını giriniz : 58 Ödenecek bagaj ücreti : 7.36 TL dir. Bagaj ağırlığını giriniz : 49 Ödenecek bagaj ücreti : 2.70 TL dir.