Εισοδος Αλγορίθμου

Ξεκίνησε από Skara, 03 Οκτ 2008, 02:12:19 ΜΜ

« προηγούμενο - επόμενο »

Laertis

Μου αρέσει η απάντηση του συγγραφέα ...

Ήξοις αφίξοις ....
Με την απάντηση αυτή καλύπτονται όλες οι απόψεις  :D

Προφανώς όλες οι αναθέσεις τιμών δεν είναι είσοδος, αλλά απο την άλλη -η αντίθετη λογική- δέχεται ότι είναι είσοδος το α=1 στην αρχή ενός αλγορίθμου.

Η λογική του βιβλίου όμως ποιά είναι ;

Καλά τα λέει ο knuth, καλά τα λέει ο Άλκης και ο Γιώργος, αλλά το βιβλίο λέει :

Κάθε αλγόριθμος ικανοποιεί απαραίτητα τα επόμενα κριτήρια μπλα..μπλα

Εφόσον είναι απαραίτητη η είσοδος (έστω και με καμία τιμή) πρέπει να την ανακαλύψουμε αλλιώς δεν υπάρχει αλγόριθμος.
Ή θα αλλάξει η διατύπωση στο κριτήριο εισόδου ή εγώ θα επιμένω να λέω στα παιδιά ότι η αρχική εντολή εκχώρησης τιμής  α<--1 "θεωρείται" είσοδος για να ονομάσουμε αλγόριθμο αυτό που υλοποιούμε.
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

gpapargi

Καλημέρα
Αυτό που ήθελα να πω είναι ότι δεν είναι αναγκαίο ο αλγόριθμος να έχει είσοδο ανεξάρτητα από το τι λέει το βιβλίο. Απλά θα είναι ένας αλγόριθμος που κάνει πάντα το ίδια πράγμα και δεν έχει ενδιαφέρον.

Να μερικά παραδείγματα:

Αλγόριθμος μήνυμα
  Εμφάνισε «Καλημέρα»
Τέλος μήνυμα

Αυτό προφανώς δεν έχει είσοδο.

Να ένα ακόμα

Αλγόριθμος αριθμοί
Για ι από 1 μέχρι 100
  Εμφάνισε ι
Τέλος_επανάληψης
Τέλος αριθμοί

Αν το πρώτο δεν έχει είσοδο τότε ούτε το δεύτερο έχει. Δεν είναι λογικό κάθε αριθμός που παράγεται μέσα σε ένα αλγόριθμο να είναι είσοδος. Αν ήταν έτσι και μια αρχικοποίηση αθροιστή θα ήταν είσοδος.

Να και ένας τρίτος αλγόριθμος

Αλγόριθμος άθροισμα
S<-0
Για ι από 1 μέχρι 100
  S<-S+ι
Τέλος_επανάληψης
Εμφάνισε S
Τέλος άθροισμα

Αν ο δεύτερος δεν έχει είσοδο τότε ούτε ο τρίτος δεν έχει αφού απλώς αλλάζει την εντολή από απλή εκτύπωση σε πρόσθεση. Όμως το αν κάτι έχει είσοδο ή έξοδο δεν μπορεί να εξαρτάται από το τι κάνουμε με τις τιμές αλλά αποκλειστικά από τον τρόπο παραγωγής τους.

Αυτό που θέλω επίσης να τονίσω είναι ότι ένας αλγόριθμος είναι μια ανεξάρτητη οντότητα και δεν μπορεί να έχει ανάγκη από κάποια εκφώνηση για να μελετηθεί. Πχ μας δίνουν ένα αλγόριθμο που κάνει κάποια πράγματα. Πρέπει να μπορούμε να πούμε αν έχει ή δεν έχει είσοδο (ή κάποιο άλλο χαρακτηριστικό ή ας πούμε να βρούμε την πολυπλοκότητά του) ανεξάρτητα από το αν υπάρχει κάποια εκφώνηση από πίσω του. Ο αλγόριθμος είναι αυθύπαρκτη οντότητα. Δεν είναι δυνατόν να αναζητούμε σε κάποια εκφώνηση το αν έχει είσοδο ένας αλγόριθμος.

Αν δει κανείς τον Knuth (από όπου είναι παρμένα τα κριτήρια) λέει:
“[…] an algorithm has five important features”
Μιλάει δηλαδή για «χαρακτηριστικά» (features) και όχι κριτήρια. Τη λέξη criteria την αναφέρει στην καθοριστικότητα αλλά όχι στην είσοδο. Άρα για μένα δεν υπάρχει αυτή η βαριά σημασία της λέξης «κριτήρια» που υπονοεί ότι αν κάποιο δεν πληρείται τότε δεν είναι αλγόριθμος (όπως πχ τα κριτήρια ισότητας τριγώνων καθορίζουν αν 2 τρίγωνα είναι ίσα ή όχι). Η λέξη «κριτήρια» εμφανίστηκε κατά τη μεταφορά στα ελληνικά και πολύ κακώς της δίνουμε εμείς τόσο βαριά σημασία.

alkisg

Παράθεση από: Laertis στις 09 Οκτ 2008, 09:33:42 ΠΜ
Κάθε αλγόριθμος ικανοποιεί απαραίτητα τα επόμενα κριτήρια μπλα..μπλα

Εφόσον είναι απαραίτητη η είσοδος (έστω και με καμία τιμή) πρέπει να την ανακαλύψουμε αλλιώς δεν υπάρχει αλγόριθμος.

Γιώργο, συμφωνούμε όλοι ότι υπάρχει πρόβλημα.
Εκτός όμως από πιο σωστό (κατά την άποψή μου), είναι και πιο απλό να υιοθετηθεί η άποψη του Knuth ότι τα κριτήρια δεν είναι κριτήρια αλλά χαρακτηριστικά (τα οποία έτσι κι αλλιώς μας παιδεύουν και πέρα από το συγκεκριμένο "κριτήριο" της εισόδου), παρά να αλλάξουμε την ίδια την έννοια της εισόδου (και δημιουργώντας έτσι πολύ περισσότερες ασυνέπειες και προβλήματα) στην προσπάθειά μας να δικαιολογήσουμε μια και μόνη λανθασμένη λέξη ("απαραίτητα").

Αν θες π.χ. να προετοιμάσεις τους μαθητές σου για ένα θέμα στις πανελλαδικές που να ζητάει "ποια είναι η είσοδος του παρακάτω αλγορίθμου;" πώς θα μπορέσεις να τους εξηγήσεις πότε μια ανάθεση τιμής θεωρείται είσοδος και πότε μια εντολή Για θεωρείται είσοδος;
Αν θες προσπάθησε με μένα σαν να είμαι μαθητής σου, χωρίς καμία διάθεση ειρωνίας πραγματικά δεν έχω καταλάβει σε ποιες περιπτώσεις θεωρείτε την ανάθεση τιμής είσοδο και σε ποιες περιπτώσεις όχι!

Ενώ με την άλλη, "μη αντίθετη" άποψη, είσοδος είναι μόνο η Διάβασε και τα Δεδομένα. Τελεία. Random και λοιπές "απλές εντολές παραγωγής πρωτογενών τιμών" δεν έχουμε στην ψευδογλώσσα και στη ΓΛΩΣΣΑ, οπότε είναι πολύ απλό να ξεχωρίζει κάποιος μαθητής την είσοδο. Και είναι συνεπές και με την έννοια της εισόδου γενικά (block διάγραμμα είσοδος / επεξεργασία / έξοδος) αλλά και με την έννοια της εξόδου, "Εμφάνισε" και "Αποτελέσματα". Αλλιώς θα πρέπει να αρχίσουμε την ίδια συζήτηση και για την έξοδο! :)

@Κώστας: νομίζω αυτά που ρωτάς τα ξανασυζητήσαμε πιο πάνω... Για τις συνταγές μαγειρικής, αν θες διάβασε το βιβλίο του Knuth, θεωρεί ότι έχουν είσοδο (eggs, flour, etc.) και έξοδο (TV dinner, etc.) αλλά τις αναφέρει σε αντιδιαστολή με τους αλγορίθμους, κυρίως επειδή δεν έχουν definiteness. Δεν αναφέρει αν ο χρήστης δίνει τα αυγά και το αλεύρι στο μάγειρα ή αν ο ίδιος ο χρήστης κάνει και το μάγειρα ή αν ο μάγειρας πηγαίνει μόνος του και τα αγοράζει από το σουπερμάρκετ.

gpapargi

Ρε Άλκη... εκείνες οι διορθώσεις που γράφαμε εκείνο το Σαββατοκύριακο και περιείχαν και τα ουσιαστικά ζητήματα πέρα από τα τυπογραφικά... τι απέγιναν; Υπάρχει καμία περίπτωση να τις δούμε ποτέ ενσωματωμένες στο βιβλίο; Τα περιείχαν όλα αυτά τα θέματα και άλλα πολλά.

stavrax

Τελικά κατατάσσομαι κι εγώ ανάμεσα στα δύο στρατόπεδα:
Το βιβλίο μας έχει μπλέξει λιγάκι.
Προτείνω όσοι από μας είναι σε σχολείο να κινήσουν την προβλεπόμενη διαδικασία ταυτόχρονα μπας και πάρουμε καμμία επίσημη απάντηση από τις αρχές  :police:


ntzios kostas

Να γίνει πρόγραμμα που να εμφανίζει όλους τους πρώτους από το 1 μέχρι 10000.

Το σχολικό βιβλίο σελίδα 11 γράφει: Η σωστή επίλυση ενός προβλήματος προϋποθέτει τον ακριβή προσιορισμό των δεδομένων που παρέχει το πρόβλημα.=>

=>Τα δεδομένα αυτά είναι τα δεδομένα για την λύση του προβλήματος=> είναι τα δεδομένα για το πρόγραμμα που θα φτιάξω και θα λύσει το πρόβλημα. => όμως τα δεδομένα = είσοδος (εκτός αν δεν είναι)=> είσοδος είναι το 1 και το 10000 για το δικό μου πρόγραμμα που θα λύση το πρόβλημα.

Συμφωνώ και με τους δύο Γιώργηδες.
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

alkisg

Παράθεση από: ntzios kostas στις 09 Οκτ 2008, 04:21:21 ΜΜ
Να γίνει πρόγραμμα που να εμφανίζει όλους τους πρώτους από το 1 μέχρι 10000.

Κώδικας: Ψευδογλώσσα
Αλγόριθμος ΟιΠρώτοιΑπόΤο1ΜέχριΤο10000
  Εμφάνισε "
    2     3     5     7    11    13    17    19    23    29
   31    37    41    43    47    53    59    61    67    71
   73    79    83    89    97   101   103   107   109   113
  127   131   137   139   149   151   157   163   167   173
  179   181   191   193   197   199   211   223   227   229
  233   239   241   251   257   263   269   271   277   281
  283   293   307   311   313   317   331   337   347   349
  353   359   367   373   379   383   389   397   401   409
  419   421   431   433   439   443   449   457   461   463
  467   479   487   491   499   503   509   521   523   541
  547   557   563   569   571   577   587   593   599   601
  607   613   617   619   631   641   643   647   653   659
  661   673   677   683   691   701   709   719   727   733
  739   743   751   757   761   769   773   787   797   809
  811   821   823   827   829   839   853   857   859   863
  877   881   883   887   907   911   919   929   937   941
  947   953   967   971   977   983   991   997  1009  1013
 1019  1021  1031  1033  1039  1049  1051  1061  1063  1069
 1087  1091  1093  1097  1103  1109  1117  1123  1129  1151
 1153  1163  1171  1181  1187  1193  1201  1213  1217  1223
 1229  1231  1237  1249  1259  1277  1279  1283  1289  1291
 1297  1301  1303  1307  1319  1321  1327  1361  1367  1373
 1381  1399  1409  1423  1427  1429  1433  1439  1447  1451
 1453  1459  1471  1481  1483  1487  1489  1493  1499  1511
 1523  1531  1543  1549  1553  1559  1567  1571  1579  1583
 1597  1601  1607  1609  1613  1619  1621  1627  1637  1657
 1663  1667  1669  1693  1697  1699  1709  1721  1723  1733
 1741  1747  1753  1759  1777  1783  1787  1789  1801  1811
 1823  1831  1847  1861  1867  1871  1873  1877  1879  1889
 1901  1907  1913  1931  1933  1949  1951  1973  1979  1987
 1993  1997  1999  2003  2011  2017  2027  2029  2039  2053
 2063  2069  2081  2083  2087  2089  2099  2111  2113  2129
 2131  2137  2141  2143  2153  2161  2179  2203  2207  2213
 2221  2237  2239  2243  2251  2267  2269  2273  2281  2287
 2293  2297  2309  2311  2333  2339  2341  2347  2351  2357
 2371  2377  2381  2383  2389  2393  2399  2411  2417  2423
 2437  2441  2447  2459  2467  2473  2477  2503  2521  2531
 2539  2543  2549  2551  2557  2579  2591  2593  2609  2617
 2621  2633  2647  2657  2659  2663  2671  2677  2683  2687
 2689  2693  2699  2707  2711  2713  2719  2729  2731  2741
 2749  2753  2767  2777  2789  2791  2797  2801  2803  2819
 2833  2837  2843  2851  2857  2861  2879  2887  2897  2903
 2909  2917  2927  2939  2953  2957  2963  2969  2971  2999
 3001  3011  3019  3023  3037  3041  3049  3061  3067  3079
 3083  3089  3109  3119  3121  3137  3163  3167  3169  3181
 3187  3191  3203  3209  3217  3221  3229  3251  3253  3257
 3259  3271  3299  3301  3307  3313  3319  3323  3329  3331
 3343  3347  3359  3361  3371  3373  3389  3391  3407  3413
 3433  3449  3457  3461  3463  3467  3469  3491  3499  3511
 3517  3527  3529  3533  3539  3541  3547  3557  3559  3571
 3581  3583  3593  3607  3613  3617  3623  3631  3637  3643
 3659  3671  3673  3677  3691  3697  3701  3709  3719  3727
 3733  3739  3761  3767  3769  3779  3793  3797  3803  3821
 3823  3833  3847  3851  3853  3863  3877  3881  3889  3907
 3911  3917  3919  3923  3929  3931  3943  3947  3967  3989
 4001  4003  4007  4013  4019  4021  4027  4049  4051  4057
 4073  4079  4091  4093  4099  4111  4127  4129  4133  4139
 4153  4157  4159  4177  4201  4211  4217  4219  4229  4231
 4241  4243  4253  4259  4261  4271  4273  4283  4289  4297
 4327  4337  4339  4349  4357  4363  4373  4391  4397  4409
 4421  4423  4441  4447  4451  4457  4463  4481  4483  4493
 4507  4513  4517  4519  4523  4547  4549  4561  4567  4583
 4591  4597  4603  4621  4637  4639  4643  4649  4651  4657
 4663  4673  4679  4691  4703  4721  4723  4729  4733  4751
 4759  4783  4787  4789  4793  4799  4801  4813  4817  4831
 4861  4871  4877  4889  4903  4909  4919  4931  4933  4937
 4943  4951  4957  4967  4969  4973  4987  4993  4999  5003
 5009  5011  5021  5023  5039  5051  5059  5077  5081  5087
 5099  5101  5107  5113  5119  5147  5153  5167  5171  5179
 5189  5197  5209  5227  5231  5233  5237  5261  5273  5279
 5281  5297  5303  5309  5323  5333  5347  5351  5381  5387
 5393  5399  5407  5413  5417  5419  5431  5437  5441  5443
 5449  5471  5477  5479  5483  5501  5503  5507  5519  5521
 5527  5531  5557  5563  5569  5573  5581  5591  5623  5639
 5641  5647  5651  5653  5657  5659  5669  5683  5689  5693
 5701  5711  5717  5737  5741  5743  5749  5779  5783  5791
 5801  5807  5813  5821  5827  5839  5843  5849  5851  5857
 5861  5867  5869  5879  5881  5897  5903  5923  5927  5939
 5953  5981  5987  6007  6011  6029  6037  6043  6047  6053
 6067  6073  6079  6089  6091  6101  6113  6121  6131  6133
 6143  6151  6163  6173  6197  6199  6203  6211  6217  6221
 6229  6247  6257  6263  6269  6271  6277  6287  6299  6301
 6311  6317  6323  6329  6337  6343  6353  6359  6361  6367
 6373  6379  6389  6397  6421  6427  6449  6451  6469  6473
 6481  6491  6521  6529  6547  6551  6553  6563  6569  6571
 6577  6581  6599  6607  6619  6637  6653  6659  6661  6673
 6679  6689  6691  6701  6703  6709  6719  6733  6737  6761
 6763  6779  6781  6791  6793  6803  6823  6827  6829  6833
 6841  6857  6863  6869  6871  6883  6899  6907  6911  6917
 6947  6949  6959  6961  6967  6971  6977  6983  6991  6997
 7001  7013  7019  7027  7039  7043  7057  7069  7079  7103
 7109  7121  7127  7129  7151  7159  7177  7187  7193  7207
 7211  7213  7219  7229  7237  7243  7247  7253  7283  7297
 7307  7309  7321  7331  7333  7349  7351  7369  7393  7411
 7417  7433  7451  7457  7459  7477  7481  7487  7489  7499
 7507  7517  7523  7529  7537  7541  7547  7549  7559  7561
 7573  7577  7583  7589  7591  7603  7607  7621  7639  7643
 7649  7669  7673  7681  7687  7691  7699  7703  7717  7723
 7727  7741  7753  7757  7759  7789  7793  7817  7823  7829
 7841  7853  7867  7873  7877  7879  7883  7901  7907  7919
 7927  7933  7937  7949  7951  7963  7993  8009  8011  8017
 8039  8053  8059  8069  8081  8087  8089  8093  8101  8111
 8117  8123  8147  8161  8167  8171  8179  8191  8209  8219
 8221  8231  8233  8237  8243  8263  8269  8273  8287  8291
 8293  8297  8311  8317  8329  8353  8363  8369  8377  8387
 8389  8419  8423  8429  8431  8443  8447  8461  8467  8501
 8513  8521  8527  8537  8539  8543  8563  8573  8581  8597
 8599  8609  8623  8627  8629  8641  8647  8663  8669  8677
 8681  8689  8693  8699  8707  8713  8719  8731  8737  8741
 8747  8753  8761  8779  8783  8803  8807  8819  8821  8831
 8837  8839  8849  8861  8863  8867  8887  8893  8923  8929
 8933  8941  8951  8963  8969  8971  8999  9001  9007  9011
 9013  9029  9041  9043  9049  9059  9067  9091  9103  9109
 9127  9133  9137  9151  9157  9161  9173  9181  9187  9199
 9203  9209  9221  9227  9239  9241  9257  9277  9281  9283
 9293  9311  9319  9323  9337  9341  9343  9349  9371  9377
 9391  9397  9403  9413  9419  9421  9431  9433  9437  9439
 9461  9463  9467  9473  9479  9491  9497  9511  9521  9533
 9539  9547  9551  9587  9601  9613  9619  9623  9629  9631
 9643  9649  9661  9677  9679  9689  9697  9719  9721  9733
 9739  9743  9749  9767  9769  9781  9787  9791  9803  9811
 9817  9829  9833  9839  9851  9857  9859  9871  9883  9887
 9901  9907  9923  9929  9931  9941  9949  9967  9973"
Τέλος ΟιΠρώτοιΑπόΤο1ΜέχριΤο10000


Έλυσα το πρόβλημα. Η Εμφάνισε δηλαδή είναι εντολή εισόδου;

Κώστα άστο, δεν πρόκειται να συμφωνήσουμε. Όσοι είναι σε Λύκειο και θέλουν ας κινήσουν τις προβλεπόμενες διαδικασίες.

alkisg

Παράθεση από: gpapargi στις 09 Οκτ 2008, 02:51:29 ΜΜ
Ρε Άλκη... εκείνες οι διορθώσεις που γράφαμε εκείνο το Σαββατοκύριακο και περιείχαν και τα ουσιαστικά ζητήματα πέρα από τα τυπογραφικά... τι απέγιναν; Υπάρχει καμία περίπτωση να τις δούμε ποτέ ενσωματωμένες στο βιβλίο; Τα περιείχαν όλα αυτά τα θέματα και άλλα πολλά.

Δυστυχώς από ότι άκουσα είχαν δύο προβλήματα, ένα στο να μη γίνει επανασελιδοποίηση (=κονδύλια) και ένα ακόμα στο ότι ήταν δύσκολο να συγκεντρώσουν ξανά όλη τη συγγραφική ομάδα ώστε να αποφανθεί γι' αυτά τα ζητήματα (=πάλι κονδύλια). Η καλή διάθεση δεν ήταν αρκετή...

Επομένως μόνο μέσω σχολικών συμβούλων, ώστε να φτάσει ο κόμπος στο χτένι, να αποφασίσουν να διαθέσουν κονδύλια και τότε να τους στείλουμε ξανά όλο το πακέτο.

ntzios kostas

Τι σχέση έχει το εμφάνισε. Είσοδος είναι το 1 και το 10000. Πώς έλυσες το πρόβλημα είναι άλλο θέμα. Αν η εκφώνηση ήταν διαφορετική 2 έως το 100 θα ήταν άλλα τα αποτελέσματα. Άρα τα αποτελέσματά σου εξαρτώνται από την εκφώνηση. ʼρα αυτά είναι είσοδος. Τις τιμές αυτές τις εισάγει ο προγραμματιστής για τη λύση του προβλήματος ενώ σε άλλα προβλήματα τις εισάγει ο χρήστης.  

Νομίζω και εγώ ότι το εξαντλήσαμε το θέμα. Πάντως μπορεί να μην συμφωνήσαμε, αλλά οι κουβέντες αυτές κάνουν πιστεύω πολύ καλό σε μας και στο μάθημα. Ελπίζω κάποιος από τους "μεγάλους" να τις διαβάζουν και να καταλάβουν ότι δεν είναι δυνατόν να πετάνε μία πρόταση και να μας αφήνουν να ταλαντευόμαστε γύρω από τα ρήματα, τα αντικείμενα και τα υποκείμενά της για να βγάλουμε κάποια συμπεράσματα.
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

alkisg

Παράθεση από: ntzios kostas στις 09 Οκτ 2008, 05:12:13 ΜΜ
Τι σχέση έχει το εμφάνισε. Είσοδος είναι το 1 και το 10000.

Έλεγα να το σταματήσουμε, αλλά να κάτι (ακόμα) που δεν κατάλαβα:
Δηλαδή μπορεί να έχουμε είσοδο ακόμα και χωρίς εντολές; Αφού το 1 και το 10000, η είσοδος όπως λες, δεν υπάρχουν πουθενά στον αλγόριθμο-λύση του προβλήματος...

Επομένως αν σε ένα θέμα μας δώσουν έναν αλγόριθμο και μας ζητήσουν αν έχει ή όχι είσοδο, και δεν μας δώσουν την εκφώνηση, δεν μπορούμε να απαντήσουμε;

Ή, με άλλα λόγια, το
Αλγόριθμος Καλημέρα
  Εμφάνισε "Καλημέρα"
Τέλος Καλημέρα

που έγραψε παραπάνω ο Γιώργος, έχει είσοδο επειδή η εκφώνηση λέει να φτιάξουμε ένα πρόγραμμα που να εμφανίζει καλημέρα;

Νομίζω ότι μπλέκεις την είσοδο ενός αλγορίθμου με την εκφώνηση του προβλήματος! :)
(εκτός αν δεν κατάλαβα καθόλου τι εννοείς...)

ntzios kostas

#40
Κάπως νομίζω ότι πάμε να βγάλουμε άκρη. Όταν λέμε είσοδο μιλάμε είσοδο κατά τη φάση εκτέλεσης του αλγόριθμου ή είσοδος κατά τη φάση δημιουργίας του αλγόριθμου; Πιστεύω κάπου εκεί υπάρχει η διαφορά μας. Αλλά δεν είμαι σίγουρος. 
Κάνω παράθεση τις συνεπαγωγές που έκανα πριν:
ΠαράθεσηΤο σχολικό βιβλίο σελίδα 11 γράφει: Η σωστή επίλυση ενός προβλήματος προϋποθέτει τον ακριβή προσιορισμό των δεδομένων που παρέχει το πρόβλημα.=>

=>Τα δεδομένα αυτά είναι τα δεδομένα για την λύση του προβλήματος=> είναι τα δεδομένα για το πρόγραμμα που θα φτιάξω και θα λύσει το πρόβλημα. => όμως τα δεδομένα = είσοδος (εκτός αν δεν είναι)=> είσοδος είναι το 1 και το 10000 για το δικό μου πρόγραμμα που θα λύση το πρόβλημα.
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

alkisg

Ε, κατά τη φάση εκτέλεσης προφανώς...
(τουλάχιστον για μένα, ας καταθέσουν κι οι άλλοι την άποψή τους...)

Δηλαδή αφού έχει σχεδιαστεί ένας αλγόριθμος, τον κοιτάμε από την πλευρά του εκτελεστή, και πρέπει να μπορούμε να δούμε ποια "κριτήρια" ικανοποιούνται χωρίς καν να γνωρίζουμε την εκφώνηση.

ntzios kostas


Εδώ πιστεύω είναι το πρόβλημα που δημιουργήθηκε. Σωστό είναι αυτό που λες αλλά μήπως είσοδος μπορεί να περιλαμβάνει και στοιχεία (δεδομένα) του ίδιου του προβλήματος; Περιμένω και εγώ την άποψη των υπολοίπων.
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

Laertis

#43
Παράθεση από: alkisg στις 09 Οκτ 2008, 01:51:49 ΜΜ
Εκτός όμως από πιο σωστό (κατά την άποψή μου), είναι και πιο απλό να υιοθετηθεί η άποψη του Knuth ότι τα κριτήρια δεν είναι κριτήρια αλλά χαρακτηριστικά (τα οποία έτσι κι αλλιώς μας παιδεύουν και πέρα από το συγκεκριμένο "κριτήριο" της εισόδου), παρά να αλλάξουμε την ίδια την έννοια της εισόδου (και δημιουργώντας έτσι πολύ περισσότερες ασυνέπειες και προβλήματα) στην προσπάθειά μας να δικαιολογήσουμε μια και μόνη λανθασμένη λέξη ("απαραίτητα").

Ωραία, αλλά δεν είναι λίγα τα σημεία στο βιβλίο που πρέπει να "επέμβουμε" και να διορθώσουμε. Όταν έχεις ένα βιβλίο όπου αρκετά γραφόμενα πρέπει να διορθώνεις αυτοβούλως ή να καταρρίπτεις είναι αρκετά επικίνδυνο, για το ίδιο το μάθημα το οποίο αρχίζει να αμφισβητείται απο τους μαθητές. Έτσι προτιμώ να ακολουθώ τους κανόνες του βιβλίου με το οποίο εξετάζονται (έστω κι αν είναι ασαφείς ή λανθασμένοι) παρά να μην έχω κανόνες. Μέχρι να διορθωθούν τα λάθη του βιβλίου και δεν μπαίνουν πια λάθος θέματα στις εξετάσεις.

Παράθεση από: alkisg στις 09 Οκτ 2008, 01:51:49 ΜΜ
Αν θες π.χ. να προετοιμάσεις τους μαθητές σου για ένα θέμα στις πανελλαδικές που να ζητάει "ποια είναι η είσοδος του παρακάτω αλγορίθμου;" πώς θα μπορέσεις να τους εξηγήσεις πότε μια ανάθεση τιμής θεωρείται είσοδος και πότε μια εντολή Για θεωρείται είσοδος;
Αν θες προσπάθησε με μένα σαν να είμαι μαθητής σου, χωρίς καμία διάθεση ειρωνίας πραγματικά δεν έχω καταλάβει σε ποιες περιπτώσεις θεωρείτε την ανάθεση τιμής είσοδο και σε ποιες περιπτώσεις όχι!

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

Παράθεση από: alkisg στις 09 Οκτ 2008, 01:51:49 ΜΜ
Ενώ με την άλλη, "μη αντίθετη" άποψη, είσοδος είναι μόνο η Διάβασε και τα Δεδομένα. Τελεία. Random και λοιπές "απλές εντολές παραγωγής πρωτογενών τιμών" δεν έχουμε στην ψευδογλώσσα και στη ΓΛΩΣΣΑ, οπότε είναι πολύ απλό να ξεχωρίζει κάποιος μαθητής την είσοδο. Και είναι συνεπές και με την έννοια της εισόδου γενικά (block διάγραμμα είσοδος / επεξεργασία / έξοδος) αλλά και με την έννοια της εξόδου, "Εμφάνισε" και "Αποτελέσματα". Αλλιώς θα πρέπει να αρχίσουμε την ίδια συζήτηση και για την έξοδο! :)

Την συζήτηση την έχουμε πιάσει παλαιότερα για την αποτελεσματικότητα, για τις συναρτήσεις, για την επίλεξε, για τις στατικές και δυναμικές δομές (στοίβα, ουρά) κ.α ..
Η μη αντίθετη άποψη είναι και η σωστή κατα τη γνώμη μου αλλά έλα ντε που ο συγγραφέας δεν το υποστηρίζει στο βιβλίο αλλά μόνο πρώτη φορά σε αυτό το thread και μάλιστα με χρησμό Πυθίας.
Μικρή όμως σημασία έχει το τι υποστηρίζω και τι λέω εγώ.
Το θέμα είναι τι διδάσκεται γενικά από όλους μας σε ένα Πανελλαδικώς εξεταζόμενο μάθημα.
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

P.Tsiotakis

Είσοδος (input). Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών.

Κατά την ταπεινή μου άποψη: Στον ορισμό, το κόκκινο αφορά στην εντολή Διάβασε. Μπορεί με το Διάβασε να δίνονται μία, πολλές ή και καμία τιμή δεδομένων [=από το πληκτρολόγιο απο τον χρήστη, ή απο άλλον αλγόριθμο].
Αν ΔΕΝ δίνεται ΚΑΜΙΑ τιμή με Διάβασε, τότε:
- χρησιμοποιείται συνάρτηση παραγωγής τυχαίων αριθμών, προφανώς η RANDOM, RAND ή κάτι τέτοιο στις γλώσσες προγραμματισμού. Εμείς στο σχολικό μας βιβλίο δεν έχουμε ΤΙΠΟΤΑ τέτοιο.
- Χρησιμοποιούνται απλές εντολές. Αναφέρεται στο παράδειγμα που ως επισκέπτης είχα παραθέσει στις 12/4/2006:

Αλγόριθμος ΚΥΡΙΑΚΟΣ
   Β <- 1
   Α <- Β+2
   Εμφάνισε Α
Τέλος ΚΥΡΙΑΚΟΣ

που θεωρώ οτι η πρώτη εντολή (Β <- 1) αποτελεί είσοδο με τη χρήση απλών εντολών. Αλλιώς (απουσία της), ο αλγόριθμος δεν μπορεί να συνεχίσει

ΔΕ θεωρώ οτι όλες οι σταθερές τιμές στην κωδικοποίηση είναι είσοδος στον αλγόριθμο. Μόνο οι πρώτες εντολές εκχώρησης που τροφοδοτούν με τιμές που θα χρειαστούν στον αλγόριθμο.




Παράθεση από: alkisg στις 08 Οκτ 2008, 11:26:00 ΜΜ

Απάντηση του συγγραφέα του σχετικού κεφαλαίου:
Παράθεση
Με απλά λόγια θα έλεγα το εξής.
Συμφωνώ με εκείνους που λενε ότι ουσιαστικά το input δίνεται με το Διάβασε. Με την ίδια (αντίθετη) λογική και το α=1 και το for/while κλπ είναι είσοδος. Δηλαδή, εν τέλει κάθε ανάθεση είναι είσοδος ?

Άλκη, και γω με τη σειρά μου, θα ήθελα να ευχαριστήσω, το μέλος μιας συγγραφικής ομάδας, που μας έδωσε ένα βιβλίο με τις υπογραφές τους γεμάτο ασάφειες, που παλεύουμε όλοι εδώ χρόνια με κόπο και αγωνία να αμβλύνουμε και την πρώτη φορά που θυμάμαι να πρέπει να ασχοληθεί (αυτός/ή ή όποιο μέλος αυτής της ομάδας) με ένα απλό ανεπίσημο email, αφιερώνει 10 δευτερόλεπτα για απάντηση...