[]
Octave (veya Matlab) sorusu.
Şöyle bir örnek var:
Bir öğrenci yüksek lisans harcını kredi kartı ile ödeyecek. Yüksek lisans ödemesi kredi kartından çekilecek ve öğrenci her ay, aylık borcun minimum tutarını (borcun %20'sini) ödeyecek. Kalan borç 10 TL olduğunda borcun %20'si değil, kalan borcun tamamı (10 TL) ödenecek. Bir yılın ödemesini yapmak için kaç ay gerekeceğini ve öğrencinin ücreti karşılamak için ne kadar ödeme yapması gerektiğini hesaplamak için fonksiyon yazmak gerekiyor. Kredi kartı aylık faizi %2.5, borcun ödenmesi gereken minimum tutarı %20. Yıllık harç ücreti de 12.000TL. Bu durumda kaç ayda ve hangi limitli kart ile ödemenin yapılacağını gösterir fonksiyon gerekiyor.
function limit
F=input('Harc tutarini giriniz')
t=input('vadeyi giriniz')
r=input('faizi giriniz')
y=(F-(F*0.2))*((1+r)^t)
end
fprintf('Limit gereksinimi: %d\n',y)
fprintf('Harcama Maliyeti: %d\n',y-F)
Bu şekilde yazdım ama, burada F-(F*0.2) alanında eksik var. Çünkü toplam borcun değil, kalan borcun %20'si ödenecek. Sanırım for döngüsü olacak.
Yardımcı olabilecek var mı?
Bir öğrenci yüksek lisans harcını kredi kartı ile ödeyecek. Yüksek lisans ödemesi kredi kartından çekilecek ve öğrenci her ay, aylık borcun minimum tutarını (borcun %20'sini) ödeyecek. Kalan borç 10 TL olduğunda borcun %20'si değil, kalan borcun tamamı (10 TL) ödenecek. Bir yılın ödemesini yapmak için kaç ay gerekeceğini ve öğrencinin ücreti karşılamak için ne kadar ödeme yapması gerektiğini hesaplamak için fonksiyon yazmak gerekiyor. Kredi kartı aylık faizi %2.5, borcun ödenmesi gereken minimum tutarı %20. Yıllık harç ücreti de 12.000TL. Bu durumda kaç ayda ve hangi limitli kart ile ödemenin yapılacağını gösterir fonksiyon gerekiyor.
function limit
F=input('Harc tutarini giriniz')
t=input('vadeyi giriniz')
r=input('faizi giriniz')
y=(F-(F*0.2))*((1+r)^t)
end
fprintf('Limit gereksinimi: %d\n',y)
fprintf('Harcama Maliyeti: %d\n',y-F)
Bu şekilde yazdım ama, burada F-(F*0.2) alanında eksik var. Çünkü toplam borcun değil, kalan borcun %20'si ödenecek. Sanırım for döngüsü olacak.
Yardımcı olabilecek var mı?
while döngüsü olacak. Kalan miktar 10 TL'den büyük olduğu sürece ödeme yapmaya devam edecek. 10 TL ve altına düştüğü anda, bir sonraki ay artık tamamını ödeyecek. Matlab'de galiba şu şekilde yazılabilir.
function [odenen ay] = limit( harc, faiz, minimumoran )
odenen=0;
ay=0;
kalan=harc;
while(kalan>10)
odeme=kalan*minimumoran;
kalan=(kalan-odeme)*(1+faiz);
ay=ay+1;
odenen=odenen+odeme;
end
odenen=odenen+kalan*(1+faiz);
ay=ay+1;
end
function [odenen ay] = limit( harc, faiz, minimumoran )
odenen=0;
ay=0;
kalan=harc;
while(kalan>10)
odeme=kalan*minimumoran;
kalan=(kalan-odeme)*(1+faiz);
ay=ay+1;
odenen=odenen+odeme;
end
odenen=odenen+kalan*(1+faiz);
ay=ay+1;
end
- aychovsky (18.11.15 23:15:52)
1