1 __ _ _____ _____ 2 / _| ___ _ __| |_ _ __ __ _ _ __ |___ |___ | 3 | |_ / _ \| '__| __| '__/ _` | '_ \ / / / / 4 | _| (_) | | | |_| | | (_| | | | | / / / / 5 |_| \___/|_| \__|_| \__,_|_| |_| /_/ /_/ EkOdev 6 ================================================== 7 Hazirlayan : Aras. Gor. Ozgur Cobanoglu 8 Danisman : Prof. Dr. M. Nizamettin Erduran 9 -------------------------------------------------- 10 Her turlu oneri ve duzeltme icin lutfen 11 asagidaki adresleri kullanin. 12 -------------------------------------------------- 13 Istanbul Universitesi, fen fakultesi, nukleer 14 fizik anabilim dali, oda NF205, Vezneciler, 15 +90-212-455-57-00 dahili:15410 ISTANBUL. 16 -------------------------------------------------- 17 ozcoban@istanbul.edu.tr 18 Ozgur.Cobanoglu@cern.ch 19 ================================================== 20 21 Zorunlu Olmayan Ek Odevler 22 -------------------------- 23 24 1 - bir dizinin elemanlarinin karelerinin toplaminin kare kokunu 25 hesaplayan programi asagidaki kosullar altinda toplam uc farkli bicimde 26 yazin : 27 a) hic alt program kullanmadan 28 b) dizi elemanlarinin ana programda 29 girildigi ve kareler toplaminin karekokunu hesaplayan FUNCTION tipi bir 30 altprogram kullanarak; alt program diziyi parametre olarak alacaktir 31 c) dizi elemanlarinin ana programda girildigi ve kareler toplaminin 32 karekokunu hesaplayan SUBROUTINE tipi bir altprogram kullanarak; alt 33 program diziyi parametre olarak alacaktir 34 35 2 - bir dizinin elemanlarinin tek tek ana programda girildigi ve 36 karekoku tamsayi olanlarin ekrana basildigi programi asagidaki sekilde 37 ikifarkli bicimde yazin : 38 a) hic alt program kullanmadan 39 b) SUBROUTINE altProgram(dizi, diziElemanSayisi) biciminde bir alt 40 program kullanarak 41 c) neden FUNCTION tipi bir alt program kullanmanin bu 42 islev icin uygun olmayabilecegini kisaca aciklayin. 43 44 3 - ana programda girilen bir diziyi 50'ye normalize eden ve ekrana basan bir 45 programi asagidaki bicimde iki farkli sakilde yazin : 46 a) hic alt program kullanmadan 47 b) SUBROUTINE altProgram(dizi, diziElemanSayisi, kacaNormEdilecek) 48 biciminde bir alt program kullanarak; burada kacaNormEdilecek isimli 49 parametre soruda verilen 50 sayisi olmalidir yani alt program biz kaca 50 normalize etmek istiyorsak diziyi o degere normalize etmelidir. 51 52 4 - aylik gelir miktarini tutan gelirMiktari(12) isimli bir dizi olusturarak kis 53 aylarindaki toplam kazancin yaz aylarindaki toplam kazanca oranini hesaplayan bir 54 program yaziniz. 55 56 5 - bir dizinin elemanlarindan cift olanlari secerek ekrana basan bir programi 57 asagidaki bicimlerde yazin. 58 a) hic altprogram kullanmadan 59 b) SUBROUTINE altProgram(dizi, diziElemanSayisi) isimli bir alt program 60 kullanarak 61 62 6 - parametre olarak aldigi degerin tek olup olmadigini hesaplayan ve tek olmasi 63 durumunda kendisini cagirana 0 ve tek olmamasi durumunda kendisini cagirana 1 64 donduren INTEGER FUNCTION tekMi(a) gibi bir fonksiyonu yaziniz; bu fonksiyonu 65 kullanan/deneyen bir ana program olusturunuz. 66 67 7 - bir matrisi verilen bir sayi ile carpan programi yaziniz; program hem matrisi 68 hem de matrisi carpacak sayiyi kullanicidan isteyecektir. 69 70 8 - bir kare matrisin izini hesaplayan programi yaziniz; iz, kosegen elemanlarinin 71 toplamidir. 72 73 9 - kendisine parametre olarak gelen bir kare matrisin izini hesaplayan bir programi 74 REAL FUNCTION iz(ikiBoyutluDizi) seklinde yaziniz; neden SUBROUTINE tipi bir alt 75 program kullanmanin bu durumda iyi bir secim olmayabilecegini kisaca aciklayiniz. 76 77 10 - bir dizinin en buyuk elemaninin dizinin kacinci elemani oldugunu hesaplayan 78 programi asagidaki sekillerde yaziniz : 79 a) hic alt program kullanmadan 80 b) INTEGER FUNCTION kacinciElemanda(birBoyutluDizi) seklinde bir fonksiyon 81 kullanarak; bu fonksiyon kendisine gelen bir boyutlu dizi uzerinde islem 82 yapacak ve en buyuk elemanin bulundugu indisi kendisini cagirana 83 dondurecektir (ana programi da yazin) 84 c) SUBROUTINE kacinciElemanda(birBoyutluDizi, geriGelenIndis) biciminde bir 85 alt program kullanarak; bu alt program kendisine gelen bir boyutlu dizi 86 uzerinde islem yapacak ve en buyuk elemanin bulundugu indisi geriGelenIndis 87 degiskenine atayarak ana programa gecirecektir (ana programi da yazin) 88 89 11 - bir dizinin elemanlarinin carpmaya gore tersini hesaplayan ve ekrana basan 90 programi asagidaki sekillerde yaziniz: 91 a) hic altprogram kullanmadan 92 b) ana programda COMMON/hafizaBolgesi/dizi(10),diziElemanSayisi gibi bir 93 tanimlama yaparak kullanilan altprogramlara parametre olarak hicbir dizinin 94 ya da degerin aktarilmadigi, alt programlarin 'hafizaBolgesi' ne bakarak 95 kullanilan dizi ve normal degiskenleri aldigi bir yapida SUBROUTINE 96 kullanarak yaziniz 97 98 12 - carpim tablosunda carpimlari 40'tan buyuk olan satirlari ekrana basan bir 99 program yaziniz. 100 101 13 - 1'den 1000'e kadar olan sayilari degerlendiren ve bunlardan karekoku tamsayi 102 olanlari ekrana basan bir program yaziniz. 103 104 14 - 1'den 1000'e kadar olan sayilari degerlendiren ve bunlardan kupkoku tamsayi 105 olanlari ekrana basan bir program yaziniz. 106 107 15 - verilen bir diziyi ekrana asagidaki gibi indis ve eleman olarak yazan bir 108 program yaziniz : 109 110 indis DiziElemani 111 1 34 112 2 67 113 3 45 114 ... ...