Θέματα Γ+Δ : Part 3:

!Άσκηση1
ΣΥΝΑΡΤΗΣΗ Εις_το_Τετράγωνο(Χ): ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
	ΠΡΑΓΜΑΤΙΚΕΣ:Χ
ΑΡΧΗ
	Εις_το_Τετράγωνο = Χ ^ 2
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
ΠΡΟΓΡΑΜΜΑ ΑΣΚΗΣΗ02
ΜΕΤΑΒΛΗΤΕΣ:
ΑΚΕΡΑΙΕΣ:
ΠΡΑΓΜΑΤΙΚΕΣ:

ΑΡΧΗ
ΓΙΑ Υ ΑΠΌ 1 ΜΕΧΡΙ 10:
ΓΙΑ Ι ΑΠΌ ΤΟ 1 ΜΕΧΡΙ 10:
	ΔΙΑΒΑΣΕ ΒΑΘΜΟ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

	  ΜΟ[Ι]=ΥΠΟΛΟΓΙΣΕ_Μ_Ο[ΒΑΘΜΟ[Ι]]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΥΝΑΡΤΗΣΗ ΥΠΟΛΟΓΙΣΕ_Μ_Ο(ΒΑΘΜΟΥΛΗΣ): ΠΡΑΓΜΑΤΙΚΗ

ΜΕΤΑΒΛΗΤΕΣ:
ΑΚΕΡΑΙΕΣ:Ι
ΠΡΑΓΜΑΤΙΚΕΣ:Μ

ΑΡΧΗ
Μ=0
ΓΙΑ Ι ΑΠΌ 1 ΜΕΧΡΙ 10
	Μ= Μ + ΒΑΘΜΟΥΛΗΣ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΥΠΟΛΟΓΙΣΕ_Μ_Ο = Μ/10
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


ΣΥΝΑΡΤΗΣΗ ΑΣΚΗΣΗ03(Ποσό_σε_Bitcoin): ΠΡΑΓΜΑΤΙΚΗ
ΣΤΑΘΕΡΕΣ:
ΙΣΟΤΙΜΙΑ = 60000.0
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ:Ποσό_σε_Bitcoin, εκτίμηση
ΑΡΧΗ

ΑΝ (Ποσό_σε_Bitcoin >= 0)  ΤΟΤΕ
	εκτίμηση = Ποσό_σε_Bitcoin / ΙΣΟΤΙΜΙΑ
ΑΛΛΙΩΣ
!Αν το ποσό είναι αρνητικός αριθμός θα επιστραφεί το 0

	εκτίμηση = 0

ΤΕΛΟΣ_ΑΝ
ΑΣΚΗΣΗ03 =εκτίμηση
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΠΡΟΓΡΑΜΜΑ ΑΣΚΗΣΗ04
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: ΜΙΣΘΟΣ[50,200]
ΧΑΡΑΚΤΗΡΕΣ: ΟΝΟΜΑ[50,200]
ΑΡΧΗ
ΚΑΛΕΣΕ ΔΙΑΒΑΣΜΑΤΟΣ(ΟΝΟΜΑ[50,200],ΜΙΣΘΟΣ[50,200])

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΒΑΣΜΑΤΟΣ(ΟΝΟΜΑ[50,200],ΜΙΣΘΟΣ[50,200])
ΜΕΤΑΒΛΗΤΕΣ ΜΙΣΘΟΣ[50,200]
ΠΡΑΓΜΑΤΙΚΕΣ :
ΑΚΕΡΑΙΕΣ: Ι,Υ
ΧΑΡΑΚΤΗΡΕΣ:ΟΝΟΜΑ[50,200]


ΓΙΑ Ι ΑΠΌ 1 ΜΕΧΡΙ 50
	ΓΙΑ Υ ΑΠΌ 1 ΜΕΧΙ 200
		ΔΙΑΒΑΣΕ ΟΝΟΜΑ[Ι,Υ],ΜΙΣΘΟΣ[Ι,Υ]
	ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
		

