Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο να διαβάζει θετικό ακέραιο αριθμό Ν. Στη συνέχεια, να διαβάζει θετικούς αριθμούς μέχρι το άθροισμά τους να γίνει μεγαλύτερο από τον
αριθμό Ν. Τέλος, να υπολογίζει και να τυπώνει τον μεγαλύτερο αριθμό που πληκτρολογήθηκε.
Να γίνεται έλεγχος των αριθμών που πληκτρολογούνται, ώστε να είναι θετικοί, σε αντίθετη περίπτωση να εμφανίζεται μήνυμα λάθους και να ζητείται η πληκτρολόγηση ενός θετικού αριθμού.

ΛΥΣΗ
max τιμή εκτός πεδίου τιμών |max τιμή το 1ο στοιχείο |
Έλεγχος εισόδου με απλή επιλογή | Επανάληψη με ΟΣΟ

max τιμή εκτός πεδίου τιμών

ΠΡΟΓΡΑΜΜΑ ΑΣΚ9_ΣΕΛ_59_ΠΑΡ_Αβ
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Ν, sum, maxΑ, Α
ΑΡΧΗ
DIABASE Ν
sum<--0
maxA<-- -1 ! OK
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ         
        ΔΙΑΒΑΣΕ Α
        Αν Α<0 ΤΟΤΕ
           ΓΡΑΨΕ 'ΛΑΘΟΣ ΑΡΙΘΜΟΣ' 
        ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
        sum<--sum + Α
        ΑΝ Α>maxA ΤΟΤΕ
           maxA<--Α
        ΤΕΛΟΣ_ΑΝ         
ΜΕΧΡΙΣ_ΟΤΟΥ sum>=Ν
ΓΡΑΨΕ maxΑ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

max τιμή το 1ο στοιχείο

diavase ΠΡΟΓΡΑΜΜΑ  παρα_α_σελ_59_9α
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: N,a, max, αθρ 
! τιμή - φρουρός
! max τιμή
ΑΡΧΗ
διάβασε N
αθρ <-- 0
! διάβασμα του 1ου στοιχείου εκτός επανάληψης
!έλεγχος εισόδου
Αρχή_επανάληψης
    Διάβασε α
    Αν α<0 ΤΟΤΕ
       ΓΡΑΨΕ 'ΛΑΘΟΣ ΑΡΙΘΜΟΣ' 
    ΤΕΛΟΣ_ΑΝ
Μέχρις_ότου α > 0
! έστω ότι το πρώτο στοιχείο το μέγιστο (Αρχικοποίηση της μαξ)
μαξ <-- α
Αρχή_επανάληψης ! επαναληπτική διαδικασία
!έλεγχος εισόδου
Αρχή_επανάληψης
    Διάβασε α
    Αν Α<0 ΤΟΤΕ
       ΓΡΑΨΕ 'ΛΑΘΟΣ ΑΡΙΘΜΟΣ' 
    ΤΕΛΟΣ_ΑΝ
Μέχρις_ότου α > 0
αθρ <-- αθρ + α
Αν α > μαξ  τότε
   Μαξ <-- α
Τέλος_αν
Μέχρις_ότου αθρ> Ν    ! τιμή φρουρός
Γράψε μαξ
Τέλος_προγράμματος

Έλεγχος εισόδου με απλή επιλογή

ΠΡΟΓΡΑΜΜΑ ΑΣΚ9_ΣΕΛ_59_ΠΑΡ_Αβ
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Ν
   ΠΡΑΓΜΑΤΙΚΕΣ: sum, maxΑ, Α
ΑΡΧΗ
ΔΙΑΒΑΣΕ Ν
sum<-- 0
maxA<-- -1 ! OK
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
         ΔΙΑΒΑΣΕ Α
         Αν Α>0 ΤΟΤΕ
              sum<-- sum + Α
              ΑΝ Α>maxA ΤΟΤΕ
                    maxA← Α
              ΤΕΛΟΣ_ΑΝ
         ΑΛΛΙΩΣ_ΑΝ Α<0 ΤΟΤΕ
              ΓΡΑΨΕ 'ΛΑΘΟΣ ΑΡΙΘΜΟΣ' 
         ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ _ΌΤΟΥ sum>=Ν
ΓΡΑΨΕ maxΑ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Επανάληψη με ΟΣΟ

ΠΡΟΓΡΑΜΜΑ ΑΣΚ9_ΣΕΛ_59_ΠΑΡ_Αβ
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Ν, Σ, A, MAX
ΑΡΧΗ
Σ<--0
ΔΙΑΒΑΣΕ Ν
MAX<-- -1
ΟΣΟ Σ<=Ν ΕΠΑΝΑΛΑΒΕ
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ A
    ΑΝ A < 0 ΤΟΤΕ
       ΓΡΑΨΕ 'ΛΑΘΟΣ ΑΡΙΘΜΟΣ'
    ΤΕΛΟΣ_ΑΝ
    ΜΕΧΡΙΣ_ΟΤΟΥ A > 0
    Σ <-- Σ + A
    ΑΝ A > MAX ΤΟΤΕ
       MAX <-- A
    ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ MAX
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Share This