Τώρα είναι Πέμ 28 Μαρ 2024 11:22 pm

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 
Συγγραφέας Μήνυμα
ΔημοσίευσηΔημοσιεύτηκε: Παρ 21 Μάιος 2004 04:18 pm 
Χωρίς σύνδεση

Εγγραφή: Πέμ 22 Απρ 2004 11:16 am
Δημοσιεύσεις: 60
Τοποθεσία: Θεσσαλονίκη
Syntax: [ Download ] [ Hide ]
! ==============================================================================================
! Να γραφεί πρόγραμμα το οποίο δέχεται ένα φυσικό αριθμό N
! και τον αναλύει σε γινόμενο πρώτων παραγόντων, δηλαδή
! οι πάραγοντες πρέπει να ειναι πρώτοι αριθμοί πχ: 2,3,5,7,11,13,17,19,23, κλπ.
!
! (Δραστηριότητα ΔΣ6, από το σχολικό ΤΕΤΡΑΔΙΟ του ΜΑΘΗΤΗ, σελιδα 82, κεφ. 8, Επιλογή και Επανάληψη)
!
! ΠΑΡΑΔΕΙΓΜΑ 1:   144 = 2^4 * 3^2
! ΠΑΡΑΔΕΙΓΜΑ 2:   786 = 2^1 * 3^1 * 131^1
! ΠΑΡΑΔΕΙΓΜΑ 3:   455 = 5^1 * 7^1 * 13^1                  
! ΠΑΡΑΔΕΙΓΜΑ 4:    46 = 2^1 * 23^1
! =============================================================================================
!---------------------- 2ος Τρόπος ----------------------

ΠΡΟΓΡΑΜΜΑ Ανάλυση_Αριθμού_σε_Γινόμενο_Πρώτων_Παραγόντων_2
ΣΤΑΘΕΡΕΣ
  m=10
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:Ν,πηλίκο,γινόμενο,δύναμη,παραγοντες[m],τάξη[m],i,j,π
ΑΡΧΗ

  ΓΡΑΨΕ 'Δώσε ακέραιο αριθμό'
  ΔΙΑΒΑΣΕ Ν

  πηλίκο <-- Ν
  γινόμενο <-- 1
  i <-- 1
  π <-- 0

  ΟΣΟ  γινόμενο<Ν  ΕΠΑΝΑΛΑΒΕ
    i <-- i+1
    δύναμη <-- 0
    ΟΣΟ (πηλίκο MOD i)=0 ΕΠΑΝΑΛΑΒΕ
      πηλίκο <-- πηλίκο DIV i
      δύναμη <-- δύναμη+1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

    ΑΝ δύναμη>0 ΤΟΤΕ
      π <-- π+1
      παραγοντες[π] <-- i
      τάξη[π] <-- δύναμη
      γινόμενο <-- γινόμενο*Α_Μ(i^δύναμη)
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ
  ΓΡΑΨΕ_'1'
  ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ π
    ΓΡΑΨΕ_  '*',παραγοντες[j],'^',τάξη[j]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ '='

  ΓΡΑΨΕ
  ΓΡΑΨΕ_'1'
  ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ π
    ΓΡΑΨΕ_  '*',Α_Μ(παραγοντες[j]^τάξη[j])
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ '='

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

Είναι φανερό οτι ο προηγούμενος αλγόριθμος μας περιορίζει σχετικά, αφού χρησιμοποεί για την αποθήκευση των παραγόντων, μονοδιαστατο πίνακα.
Η υλοποίηση χωρίς χρήση πινάκων (μαλον πιο ευκολη) αποτελεί τον 1ο Τρόπο και παρατείθεται στην ενότητα :
ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ -> Η εντολή ''ΟΣΟ''
http://spinet.gr/glossomatheia/programs ... .php?t=169

απηλαγμένη από τους όποιους περιορισμούς πινάκων


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 3 επισκέπτες


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
cron
Προβολές: