Αποστολέας Θέμα: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας  (Αναγνώστηκε 9910 φορές)

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5963
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #90 στις: 25 Φεβ 2021, 07:32:11 πμ »
Μπορεί να μου εξηγήσει κανείς πως ακριβώς δουλεύει αυτός ο μηχανισμός; Τι γίνεται αν έχω πολλά διάβασε και πολλά γράψε; Αν είναι κάπως έτσι:

Για την κλήση αλγορίθμων, μπορεί να γίνει αντιστοίχιση των ουσιαστικών παραμέτρων της κλήσης με τις εντολές Δεδομένα και Αποτελέσματα του αλγορίθμου. Όμως δεν πρέπει να γίνει καμία αντιστοίχιση με τις Διάβασε.

Υ.Γ. δεν μου έρχονται πλέον email για απαντήσεις στο ποστ @alkisg

Κομνηνέ δες λίγο στα spam σου, μόλις το δοκίμασα και μου δούλεψε κανονικά.

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1451
  • There are always possibilities...
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #91 στις: 25 Φεβ 2021, 03:50:38 μμ »
Καλησπέρα,

στον παρακάτω αλγόριθμο
Κώδικας: [Επιλογή]
Αλγόριθμος Ασκ6
χ <- 1200
ετ <- 0
Όσο χ <= 2000 επανάλαβε
  χ <- χ + χ*0.038
  ετ <- ετ + 1
  Εμφάνισε ετ, χ
Τέλος_επανάληψης
Εμφάνισε ετ
Τέλος Ασκ6
ο διερμηνευτής δίνει:
1 1245.60
2 1292.93
3 1342.06
4 1393.06
5 1446.00
6 1500.95
7 1557.98
8 1617.19
9 1678.64
10 1742.43
11 1808.64
12 1877.37
13 1948.71
14 2022.76
14

ενώ το https://pseudo.gloglossa.gr/ δίνει

1 1236
2 1273.08
3 1311.27
4 1350.6
5 1391.11
6 1432.84
7 1475.82
8 1520.09
9 1565.69
10 1612.66
11 1661.04
12 1710.87
13 1762.19
14 1815.05
15 1869.5
16 1925.58
17 1983.34
18 2042.84
18
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

komni

  • Θαμώνας
  • ***
  • Μηνύματα: 48
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #92 στις: 25 Φεβ 2021, 04:17:46 μμ »
Καλησπέρα,

στον παρακάτω αλγόριθμο
Κώδικας: [Επιλογή]
Αλγόριθμος Ασκ6
χ <- 1200
ετ <- 0
Όσο χ <= 2000 επανάλαβε
  χ <- χ + χ*0.038
  ετ <- ετ + 1
  Εμφάνισε ετ, χ
Τέλος_επανάληψης
Εμφάνισε ετ
Τέλος Ασκ6
ο διερμηνευτής δίνει:
1 1245.60
2 1292.93
3 1342.06
4 1393.06
5 1446.00
6 1500.95
7 1557.98
8 1617.19
9 1678.64
10 1742.43
11 1808.64
12 1877.37
13 1948.71
14 2022.76
14

ενώ το https://pseudo.gloglossa.gr/ δίνει

1 1236
2 1273.08
3 1311.27
4 1350.6
5 1391.11
6 1432.84
7 1475.82
8 1520.09
9 1565.69
10 1612.66
11 1661.04
12 1710.87
13 1762.19
14 1815.05
15 1869.5
16 1925.58
17 1983.34
18 2042.84
18


Καλησπέρα,

Θα το κοιτάζω βραδάκι αλλά φαντάζομαι έχει σχέση με τον τρόπο που χειρίζομαι τους πραγματικούς. Σε κάθε πράξη κάνω truncate τα δεκαδικά ψηφία και αφήνω μόνο τα πρώτα δύο. Δεν είμαι σίγουρος τι κάνει ο @alkisg

Άρχισαν να μου ξαναέρχονται τα email, τέλεια.

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5963
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #93 στις: 25 Φεβ 2021, 04:25:43 μμ »
Σε κάθε πράξη κάνω truncate τα δεκαδικά ψηφία και αφήνω μόνο τα πρώτα δύο. Δεν είμαι σίγουρος τι κάνει ο @alkisg

Ο Διερμηνευτής δεν κάνει ποτέ truncate σε πράξεις ώστε τα αποτελέσματα να είναι όσο σωστά υποστηρίζει ο επεξεργαστής.
Κάνει όμως σε συγκρίσεις, ώστε π.χ. η συνθήκη 0.9999999999999 = 1 να είναι ΑΛΗΘΗΣ, στην Α_Μ(0.9999999999999) ώστε να βγαίνει 1, και φυσικά τυπώνει με πεπερασμένα δεκαδικά ψηφία τους αριθμούς. Και για τις δύο αυτές λειτουργίες υπάρχουν σχετικές επιλογές στον διάλογο ρυθμίσεων.

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1451
  • There are always possibilities...
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #94 στις: 25 Φεβ 2021, 09:02:44 μμ »
Ναι μάλλον έτσι εξηγείται. Οπότε αφού πολλαπλασιάζεις με το 0.03 αντί για το 0.038 υπάρχει αυτή η αποκλιση.
Καλησπέρα,

Θα το κοιτάζω βραδάκι αλλά φαντάζομαι έχει σχέση με τον τρόπο που χειρίζομαι τους πραγματικούς. Σε κάθε πράξη κάνω truncate τα δεκαδικά ψηφία και αφήνω μόνο τα πρώτα δύο. Δεν είμαι σίγουρος τι κάνει ο @alkisg

Άρχισαν να μου ξαναέρχονται τα email, τέλεια.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 826
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #95 στις: 28 Φεβ 2021, 04:22:18 μμ »
Καλησπέρα και πάλι,

Το σφάλμα που επισήμανε ο dpa, το code formatting(αντί για κουμί θα γίνεται αυτόματα οταν ο χρήστης πατάει το κουμπί εκτέλεση) και η πρόταση του George Eco θα εχουν υλοποιηθεί μέχρι την Κυριακή.

Όσο για το κάλεσμα αλγορίθμων/προγραμμάτων, θα αργήσει λιγάκι. Πιθανότατα να το κάνω την επόμενη βδομάδα.

Υ.Γ. δεν μου έρχονται πλέον email για απαντήσεις στο ποστ @alkisg

Ευχαριστώ και πάλι.
Ελπίζω να μπορείς να λαμβάνεις email από το στέκι πλέον.
« Τελευταία τροποποίηση: 16 Μαρ 2021, 10:48:44 πμ από dpa2006 »
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 826
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #96 στις: 28 Φεβ 2021, 05:21:49 μμ »
Καλησπέρα,

στον παρακάτω αλγόριθμο
Κώδικας: [Επιλογή]
Αλγόριθμος Ασκ6
χ <- 1200
ετ <- 0
Όσο χ <= 2000 επανάλαβε
  χ <- χ + χ*0.038
  ετ <- ετ + 1
  Εμφάνισε ετ, χ
Τέλος_επανάληψης
Εμφάνισε ετ
Τέλος Ασκ6
ο διερμηνευτής δίνει:
1 1245.60
2 1292.93
3 1342.06
4 1393.06
5 1446.00
6 1500.95
7 1557.98
8 1617.19
9 1678.64
10 1742.43
11 1808.64
12 1877.37
13 1948.71
14 2022.76
14

ενώ το https://pseudo.gloglossa.gr/ δίνει

1 1236
2 1273.08
3 1311.27
4 1350.6
5 1391.11
6 1432.84
7 1475.82
8 1520.09
9 1565.69
10 1612.66
11 1661.04
12 1710.87
13 1762.19
14 1815.05
15 1869.5
16 1925.58
17 1983.34
18 2042.84
18


Ο αλγόριθμος και σε Python

# Αλγόριθμος Άσκηση_6

x=1200
et=0

while x<=2000:
    x=x+0.038*x
    et=et+1
    print('{:d}'.format(et),'{:6.2f}'.format(x))

   
print("et=",et)
   

Έξοδος

1 1245.60
2 1292.93
3 1342.06
4 1393.06
5 1446.00
6 1500.95
7 1557.98
8 1617.19
9 1678.64
10 1742.43
11 1808.64
12 1877.37
13 1948.71
14 2022.76
et= 14
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

bugman

  • Επισκέπτης
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #97 στις: 28 Φεβ 2021, 10:34:17 μμ »
Το λάθος βγαίνει σε οποιαδήποτε γλώσσα όταν το 0.038  λαμβάνεται ως 0.03.
Δηλαδή κατά τη σάρωση του κώδικα, η μετατροπή του 0.038 γίνεται με αποκοπή από το τρίτο δεκαδικό (truncate και όχι round). Κανονικά θα έπρεπε να μην γίνει αποκοπή και το round (στρογγυλοποίηση) να είναι στο 15 ή 16 δεκαδικό αν μιλάμε για double τύπο πραγματικού των 80bit - IEEE 754).

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 826
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #98 στις: 16 Μαρ 2021, 10:31:40 πμ »
Καλημέρα σε όλους,
δοκίμασα να τρέξω το Mastermind του Άλκη σε ΓΛΩΣΣΑ ΚΑΙ gloglossa
Στον Διερμηνευτή της ΓΛΩΣΣΑΣ τρέχει κανονικά,
στον Online Διερμηνευτή βγάζει σφάλμα:


ΚΩΔΙΚΑΣ ΠΑΡΑΔΕΙΓΜΑΤΟΣ

Κώδικας: [Επιλογή]

ΠΡΟΓΡΑΜΜΑ MasterMind
!Το πρόγραμμα επιδεικνύει την εκτενή χρήση υποπρογραμμάτων.
!Οδηγίες για το παιχνίδι δίνονται κατά την εκτέλεσή του.
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: προσπάθειαΧρήστη, αποτέλεσμαΠροσπάθειας, κατάστασηΕκτέλεσης
ΑΡΧΗ
  ΚΑΛΕΣΕ ΕμφάνισεΟδηγίες
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Δώσε έναν τετραψήφιο αριθμό ή 0 (μηδέν) αν παραιτείσαι:  '
    ΔΙΑΒΑΣΕ προσπάθειαΧρήστη
    αποτέλεσμαΠροσπάθειας <- ΑξιολόγησεΠροσπάθεια(προσπάθειαΧρήστη)
    ΕΠΙΛΕΞΕ αποτέλεσμαΠροσπάθειας
      ΠΕΡΙΠΤΩΣΗ 2222
        ΓΡΑΨΕ 'Το αποτέλεσμα της σύγκρισης με το μυστικό αριθμό είναι:  '
        ΚΑΛΕΣΕ ΕμφάνισεΑποτέλεσμα(αποτέλεσμαΠροσπάθειας)
        ΚΑΛΕΣΕ ΕμφάνισεΣυγχαρητήρια
      ΠΕΡΙΠΤΩΣΗ -1
        ΚΑΛΕΣΕ ΕμφάνισεΜήνυμαΠαραίτησης
      ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
        ΓΡΑΨΕ 'Το αποτέλεσμα της σύγκρισης με το μυστικό αριθμό είναι:  '
        ΚΑΛΕΣΕ ΕμφάνισεΑποτέλεσμα(αποτέλεσμαΠροσπάθειας)
    ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ αποτέλεσμαΠροσπάθειας = 2222 Η αποτέλεσμαΠροσπάθειας = -1
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΟδηγίες
ΑΡΧΗ
  ΓΡΑΨΕ '                 ▄   ▄  ▄  ▄▄▄ ▄▄▄ ▄▄▄ ▄▄  ▄   ▄ ▄ ▄   ▄ ▄▄▄'
  ΓΡΑΨΕ '                 █▀▄▀█ █▄█ ▀▄   █  █▄  █▄▀ █▀▄▀█ █ █▀▄ █ █  █'
  ΓΡΑΨΕ '                 █   █ █ █ █▄▄  █  █▄▄ █ █ █   █ █ █  ▀█ █▄▄▀'
  ΓΡΑΨΕ 'Οδηγίες:'
  ΓΡΑΨΕ 'Στο παιχνίδι αυτό ο σκοπός είναι να μαντέψουμε έναν τετραψήφιο αριθμό'
  ΓΡΑΨΕ 'τον οποίο κρατάει κρυφό ο υπολογιστής. Τα ψηφία του αριθμού είναι'
  ΓΡΑΨΕ 'διαφορετικά μεταξύ τους, αλλά επιτρέπεται το πρώτο ψηφίο να είναι μηδέν,'
  ΓΡΑΨΕ 'για παράδειγμα ο μυστικός αριθμός μπορεί να είναι 0248.'
  ΓΡΑΨΕ 'Αν προσπαθώντας να το βρούμε εισάγουμε τον αριθμό 1234,'
  ΓΡΑΨΕ 'τότε ο υπολογιστής θα μας απαντήσει με το κείμενο ΟΝΟΠ.'
  ΓΡΑΨΕ 'Τα γράμματα αυτά σημαίνουν:'
  ΓΡΑΨΕ '«Ο»χι, ο μυστικός αριθμός δεν περιέχει το ψηφίο 1.'
  ΓΡΑΨΕ '«Ν»αι, ο μυστικός αριθμός περιέχει το ψηφίο 2.'
  ΓΡΑΨΕ '«Ο»χι, ο μυστικός αριθμός δεν περιέχει το ψηφίο 3.'
  ΓΡΑΨΕ '«Π»ερίπου, υπάρχει 4 στο μυστικό αριθμό αλλά όχι σ'' αυτή τη θέση.'
  ΓΡΑΨΕ ''
  ΓΡΑΨΕ 'Η εκτέλεση συνεχίζεται μέχρι να πετύχουμε τον αριθμό,'
  ΓΡΑΨΕ 'ή να δώσουμε 0000, το οποίο σημαίνει ότι παραιτούμαστε.'
  ΓΡΑΨΕ ''
!  ΓΡΑΨΕ '...............................................................................'
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


ΣΥΝΑΡΤΗΣΗ ΑξιολόγησεΠροσπάθεια(προσπάθειαΧρήστη): ΑΚΕΡΑΙΑ
!Η συνάρτηση αυτή υπολογίζει το αποτέλεσμα, π.χ. 'ΟΝΟΠ'. Αλλά επειδή η ΓΛΩΣΣΑ
!δεν υποστηρίζει χειρισμό αλφαριθμητικών, χρησιμοποιεί αριθμούς, π.χ. 0201.
!Το 2222 σημαίνει ότι ο χρήστης πέτυχε τον αριθμό,
!ενώ το -1 σημαίνει ότι παραιτείται, αφού έδωσε μηδέν σαν είσοδο.
ΣΤΑΘΕΡΕΣ
!Οι πράξεις είναι απλά για να μη φαίνεται ο μυστικός αριθμός
  Μυστικός = 1234*9876 MOD 10000
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: προσπάθειαΧρήστη, αποτέλεσμα, ι, κ
  ΛΟΓΙΚΕΣ: υπάρχει
ΑΡΧΗ
  ΑΝ προσπάθειαΧρήστη = 0 ΤΟΤΕ
    αποτέλεσμα <- -1
  ΑΛΛΙΩΣ
    αποτέλεσμα <- 0
    ΓΙΑ ι ΑΠΟ 4 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
      ΑΝ Ψηφίο(Μυστικός, ι) = Ψηφίο(προσπάθειαΧρήστη, ι) ΤΟΤΕ
        αποτέλεσμα <- 10*αποτέλεσμα + 2
      ΑΛΛΙΩΣ
        υπάρχει <- ΨΕΥΔΗΣ
        ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 4
          ΑΝ Ψηφίο(προσπάθειαΧρήστη, ι) = Ψηφίο(Μυστικός, κ) ΤΟΤΕ
            υπάρχει <- ΑΛΗΘΗΣ
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
        ΑΝ υπάρχει ΤΟΤΕ
          αποτέλεσμα <- 10*αποτέλεσμα + 1
        ΑΛΛΙΩΣ
          αποτέλεσμα <- 10*αποτέλεσμα
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ
  ΑξιολόγησεΠροσπάθεια <- αποτέλεσμα
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


ΣΥΝΑΡΤΗΣΗ Ψηφίο(αριθμός, ποιο): ΑΚΕΡΑΙΑ
!Απομονώνει το #ποιο ψηφίο του αριθμού.
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αριθμός, ποιο
ΑΡΧΗ
  Ψηφίο <- αριθμός DIV Α_Μ(10^(ποιο - 1)) MOD 10
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΣυγχαρητήρια
ΑΡΧΗ
  ΓΡΑΨΕ '              ▄▄▄ ▄   ▄ ▄▄▄ ▄   ▄  ▄  ▄▄  ▄ ▄ ▄▄▄ ▄ ▄ ▄▄  ▄  ▄  ▄'
  ΓΡΑΨΕ '              ▀▄   ▀▄▀  █    ▀▄▀  █▄█ █▄▀ █▄█  █  █▄█ █▄▀ █ █▄█ █'
  ΓΡΑΨΕ '              █▄▄   █   █   ▄▀ ▀▄ █ █ █   █ █  █  █ █ █   █ █ █ ▄'
  ΓΡΑΨΕ '                  Είσαι ιδιοφυία, πέτυχες το μυστικό αριθμό!'
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΜήνυμαΠαραίτησης
ΑΡΧΗ
  ΓΡΑΨΕ '              ▄▄▄ ▄   ▄ ▄▄▄ ▄   ▄  ▄  ▄▄  ▄ ▄ ▄▄▄ ▄ ▄ ▄▄  ▄  ▄  ▄'
  ΓΡΑΨΕ '              ▀▄   ▀▄▀  █    ▀▄▀  █▄█ █▄▀ █▄█  █  █▄█ █▄▀ █ █▄█ █'
  ΓΡΑΨΕ '              █▄▄   █   █   ▄▀ ▀▄ █ █ █   █ █  █  █ █ █   █ █ █ ▄'
  ΓΡΑΨΕ '         ...θα πάρεις την επόμενη φορά αν καταφέρεις να τον πετύχεις!'
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΑποτέλεσμα(αποτέλεσμαΠροσπάθειας)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αποτέλεσμαΠροσπάθειας, ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ 4 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
    ΕΠΙΛΕΞΕ Ψηφίο(αποτέλεσμαΠροσπάθειας, ι)
      ΠΕΡΙΠΤΩΣΗ 0
        ΓΡΑΨΕ 'Ο '
      ΠΕΡΙΠΤΩΣΗ 1
        ΓΡΑΨΕ 'Π '
      ΠΕΡΙΠΤΩΣΗ 2
        ΓΡΑΨΕ 'Ν '
    ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ ''
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
όταν δοκίμασα να το εκτελέσω στο


https://gloglossa.gr/


Πήρα το εξής μήνυμα σφάλματος
Γραμμή 6: Σφάλμα: Περίμενα άνοιγμα παρένθεσης μετά από όνομα διαδικασίας[/size]
αρχικά[/size]
και αφού έβαλα παρενθέσεις το εξής μήνυμα σφάλματος[/size]
Γραμμή 6: Σφάλμα: Περίμενα όνομα μεταβλητής[/size]

https://postimg.cc/gallery/q6psh5f






« Τελευταία τροποποίηση: 16 Μαρ 2021, 10:50:03 πμ από dpa2006 »
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

bugman

  • Επισκέπτης
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #99 στις: 18 Μαρ 2021, 06:04:27 μμ »
Υπάρχουν προβλήματα. Αν κάθε λάθος με τη σειρά τα αντιμετωπίσουμε, όπως εκεί που καλούμε διαδικασία χωρίς ορίσματα πρέπει να βάλουμε () για να κληθεί σωστά,  τότε θα φτάσουμε να μην δέχεται τη συνάρτηση Ψηφίο. Δοκίμασα και την γύρισα σε κεφαλαία και πάλι είχε πρόβλημα, οπότε την μετακίνησα ακριβώς μετά τη διαδικασία ΕμφάνισεΟδηγίες και ξεκίνησε το πρόγραμμα χωρίς πρόβλημα.
Αυτό ξεκίνησε αν και δεν είχα χρόνο να το δοκιμάσω, δηλαδή δεν το είδα όλο, αν θέλει κάποιος να το δει, ας το δοκιμάσει.

Κώδικας: [Επιλογή]
ΠΡΟΓΡΑΜΜΑ MasterMind
!Το πρόγραμμα επιδεικνύει την εκτενή χρήση υποπρογραμμάτων.
!Οδηγίες για το παιχνίδι δίνονται κατά την εκτέλεσή του.
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: προσπάθειαΧρήστη, αποτέλεσμαΠροσπάθειας, κατάστασηΕκτέλεσης
ΑΡΧΗ
  ΚΑΛΕΣΕ ΕμφάνισεΟδηγίες()
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Δώσε έναν τετραψήφιο αριθμό ή 0 (μηδέν) αν παραιτείσαι:  '
    ΔΙΑΒΑΣΕ προσπάθειαΧρήστη
    αποτέλεσμαΠροσπάθειας <- ΑξιολόγησεΠροσπάθεια(προσπάθειαΧρήστη)
    ΕΠΙΛΕΞΕ αποτέλεσμαΠροσπάθειας
      ΠΕΡΙΠΤΩΣΗ 2222
        ΓΡΑΨΕ 'Το αποτέλεσμα της σύγκρισης με το μυστικό αριθμό είναι:  '
        ΚΑΛΕΣΕ ΕμφάνισεΑποτέλεσμα(αποτέλεσμαΠροσπάθειας)
        ΚΑΛΕΣΕ ΕμφάνισεΣυγχαρητήρια()
      ΠΕΡΙΠΤΩΣΗ -1
        ΚΑΛΕΣΕ ΕμφάνισεΜήνυμαΠαραίτησης()
      ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
        ΓΡΑΨΕ 'Το αποτέλεσμα της σύγκρισης με το μυστικό αριθμό είναι:  '
        ΚΑΛΕΣΕ ΕμφάνισεΑποτέλεσμα(αποτέλεσμαΠροσπάθειας)
    ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ αποτέλεσμαΠροσπάθειας = 2222 Η αποτέλεσμαΠροσπάθειας = -1
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΟδηγίες
ΑΡΧΗ
  ΓΡΑΨΕ '                 ▄   ▄  ▄  ▄▄▄ ▄▄▄ ▄▄▄ ▄▄  ▄   ▄ ▄ ▄   ▄ ▄▄▄'
  ΓΡΑΨΕ '                 █▀▄▀█ █▄█ ▀▄   █  █▄  █▄▀ █▀▄▀█ █ █▀▄ █ █  █'
  ΓΡΑΨΕ '                 █   █ █ █ █▄▄  █  █▄▄ █ █ █   █ █ █  ▀█ █▄▄▀'
  ΓΡΑΨΕ 'Οδηγίες:'
  ΓΡΑΨΕ 'Στο παιχνίδι αυτό ο σκοπός είναι να μαντέψουμε έναν τετραψήφιο αριθμό'
  ΓΡΑΨΕ 'τον οποίο κρατάει κρυφό ο υπολογιστής. Τα ψηφία του αριθμού είναι'
  ΓΡΑΨΕ 'διαφορετικά μεταξύ τους, αλλά επιτρέπεται το πρώτο ψηφίο να είναι μηδέν,'
  ΓΡΑΨΕ 'για παράδειγμα ο μυστικός αριθμός μπορεί να είναι 0248.'
  ΓΡΑΨΕ 'Αν προσπαθώντας να το βρούμε εισάγουμε τον αριθμό 1234,'
  ΓΡΑΨΕ 'τότε ο υπολογιστής θα μας απαντήσει με το κείμενο ΟΝΟΠ.'
  ΓΡΑΨΕ 'Τα γράμματα αυτά σημαίνουν:'
  ΓΡΑΨΕ '«Ο»χι, ο μυστικός αριθμός δεν περιέχει το ψηφίο 1.'
  ΓΡΑΨΕ '«Ν»αι, ο μυστικός αριθμός περιέχει το ψηφίο 2.'
  ΓΡΑΨΕ '«Ο»χι, ο μυστικός αριθμός δεν περιέχει το ψηφίο 3.'
  ΓΡΑΨΕ '«Π»ερίπου, υπάρχει 4 στο μυστικό αριθμό αλλά όχι σ΄ αυτή τη θέση.'
  ΓΡΑΨΕ ''
  ΓΡΑΨΕ 'Η εκτέλεση συνεχίζεται μέχρι να πετύχουμε τον αριθμό,'
  ΓΡΑΨΕ 'ή να δώσουμε 0000, το οποίο σημαίνει ότι παραιτούμαστε.'
  ΓΡΑΨΕ ''
!  ΓΡΑΨΕ '...............................................................................'
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ ΨΗΦΙΟ(αριθμός, ποιο): ΑΚΕΡΑΙΑ
!Απομονώνει το #ποιο ψηφίο του αριθμού.
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αριθμός, ποιο
ΑΡΧΗ
  Ψηφίο <- αριθμός DIV Α_Μ(10^(ποιο - 1)) MOD 10
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


ΣΥΝΑΡΤΗΣΗ ΑξιολόγησεΠροσπάθεια(προσπάθειαΧρήστη): ΑΚΕΡΑΙΑ
!Η συνάρτηση αυτή υπολογίζει το αποτέλεσμα, π.χ. 'ΟΝΟΠ'. Αλλά επειδή η ΓΛΩΣΣΑ
!δεν υποστηρίζει χειρισμό αλφαριθμητικών, χρησιμοποιεί αριθμούς, π.χ. 0201.
!Το 2222 σημαίνει ότι ο χρήστης πέτυχε τον αριθμό,
!ενώ το -1 σημαίνει ότι παραιτείται, αφού έδωσε μηδέν σαν είσοδο.
ΣΤΑΘΕΡΕΣ
!Οι πράξεις είναι απλά για να μη φαίνεται ο μυστικός αριθμός
  Μυστικός = 1234*9876 MOD 10000
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: προσπάθειαΧρήστη, αποτέλεσμα, ι, κ
  ΛΟΓΙΚΕΣ: υπάρχει
ΑΡΧΗ
  ΑΝ προσπάθειαΧρήστη = 0 ΤΟΤΕ
    αποτέλεσμα <- -1
  ΑΛΛΙΩΣ
    αποτέλεσμα <- 0
    ΓΙΑ ι ΑΠΟ 4 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
      ΑΝ ΨΗΦΙΟ(Μυστικός, ι) = ΨΗΦΙΟ(προσπάθειαΧρήστη, ι) ΤΟΤΕ
        αποτέλεσμα <- 10*αποτέλεσμα + 2
      ΑΛΛΙΩΣ
        υπάρχει <- ΨΕΥΔΗΣ
        ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 4
          ΑΝ ΨΗΦΙΟ(προσπάθειαΧρήστη, ι) = ΨΗΦΙΟ(Μυστικός, κ) ΤΟΤΕ
            υπάρχει <- ΑΛΗΘΗΣ
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
        ΑΝ υπάρχει ΤΟΤΕ
          αποτέλεσμα <- 10*αποτέλεσμα + 1
        ΑΛΛΙΩΣ
          αποτέλεσμα <- 10*αποτέλεσμα
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ
  ΑξιολόγησεΠροσπάθεια <- αποτέλεσμα
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ



ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΣυγχαρητήρια
ΑΡΧΗ
  ΓΡΑΨΕ '              ▄▄▄ ▄   ▄ ▄▄▄ ▄   ▄  ▄  ▄▄  ▄ ▄ ▄▄▄ ▄ ▄ ▄▄  ▄  ▄  ▄'
  ΓΡΑΨΕ '              ▀▄   ▀▄▀  █    ▀▄▀  █▄█ █▄▀ █▄█  █  █▄█ █▄▀ █ █▄█ █'
  ΓΡΑΨΕ '              █▄▄   █   █   ▄▀ ▀▄ █ █ █   █ █  █  █ █ █   █ █ █ ▄'
  ΓΡΑΨΕ '                  Είσαι ιδιοφυία, πέτυχες το μυστικό αριθμό!'
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΜήνυμαΠαραίτησης
ΑΡΧΗ
  ΓΡΑΨΕ '              ▄▄▄ ▄   ▄ ▄▄▄ ▄   ▄  ▄  ▄▄  ▄ ▄ ▄▄▄ ▄ ▄ ▄▄  ▄  ▄  ▄'
  ΓΡΑΨΕ '              ▀▄   ▀▄▀  █    ▀▄▀  █▄█ █▄▀ █▄█  █  █▄█ █▄▀ █ █▄█ █'
  ΓΡΑΨΕ '              █▄▄   █   █   ▄▀ ▀▄ █ █ █   █ █  █  █ █ █   █ █ █ ▄'
  ΓΡΑΨΕ '         ...θα πάρεις την επόμενη φορά αν καταφέρεις να τον πετύχεις!'
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΑποτέλεσμα(αποτέλεσμαΠροσπάθειας)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αποτέλεσμαΠροσπάθειας, ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ 4 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
    ΕΠΙΛΕΞΕ ΨΗΦΙΟ(αποτέλεσμαΠροσπάθειας, ι)
      ΠΕΡΙΠΤΩΣΗ 0
        ΓΡΑΨΕ 'Ο '
      ΠΕΡΙΠΤΩΣΗ 1
        ΓΡΑΨΕ 'Π '
      ΠΕΡΙΠΤΩΣΗ 2
        ΓΡΑΨΕ 'Ν '
    ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ ''
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Προφανώς πρέπει να γίνει έλεγχος με πολλές διαδικασίες και συναρτήσεις με ανακατεμένους ορισμούς για να βρεθεί το λάθος!

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 826
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #100 στις: 20 Μαρ 2021, 02:20:29 μμ »
Υπάρχουν προβλήματα. Αν κάθε λάθος με τη σειρά τα αντιμετωπίσουμε, όπως εκεί που καλούμε διαδικασία χωρίς ορίσματα πρέπει να βάλουμε () για να κληθεί σωστά,  τότε θα φτάσουμε να μην δέχεται τη συνάρτηση Ψηφίο. Δοκίμασα και την γύρισα σε κεφαλαία και πάλι είχε πρόβλημα, οπότε την μετακίνησα ακριβώς μετά τη διαδικασία ΕμφάνισεΟδηγίες και ξεκίνησε το πρόγραμμα χωρίς πρόβλημα.
Αυτό ξεκίνησε αν και δεν είχα χρόνο να το δοκιμάσω, δηλαδή δεν το είδα όλο, αν θέλει κάποιος να το δει, ας το δοκιμάσει.

Κώδικας: [Επιλογή]
ΠΡΟΓΡΑΜΜΑ MasterMind
!Το πρόγραμμα επιδεικνύει την εκτενή χρήση υποπρογραμμάτων.
!Οδηγίες για το παιχνίδι δίνονται κατά την εκτέλεσή του.
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: προσπάθειαΧρήστη, αποτέλεσμαΠροσπάθειας, κατάστασηΕκτέλεσης
ΑΡΧΗ
  ΚΑΛΕΣΕ ΕμφάνισεΟδηγίες()
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Δώσε έναν τετραψήφιο αριθμό ή 0 (μηδέν) αν παραιτείσαι:  '
    ΔΙΑΒΑΣΕ προσπάθειαΧρήστη
    αποτέλεσμαΠροσπάθειας <- ΑξιολόγησεΠροσπάθεια(προσπάθειαΧρήστη)
    ΕΠΙΛΕΞΕ αποτέλεσμαΠροσπάθειας
      ΠΕΡΙΠΤΩΣΗ 2222
        ΓΡΑΨΕ 'Το αποτέλεσμα της σύγκρισης με το μυστικό αριθμό είναι:  '
        ΚΑΛΕΣΕ ΕμφάνισεΑποτέλεσμα(αποτέλεσμαΠροσπάθειας)
        ΚΑΛΕΣΕ ΕμφάνισεΣυγχαρητήρια()
      ΠΕΡΙΠΤΩΣΗ -1
        ΚΑΛΕΣΕ ΕμφάνισεΜήνυμαΠαραίτησης()
      ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
        ΓΡΑΨΕ 'Το αποτέλεσμα της σύγκρισης με το μυστικό αριθμό είναι:  '
        ΚΑΛΕΣΕ ΕμφάνισεΑποτέλεσμα(αποτέλεσμαΠροσπάθειας)
    ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ αποτέλεσμαΠροσπάθειας = 2222 Η αποτέλεσμαΠροσπάθειας = -1
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΟδηγίες
ΑΡΧΗ
  ΓΡΑΨΕ '                 ▄   ▄  ▄  ▄▄▄ ▄▄▄ ▄▄▄ ▄▄  ▄   ▄ ▄ ▄   ▄ ▄▄▄'
  ΓΡΑΨΕ '                 █▀▄▀█ █▄█ ▀▄   █  █▄  █▄▀ █▀▄▀█ █ █▀▄ █ █  █'
  ΓΡΑΨΕ '                 █   █ █ █ █▄▄  █  █▄▄ █ █ █   █ █ █  ▀█ █▄▄▀'
  ΓΡΑΨΕ 'Οδηγίες:'
  ΓΡΑΨΕ 'Στο παιχνίδι αυτό ο σκοπός είναι να μαντέψουμε έναν τετραψήφιο αριθμό'
  ΓΡΑΨΕ 'τον οποίο κρατάει κρυφό ο υπολογιστής. Τα ψηφία του αριθμού είναι'
  ΓΡΑΨΕ 'διαφορετικά μεταξύ τους, αλλά επιτρέπεται το πρώτο ψηφίο να είναι μηδέν,'
  ΓΡΑΨΕ 'για παράδειγμα ο μυστικός αριθμός μπορεί να είναι 0248.'
  ΓΡΑΨΕ 'Αν προσπαθώντας να το βρούμε εισάγουμε τον αριθμό 1234,'
  ΓΡΑΨΕ 'τότε ο υπολογιστής θα μας απαντήσει με το κείμενο ΟΝΟΠ.'
  ΓΡΑΨΕ 'Τα γράμματα αυτά σημαίνουν:'
  ΓΡΑΨΕ '«Ο»χι, ο μυστικός αριθμός δεν περιέχει το ψηφίο 1.'
  ΓΡΑΨΕ '«Ν»αι, ο μυστικός αριθμός περιέχει το ψηφίο 2.'
  ΓΡΑΨΕ '«Ο»χι, ο μυστικός αριθμός δεν περιέχει το ψηφίο 3.'
  ΓΡΑΨΕ '«Π»ερίπου, υπάρχει 4 στο μυστικό αριθμό αλλά όχι σ΄ αυτή τη θέση.'
  ΓΡΑΨΕ ''
  ΓΡΑΨΕ 'Η εκτέλεση συνεχίζεται μέχρι να πετύχουμε τον αριθμό,'
  ΓΡΑΨΕ 'ή να δώσουμε 0000, το οποίο σημαίνει ότι παραιτούμαστε.'
  ΓΡΑΨΕ ''
!  ΓΡΑΨΕ '...............................................................................'
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ ΨΗΦΙΟ(αριθμός, ποιο): ΑΚΕΡΑΙΑ
!Απομονώνει το #ποιο ψηφίο του αριθμού.
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αριθμός, ποιο
ΑΡΧΗ
  Ψηφίο <- αριθμός DIV Α_Μ(10^(ποιο - 1)) MOD 10
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


ΣΥΝΑΡΤΗΣΗ ΑξιολόγησεΠροσπάθεια(προσπάθειαΧρήστη): ΑΚΕΡΑΙΑ
!Η συνάρτηση αυτή υπολογίζει το αποτέλεσμα, π.χ. 'ΟΝΟΠ'. Αλλά επειδή η ΓΛΩΣΣΑ
!δεν υποστηρίζει χειρισμό αλφαριθμητικών, χρησιμοποιεί αριθμούς, π.χ. 0201.
!Το 2222 σημαίνει ότι ο χρήστης πέτυχε τον αριθμό,
!ενώ το -1 σημαίνει ότι παραιτείται, αφού έδωσε μηδέν σαν είσοδο.
ΣΤΑΘΕΡΕΣ
!Οι πράξεις είναι απλά για να μη φαίνεται ο μυστικός αριθμός
  Μυστικός = 1234*9876 MOD 10000
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: προσπάθειαΧρήστη, αποτέλεσμα, ι, κ
  ΛΟΓΙΚΕΣ: υπάρχει
ΑΡΧΗ
  ΑΝ προσπάθειαΧρήστη = 0 ΤΟΤΕ
    αποτέλεσμα <- -1
  ΑΛΛΙΩΣ
    αποτέλεσμα <- 0
    ΓΙΑ ι ΑΠΟ 4 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
      ΑΝ ΨΗΦΙΟ(Μυστικός, ι) = ΨΗΦΙΟ(προσπάθειαΧρήστη, ι) ΤΟΤΕ
        αποτέλεσμα <- 10*αποτέλεσμα + 2
      ΑΛΛΙΩΣ
        υπάρχει <- ΨΕΥΔΗΣ
        ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 4
          ΑΝ ΨΗΦΙΟ(προσπάθειαΧρήστη, ι) = ΨΗΦΙΟ(Μυστικός, κ) ΤΟΤΕ
            υπάρχει <- ΑΛΗΘΗΣ
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
        ΑΝ υπάρχει ΤΟΤΕ
          αποτέλεσμα <- 10*αποτέλεσμα + 1
        ΑΛΛΙΩΣ
          αποτέλεσμα <- 10*αποτέλεσμα
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ
  ΑξιολόγησεΠροσπάθεια <- αποτέλεσμα
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ



ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΣυγχαρητήρια
ΑΡΧΗ
  ΓΡΑΨΕ '              ▄▄▄ ▄   ▄ ▄▄▄ ▄   ▄  ▄  ▄▄  ▄ ▄ ▄▄▄ ▄ ▄ ▄▄  ▄  ▄  ▄'
  ΓΡΑΨΕ '              ▀▄   ▀▄▀  █    ▀▄▀  █▄█ █▄▀ █▄█  █  █▄█ █▄▀ █ █▄█ █'
  ΓΡΑΨΕ '              █▄▄   █   █   ▄▀ ▀▄ █ █ █   █ █  █  █ █ █   █ █ █ ▄'
  ΓΡΑΨΕ '                  Είσαι ιδιοφυία, πέτυχες το μυστικό αριθμό!'
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΜήνυμαΠαραίτησης
ΑΡΧΗ
  ΓΡΑΨΕ '              ▄▄▄ ▄   ▄ ▄▄▄ ▄   ▄  ▄  ▄▄  ▄ ▄ ▄▄▄ ▄ ▄ ▄▄  ▄  ▄  ▄'
  ΓΡΑΨΕ '              ▀▄   ▀▄▀  █    ▀▄▀  █▄█ █▄▀ █▄█  █  █▄█ █▄▀ █ █▄█ █'
  ΓΡΑΨΕ '              █▄▄   █   █   ▄▀ ▀▄ █ █ █   █ █  █  █ █ █   █ █ █ ▄'
  ΓΡΑΨΕ '         ...θα πάρεις την επόμενη φορά αν καταφέρεις να τον πετύχεις!'
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


ΔΙΑΔΙΚΑΣΙΑ ΕμφάνισεΑποτέλεσμα(αποτέλεσμαΠροσπάθειας)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: αποτέλεσμαΠροσπάθειας, ι
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ 4 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
    ΕΠΙΛΕΞΕ ΨΗΦΙΟ(αποτέλεσμαΠροσπάθειας, ι)
      ΠΕΡΙΠΤΩΣΗ 0
        ΓΡΑΨΕ 'Ο '
      ΠΕΡΙΠΤΩΣΗ 1
        ΓΡΑΨΕ 'Π '
      ΠΕΡΙΠΤΩΣΗ 2
        ΓΡΑΨΕ 'Ν '
    ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ ''
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Προφανώς πρέπει να γίνει έλεγχος με πολλές διαδικασίες και συναρτήσεις με ανακατεμένους ορισμούς για να βρεθεί το λάθος!

Ευχαριστώ Bugman!
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

komni

  • Θαμώνας
  • ***
  • Μηνύματα: 48
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #101 στις: 21 Μαρ 2021, 08:52:18 μμ »
Καλησπέρα σε όλους,

Ζητώ συγγνώμη που αργώ με τα bugs αλλά αυτό τον καιρό έχω πολύ λίγο χρόνο. Θα προσπαθήσω να διορθώσω όσα μπορώ το επόμενο ΣΚ.

Στο κομμάτι κώδικα που έστειλε ο dpa, το σφάλμα δεν βρίσκεται στην γραμμή 6 αλλά στην γραμμή όπου ορίζεται η διαδικασία ΕμφάνισεΟδηγίες. Οπότε εδώ έχουμε 2 bugs: ένα στο ότι δεν επιτρέπω ορισμό διαδικασίας χωρίς () και ένα άλλο στο error handling.

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 826
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #102 στις: 26 Μαρ 2021, 08:22:21 πμ »
Καλησπέρα σε όλους,

Ζητώ συγγνώμη που αργώ με τα bugs αλλά αυτό τον καιρό έχω πολύ λίγο χρόνο. Θα προσπαθήσω να διορθώσω όσα μπορώ το επόμενο ΣΚ.

Στο κομμάτι κώδικα που έστειλε ο dpa, το σφάλμα δεν βρίσκεται στην γραμμή 6 αλλά στην γραμμή όπου ορίζεται η διαδικασία ΕμφάνισεΟδηγίες. Οπότε εδώ έχουμε 2 bugs: ένα στο ότι δεν επιτρέπω ορισμό διαδικασίας χωρίς () και ένα άλλο στο error handling.

Καλημέρα Κομηνέ,
δεν πειράζει που αργείς
Ευχαριστώ για το Feedback
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

VAIOS

  • Βετεράνος
  • ****
  • Μηνύματα: 64
  • Γράψτε το προσωπικό σας σλόγκαν!
Πρόβλημα με αρχείο εισόδου
« Απάντηση #103 στις: 28 Μαρ 2021, 09:18:46 μμ »
Πρόβλημα με αρχείο εισόδου
Βάζω αριθμητικές τιμές στο παραθυράκι αφού πατήσω το αρχείο εισόδου αλλά τις βλέπει ως χαρακτήρες. Τι κάνω λάθος;;;

εμφανίζεται το μήνυμα
Διαβάζω από αρχείο εισόδου
5
Γραμμή 8: Σφάλμα: Περίμενα οι τελεστέοι να είναι του ίδιου τύπου, αλλά έλαβα μη συμβατούς τύπους Αριθμός και Χαρακτήρες

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 826
Απ: ΝΕΟΣ διαδικτυακός διερμηνευτής της Γλώσσας
« Απάντηση #104 στις: 30 Μαρ 2021, 01:38:59 πμ »
Καλημέρα σε όλους,

Δοκίμασα τον παρακάτω κώδικα:

Παράθεση

ΠΡΟΓΡΑΜΜΑ Αεροπορικές_εταιρείες
ΜΕΤΑΒΛΗΤΕΣ                   
  ΑΚΕΡΑΙΕΣ: Ν, Ι, Εισπράξεις[50], Σύνολο
  ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ
  ΧΑΡΑΚΤΗΡΕΣ: Εταιρεία[50]
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Αριθμός εταιρειών.. (μικρότερο από 50)'
    ΔΙΑΒΑΣΕ Ν
  ΜΕΧΡΙΣ_ΟΤΟΥ Ν <= 50
  Σύνολο <-- 0
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
    ΓΡΑΨΕ 'Δώσε αεροπορική εταιρεία…'
    ΔΙΑΒΑΣΕ Εταιρεία[Ι]
    ΓΡΑΨΕ 'Δώσε εισπράξεις…'
    ΔΙΑΒΑΣΕ Εισπράξεις[Ι]
    Σύνολο <-- Σύνολο + Εισπράξεις[Ι]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΜΟ <-- Σύνολο/Ν
  ΓΡΑΨΕ 'Μεγαλύτερες από το μέσο όρο'
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
    ΑΝ Εισπράξεις[Ι] > ΜΟ ΤΟΤΕ
      ΓΡΑΨΕ 'Η Εταιρεία:', Εταιρεία[Ι],', με εισπράξεις:', Εισπράξεις[Ι]
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Το μήνυμα σφάλματος ήταν:
Σφάλμα Διερμηνευτή: TypeError: t.left.promote is not a function

Στον Διερμηνευτή του Άλκη εκτελείται κανονικά,είναι το γνωστό παράδειγμα
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science