ψευδογλώσσα!

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

ψευδογλώσσα!

Δημοσίευσηαπό peny » 10 Φεβ 2013, 02:26

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

Έχω τις παρακάτω 3 εξισώσεις:
5χ+10y+2z=24
3x+4y-z=30
-y+4z=9

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

Ευχαριστώ εκ των πρωτέρων.
1 Linux: Αρχάριος ┃ Προγραμματισμός: Καθόλου ┃ Αγγλικά: Προχωρημένος
2 Ubuntu 11.10 oneiric 64bit (el_GR.utf8), Ubuntu 3.0.0-13-generic, Ubuntu 2.6.38-12-generic, Ubuntu 2.6.32-25-generic, Ubuntu 2.6.32-24-generic,Windows 7
3 Intel Core2 Duo CPU T5800 2.00GHz ‖ RAM 3016 MiB ‖ TOSHIBA Portable PC - TOSHIBA Satellite A300
4 ATI Mobility Radeon HD 3400 Series[1002:95c4]
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136](rev 02)⋮wlan0: Intel WiFi Link 5100 [8086:4232]
peny
babeTUX
babeTUX
 
Δημοσιεύσεις: 39
Εγγραφή: 02 Οκτ 2010, 21:21
Εκτύπωση

Re: ψευδογλώσσα!

Δημοσίευσηαπό eliasps » 10 Φεβ 2013, 02:37

Δεν κατάλαβα καλά τι ακριβώς πρέπει να κάνει ο αλγόριθμος, να λύνει γραμμικά συστήματα 3 μεταβλητών;
Ή απλά να φτιάχνει ένα γράμμικο σύστημα διαβάζοντας τους συντελεστές;
Ποιά ακριβώς είναι η εκφώνηση της άσκησης; Γιατί η δημιουργία ενός γραμμικού συστήματος με προκαθορισμένους συντελεστές δεν μου φαίνεται να έχει και πολύ νόημα.
Άβαταρ μέλους
eliasps
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4017
Εγγραφή: 16 Δεκ 2011, 22:25
Τοποθεσία: Αθήνα, Αττική
Launchpad: eliasps
IRC: eliasps
Εκτύπωση

Re: ψευδογλώσσα!

Δημοσίευσηαπό konnn » 10 Φεβ 2013, 02:40

Μεταφέρθηκε στην κατάλληλη ενότητα

1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: ψευδογλώσσα!

Δημοσίευσηαπό peny » 10 Φεβ 2013, 02:57

Έχεις δίκιο...
Η άσκηση ασχολείται με την μέθοδο Jacobi και ένα υποερώτημα στο οποίο
καλούμαι να απαντήσω είναι ακριβώς αυτό :
Να γραφτεί ένα αλγόριθμος σε ψευδογλώσσα με τον οποίο θα δίνονται τα δεδομένα ώστε να ξεκινήσει η επίλυση με μέθοδο Jacobi.
1 Linux: Αρχάριος ┃ Προγραμματισμός: Καθόλου ┃ Αγγλικά: Προχωρημένος
2 Ubuntu 11.10 oneiric 64bit (el_GR.utf8), Ubuntu 3.0.0-13-generic, Ubuntu 2.6.38-12-generic, Ubuntu 2.6.32-25-generic, Ubuntu 2.6.32-24-generic,Windows 7
3 Intel Core2 Duo CPU T5800 2.00GHz ‖ RAM 3016 MiB ‖ TOSHIBA Portable PC - TOSHIBA Satellite A300
4 ATI Mobility Radeon HD 3400 Series[1002:95c4]
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136](rev 02)⋮wlan0: Intel WiFi Link 5100 [8086:4232]
peny
babeTUX
babeTUX
 
Δημοσιεύσεις: 39
Εγγραφή: 02 Οκτ 2010, 21:21
Εκτύπωση

Re: ψευδογλώσσα!

Δημοσίευσηαπό simosx » 10 Φεβ 2013, 11:47

peny έγραψε:Έχεις δίκιο...
Η άσκηση ασχολείται με την μέθοδο Jacobi και ένα υποερώτημα στο οποίο
καλούμαι να απαντήσω είναι ακριβώς αυτό :
Να γραφτεί ένα αλγόριθμος σε ψευδογλώσσα με τον οποίο θα δίνονται τα δεδομένα ώστε να ξεκινήσει η επίλυση με μέθοδο Jacobi.


Πως λειτουργεί η μέθοδος αυτή;
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: ψευδογλώσσα!

Δημοσίευσηαπό peny » 10 Φεβ 2013, 13:57

Με μια απλή αναφορά στο google θα βρεις πολλά πράγματα για την jacobi
αλλά σε αυτό που ζητάω δεν χρειάζεται να επεκταθούμε στο εσωτερικό κομμάτι της μεθόδου αυτής.
Το ερώτημα απ'ότι μου δόθηκε να καταλάβω είναι το διάβασμα των πινάκων που δημιουργούνται από τις
παραπάνω εξισώσεις.
1 Linux: Αρχάριος ┃ Προγραμματισμός: Καθόλου ┃ Αγγλικά: Προχωρημένος
2 Ubuntu 11.10 oneiric 64bit (el_GR.utf8), Ubuntu 3.0.0-13-generic, Ubuntu 2.6.38-12-generic, Ubuntu 2.6.32-25-generic, Ubuntu 2.6.32-24-generic,Windows 7
3 Intel Core2 Duo CPU T5800 2.00GHz ‖ RAM 3016 MiB ‖ TOSHIBA Portable PC - TOSHIBA Satellite A300
4 ATI Mobility Radeon HD 3400 Series[1002:95c4]
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136](rev 02)⋮wlan0: Intel WiFi Link 5100 [8086:4232]
peny
babeTUX
babeTUX
 
Δημοσιεύσεις: 39
Εγγραφή: 02 Οκτ 2010, 21:21
Εκτύπωση

Re: ψευδογλώσσα!

Δημοσίευσηαπό peny » 10 Φεβ 2013, 14:08

eliasps έγραψε:Δεν κατάλαβα καλά τι ακριβώς πρέπει να κάνει ο αλγόριθμος, να λύνει γραμμικά συστήματα 3 μεταβλητών;
Ή απλά να φτιάχνει ένα γράμμικο σύστημα διαβάζοντας τους συντελεστές;
Ποιά ακριβώς είναι η εκφώνηση της άσκησης; Γιατί η δημιουργία ενός γραμμικού συστήματος με προκαθορισμένους συντελεστές δεν μου φαίνεται να έχει και πολύ νόημα.


νομίζω πως αυτό ακριβώς είναι!
είναι μία άσκηση στην οποία δεν εξετάζομαι σε προγραμματισμό γιαυτό και ζητάει κάτι τόσο γελοίο...
1 Linux: Αρχάριος ┃ Προγραμματισμός: Καθόλου ┃ Αγγλικά: Προχωρημένος
2 Ubuntu 11.10 oneiric 64bit (el_GR.utf8), Ubuntu 3.0.0-13-generic, Ubuntu 2.6.38-12-generic, Ubuntu 2.6.32-25-generic, Ubuntu 2.6.32-24-generic,Windows 7
3 Intel Core2 Duo CPU T5800 2.00GHz ‖ RAM 3016 MiB ‖ TOSHIBA Portable PC - TOSHIBA Satellite A300
4 ATI Mobility Radeon HD 3400 Series[1002:95c4]
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136](rev 02)⋮wlan0: Intel WiFi Link 5100 [8086:4232]
peny
babeTUX
babeTUX
 
Δημοσιεύσεις: 39
Εγγραφή: 02 Οκτ 2010, 21:21
Εκτύπωση

Re: ψευδογλώσσα!

Δημοσίευσηαπό ChrisMiNT » 10 Φεβ 2013, 17:08

Η μέθοδος Jacobi με την ορίζουσα δεν είναι; Τέλος πάντων όταν έδινα πανελλήνιες και έπρεπε να λύνω καμιά 20ρια συστήματα τη μέρα είχα κάνει ένα πρόγραμμα για να μου δίνει το αποτέλεσμα με τη μέθοδο του Gauss. Το είχα γράψει σε ST BASIC και μάλλον το πρώτο κομμάτι είναι αυτό που χρειάζεσαι. Όπως και να χει δες το αν σε βοηθήσει:
Κώδικας: Επιλογή όλων
1    REM D
2    FULLW 2:CLEARW 2
3    DIM A(3,4)
10    FOR I=1 TO 3
20    FOR J=1 TO 4
25    PRINT "Εισάγετε το στοιχείο ";J;" της γραμμής ";I;"για σύστημα της μορφής ax+by+cz=d"
30    INPUT A(I,J)
40    NEXT J
50    NEXT I
60    K=A(2,1)/A(1,1):L=A(3,1)/A(1,1)
70    FOR M1=1 TO 4
80    A(2,M1)=A(2,M1)-K*A(1,M1)
90    NEXT M1
100  FOR M2=1 TO 4
110  A(3,M2)=A(3,M2)-L*A(1,M2)
120  NEXT M2
130  K=A(3,2)/A(2,2)
140  FOR M3=2 TO 4
150  A(3,M3)=A(3,M3)-K*A(2,M3)
160  NEXT M3
170  K=A(2,3)/A(3,3):L=A(1,3)/A(3,3)
180  FOR M4=3 TO 4
190  A(2,M4)=A(2,M4)-K*A(3,M4)
200  NEXT M4
210  FOR M5=2 TO 4
220  A(1,M5)=A(1,M5)-L*A(3,M5)
230  NEXT M5
240  K=A(1,2)/A(2,2):A(1,2)=A(1,2)-K*A(2,2):A(1,4)=A(1,4)-K*A(2,4)
250  X=A(1,4)/A(1,1):Y=A(2,4)/A(2,2):Z=A(3,4)/A(3,3)
260  FULLW 2:CLEARW 2
270  PRINT "X=";X;:PRINT "Y=";Y;:PRINT "Z=";Z
280  INPUT AN$
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.04 raring 3.8.0-29-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 AMD Athlon II X4 635 Processor ‖ RAM 2505 MiB ‖ ASUS INC. M2N-SLI DELUXE
4 nVidia GT218 [GeForce 210] [10de:0a65] {nvidia}
5 eth0: nVidia MCP55 Ethernet [10de:0373] (rev a2) ⋮ eth1: nVidia MCP55 Ethernet [10de:0373] (rev a2)
ChrisMiNT
babeTUX
babeTUX
 
Δημοσιεύσεις: 148
Εγγραφή: 03 Φεβ 2012, 15:27
Εκτύπωση

Re: ψευδογλώσσα!

Δημοσίευσηαπό eliasps » 10 Φεβ 2013, 18:13

Φαντάζομαι πως στην επίλυση ο αλγόριθμος για την Jacobi θα δίνεται έτοιμος, διαφορετικά, ανάλογα την περίπτωση μπορεί να γίνει περίπλοκος.
Οπότε το θέμα είναι η δημιουργία πίνακα (από την Ax=b), όπως είπες. Mπορείς να το κάνεις με διάφορους τρόπους, με διπλή επανάληψη (για i και j) πχ.
@peny δεν θυμάμαι καθόλου την σύνταξη στην ψευδογλώσσα.
Άβαταρ μέλους
eliasps
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4017
Εγγραφή: 16 Δεκ 2011, 22:25
Τοποθεσία: Αθήνα, Αττική
Launchpad: eliasps
IRC: eliasps
Εκτύπωση

Re: ψευδογλώσσα!

Δημοσίευσηαπό eliasps » 10 Φεβ 2013, 21:18

simosx έγραψε:Πως λειτουργεί η μέθοδος αυτή;

Σίμο, γράφεις το σύστημα σε μορφή Ax=b, όπου A είναι ο πίνακας των συντελεστών των μεταβλητών των εξισώσεων, x o πίνακας των μεταβλητών και b ο πίνακας με τους αριθμούς στο δεύτερο μέλος κάθε εξίσωσης.
Στην περίπτωση:
peny έγραψε:5χ+10y+2z=24
3x+4y-z=30
-y+4z=9

Έχεις:
Κώδικας: Επιλογή όλων
  ┌5 10 2┐      ┌x┐     ┌24┐
Α=|3 4 -1|  , x=|y| , b=|30|
  └0 -1 4┘      └z┘     └ 9┘

Και μετά κάνεις τις κατάλληλες πράξεις για την Jacobi και λύνεις με έναν συγκεκριμένο τύπο.
Αλλά φαντάζομαι πως το θέμα, είναι η δημιουργία των πινάκων σε ψευδογλώσσα και όχι η εφαρμογή της Jacobi σε αλγόριθμο.
Για την δημιουργία πινάκων ας πούμε, θα μπορούσε (αν δεν κάνω λάθος):
Κώδικας: Επιλογή όλων
ΓΙΑ i ΑΠΌ 1 ΜΕΧΡΙ 3 ΜΕ ΒΗΜΑ 1
   ΓΙΑ j AΠΌ 1 ΜΕΧΡΙ 3 ΜΕ ΒΗΜΑ 1
      ΔΙΑΒΑΣΕ Α[i,j] #εδώ βάζεις με τη σειρά τις τιμές των συντελεστών (5, 10, 2, 3, 4, -1, 0, -1, 4)
      AΝ i=1 TOTE #εδώ το έβαλα έτσι για να δώσεις τις μεταβλητές μία φορά. Αν θες το βάζεις και σε άλλη θέση, ή τελείως εκτός.
         ΔΙΑΒΑΣΕ χ[j] #εδώ τις μεταβλητές (x, y, z)
      ΤΕΛΟΣ_ΑΝ
   TEΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΔΙΑΒΑΣΕ b[i] #εδώ τις ισότητες (24, 30, 9)
TEΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

@peny Αγνόησε το ότι είναι κακογραμμένος σαν κώδικας, πρέπει προσθέσεις κείμενο που να περιγράφει τι τιμή βάζεις κάθε φορά και να μπει σε καλύτερη θέση η εισαγωγή τιμών για το x.
Αλλά κάτι τέτοιο δεν θες; Την δημιουργία πινάκων A, x, b;

Σημείωση: Εδώ δημιουργούνται οι πίνακες A,x,b και όχι οι D, D^(-1) και R που απαιτούνται για την μέθοδο Jacobi.
Άβαταρ μέλους
eliasps
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4017
Εγγραφή: 16 Δεκ 2011, 22:25
Τοποθεσία: Αθήνα, Αττική
Launchpad: eliasps
IRC: eliasps
Εκτύπωση

Επόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι