Αποστολέας Θέμα: Απάντηση στο θέμα 3 στο διαγώνισμα του στεκιού σε pascal.  (Αναγνώστηκε 1650 φορές)

Mariosxania

  • Βετεράνος
  • ****
  • Μηνύματα: 61
Λοιπόν προσπάθησα να το λύσω αυτά που έχω κάνει μέχρι τώρα είναι τα εξής.Την διαφορά επί της % πώς την βρίσκουμε?Τις δηλώσεις θα τις βάλω αύριο και κάτι ερωτηματικά που έχω ξεχάσει.Ευχαριστώ
Κώδικας: [Επιλογή]
Program dimoprasia;
Var



Begin
Writeln('Dose timi ekkinishs');
read(timi_ekkinisis);
prosfora:=timi ekkinisis;
repeat
Writeln('Dose prosfora');
readln(nea_prosfora);
Writeln('dose onoma');
readln(neo_onoma);
 If nea_prosfora>prosfora then
begin
syn_prosfores:=syn_prosfores+1
palia_prosfora:=prosfora
prosfora:=nea_prosfora
onoma:=neo_onoma
end;
diafora:=nea_prosfora-palia_prosfora;
until nea_prosfora:=0 or syn_prosfores=100
Writeln('O/Η',neo_onoma,'pire to antikeimeno stin timi twn',nea_prosfora);


Laertis

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 1465
  • Δεν αντέχω την (συμ)-πίεσηηη .......
    • ΑΣΚΗΣΕΙΣ-ΘΕΜΑΤΑ ΑΕΠΠ
Απ: Απάντηση στο θέμα 3 στο διαγώνισμα του στεκιού σε pascal.
« Απάντηση #1 στις: 15 Απρ 2009, 03:43:09 μμ »
Διαφορά% = (nea_prosfora-prosfora)/prosfora *100

Μία διόρθωση στο προγραμματάκι σου ...
Begin
......
repeat
    repeat
      Writeln('Dose prosfora');
      readln(nea_prosfora);
    until nea_prosfora > prosfora;

Writeln('dose onoma');
readln(neo_onoma);
 If nea_prosfora>prosfora then
........
until nea_prosfora:=0 or syn_prosfores=100

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