27 Kasım 2015 Cuma

Vize Öncesi Algoritma Hazırlık Soruları

1-      1 ile 10.000 arasındaki mükemmel sayıları bulan programı yazınız (6 mükemmel sayıdır 6=1+2+3, 28 mükemmel sayıdır 28=1+2+4+7+14)
2-      1 ile 1000 arasındaki asal sayıları ekrana yazdıran programı yazınız.
3-      100-999 arasındaki Armstrong sayıları ekrana yazdıran programı yazınız (153 armstrong sayıdır ve 153=13+53+33)
4-      int a=5,b,c;     b=a--;    c=++a;   a^=++c; işleminin sonucunu kağıt üzerinde hesaplayınız ve programını yazarak bulduğunuz sonucu doğrulayınız.
5-      6. Ödevin 3. Sorusunu çözünüz.
6-      M.Ö. 2589-2566 yılları arasında yapıldığı tahmin edilen ve dünyanın 7 harikasından biri olan Keops Piramdi’nin en az 2.3 milyon taş bloktan oluştuğu tahmin edilmektedir.Piramidin tabanında kare biçiminde yerleştirilmiş N*N adet, ikinci katında (N-1)*(N-1), üçüncü katında (N-2)*(N-2), ... , N. katında (son kat) 1 taş blok olduğu kabul edilirse, piramitin kaç taş bloktan oluştuğunu ve kaç katlı olduğunu bulan programı yazınız (2.3 milyondan büyük olacak şekilde en az kaç kat olmalıdır).
7-      10 elemanlı dizinin elemanları [-5,10] arasında değer atanacaktır. Oluşturulan matrisin elemanlarını kaydırınız.
8-      Yukarıda oluşturulan diziyi tersten yazdırınız.
9-    int sonuc=0,sayac=0;
for(int i=1;i<=5;i++)
for(int j=1;j<=i;j++)
for(int k=1;k<=j;k++)
{sayac++; sonuc+=sayac;}
Yukarıdaki sayaç ve sonuç değerlerini elle hesaplayınız ardından programı yazarak sonuçları doğrulayınız.
10-  Klavyeden girilen sayıların pozitif asal tam bölenlerini bulan programı yazınız (175=5,5,7).
11- 25 elemanlı fibonacci dizisini oluşturunuz ve bu dizinin ortalamasını bulan C kodunu yazınız.
12- Oluşturulan bu dizinin tüm elemanlarına mod 2 işlemi uygulayıp elde edilen binary sayıları 5 x 5 boyutundaki matrise yazınız.



22 Kasım 2015 Pazar

Algoritma Ödev-6

Aşağıdaki programları C dilinde yazınız.
1- 4 x 4' lük matrisi (matrisin elemanları 10-30 arasında rastgele atanacaktır) saat yönünde 90 derece çeviren programı yazınız.
2- Aşağıda verilen matris hexadecimal (16 tabanında) kodlanmıştır. Bu matrisi onluk tabana göre kodlayan programı yazınız.

3- 4x4' lük dizinin elemanların [0,20] aralığında rastgele atanacaktır. Aşağıdaki karıştırma kutucuğunu kullanarak yeni karıştırılmış matrisi oluşturan programı yazınız.

4- 8x8 boyutunda A matrisini (elemanları 0-255 arasında rastgele atanacaktır.) yukarıdaki 4x4'lük karıştırma kutucuğunu kullanarak karıştıran programı yazınız.
5- 4. soruda karıştırılmış matrisi, kullanıcı tarafından girilen 8x8' lik anahtarla XOR'layan programı yazınız.
6- 5. soru sonunda elde edilen matrisle A matrisiyle farkını F matrisi adında bir matrise yazdıran ve F matrisinin çıktısını ekrana formatlı olarak yazdıran programı yazınız.

Son gönderim tarihi 25 Kasım Çarşamba saat 13.00' dır.

13 Kasım 2015 Cuma

Algoritma Ödev -5

Aşağıdaki soruların akış diyagramını çiziniz ve programını C dilinde yazınız.
1- Dışarıdan girilen pozitif tam sayının asal bölenleri bulan programı yazınız. (Örn: Dışarıdan girilen sayı 175 ise ekrana 5 5 7 yazdırılacaktır)
2- Dışarıdan girilen elemanı diziden silen programı yazınız. (Örn. dizi={1 2 3 4 5} ve silinmesi istenen eleman 4 ise dizi2={1 2 3 5} olacaktır.)
3- Dışarıdan girilen sayının ikili tabana çevirip ekrana yazdıran programı yazınız. (Örn. 5 -> 101)
4- 50 elemanlı bir diziye [-5,4] aralığında rastgele sayılar rand fonksiyonu kullanılarak atanacaktır. Bu dizide en fazla tekrar eden ve en az tekrar eden elemanları ekrana yazdıran programı yazınız.
5- Teknoloji  fakültesi, sınavlarda kopya çekilme ihtimalini azaltmak için adli bilişim mühendisliğinden otomatik oturma düzeni programı yapmasını istemiştir. Bu uygulamanın demosunu gerçekleştirebilmek için 30 öğrenciyi 30 kişilik sınıfa yerleştirmek gerekmektedir. Bu işlemi yapan programı yazınız. (rand fonksiyonundan faydalanabilirsiniz, aynı sıraya iki öğrenci oturamaz ve bir öğrenci aynı anda iki sırada birden oturamaz, öğrencileri ve sıraları ardışık olarak isimlendiriniz ancak ardışık olarak sıralamayınız.)
6- Elazığ' da eczaneler 3 (A,B ve C bölgesi) ayrı bölgede toplanmıştır ve her bir bölgede 10 eczane olduğu varsayılmaktadır. Hergün A,B ve C bölgesinden bir eczane nöbetçi olmak üzere günde 3 eczane nöbetçi olmaktadır. Ancak eczaneler arasında adaletin sağlanması için ilk nöbet tutan 3'lü mümkün olan en uzun sürede bir daha nöbet tutmalıdır yani A1 eczanesi ilk turda A1 B1 ve C1 ile nöbet tutarsa, ikinci kez A1 ' e sıra geldiğinde A1' in B1 ve C1 ile birlikte nöbet tutmaması istenmektedir. Bu problemi çözmek için kendi algoritmanızı geliştiriniz ve C' de yazınız.
7- Dışarıdan girilen bir kelimenin küçük harflerini büyüğe büyük harflerini küçüğe çeviren programı hazır fonksiyon kullanmadan yazınız. (Kelimenin harf uzunluğu sabit tutabilirsiniz)

Son gönderim tarihi 18 Kasım Çarşamba Saat 08.00' dır.

8 Kasım 2015 Pazar

Algoritma - 4. Ödevler

Aşağıdaki soruların algoritmasını, akış diyagramını ve C dilinde çözümlerini yazıp WORD dosyası olarak yollayınız.
ÖDEVLERİN SON GÖNDERİM TARİHİ 11 KASIM 2015 SAAT 08:00 OLARAK BELİRLENMİŞTİR.
1- Klavyeden girilen taban ve üste göre, üstlü sayının sonucunu hesaplayıp ekrana yazdıran programı POW fonksiyonu kullanmadan yazınız. (Örneğin taban=2 ve üst=5 olarak girilirse ekrana Sonuc=32 yazdırılacaktır. Taban ve üst değerini int olarak tanımlayınız ve sadece tam sayılar uzayında problemi çözünüz)
2- Klavyeden girilen sayının mutlak değerini ekran yazdıran program. ABS fonksiyonu kullanılmayacaktır.
3- T=1-(1/2)+(1/4)-(1/6)+(1/8).... (1/2n)
Dışardan girilen n tamsayısına göre T dizisinin sonucunu hesaplayıp ekrana yazdıran programı yazınız.
4- Aşağıdaki kodu while döngüsüyle gerçekleştiriniz.
for(int i=0, j=25; i<=25 && j>=0; i++, j--)
{
printf("%d ve %d\n",i,j);
}
5- Klavyeden girilen sayıyı sadeleşmeyecek şekilde rasyonel sayıya çeviren C programını yazınız.
(Örneğin 4.55 girilirse ekrana 91/20 yazdırılacaktır. Virgülden sonra iki basamak giriniz.)
6- p ve q gibi iki adet asal sayının klavyeden girilmesini isteyiniz. Eğer girilen p veya q sayıları asal değilse yeniden giriş istetiniz. Girilen sayılar asal ise n=pq ve t=(p-1)(q-1) sayılarını ekrana yazdırınız.
7- 1 ile t arasında t'den küçük en büyük asal sayıyı bulup ekrana yazdırınız ve bu sayıyı e olarak adlandırınız.
8- d*e (mod n)=1 denkliğini sağlayan d değerini bulan programı yazınız.