Fortran Final Cevaplar

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

MAT323-341 FORTRAN PROGRAMLAMA (Final) 10.01.

2013

Adı Soyadı 1(25) 2(25) 3(25) 4(25) Toplam


No

1. Klavyeden kullanıcı tarafından girilen M ve N ( M < N, M > 7, N > 7 ) pozitif


tamsayıları arasında 5 ile veya 7 ile tam bölünebilen tamsayıları ve bunların kaç tane
olduğunu hesaplayan ve sonuçları ekranda görüntüleyen bir Fortran programı yazınız.

2. Klavyeden pozitif sayılar girilmektedir. Girilen her sayıdan sonra o ana kadar kaç sayı
girildiğini ve girilmiş sayıların ortalamasını ekranda görüntüleyen bir Fortran programı
yazınız. Sayı girişi, sıfır veya negatif değer girişi ile sona erecektir ve bu değer ortalamaya
dahil edilmek için geçerli bir değer olarak kabul edilmeyecektir.

3. f ( x) = 4 x3 - 8 x 2 + 3x - 1 + 7 x -1 fonksiyonunun aldığı değerleri x’in 3’ten 8’e


kadar olan değerleri için 0.25’lik adımlarla hesaplayıp tablo halinde ekranda görüntüleyen bir
Fortran programı yazınız

4. Klavyeden kullanıcı tarafından girilen M ve N pozitif tamsayıları için (M > N), M


tamsayısı N tamsayısı ile bölündüğünde bölümü ve kalanı hesaplayan ve sonuçları ekranda
görüntüleyen bir Fortran programı yazınız. Not: mod(M,N), v.b Fortran fonksiyonlarını
kesinlikle kullanmayınız! İhtiyaç duyulan fonksiyon olursa siz yazınız.

-----------------------------------------------------------------------------------------------------------------

Süre: 75 dak. Başarılar Doç. Dr. Uğur Yücel


CEVAPLAR (FİNAL)

PROGRAM S1
IMPLICIT NONE
integer::M,N,i,say=0
print*, 'M ve N (M<N) degerlerini giriniz'
read*, M,N
do i=M,N
if(mod(i,5)==0 .or. mod(i,7)==0) then
print*, i
say=say+1
end if
end do
print*, say , ' tane sayi vardir'
END PROGRAM S1
--------------------------------------------------------------
PROGRAM S2
IMPLICIT NONE
real::sayi,ort,top=0
integer::say=0
do
print*, 'Bir sayi giriniz'
read*, sayi
if(sayi<=0) then
print*,'Sayi girisi sona ermistir'
exit
end if
say=say+1
print*,say, ' tane sayi girilmistir'
top=top+sayi
ort=top/say
print*, 'Bu sayilarin ortalaması=',ort
end do
END PROGRAM S2
--------------------------------------------------------------
PROGRAM S3
IMPLICIT NONE
real::x,f
print*, ' x' , ' f(x)'
do x=3,8,0.25
print*, x,f(x)
end do
END PROGRAM S3
!=======================================
real function f(x)
implicit none
real::x
f=4.0*x**3-8.0*x**2+3.0*x-1.0+7.0*x**(-1)
end function f

--------------------------------------------------------------
PROGRAM S4
IMPLICIT NONE
integer::M,N,say=0
print*, 'M degerini giriniz'
read*, M
print*,'N degerini giriniz'
read*,N
do
if(M<N) exit
M=M-N
say=say+1
end do
print*, 'Bolum=', say, ' ', 'Kalan=',M
END PROGRAM S4
--------------------------------------------------------------

You might also like