Lanike71 Δημοσ. 30 Νοεμβρίου 2020 Share Δημοσ. 30 Νοεμβρίου 2020 4 λεπτά πριν, k33theod είπε Έτσι είναι. Και εδώ είναι μια περίτπωση που δεν θέλουμε το περιέχομενο του while να εκτελεστεί τουλάχιστον μία φορά. Γιατί δε θέλουμε; Αφού λέει ότι δίνει από το πληκτρολόγιο αριθμούς, άπειρες φορές. Η διαδικασία είναι "δίνω από το πληκτρολόγιο αριθμούς", ακόμα και αν ο πρώτος αριθμός τελικά είναι το -99. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
bjj-p Δημοσ. 30 Νοεμβρίου 2020 Share Δημοσ. 30 Νοεμβρίου 2020 39 λεπτά πριν, Lanike71 είπε Γιατί δε θέλουμε; Αφού λέει ότι δίνει από το πληκτρολόγιο αριθμούς, άπειρες φορές. Η διαδικασία είναι "δίνω από το πληκτρολόγιο αριθμούς", ακόμα και αν ο πρώτος αριθμός τελικά είναι το -99. επειδη δεν πρεπει να σπανε και οι υπολοιποι κανονες, οπως και το να γινει σωστη αρχικοποιηση των τιμων. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 30 Νοεμβρίου 2020 Share Δημοσ. 30 Νοεμβρίου 2020 (επεξεργασμένο) Οι αριθμοι ειναι απειροι δλδ να μην τους αποθηκεύσεις (σε λιστα, πινακα κλπ). Θα πρεπει να αποθηκεύεις σε μεταβλητές μόνο το τρέχων σύνολο αριθμών, άθροισμα, ελάχιστο, μέγιστο κλπ. Αν εχεις διαβασει π.χ. εως τωρα 10 αριθμους με μεσο ορο = 1000 και μετα διαβασεις το 50 ποσο ειναι ο νεος μεσος ορος των 11 αριθμων; Επεξ/σία 30 Νοεμβρίου 2020 από albNik Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
k33theod Δημοσ. 30 Νοεμβρίου 2020 Share Δημοσ. 30 Νοεμβρίου 2020 (επεξεργασμένο) @Lanike71 Ακόμα και για τα πιο απλά υπάρχουν διαφορετικές απόψεις μεταξύ των ειδικών 😀. Πλάκα κάνω δεν είμαι σε καμία περίπτωση ειδικός. Το σκεπτικό για μένα είναι όταν έχω βρόγχο τον κρατάω όσο πιο 'φτωχό' μπορώ. Νομίζω οι πράξεις που έβαλα είναι οι ελάχιστες δυνατές. Το if(num == -99) procedure = false; ασ πούμε το θεωρώ 'λάθος'. Θα εκτελεστεί 'άπειρες' φορές χωρίς λόγο. Με το σκεπτικό ότι δεν μπορώ να αφαιρέσω κάποια πράξη από το while αν το εκτελέσω μία φορά θα μου δώσει ένα numbers, ένα sum ένα max και ένα min που δεν χρειάζονται και θα εκτυπωθούν αν δεν αλλάξω κάτι στα print μετά το βρόγχο.. Επεξ/σία 30 Νοεμβρίου 2020 από k33theod Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Lanike71 Δημοσ. 30 Νοεμβρίου 2020 Share Δημοσ. 30 Νοεμβρίου 2020 48 λεπτά πριν, k33theod είπε @Lanike71 Ακόμα και για τα πιο απλά υπάρχουν διαφορετικές απόψεις μεταξύ των ειδικών 😀. Πλάκα κάνω δεν είμαι σε καμία περίπτωση ειδικός. Το σκεπτικό για μένα είναι όταν έχω βρόγχο τον κρατάω όσο πιο 'φτωχό' μπορώ. Νομίζω οι πράξεις που έβαλα είναι οι ελάχιστες δυνατές. Το if(num == -99) procedure = false; ασ πούμε το θεωρώ 'λάθος'. Θα εκτελεστεί 'άπειρες' φορές χωρίς λόγο. Με το σκεπτικό ότι δεν μπορώ να αφαιρέσω κάποια πράξη από το while αν το εκτελέσω μία φορά θα μου δώσει ένα numbers, ένα sum ένα max και ένα min που δεν χρειάζονται και θα εκτυπωθούν αν δεν αλλάξω κάτι στα print μετά το βρόγχο.. Από αυτή την άποψη έχεις δίκιο, εκτελείται χωρίς λόγο. Απλά, έχω ως κύριο μέλημα να έχω τον ελάχιστο κώδικα, με βοηθά να τον διαβάσω-κατανοήσω πιο γρήγορα. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mariamx83 Δημοσ. 8 Δεκεμβρίου 2020 Μέλος Share Δημοσ. 8 Δεκεμβρίου 2020 ευχαριστώ πολύ όλους για τις απαντήσεις και το χρόνο σας. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
papmel Δημοσ. 15 Δεκεμβρίου 2020 Share Δημοσ. 15 Δεκεμβρίου 2020 (επεξεργασμένο) Αναφορά σε κείμενο program Project2; {$APPTYPE CONSOLE} uses SysUtils; var userval:string; intval:int64; totalSum:int64; mesosoros:real; maxvalue:Int64; minvalue:Int64; totalNumbers:Int64; begin maxvalue:=0; minvalue:=high(int64); totalNumbers:=0; while true do begin write("Give Integer or -99") readln(userval); if userval<>'' Then begin intval:=StrtoInt64Def(userval,-99); case intval of -99: begin if totalNumbers=0 Then exit; writeln('totalNumbers:'+formatfloat('0',totalNumbers)); writeln('minvalue:'+formatfloat('0',minvalue)); writeln('maxvalue:'+formatfloat('0',maxvalue)); writeln('mesosoros:'+formatfloat('0.00000',mesosoros)); readln; halt; end; else inc(totalNumbers); if intval<minvalue then minvalue:=intval; if intval>=maxvalue then maxvalue:=intval; totalSum:=totalSum+intval; mesosoros:=totalSum / totalNumbers; end; end; end; end. Σε pascal αλλα η λογικη ειναι ιδια. Επεξ/σία 15 Δεκεμβρίου 2020 από papmel Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα