İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 1 hafta Ödev No : 6 *********(ilk 4 soru çıktı üzerinde el yazısı ile doldurulmuş olarak laboratuvar görevlilerine elden teslim edilecektir. Çıktıların KESİNLİKLE bilgisayar ortamında çalıştırılarak değil, el ile çözülmüş olması mecburidir.) 1- Aşağıdaki C++ kodlarının ekran çıktısı ne olur. Alttaki boşluklara yazınız. main() { int a,b,c,d; int main { double a,b; int c,d; a=5;b=3;c=4; d=a++; b+=c+1; cout<<d<<b<<c; a=d/a+b; cout<<a; b=3*a-d; cout<<endl; cout<<a<<b<<c<<d; a=5;b=3;c=a/b; d=(++a)/8; b+=c/(d*1.0); cout<<d<<b<<c; a=d/(a+b); cout<<a; b=3*a-d; cout<<endl; cout<<a<<b<<c<<d; 2. Aşağıdaki C++ kodları derlendiğinde ekran çıktısı ne olacaktır. Eğer kodlar içerisinde hata varsa sebebini yazınız. Hata düzeltimi ile birlikte ekran çıktılarını alttaki boşluğa yazınız. int c=20; int k=30; int r; cout<<c<<k<<r; int k=20; int f=++k; int r=k++; cout<<f<<k<<r; int a=35,const t=123; cout<<t++<<endl; cout<<t<<endl; int r=33; short k= 123456789; cout<<k<<r; bool s=123; cout<<s; char a = 'm'; int r=18; cout<<r--<<++a<<endl; cout<<2/3<<2.0/3<<endl; cout<<a+r<<endl; int const t=123; const int r=188; cout<<t+5<<endl; cout<<r+88<<endl;
char t='k' ; { char t='r' ; cout<<t<<endl; cout<<t<<endl; const int t=123; cout<<t<<endl; cout<<t++<<endl; char t='k', z=65; cout<<t<<z<<endl; t++; z='a' cout<<t<<z<<endl; 3. Aşağıdaki C++ kodları derlendiğinde ekran çıktısı ne olacaktır. Eğer kodlar içerisinde hata varsa sebebini yazınız. Hata sebebini alttaki boşluğa yazarak, hata düzeltildikten sonra oluşacak ekran çıktılarını alttaki boşluğa yazınız. int x = 3>2; if (x - 1) if (-8) int a = 3>2? 12 : 4; if (0? 1 : 0) cout<<a<<endl; cout << a*a <<endl; if (!1) if (0) if (80 <= 100-13 * 2) if(!(80*2-4*5+9-12/9)) if (8) if (true) if (120<30 * 8 && 0) if (1 0) int a=(120>30*2-10) (32.0); if (a) cout<<(3<2)?"merhaba":"nasilsin"; int a = 0? 120 : -1; if (1 + a)
if (!0) if (3!= 2){ cout<<"\n"; int a = 0; if (++a){ 4. Aşağıdaki C++ kodları derlendiğinde ekran çıktısı ne olacaktır. Eğer kodlar içerisinde hata varsa sebebini yazınız. Hata sebebini alttaki boşluğa yazarak, hata düzeltildikten sonra oluşacak ekran çıktılarını alttaki boşluğa yazınız. int a = 1; case 1: cout<<"1"<<'\n'; cout << "2" << '\n'; case 3: cout << "3" << '\n'; cout << "4" << '\n'; int a = 1; case 1: case 3: case 4: cout<<"merhaba\n"; case 5: cout<<"nasilsin"; int a = 25; a = 10; case 5: a = 20; a = 30; cout<<a<<"\n"; int a = 6; switch (a) a = 100; case 6: a = 42; a = 67; cout<<a<<"\n"; switch (2.0){ a = 10; a = 30; int a=7; int a; a= 10; case 7: a = 9;
*****(Aşağıdaki 5-6-7-8-9. Sorular kodlama sorularıdır. Öğrenciler, C++ ile kodlanması istenen soruların kodlarını proje dosyası halinde çalışır halleri, lab saatinde, flash bellek veya kendi bilgisayarlarında kayıtlı olarak laboratuvar sorumlularına teslim edecek şekilde hazırlıklı gelmelidirler. Kodlar laboratuvar görevlilerinin talimatı ile, belirlenen e- posta adresine de gönderilebilir.) 5- Ödev 4 de bir sayının asal olup olmadığını gösteren algoritmanın sahte kod ile gösterimi istenmişti. Bu uygulamada ise dışarıdan alınan herhangi bir tamsayı değerinin asal olup olmadığını çıktı veren bir C++ programı yazılacaktır. Bir sayı giriniz: 50 50 bir asal sayı değildir. Bir sayı giriniz: 13 13 bir asal sayıdır. 6- girilen iki sayı değeri arasında kalan (sayı değerleri de dahil) tamsayı değerlerinin asal olup olmadığını çıktı veren bir C++ programı yazılacaktır. ÇIKTI: Alt değeri giriniz: 2 Üst değeri giriniz: 5 2 asal 3 asal 4 asal değil 5 asal 7- Ödev 4 de bir sayının mükemmel sayı* olup olmadığını gösteren algoritmanın sahte kod ile gösterimi istenmişti. Bu uygulamada ise dışarıdan alınan herhangi bir tamsayı değerinin mükemmel sayı olup olmadığını çıktı veren bir C++ programı yazılacaktır. * Mükemmel Sayı; kendisini tam bölen sayıların toplamı, kendine eşit olan sayıdır. Örnek: 28 dir. 1+2+4+7+14=28 ÇIKTI: Sayı giriniz: 28 28 mükemmel sayıdır.
8- Yazılması istenen program; klavyeden başlangıçta 1 kereliğine hocadan vize ve final notlarının oranlarını ve devamsızlık sınır gününü isteyecektir. Daha sonra sırayla her öğrenciye (1. Öğrenci. 2. Öğrenci ) ait vize, final notları ve öğrencinin devamsızlık günleri girilmesini isteyecektir. Her girdi tamamlandığında o öğrencinin harf notu ekrana basılıp geçip kaldığı bildirilecektir. Bu işlem her hangi bir öğrencinin vize notu için -1 girilmesine kadar devam edecek, vize notu -1 girildiğinde program sonlanacaktır. Aşağıda verilen kurallar göz önüne alınarak öğrencinin başarı ortalaması, aşağıda belirtilen harf notuna çevrilecek ve dersten geçip kaldığı çıktısı bildirilecektir. Bu kurallar dahilinde programın sahte kodlarını ve C++ kodları istenmektedir. KURALLAR: 1- vize notunun başarı notuna oranı %20 nin altında ve %35 in üstünde olamaz 2- final notunun başarı notundaki oranı ile vize notunun başarı notuna oranları toplamda %100 olmalıdır. 3- devamsızlık gün sayısı 15 günden az 30 günden fazla olamaz. Devamsızlığı aşan öğrenciler FF ile kalır. 4- bir öğrencinin final notu 50 den az olursa başarı notu FF dir. Final notu 50 nin üstündeki notlarda başarı notu hesaplanır. BAŞARI NOTU ARALIĞI HARF NOTU KARŞILIĞI 0-44 FF 45-54 DD 55-69 CC 70-84 BB 84-100 AA EKRAN ÇIKTISI: Vize not ortalamasını giriniz: Final not ortalamasını giriniz: Devamsızlık sınır gün sayısını giriniz: 1. öğrencinin vize notunu giriniz: 1. öğrencinin final notunu giriniz: 1. öğrencinin devamsızlık gün sayısını giriniz: Öğrencinin başarı harf notu FF öğrenci KALDI 2. öğrencinin vize notunu giriniz:. 9- Fibonacci dizisi, her sayının kendinden öncekiyle toplanması sonucu oluşan bir sayı dizisidir. Bu şekilde devam eden bu dizide sayılar birbirleriyle oranlandığında altın oran ortaya çıkar, İlk iki terimi 0 ve 1 olan bir Fibonacci dizisini ilk iki terimden sonraki kaç tane Fibonacci dizisi isteniyorsa okadar sayıyı ekrana basan bir programı sahte kodları ve C++ kodları ile kodlayıp Visual Studio ortamında çalıştırınız. İlk değeri 0, 2. değeri 1 olan bir sayı dizisinden başlayarak bir fibonacci dizisi: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 0+1 1+1 1+2 2+3 3+5 5+8 8+13 13+21 21+34 34+55 55+89 89+144 144+233 233+377