Αποστολέας Θέμα: Θέμα Γ  (Αναγνώστηκε 3583 φορές)

epsilonXi

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 115
Απ: Θέμα Γ
« Απάντηση #45 στις: 10 Ιούλ 2018, 05:35:30 μμ »
... πινακα χωρις να ξερω απο πριν το μεγεθος του και το δωσω σε καποιον να το κανει πχ σε c τοτε αυτος θα πρεπει να αλλαξει εντελως τον αλγοριθμο...

κι εγώ κατά της χρήσης πίνακα ήμουν και είμαι, αλλά για του λόγου το αληθές,
για δοκίμασε αυτό, δεν είναι javascript, είναι c:

Κώδικας: Javascript
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.     int m,i;
  5.     printf("\n Enter array size: ");
  6.     scanf("%d", &m);
  7.  
  8.     int a[m];
  9.     for (i=0; i<m; i++) {
  10.         a[i] = i;
  11.         printf("\n %d",a[i]);
  12.     }
  13.  
  14. }

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3145
  • to Iterate is human to Recurse divine
Απ: Θέμα Γ
« Απάντηση #46 στις: 10 Ιούλ 2018, 09:32:03 μμ »
Καλή σκέψη αλλά η C υποστηρίζει VLA πίνακες τους οποίους όμως δεν μπορούμε να τους χρησιμοποιούμε στην ψευδογλώσσα.
https://en.wikipedia.org/wiki/Variable-length_array

Θα μπορούσαμε επίσης να χρησιμοποιήσουμε το new/malloc, αλλά τότε ο πίνακας θα αποθηκευόταν στο heap.

Οι πίνακες της ψευδογλώσσας ορίζονται σε compile time. :o
Αντιλαμβάνομαι ότι αυτό που λέω είναι οξύμωρο, δηλαδή στατικές δομές και compile time σε ψευδογλώσσα, έλα όμως που το βιβλίο ορίζει έτσι ακριβώς την ψευδογλώσσα που χρησιμοποιούμε.


« Τελευταία τροποποίηση: 11 Ιούλ 2018, 12:58:03 πμ από evry »
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 376
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Θέμα Γ
« Απάντηση #47 στις: 11 Ιούλ 2018, 04:49:30 μμ »
Το που θα γίνει ο πίνακας είναι μια λεπτομέρεια που δεν έχει να κάνει με κάποιον αλγόριθμο. Υποτίθεται ότι η ψευδογλώσσα και η ΓΛΩΣΣΑ χρησιμοποιούνται για αλγόριθμους.

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 184
Απ: Θέμα Γ
« Απάντηση #48 στις: 11 Ιούλ 2018, 05:59:23 μμ »
κι εγώ κατά της χρήσης πίνακα ήμουν και είμαι, αλλά για του λόγου το αληθές,
για δοκίμασε αυτό, δεν είναι javascript, είναι c:

Κώδικας: Javascript
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.     int m,i;
  5.     printf("\n Enter array size: ");
  6.     scanf("%d", &m);
  7.  
  8.     int a[m];
  9.     for (i=0; i<m; i++) {
  10.         a[i] = i;
  11.         printf("\n %d",a[i]);
  12.     }
  13.  
  14. }

στο visual studio που εχω δεν το τρεχει παντως.απο την αλλη στο dev το τρεχει κανονικα

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Θέμα Γ
« Απάντηση #49 στις: 11 Ιούλ 2018, 06:06:32 μμ »
στο visual studio που εχω δεν το τρεχει παντως

Ο msvc δεν υλοποιεί την C99 και δεν υποστήριζει VLA. https://docs.microsoft.com/en-us/cpp/c-language/ansi-conformance

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 184
Απ: Θέμα Γ
« Απάντηση #50 στις: 11 Ιούλ 2018, 06:17:08 μμ »
Ο msvc δεν υλοποιεί την C99 και δεν υποστήριζει VLA. https://docs.microsoft.com/en-us/cpp/c-language/ansi-conformance

α οκ εγω εκει τρεχω  παντως τα περισσοτερα που κανω γιατι εχει απειρες επιλογες απο γλωσσες να διαλεξεις και πολυ ωραιο περιβαλλον.οταν θελω να κανω κατι που εχει μεταβλητο μεγεθος πινακα χρησιμοποιω τη c++ κυριως γιατι εχει vectors που ειναι πολυ πιο διαχειρισιμοι με την εννοια οτι μπορεις να προσθετεις και να αφαιρεις θεσεις χωρις να δεσμευσεις παραπανω απο οσες χρειαζεσαι.πχ αντι να βαλεις ενα Ν μαχ=10^4 πχ και μετα να λες διαβασε α[ι] και καποιες θεσεις να μεινουν αχρισιμοποιητες ,στη c++ κανεις το ιδιο αλλα δε δεσμευεις παραπανω θεσεις αφου οταν τελειωσει το διαβασμα του πινακα δεσμευεις μονο τις θεσεις τις οποιες εχουν διαβαστει

itt

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 428
  • Real stupidity beats ΑΙ any time
Απ: Θέμα Γ
« Απάντηση #51 στις: 11 Ιούλ 2018, 06:28:43 μμ »
α οκ εγω εκει τρεχω  παντως τα περισσοτερα που κανω γιατι εχει απειρες επιλογες απο γλωσσες να διαλεξεις και πολυ ωραιο περιβαλλον.οταν θελω να κανω κατι που εχει μεταβλητο μεγεθος πινακα χρησιμοποιω τη c++ κυριως γιατι εχει vectors που ειναι πολυ πιο διαχειρισιμοι με την εννοια οτι μπορεις να προσθετεις και να αφαιρεις θεσεις χωρις να δεσμευσεις παραπανω απο οσες χρειαζεσαι.πχ αντι να βαλεις ενα Ν μαχ=10^4 πχ και μετα να λες διαβασε α[ι] και καποιες θεσεις να μεινουν αχρισιμοποιητες ,στη c++ κανεις το ιδιο αλλα δε δεσμευεις παραπανω θεσεις αφου οταν τελειωσει το διαβασμα του πινακα δεσμευεις μονο τις θεσεις τις οποιες εχουν διαβαστει

Το τι υπαγορεύει ένα standard κάποιας γλώσσας, δυστυχώς δεν είναι επαρκές επιχείρημα στη συζήτηση του τι μπορείς να κάνεις με την ψευδογλώσσα του μαθήματος. Συζήτηση που έχει γίνει πάρα πολλές φορές εδώ μέσα. Το ότι υπάρχουν γλώσσες (και κατ' επέκταση υλοποιήσεις αυτών) που υποστηρίζουν VLA είναι αδιαμφισβήτητο, αλλά εαν δεν υπάρξει κάποια επίσημη θέση σχετικά με τους περιορισμούς της ψευδογλώσσας, το τι κάνει η C είναι καθάρα φιλολογική συζήτηση.

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 184
Απ: Θέμα Γ
« Απάντηση #52 στις: 14 Ιούλ 2018, 01:57:51 μμ »
Το τι υπαγορεύει ένα standard κάποιας γλώσσας, δυστυχώς δεν είναι επαρκές επιχείρημα στη συζήτηση του τι μπορείς να κάνεις με την ψευδογλώσσα του μαθήματος. Συζήτηση που έχει γίνει πάρα πολλές φορές εδώ μέσα. Το ότι υπάρχουν γλώσσες (και κατ' επέκταση υλοποιήσεις αυτών) που υποστηρίζουν VLA είναι αδιαμφισβήτητο, αλλά εαν δεν υπάρξει κάποια επίσημη θέση σχετικά με τους περιορισμούς της ψευδογλώσσας, το τι κάνει η C είναι καθάρα φιλολογική συζήτηση.

μα ναι και γω για αυτο ειπα οτι καλυτερα να λαμβανεις τη χειροτερη περιπτωση μιας και η ψευδογλωσσα γενικα ειναι βοηθητικο προγραμματιστικο εργαλειο και λογικα στα πλαισια του μαθηματος θελαν να διδασκεται οσο πιο αυστηρα γινεται σε τετοιου ειδους θεματα.οποτε  καλυτερα να βγει μια τελικη αποφαση απο το υπουργειο που να αποσαφηνιζει μια και καλη αυτο το θεμα(αν δεν εχει ηδη βγει) ωστε να μην υπαρχουν σκοτωμοι καθε χρονο

Sergio

  • Αστέριος Φανίκος, Καθηγητής Πληροφορικής, fanikosaATschDOTgr
  • Δεινόσαυρος
  • *****
  • Μηνύματα: 801
  • Κάλλιο γνώση, παρά γρόσι.. (ΛΑΪΚΗ ΠΑΡΟΙΜΙΑ)
    • Προσωπική Σελίδα
Απ: Θέμα Γ
« Απάντηση #53 στις: 21 Ιούλ 2018, 12:37:55 μμ »
Μήπως κάποιες αναρτήσεις δεν ανήκουν σε αυτό το θέμα;;
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

sakisnemkav

  • Βετεράνος
  • ****
  • Μηνύματα: 66