Γεια χαρά .
Παραθέτω ένα θέμα που μου έκανε εντύπωση ένα ερώτημά του.
ΕΚΦΩΝΗΣΗ
Ενας όμιλος απότελείται από 20 εταιρείες.
Να γράψετε πρόγραμμα το οποίο :
[1] Να περιλαμβάνει τμημα δηλώσεων .
[2] Να δια βάζει τα ονόματα των εταιρειών του ομίλου και τα κέρδη τους για καθένα πο τα έτη 2001 έως και 2005.
[3] Για κάθε εταιρεία του ομίλου να καλεί συνάρτηση για τον υπολογισμό του κέρδους της εταιρείας στην πενταετία. Στη συνέχεια να υπολογίζει και να εμφανίζει το μέσο ετήσιο κέρδος του ομίλου.
[4] Για κάθε εταιρεία να βρίσκει την τριετία με το μεγαλύτερο συνολικό κέρδος και να εμφανίζει το όνομα της εταιρείας , και το πρώτο έτος της συγκεκριμένης τριετίας.
Η ΛΥΣΗ ΠΟΥ ΔΙΝΩ
!**************************************************************************************
ΠΡΟΓΡΑΜΜΑ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : i,J,M,ETH[5],ΤΕΜΠ
ΠΡΑΓΜΑΤΙΚΕΣ: ΟΛΙΚΟ_ΟΜΙΛΟΥ,ΜΕΣΟ_ΕΤΗΣΙΟ_ΟΜΙΛΟΥ,ΚΕΡΔΗ[20,5],ΤΕΜΠ1
ΧΑΡΑΚΤΗΡΕΣ : ΕΤΑΙΡΕΙΕΣ[20],ΤΕΜΠ2
ΑΡΧΗ
ΟΛΙΚΟ_ΟΜΙΛΟΥ <- 0
ΜΕΣΟ_ΕΤΗΣΙΟ_ΟΜΙΛΟΥ <- 0
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
ΔΙΑΒΑΣΕ ΕΤΑΙΡΕΙΕΣ
ΓΙΑ J AΠΟ 1 ΜΕΧΡΙ 5
ΕΤΗ[J] <- 2000 + J ! ΓΕΜΙΖΩ ΚΑΙ ΠΙΝΑΚΑ 5ΘΕΣΙΟ ΜΕ ΤΑ ΈΤΗ 2001 ... 2005
ΔΙΑΒΕΣΕ ΚΕΡΔΗ[I,J]
ΚΕΡΔΗ_ΠΕΝΤΑΕΤΙΑΣ_ΑΝΑ_ΕΤΑΙΡΕΙΑ[J] <- 0 ! ΠΙΝΑΚΑΣ ΜΕ ΤΑ ΣΥΝΟΛΑ ΓΑ ΚΑΘΕ ΕΤΑΙΡΕΙΑ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΆΛΗΨΗΣ
ΓΙΑ I ΑΠΌ 1 ΜΕΡΙ 20
ΣΥΝΟΛΟ[Ι] <- CALC(I,ΚΕΡΔΗ)
ΟΛΙΚΟ_ΟΜΙΛΟΥ <- ΟΛΙΚΟ_ΟΜΙΛΟΥ _ ΣΥΝΟΛΟ[J]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΕΣΟ_ΕΤΗΣΙΟ_ΟΜΙΛΟΥ <- ΟΛΙΚΟ_ΟΜΙΛΟΥ /5
ΓΙΑ I ΑΠΌ 1 ΜΕΧΡΙ 20
ΓΙΑ J ΑΠΟ 2 ΜΕΧΡΙ 5
ΓΙΑ M ΑΠΌ 5 ΜΕΧΡΙ J ME_BHMA -1
ΑΝ ΚΕΡΔΗ[Μ-1] > ΚΕΡΔΗ[Μ] ΤΟΤΕ
! ΤΑΞΙΝΟΜΩ ΚΑΤΑ ΦΘΙΝΟΥΣΑ ΣΕΙΡΑ ΤΗ ΚΑΘΕ ΓΡΑΜΜΗ ΜΕ ΒΑΣΗ ΤΑ ΚΕΡΔΗ
ΤΕΜΠ1 <- ΚΕΡΔΗ[Μ-1]
ΚΕΡΔΗ[Μ-1] <- ΚΕΡΔΗ[Μ]
ΚΕΡΔΗ[Μ] <- ΤΕΜΠ1
! ΚΑΙ ΤΟΝ ΠΙΝΑΚΑ ΤΩΝ ΕΤΩΝ ΠΟΥ ΒΟΗΘΗΤΙΚΑ ΕΧΩ ΔΗΜΙΟΥΡΓΗΣΕΙ
ΤΕΜΠ <- ΕΤΗ[Μ-1]
ΕΤΗ[Μ-1] <- ΕΤΗ[Μ]
ΕΤΗ[Μ] <- ΤΕΜΠ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'ΟΝΟΜΑ ΕΤΑΙΡΕΙΑΣ : ', ΕΤΑΙΡΕΙΑ[Ι]
ΓΡΑΨΕ ' ΤΡΙΕΤΙΑ ΜΕΓΙΣΤΩΝ ΚΕΡΔΩΝ : ' , ΕΤΗ[1] , ΕΤΗ[2], ΕΤΗ[3] ! Η ΤΡΙΕΤΙΑ ΔΕΝ ΕΙΝΑΙ ΤΑΞΙΝΟΜΗΜΕΝΗ
MIN <- ETH[1] ! ΒΡΙΣΚΩ ΤΟ ΜΙΚΡΟΤΕΡΟ ΕΤΟΣ ΤΗΣ ΤΡΙΕΤΙΑΣ
AN MIN <- ETH[2] TOTE
MIN <- ETH[2]
ΤΕΛΟΣ_ΑΝ
ΑΝ ΜΙΝ <- ΕΤΗ[3] ΤΟΤΕ
ΜΙΝ <- ΕΤΗ[3]
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ ' ΠΡΩΤΟ ΕΤΟΣ ΤΡΙΕΤΙΑΣ = ', ΜΙΝ ! ΤΥΠΩΝΩ ΤΟ ΜΙΚΡΟΤΕΡΟ ΕΤΟΣ ΤΗΣ ΤΡΙΕΤΙΑΣ
ΕΤΗ[1] <- 2001 ! ΞΑΝΑΒΑΖΩ ΤΑ ΕΤΗ ΜΕ ΤΗ ΣΕΙΡΑ ΓΙΑ ΝΑ ΠΑΩ ΣΤΗΝ ΕΠΟΜΕΝΗ ΓΡΑΜΜΗ
ΕΤΗ[2] <- 2002 ! ΤΟΥ ΠΙΝΑΚΑ ΚΕΡΔΩΝ
ΕΤΗ[3] <- 2003
ΕΤΗ[4] <- 2004
ΕΤΗ[5] <- 2005
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!**************************************************************************************
ΣΥΝΑΡΤΗΣΗ CALC(Ι,ΚΕΡΔΗ) : ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : Ι,J
ΠΡΑΓΜΑΤΙΚΕΣ : ΚΕΡΔΗ[20,5], ΣΥΝΟΛΟ
ΑΡΧΗ
ΣΥΝΟΛΟ <- 0
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 5
ΣΥΝΟΛΟ <- ΣΥΝΟΛΟ + ΚΕΡΔΗ[Ι,J]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
CALC <- ΣΥΝΟΛΟ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
!**************************************************************************************