ΠΡΟΓΡΑΜΜΑ ΑΣΚΗΣΗ05
ΜΕΤΑΒΛΗΤΕΣ
πραγματικεσ:Τιμή, συντ_ΦΠΑ
ΑΡΧΗ
Τιμή =400
συντ_ΦΠΑ =0.10
ΚΑΛΕΣΕ Υπολογισμός_ΦΠΑ (Τιμή, συντ_ΦΠΑ)
τελοσ_προγραμματοσ  
ΔΙΑΔΙΚΑΣΙΑ
Υπολογισμός_ΦΠΑ (Τιμή, συντ_ΦΠΑ)
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ :
Τιμή, συντ_ΦΠΑ, ποσό_ΦΠΑ, τελ_τιμή
ΑΡΧΗ
Ποσό_ΦΠΑ =τιμή * συντ_ΦΠΑ
τελ_τιμή =Τιμή + Ποσό_ΦΠΑ
ΓΡΑΨΕ'Το ποσό ΦΠΑ είναι, Ποσό_ΦΠΑ
ΓΡΑΨΕ'Η τελική τιμή του προϊόντος είναι', τελ_τιμή
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Η λύση της άσκησης 6 υπάρχει στο βίντεο μου: https://youtu.be/y57gXCbIpMA

ΠΡΟΓΡΑΜΜΑ ΑΣΚΗΣΗ:
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:
Αριθμός1, Αριθμός2, Αποτέλεσμα
ΑΡΧΗ
ΓΡΑΨΕ
'Εισάγετε 2 ακέραιους θετικούς αριθμούς'
ΔΙΑΒΑΣΕ
Αριθμός1, Αριθμός2
Αποτέλεσμα =0
ΟΣΟ (Αριθμός2 > 0) ΕΠΑΝΑΛΑΒΕ:
ΑΝ (Αριθμός2 MOD2 = 1) ΤΟΤΕ
Αποτέλεσμα =Αποτέλεσμα + Αριθμός1
ΤΕΛΟΣ_ΑΝ
ΚΑΛΕΣΕ Τροποποίηση_Μεταβλητών (Αριθμός1, Αριθμός2)
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Το αποτέλεσμα είναι: ', Αποτέλεσμα
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! 
ΔΙΑΔΙΚΑΣΙΑ
Τροποποίηση_Μεταβλητών (Μ1, Μ2)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:Μ1, Μ2
ΠΡΑΓΜΑΤΙΚΕΣ:βοηθητική
ΑΡΧΗ
M1 =M1 * 2
βοηθητική =M2 / 2
M2 =Α_Μ(βοηθητική)
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑ

ΣΥΝΑΡΤΗΣΗ Υπολογισμός_ΜΟ (Πλήθος, Πίνακας): ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ :Πίνακας[1000], άθροισμα
ΑΚΕΡΑΙΕΣ :Πλήθος, i
ΑΡΧΗ
άθροισμα =0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Πλήθος
άθροισμα = άθροισμα + Πίνακας[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Υπολογισμός_ΜΟ = άθροισμα / Πλήθος
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗ
ΠΡΟΓΡΑΜΜΑ ΑΣΚΗΣΗ07:
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: ποσΠορτοκάλια, ποσΜπανάνες, ποσΡοδάκινα, ποσΜήλα έσοδα
ΑΡΧΗ
  έσοδα <- 0
  ΔΙΑΒΑΣΕ ποσΠορτοκάλια, ποσΜπανάνες, ποσΡοδάκινα ,ποσΜήλα
  ΟΣΟ ποσΠορτοκάλια >= 0 ΚΑΙ ποσΜπανάνες >= 0 ΚΑΙ ποσΡοδάκινα >= 			0 ΚΑΙ ποσΜήλα >= 0 ΕΠΑΝΑΛΑΒΕ
    έσοδα <- έσοδα + ΛΟΓΑΡΙΑΣΜΟΣ_ΠΕΛΑΤΗ(ποσΠορτοκάλια, 		ποσΜπανάνες, ποσΡοδάκινα ,ποσΜήλα) 
    ΔΙΑΒΑΣΕ ποσΠορτοκάλια, ποσΜπανάνες, ποσΡοδάκινα
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ "Συνολικά έσοδα: ", έσοδα, " ευρώ"
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 
ΣΥΝΑΡΤΗΣΗ ΛΟΓΑΡΙΑΣΜΟΣ_ΠΕΛΑΤΗ(ποσΠορτοκάλια, 	ποσΜπανάνες, ποσΡοδάκινα , ποσΜήλα): ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: ποσΠορτοκάλια, ποσΜπανάνες, ποσΡοδάκινα ,ποσΜήλα
ΑΡΧΗ
  ΛΟΓΑΡΙΑΣΜΟΣ_ΠΕΛΑΤΗ <- ποσΠορτοκάλια * 0.6 + ποσΜπανάνες * 1.7 + ποσΡοδάκινα * 1.1 + ποσΜήλα*1.0
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
ΠΡΟΓΡΑΜΜΑ ΑΣΚΗΣΗ08
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, j
  ΠΡΑΓΜΑΤΙΚΕΣ: βολες[3], καλύτερηΒολη[30], tmp1
  ΧΑΡΑΚΤΗΡΕΣ: ον[30], ονΚαλύτερου, tmp2
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30
    ΔΙΑΒΑΣΕ ον[i] 
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
      ΔΙΑΒΑΣΕ βολες[j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    καλύτερηΒολη[i] <- maxΒολή(βολες) 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 30
    ΓΙΑ j ΑΠΟ 30 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
      ΑΝ καλύτερηΒολη[j] > καλύτερηΒολη[j - 1] ΤΟΤΕ
        tmp1 <- καλύτερηΒολη[j] 
        καλύτερηΒολη[j] <- καλύτερηΒολη[j - 1] 
        καλύτερηΒολη[j - 1] <- tmp1
        tmp2 <- ον[j] 
        ον[j] <- ον[j - 1] 
        ον[j - 1] <- tmp2
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ ον[1], ον[2], ον[3] 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΣΥΝΑΡΤΗΣΗ maxΒολή(βολες): ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i
  ΠΡΑΓΜΑΤΙΚΕΣ: βολες[3], max
ΑΡΧΗ
  max <- βολες[1] 
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 3
    ΑΝ βολες[i] > max ΤΟΤΕ
      max <- βολες[i] 
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  maxΒολή <- max
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
ΠΡΟΓΡΑΜΜΑ ΑΣΚΗΣΗ09
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ[10000,12],ΜΒ[10000,12],ΤΡΟΠΟΣ_ΧΡΕΩΣΗΣ[10000]
ΑΚΕΡΑΙΕΣ :Ι,Κ, ΧΡΕΩΣΗ_ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ[10000,12]
ΠΡΑΓΜΑΤΙΚΕΣ : ΟΛΙΚΗ_ΧΡΕΩΣΗ[10000],ΕΤΗΣΙΑ_ΧΡΕΩΣΗ[10000],ΕΤΗΣΙΑ_ΧΡΕΩΣΗ[10000]
ΠΡΑΓΜΑΤΙΚΕΣ : ΜΕΣΗ_ΜΗΝΙΑΙΑ_ΧΡΕΩΣΗ[10000]
ΧΑΡΑΚΤΗΡΕΣ : ΠΕΛΑΤΗΣ[10000]
ΑΡΧΗ

ΚΑΛΕΣΕ ΕΙΣΑΓΩΓΗ_ΔΕΔΟΜΕΝΩΝ(ΠΕΛΑΤΗΣ,ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ,ΜΒ,ΤΡΟΠΟΣ_ΧΡΕΩΣΗΣ)

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10000

ΕΤΗΣΙΑ_ΧΡΕΩΣΗ[Ι] <- 0                    ! ΔΗΜΙΟΥΡΓΩ ΠΙΝΑΚΑ ΜΕ ΤΙΣ ΕΤΗΣΙΕΣ ΧΡΕΩΣΕΙΣ

ΜΕΣΗ_ΜΗΝΙΑΙΑ_ΧΡΕΩΣΗ <- 0           ! ΚΑΙ ΠΙΝΑΚΑ ΜΕ ΤΗΝ ΜΕΣΗ ΜΗΝΙΑΙΑ 			ΧΡΕΩΣΗ ΠΟΥ ΘΑ ΧΡΗΣΙΜΟΠΟΙΗΣΩ ΜΕΤΑ

ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 12

! ΕΠΙΣΗΣ ΔΗΜΙΟΥΡΓΩ ΑΛΛΟΝ ΕΝΑ ΠΙΝΑΚΑ ΧΡΕΩΣΗ_ΑΝΑ_ΜΗΝΑ[10000,12]
! ΟΤΙ ΣΕ ΚΑΘΕ ΘΕΣΗ ΥΠΟΛΟΓΙΖΩ ΜΕΣΩ ΤΗΣ ΣΥΝΑΡΤΗΣΗΣ ΤΗΝ ΧΡΕΩΣΗ 			ΑΝΑ ΜΗΝΑ
ΧΡΕΩΣΗ_ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ[Ι,Κ] <- ΥΠΟΛΟΓΙΣΜΟΣ_ΧΡΕΩΣΗΣ(ΤΡΟΠΟΣ_ΧΡΕΩΣΗΣ,ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ)

ΕΤΗΣΙΑ_ΧΡΕΩΣΗ[Ι] <-ΕΤΗΣΙΑ_ΧΡΕΩΣΗ[Ι] + ΧΡΕΩΣΗ_ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ[Ι,Κ]

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΜΕΣΗ_ΜΗΝΙΑΙΑ_ΧΡΕΩΣΗ[Ι] <- ΕΤΗΣΙΑ_ΧΡΕΩΣΗ[Ι] / 12

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΚΑΛΕΣΕ ΕΜΦΑΝΙΣΗ_ΠΑΝΩ_ΑΠΟ_ΟΡΙΟ(ΜΕΣΗ_ΜΗΝΙΑΙΑ_ΧΡΕΩΣΗ,ΠΕΛΑΤΗΣ,150)

ΚΑΛΕΣΕ ΕΜΦΑΝΙΣΗ_ΠΑΝΩ_ΑΠΟ_ΟΡΙΟ(ΕΤΗΣΙΑ_ΧΡΕΩΣΗ,ΠΕΛΑΤΗΣ,2000)

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΠΡΟΓΡΑΜΜΑ ΑΣΚΗΣΗ10
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : Ι,Υ,ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[30,4],ΤΕΜΡ2,ΤΕΜΡ,ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[30]
ΠΡΑΓΜΑΤΙΚΕΣ :
 ΠΡΑΓΜΑΤΙΚΕΣ : 
ΧΑΡΑΚΤΗΡΕΣ : ΑΠΑΝΤΗΣΗ,ΕΠΩΝΥΜΑ[30],ΤΕΜΡ1
ΑΡΧΗ

ΓΙΑ Ι ΑΠΌ 1 ΜΕΧΡΙ 30
	ΓΙΑ Υ ΑΠΌ 1 ΜΕΧΡΙ 4
		ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[Ι,Υ]=0
	ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
	
ΓΙΑ Ι ΑΠΌ 1 ΜΕΧΡΙ 30
	ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[Ι]=0
	ΔΙΑΒΑΣΕ ΕΠΩΝΥΜΟ[Ι]
	Υ=1
	ΔΙΑΒΑΣΕ ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[Ι,Υ]
	 ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[Ι]= ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[Ι] +1
	ΓΡΑΨΕ «  ΕΧΕΙΣ ΆΛΛΟ ΠΑΙΔΙ;»
	ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
	ΟΣΟ  ΑΠΑΝΤΗΣΗ=«ΝΑΙ» ΚΑΙ Υ<=4 ΤΟΤΕ:
		ΔΙΑΒΑΣΕ ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[Ι,Υ]
		ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[Ι]= ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[Ι] +1
		ΓΡΑΨΕ «  ΕΧΕΙΣ ΆΛΛΟ ΠΑΙΔΙ;»
		ΔΙΑΒΑΣΕ ΑΠΑΝΤΗΣΗ
	ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

!ΕΥΡΕΣΗ ΠΟΣΩΝ ΟΙΚΟΓΕΝΕΙΩΝ ΕΣΤΩ ΚΑΙ 1 ΠΑΙΔΙ ΓΕΝΝΗΘΗΚΕ ΤΟ 2009
ΤΙΜΗ2009= ΠΑΙΔΙΑ2009([ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[30,4])

!ΤΑΞΙΝΟΜΗΣΗ ΔΙΣΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ
ΓΙΑ Ι ΑΠΌ 2 ΜΕΧΡΙ 30
	ΑΝ ΑΡΙΘΜΟΣ ΠΑΙΔΙΩΝ[Ι]<ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[Ι-1] ΤΟΤΕ:

		TEMP=ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[Ι]
		 ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[Ι] ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[Ι-1]
		 ΑΡΙΘΜΟΣ_ΠΑΙΔΙΩΝ[Ι-1]TEMP
	         TEMP1=ΕΠΩΝΥΜΟ[Ι]
		 ΕΠΩΝΥΜΟ[Ι]= ΕΠΩΝΥΜΟ[Ι-1]
		 ΕΠΩΝΥΜΟ[Ι-1]=TEMP1
		 ΓΙΑ Υ ΑΠΌ 1 ΜΕΧΡΙ 4
		          TEMP2=ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[Ι,Υ]
		          ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[Ι,Υ]=ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[Ι-1,Υ]
		          ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[Ι-1,Υ]=TEMP2
		ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΣΥΝΑΡΤΗΣΗ ΠΑΙΔΙΑ2009(ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[Ι,Υ]:ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ:
ΑΚΕΡΑΙΕΣ: Ι,ΑΡΙΘΜΟΣ
ΛΟΓΙΚΕΣ:FOUND
ΑΡΧΗ
ΑΡΙΘΜΟΣ=0
ΓΙΑ Ι ΑΠΌ 1 ΜΕΧΡΙ 30
	Y=1
	FOUND=ΨΕΥΔΗΣ
	ΟΣΟ Y<=4 ΚΑΙ FOUND = ΨΕΥΔΗΣ
		ΑΝ ΕΤΟΣ_ΓΕΝΝΗΣΗΣ[Ι,Υ]=2009 ΤΟΤΕ
			ΑΡΙΘΜΟΣ=ΑΡΙΘΜΟΣ +1
			!Kάνουμε ΑΛΗΘΗΣ την found για να στάματήσει η 				επανάληψη χωρίς περιττές επαναλήψεις.Μας
 			ενδιαφέρει να βρούμε πόσες οικογένειες έχουν παιδί 				γεννημένο το 2009, όχι πόσα παιδιά εχουν γεννηθεί 
			το 2009.

			FOUND=ΑΛΗΘΗΣ
		ΤΕΛΟΣ_ΑΝ
	ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΠΑΙΔΙΑ2009=ΑΡΙΘΜΟΣ
TΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
ΣΥΝΑΡΤΗΣΗ ΥΠΟΛΟΣΙΜΟΣ_ΧΡΕΩΣΗΣ(ΤΡΟΠΟΣ_ΧΡΕΩΣΗΣ,ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ):ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : Κ,ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ[10000,12],ΤΡΟΠΟΣ_ΧΡΕΩΣΗΣ[10000]
ΠΡΑΓΜΑΤΙΚΕΣ : ΧΡΕΩΣΗ
ΑΡΧΗ
ΑΝ ΤΡΟΠΟΣ_ΧΡΕΩΣΗΣ = 1 ΤΟΤΕ  ! ΤΙΜΟΛΟΓΙΑΚΗ ΠΟΛΙΤΙΚΗ 1
   ΑΝ ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ[Ι,Κ] <= 100 ΤΟΤΕ
      ΧΡΕΩΣΗ<- 20 ! ΜΟΝΟ ΠΑΓΙΟ
   ΑΛΛΙΩΣ
      ΧΡΕΩΣΗ <- (ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ[Ι,Κ]-100)*0.15
   ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
ΑΝ ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ[Ι,Κ] <= 600 ΤΟΤΕ
      ΧΡΕΩΣΗ<- 30 ! ΜΟΝΟ ΠΑΓΙΟ
   ΑΛΛΙΩΣ
      ΧΡΕΩΣΗ<- (ΧΡΟΝΟΣ_ΟΜΙΛΙΑΣ[Ι,Κ]-600)*0.13
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΥΠΟΛΟΓΙΣΜΟΣ_ΧΡΕΩΣΗΣ <- ΧΡΕΩΣΗ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
ΔΙΑΔΙΚΑΣΙΑ ΕΙΣΑΓΩΓΗ_ΔΕΔΟΜΕΝΩΝ(Π,ΧΟ,Μ,ΤΧ)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : Ι,Κ,Μ [10000,12],ΧΟ[10000,12],ΤΧ[10000]
ΧΑΡΑΚΤΗΡΕΣ : Π[10,000]
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10,000
   ΔΙΑΒΑΣΕ Π[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10,000
   ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 12
      ΔΙΑΒΑΣΕ Μ[Ι,Κ]
      ΔΙΑΒΑΣΕ ΧΟ[Ι,Κ]
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10,000
   ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ ΤΧ[Ι]
   ΜΕΧΡΙΣ_ΟΤΟΥ (ΤΡΟΠΟΣ_ΧΡΕΩΣΗΣ = 1) Ή (ΤΡΟΠΟΣ_ΧΡΕΩΣΗΣ = 2)
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΔΙΑΔΙΚΑΣΙΑ ΕΜΦΑΝΙΣΗ_ΠΑΝΩ_ΑΠΟ_ΟΡΙΟ(ΠΙΝΑΚΑΣ,ΟΝΟΜΑ,ΟΡΙΟ)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : Ι
ΠΡΑΓΜΑΤΙΚΕΣ : ΠΙΝΑΚΑΣ[10000]
ΧΑΡΑΚΤΗΡΕΣ : ΟΝΟΜΑ[10000]
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10000
   ΑΝ ΠΙΝΑΚΑΣ > ΟΡΙΟ ΤΟΤΕ
      ΓΡΑΨΕ ΟΝΟΜΑ[Ι] , ΠΙΝΑΚΑΣ[Ι]
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΠΡΟΓΡΑΜΜΑ ΠΑΝΕΛΕ2019
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΒΑΘ[40, 6], i, j, κωδ, βαθμ, αρ, ΣΒ[40], temp
  ΧΑΡΑΚΤΗΡΕΣ: ΟΝ[40], Απ, temp2
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 40
    ΔΙΑΒΑΣΕ ΟΝ[i] 
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
      ΒΑΘ[i, j] <- 0
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ κωδ, αρ, βαθμ
    ΑΝ βαθμ > ΒΑΘ[κωδ, αρ] ΤΟΤΕ
      ΒΑΘ[κωδ, αρ] <- βαθμ
    ΤΕΛΟΣ_ΑΝ

    ΓΡΑΨΕ 'Υπάρχει νέα λύση προβλήματος; ΝΑΙ/ΟΧΙ'
    ΔΙΑΒΑΣΕ Απ
  ΜΕΧΡΙΣ_ΟΤΟΥ Απ = 'ΟΧΙ'

  ΚΑΛΕΣΕ ΥΣΒ(ΒΑΘ, ΣΒ) 

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 40
    ΓΙΑ j ΑΠΟ 40 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
      ΑΝ ΣΒ[j - 1] < ΣΒ[j] ΤΟΤΕ
        temp <- ΣΒ[j - 1] 
        ΣΒ[j - 1] <- ΣΒ[j] 
        ΣΒ[j] <- temp
        temp2 <- ΟΝ[j - 1] 
        ΟΝ[j - 1] <- ΟΝ[j] 
        ΟΝ[j] <- temp2
      ΑΛΛΙΩΣ_ΑΝ ΣΒ[j - 1] = ΣΒ[j] ΚΑΙ ΟΝ[j - 1] > ΟΝ[j] ΤΟΤΕ
        temp2 <- ΟΝ[j - 1] 
        ΟΝ[j - 1] <- ΟΝ[j] 
        ΟΝ[j] <- temp2
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 40
    ΓΡΑΨΕ ΟΝ[i] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ ΥΣΒ(ΒΑΘ, ΣΒ) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΒΑΘ[40, 6], ΣΒ[40], i, j
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 40
    ΣΒ[i] <- 0
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
      ΣΒ[i] <- ΣΒ[i] + ΒΑΘ[i, j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΥΝΑΡΤΗΣΗ ΑΣΚΗΣΗ11:(ΑΚΕΡΑΙΑ)
ΜΕΤΑΒΛΗΤΕΣ:
ΑΚΕΡΑΙΕΣ:
ΛΟΓΙΚΕΣ:FOUND

ΑΡΧΗ
FOUND=ΨΕΥΔΗΣ
Ι=1
ΟΣΟ Ι<=1000 ΚΑΙ FOUND=ΨΕΥΔΗΣ ΕΠΑΝΕΛΑΒΕ:
	ΑΝ ΣΤΟΙΧΕΙΟ==Α[Ι] ΤΟΤΕ:
		!Επειδή στο Ι βρίσκεται η θέση αυτού που αναζητάμε μιας και είναι η μεταβλητή counter μας
		 ΑΣΚΗΣΗ11=Ι
	!Το FOUND το χρησιμοποιούμε ώστε μόλις βρούμε το στοιχείο, να σταματήσουν οι επαναλήψεις
	FOUND=ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ FOUND=ΨΕΥΔΗΣ ΤΟΤΕ:
	 ΑΣΚΗΣΗ11=0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΔΙΑΔΙΚΑΣΙΑ ΑΣΚ12(Α,Ν)
ΜΕΤΑΒΛΗΤΕΣ:
ΠΡΑΓΜΑΤΙΚΕΣ: ΤΕΜΡ, Α[1000]
ΑΚΕΡΑΙΕΣ:Ι,Ν
ΑΡΧΗ 

ΑΝ Ν>100 ΤΟΤΕ:
	ΓΡΑΨΕ «ΔΕΝ ΜΠΟΡΕΙ ΤΟ ΠΛΗΘΟΣ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΝΑ ΕΊΝΑΙ ΜΕΓΑΛΥΤΕΡΟ ΑΠΌ 100»
ΑΛΛΙΩΣ :
	ΓΙΑ Ι ΑΠΌ 1 ΜΕΧΡΙ Ν
		ΑΝ Α[Ι]<Α[Ι-1] ΤΟΤΕ:
			ΤΕΜΡ = Α[Ι]
			Α[Ι]=Α[Ι-1]
			Α[Ι-1]= ΤΕΜΡ
		ΤΕΛΟΣ_ΑΝ
	ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΠΡΟΓΡΑΜΜΑ ΠΑΝΕΛΕ2015
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α, Β
  ΠΡΑΓΜΑΤΙΚΕΣ: ΧΩΡΟΣΑ, ΧΩΡΟΣΒ, ΔΕΜΑ
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ ΧΩΡΟΣΑ
  ΜΕΧΡΙΣ_ΟΤΟΥ ΧΩΡΟΣΑ > 0

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ ΧΩΡΟΣΒ
  ΜΕΧΡΙΣ_ΟΤΟΥ ΧΩΡΟΣΒ > 0

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ ΔΕΜΑ
  ΜΕΧΡΙΣ_ΟΤΟΥ ΔΕΜΑ >= 0

  Α <- 0
  Β <- 0
  ΟΣΟ ΔΕΜΑ <> 0 ΕΠΑΝΑΛΑΒΕ
    ΑΝ ΧΩΡΟΣΑ >= ΧΩΡΟΣΒ ΚΑΙ ΔΕΜΑ <= ΧΩΡΟΣΑ ΤΟΤΕ
      ΓΡΑΨΕ 'Α'
      ΧΩΡΟΣΑ <- ΧΩΡΟΣΑ - ΔΕΜΑ
      Α <- Α + 1
    ΑΛΛΙΩΣ_ΑΝ ΔΕΜΑ <= ΧΩΡΟΣΒ ΤΟΤΕ
      ΓΡΑΨΕ 'Β'
      ΧΩΡΟΣΒ <- ΧΩΡΟΣΒ - ΔΕΜΑ
      Β <- Β + 1
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'Προώθηση'
    ΤΕΛΟΣ_ΑΝ   

    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ ΔΕΜΑ
    ΜΕΧΡΙΣ_ΟΤΟΥ ΔΕΜΑ >= 0
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  
  ΚΑΛΕΣΕ ΕΥΡΕΣΗ(Α, Β)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΔΙΑΔΙΚΑΣΙΑ ΕΥΡΕΣΗ(Α, Β) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α, Β
ΑΡΧΗ
  ΑΝ Α = 0 ΚΑΙ Β = 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Καμία αποθήκευση στο αεροδρόμιο'
  ΑΛΛΙΩΣ
    ΑΝ Α = Β ΤΟΤΕ
      ΓΡΑΨΕ 'Ισάριθμα'
    ΑΛΛΙΩΣ_ΑΝ Α > Β ΤΟΤΕ
      ΓΡΑΨΕ 'Α'
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'Β'
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

To συγκεκριμένο θέμα είναι από Διαγώνισμα από το Στέκι των Πληροφορικών!!!

Εκεί μπορείτε να βρείτε κι άλλα διαγωνίσματα στο ΑΕΠΠ.

Link: https://alkisg.mysch.gr/steki/index.php?topic=7123.0


Υποστηρίξτε το Project για να συνεχίσουμε να παράγουμε εκπαιδευτικό υλικό.

Προσοχή: Από τις 28 Δεκεμβρίου το Project Panellinies_AEPP απενεργοποιεί όλες τις διαφημίσεις πάνω στο εκπαιδευτικό υλικό. Τo Project πλέον λειτουργεί και υποστηρίζεται αποκλειστικά από τις χορηγίες σας σε Basic Attention Token (BAT) μέσω του Brave Browser στο κανάλι στο Youtube καθώς και σε άλλα κρυπτονομίσματα στις παρακάτω διευθύνσεις:

Bitcoin: bc1q6j959m3whh44ztr8k6p7545n5pzcsncple7qmy

Ethereum: 0x3f27F05Ca28a5B5F876A3A7d435E2E852756F873

Cardano: addr1qxewtm0y5yk2mgf93ct4ghguus2shu34fu786t62j3tv7296evenhmr0ltmx3hdyw4d6d8gj8qspry5pe3raaw4nu8as7jsr9l

Monero: 46ewn3rgXMSceuEUEng1bze1RzG61rEiFV3hJ6VKuzvHU62jPntydJRBcFinQ62Pad8AvdoX9YbQcY5HKX3Cr3UQPkhiQ4L

VeChain:0x3f27F05Ca28a5B5F876A3A7d435E2E852756F873

Shiba:0x3f27F05Ca28a5B5F876A3A7d435E2E852756F873

AIOZ:0x3f27F05Ca28a5B5F876A3A7d435E2E852756F873

Για το πώς θα κερδίσετε δωρεάν BAT, διαβάστε αυτό το άρθρο κάνοντας κλικ εδώ