Προς το περιεχόμενο

pascal ασκησεις...


tls_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 .

 

 

Παρακαλω να με βοηθεισετε συντομα γιατι μεχρι το βραδυ πρεπει να την εχω στειλει για διορθωση...Ευχαριστω εκ των προτερων

Δημοσ.

Σε 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

Δημοσ.

ευχαριστω φιλε μου αλλα δεν ειναι σε γλωσσα pascal αυτο ειναι ευκολο να την αλλαξω σε pascal???

 

---------- Προσθήκη στις 14:49 ---------- Προηγούμενο μήνυμα στις 14:24 ----------

 

παιδια σας παρακαλω βοηθηστε με.....:fear:

Δημοσ.

>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, βοηθά πολύ.

Δημοσ.

είσαι λίγο τσαπατσούλης στον κώδικα σου. προσπάθησε πριν γράψεις κώδικα να κάνεις ψεύδοκώδικα

θα σε βοηθήσει στον τρόπο σκέψης σου.

Αρχειοθετημένο

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

  • Δημιουργία νέου...