lamgramm έγραψε:Παιδια μηπως εχει καποιος τη λυση της εργαστηριακης ασκησης 9 που βρισκεται στον pericles με τον τιτλο επαναληπτικες ασκησεις??
Stokos έγραψε:Τι εννοεί εφάπτονται εσωτερικά και εξωτερικά? Απ'όσο ξέρω 2 κύκλοι ή θα εφάπτονται ή όχι...
(Για να εφάπτονται πρέπει η απόσταση των κέντρων τους να είναι ίσο με το άθροισμα των ακτίνων τους).
Program Askisi9
integer N
write(*,*) "Dwse to N"
read(*,*) N
call CreateFiles(N)
call ReadFiles(N)
end
Subroutine CreateFiles(N)
open(10, File = 'Data1.txt', Status = 'NEW', Form = 'FORMATTED',
& Access = 'Sequential')
open(20, File = 'Data2.txt', Status = 'NEW', Form = 'FORMATTED',
& Access = 'Sequential')
do i=1,N
write(10,11) 25*rand(), 25*rand(), 10*rand()
write(20,11) 25*rand(), 25*rand(), 10*rand()
11 format(3F10.3)
end do
close(10)
close(20)
return
end Subroutine CreateFiles
Subroutine ReadFiles(N)
dimension A(N,6)
real x,y,z
open(10, File = 'Data1.txt', Status = 'OLD',
& Form = 'FORMATTED', Access = 'Sequential')
open(20, File = 'Data2.txt', Status = 'OLD',
& Form = 'FORMATTED', Access = 'Sequential')
do i=1,N
read(10,12) A(i,1), A(i,2), A(i,3)
read(20,12) A(i,4), A(i,5), A(i,6)
12 format(3F10.3)
end do
! Elegxos gia to ean oi kykloi efaptonte
do i=1,N
! Apostash Kentrwn
x = (A(i,1)-A(i,4))**2 + (A(i,2)-A(i,5))**2
x = sqrt(x)
! A8roisma Aktinwn
y = A(i,3) + A(i,6)
! Diafora Aktinwn (Apolyth timh)
z = Abs(A(i,3) - A(i,6))
if(x.eq.y) then
write(*,13) A(i,1),A(i,2),A(i,3),A(i,4),A(i,5),A(i,6)
end if
if(x.eq.z) then
write(*,14) A(i,1),A(i,2),A(i,3),A(i,4),A(i,5),A(i,6)
end if
13 format("O kyklos me kentro (",F10.3,",",F10.3,")
& kai aktina ",F10.3," efaptetai eκswterika me to
& kyklo me kentro(",F10.3,",",F10.3,")
& kai aktina ",F10.3)
14 format("O kyklos me kentro (",F10.3,",",F10.3,")
& kai aktina ",F10.3," efaptetai eswterika me to
& kyklo me kentro(",F10.3,",",F10.3,")
& kai aktina ",F10.3)
end do
close(10)
close(20)
return
end Subroutine ReadFiles
! TO DO:
! * Data2.txt prepei na einai Binary format ( format(B10.3) )
! * O upologismos tou ean oi kykloi efaptonte h oxi na mpei se 3h Subroutine
! * O pinakas A na eisagetai me thn entolh COMMON sth nea subroutine
Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες