tls_2010 Δημοσ. 29 Απριλίου 2010 Δημοσ. 29 Απριλίου 2010 Καλησπερα θα ηθελα να με βοηθησετε με την παρακατω ασκηση η εκφωνηση ειναι η παρακατω:Να γραφτει προγραμμα σε γλωσσα pascal το οποιο να αποφασιζει αν ενας σπουδαστης προβιβαστηκε ή οχι συμφωνα με τα αποτελεσματα των γραπτων του σε 4 μαθηματα.Ο σπουδαστης προβιβαζεται αν ο μεσος ορος των βαθμων του στα 4 μαθηματα ειναι τουλαχιστον 10 υπο την προηποθεση οτι δεν πηρε σε κανενα βαθμο κατω απο 8.Το προγραμμα θα πρεπει να επιτρεπει την εισαγωγη μονο εγκυρων βαθμων,δηλαδη απο 0 εως και 20(καντε τον ελενχο μονο μια φορα).Αν εισαχθει αριθμος εκτος οριων να ενφανιζειμηνυμα λαθους και να ζηταει παλι τον βαθμο απο τον χρηστη. Εγω εχω κανει μεχρι παρακατω αλλα δεν ειναι τελειως σωστο... program ask; var vath_math,sum_math:real; i:integer; mo:real; begin i:=1; sum_math:=0; mo:=0; while (i<=4) do begin writeln('dwse vathmo ',i,'ou mathimatos'); readln(vath_math); if (vath_math>=8) then begin if ((vath_math>=0) and (vath_math<=20)) then begin sum_math:=sum_math+vath_math; i:=i+1; mo:=sum_math/4; end else begin writeln('dwse vathmo apo 1-20'); end; end else writeln('kophkes logou va8mou'); end; if (mo>=10) then begin writeln('o meso oros:',mo:4:2); end else writeln('kophkes logou mesou orou') end . Παρακαλω να με βοηθεισετε συντομα γιατι μεχρι το βραδυ πρεπει να την εχω στειλει για διορθωση...Ευχαριστω εκ των προτερων
C6WGMN Δημοσ. 29 Απριλίου 2010 Δημοσ. 29 Απριλίου 2010 Σε Common lisp > (defun f (&rest list) (and (every (lambda (x) (>= x 8)) list) (>= (/ (reduce #'+ list) (length list)) 10))) πχ > (f 9 9 9 9) ==> NIL (f 20 20 20 0) ==> NIL (f 10 13 19 17) ==> T
tls_2010 Δημοσ. 29 Απριλίου 2010 Μέλος Δημοσ. 29 Απριλίου 2010 ευχαριστω φιλε μου αλλα δεν ειναι σε γλωσσα pascal αυτο ειναι ευκολο να την αλλαξω σε pascal??? ---------- Προσθήκη στις 14:49 ---------- Προηγούμενο μήνυμα στις 14:24 ---------- παιδια σας παρακαλω βοηθηστε με.....
Pantelwolf Δημοσ. 29 Απριλίου 2010 Δημοσ. 29 Απριλίου 2010 >program ask; var vath_math,sum_math:real; i:integer; mo:real; begin i:=1; sum_math:=0; mo:=0; while (i<=4) do begin writeln('dwse vathmo ',i,'ou mathimatos'); readln(vath_math); if (vath_math>=8) then begin if ((vath_math>=0) and (vath_math<=20)) then begin sum_math:=sum_math+vath_math; i:=i+1; mo:=sum_math/4; end else begin writeln('dwse vathmo apo 1-20'); end; end else writeln('kophkes logou va8mou'); end; if (mo>=10) then begin writeln('o meso oros:',mo:4:2); end else writeln('kophkes logou mesou orou') end . Για αρχή βάζε κενά για να φαίνεται καλύτερα, έπειτα πρώτο που βλέπω είναι οτι κάνεις τον έλεγχο για 0<=χ<=20 μετά που τον κάνεις για το 8 , μάλλον ανάποδα θέλει. άλλο πρόχειρα, το mo θα το υπολογίζεις εξω απο το while. Κάνε ενα flowchart, βοηθά πολύ.
^LeoNine^ Δημοσ. 30 Απριλίου 2010 Δημοσ. 30 Απριλίου 2010 είσαι λίγο τσαπατσούλης στον κώδικα σου. προσπάθησε πριν γράψεις κώδικα να κάνεις ψεύδοκώδικα θα σε βοηθήσει στον τρόπο σκέψης σου.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.