Antrasis Fortrano Laboratorinis Darbas

! Antras Laboratorinis Darbas! Darba atrliko: XXXXXXX XXXXXXX! II-X/X Grupe 200X m. Vilnius!! Duotas skaiciu masyvas is N elementu, ir skaicius B. Rasti elementu, didesniu uz B vidurki! Duomenu faile duomenys.dat pirmoje eiluteje turi buti nurodytas elementu skaicius, ! antroje – skaicius B. Visos kitos N eiluciu turi buti uzpildytos masyvo elementais.

program antrasimplicit integer Ndimension A(100)! Nulinamos kintamuju reiksmes10 suma=0skaiciu=0! Skaiciu suma veliau bus padalinta is skaiciu kiekio (kintamojo pavadinimas “skaiciu”)write(*,*)’ Sveiki. Programa dirba su masyvu is N elementu’write(*,*)’ Pasirinkite, is kur programai imti duomenis:’write(*,*)’ 1) Is failo (duomenys.dat)’write(*,*)’ 2) Is klaviaturos (suveda vartotojas)’write(*,*)3 write(*,*)’ Iveskite pasirinkto veiksmo numeri (1 arba 2) ir paskauskite ‘write(*,*)’Spauskite skaiciuka 3 ir , jei norite nutraukti darba…’read(*,*),pasirinkimasif (pasirinkimas.EQ.1) goto 1if (pasirinkimas.EQ.2) goto 2if (pasirinkimas.EQ.3) goto 12goto 3 ! Jei pasirinkimas netinkamas, kartojam uzklausa…

! Duomenu skaitymas is failo1 open(unit=1, file=’duomenys.dat’) read(1,*)N read(1,*)B read(1,*)(A(i),i=1, N) close(1)! Duomenu skaitymo is failo pabaiga

! Failas uzdaromas, jei vartotojas tos pacios programos darbo sesijos metu! noretu pakeisti failo turini, ir atlikti skaiciavimus is naujo

!Programa nukreipiama i didesniu skaiciu paieska, ir tokiu skaiciu kiekio skaiciavimagoto 4

! Duomenu suvedimas rankiniu budu 2 write(*,*)’Kiek elementu turi masyvas? (N) ‘ read(*,*)N write(*,*)’ Iveskite skaiciu B’ read(*,*)B write(*,16)n16 FORMAT (‘Iveskite masyva is ‘I3′ elementu’) read(*,*)(A(I), I=1, N)! Duomenu suvedimo rankiniu budu, pabaiga

! Masyvo elementu, didesniu uz B paieska ir sumavimas. Tokiu elementu kiekio radimas4 DO i=1,N if (A(i) > B) then suma=suma+A(i) skaiciu=skaiciu+1 ENDIF ENDDO! Masyvo elementu, didesniu uz B paieskos ir sumavimo pabaiga

! Jei skaiciu, didesniu uz B, buvo, skaiciuojamas ju vidurkisif (skaiciu /=0) thenvidurkis=suma/skaiciuelse ! Priesingu atveju, rodome klaidos pranesimagoto 13ENDIF

write(*,*)’ Pasirinkite, kur programa turi isvesti rezultatus: ‘write(*,*)’ 1) I faila (rezultatai.dat)’

write(*,*)’ 2) I ekrana’write(*,*)5 write(*,*)’ Iveskite pasirinkto veiksmo numeri (1 arba 2) ir paspauskite ‘read(*,*),pasirinkimasif (pasirinkimas.EQ.1) goto 6if (pasirinkimas.EQ.2) goto 7goto 5 ! Jei pasirinkimas netinkamas, kartojam uzklausa…

! Vidurkio isvedimas i faila6 open(unit=2, file=’rezultatai.dat’)WRITE(2,11)B, vidurkis! Vidurkio isvedimo i faila pabaiga

11 FORMAT(‘Masyvo elementu, didesniu uz ‘,F7.2, ‘ vidurkis yra ‘,F7.2)write(*,*)’ Rezultatai irasyti i faila “rezultatai.dat”‘

close(2)pausegoto 10

! Vidurkio isvedimas i ekrana7 write(*,11)B, vidurkispausegoto 10! Vidurkio isvedimo i ekrana pabaiga

! Klaidos pranesimas13 write(*,*)’Klaida! Masyve nera skaiciu didesniu uz ‘,bpausegoto 10! Klaidos pranesimo pabaiga

12 write(*,*)’ Programa darba baige. Viso gero.’

end ! Programos pabaiga