kots Δημοσιεύτηκε Ιανουάριος 17, 2022 #1 Κοινοποίηση Δημοσιεύτηκε Ιανουάριος 17, 2022 Καλησπέρα, θα ήθελα την βοήθειά σας καθότι δεν γνωρίζω καθόλου από προγραμματισμό. θα ήθελα να φτιάξω ένα πολύ αρχείο batch το οποίο να τρέχει κατευθείαν στον υπολογιστή μου και να μου ζητάει να βάλω τρεις παράμετρους. α. βάλε μου τον βαθμό ΕΔ1 β. βάλε μου τον βαθμό ΕΕ γ. βάλε μου τον βαθμό ΕΔ2 μόλις βάλω τους τρεις βαθμούς να κάνει την εξής πράξη: =(8,5-A*0,01-B*0,02-C*0,01)/0,6 και να μου δίνει το αποτέλεσμα (αν γίνεται με 3 δεκαδικα το πολύ) Το αποτέλεσμά σου είναι: ***** φαντάζομαι θα είναι κάτι εύκολο για κάποιον που ξέρει λίγο προγραμματισμό. Link to comment Share on other sites More sharing options...
gdp77 Ιανουάριος 17, 2022 #2 Κοινοποίηση Ιανουάριος 17, 2022 Πολύ εύκολα γίνεται σε ένα excel ή libre calc. 1 Link to comment Share on other sites More sharing options...
kots Ιανουάριος 17, 2022 Author #3 Κοινοποίηση Ιανουάριος 17, 2022 το γνωρίζω αυτό φίλε. το έχω σε excel από εκεί έκανα copy paste την συνάρτηση. το θέλω σε batch Link to comment Share on other sites More sharing options...
Cyber_Cookie Ιανουάριος 17, 2022 #4 Κοινοποίηση Ιανουάριος 17, 2022 FYI, το batch δεν υποστηρίζει float. 2 Link to comment Share on other sites More sharing options...
gdp77 Ιανουάριος 17, 2022 #5 Κοινοποίηση Ιανουάριος 17, 2022 5 hours ago, kots said: το γνωρίζω αυτό φίλε. το έχω σε excel από εκεί έκανα copy paste την συνάρτηση. το θέλω σε batch Για ποιον λόγο, αν επιτρέπεται? Link to comment Share on other sites More sharing options...
kots Ιανουάριος 19, 2022 Author #6 Κοινοποίηση Ιανουάριος 19, 2022 Ρε παιδιά... τι θα γίνει με αυτήν την μάστιγα. από την μέρα που άνοιξε το site το ίδιο πράγμα. τι σε νοιάζει φίλε μου για ποιον λόγο; ρωτάω κάτι συγκεκριμένο. αν δεν ξέρεις μην απαντάς ρε φίλε. μου ήρθαν 4 ειδοποιήσεις ότι έχω μήνυμα, μπήκα με όρεξη να βρω την απάντηση για να κάνω την δουλειά μου και βλέπω όλα τα offtopic. ε ήμαρτον πια. ή δώσε την απάντηση σε αυτό που ρωτάω, ή μην απαντάς καθόλου. δηλαδή rageαρουμε χωρίς λόγο. 1 Link to comment Share on other sites More sharing options...
GeorgeVasil Ιανουάριος 19, 2022 #7 Κοινοποίηση Ιανουάριος 19, 2022 43 minutes ago, kots said: Ρε παιδιά... τι θα γίνει με αυτήν την μάστιγα. από την μέρα που άνοιξε το site το ίδιο πράγμα. τι σε νοιάζει φίλε μου για ποιον λόγο; ρωτάω κάτι συγκεκριμένο. αν δεν ξέρεις μην απαντάς ρε φίλε. μου ήρθαν 4 ειδοποιήσεις ότι έχω μήνυμα, μπήκα με όρεξη να βρω την απάντηση για να κάνω την δουλειά μου και βλέπω όλα τα offtopic. ε ήμαρτον πια. ή δώσε την απάντηση σε αυτό που ρωτάω, ή μην απαντάς καθόλου. δηλαδή rageαρουμε χωρίς λόγο. Δεν καταλαβαίνω το frustration. Ζητας απο καποιους να σε βοηθήσουν. Ο καθενας βοηθαει με τον δικο του τροπο. Το παιδι ρωτησε γιατι προφανως δεν γινεται με batch μηπως και βοηθησει με καποιο αλλο τροπο. Δεν γινεται ειναι η απαντηση, γιατι το batch δεν κανει τις πραξεις που θες. (Γινεται αλλα ειναι πολυς ο κοπος ) Σε βολευει ας πουμε να περασεις καποια γλωσσα προγραμματισμου? πχ Python? 2 Link to comment Share on other sites More sharing options...
acct Ιανουάριος 19, 2022 #8 Κοινοποίηση Ιανουάριος 19, 2022 4 hours ago, kots said: Ρε παιδιά... τι θα γίνει με αυτήν την μάστιγα. από την μέρα που άνοιξε το site το ίδιο πράγμα. τι σε νοιάζει φίλε μου για ποιον λόγο; ρωτάω κάτι συγκεκριμένο. αν δεν ξέρεις μην απαντάς ρε φίλε. μου ήρθαν 4 ειδοποιήσεις ότι έχω μήνυμα, μπήκα με όρεξη να βρω την απάντηση για να κάνω την δουλειά μου και βλέπω όλα τα offtopic. ε ήμαρτον πια. ή δώσε την απάντηση σε αυτό που ρωτάω, ή μην απαντάς καθόλου. δηλαδή rageαρουμε χωρίς λόγο. Με τον φίλο που σου απάντησε διαφωνούμε ουσιωδώς σε πάμπολλα πράγματα. Όμως μπήκε στον κόπο να σκύψει πάνω από το πρόβλημά σου και να προσπαθήσει να σε βοηθήσει. Εάν επιθυμεί, μπορεί να σε ρωτήσει και το ΑΦΜ και τον αριθμό ταυτότητάς σου. Προφανώς δεν είσαι υποχρεωμένος να του απαντήσεις, αλλά οφείλεις να σεβαστείς ότι αφιερώνει τον χρόνο του για να προσπαθήσει να σου δώσει λύση, με τον τρόπο που γνωρίζει εκείνος. Η εναλλακτική είναι να πληρώσεις κάποιον για να σου κάνει τη δουλειά σου και να θέτεις εσύ τους κανόνες της συνεργασίας. 1 3 Link to comment Share on other sites More sharing options...
gdp77 Ιανουάριος 19, 2022 #9 Κοινοποίηση Ιανουάριος 19, 2022 5 hours ago, kots said: Ρε παιδιά... τι θα γίνει με αυτήν την μάστιγα. από την μέρα που άνοιξε το site το ίδιο πράγμα. τι σε νοιάζει φίλε μου για ποιον λόγο; ρωτάω κάτι συγκεκριμένο. αν δεν ξέρεις μην απαντάς ρε φίλε. μου ήρθαν 4 ειδοποιήσεις ότι έχω μήνυμα, μπήκα με όρεξη να βρω την απάντηση για να κάνω την δουλειά μου και βλέπω όλα τα offtopic. ε ήμαρτον πια. ή δώσε την απάντηση σε αυτό που ρωτάω, ή μην απαντάς καθόλου. δηλαδή rageαρουμε χωρίς λόγο. Εγώ θα επιμείνω και θα ρωτήσω ξανά τον λόγο. Έχει σημασία και το use case για την απάντηση, όσο , για να το πω ευθέως, το αν προσπαθείς να προσπεράσεις κάποιο assignment για να περάσεις μάθημα διά της πλαγίας οδού. Αν είναι αυτός ο λόγος και εγώ και πιθανόν άλλοι να μην θέλουν να απαντήσουν. Οφείλεις λοιπόν , κατά τη γνώμη μου να δώσεις απάντηση σε αυτό που σε ρωτάει κάποιος που μπορεί να έχει διάθεση να βοηθήσει Κατά τα άλλα, στο Linux γίνεται αυτό που θες, για windows εμπιστεύομαι τους προλαλλησαντες που λένε ότι μάλλον δεν γίνεται. Link to comment Share on other sites More sharing options...
kots Ιανουάριος 22, 2022 Author #10 Κοινοποίηση Ιανουάριος 22, 2022 έγινε παιδιά έχετε δίκιο εσείς. στην επόμενη απορία μου, ΑΦΜ, ΑΜΚΑ, λόγους χρήσης υπολογιστή, και αναλυτική αιτιολόγηση της ερώτησης. μπορεί από την απάντησή σας, να θέλω να κλέψω κανένα πανεπιστήμιο και να περάσω το μάθημα. δεν είναι ηθικό, ούτε νόμιμο, μπορεί αυτός που δίνει την απάντηση να μπλέξει, ή να πάει φυλακή κανένας moderator. έχετε δίκιο. την επόμενη φορά θα προσέχω τι ρωτάω. Link to comment Share on other sites More sharing options...
Cyber_Cookie Ιανουάριος 22, 2022 #11 Κοινοποίηση Ιανουάριος 22, 2022 Μία ώρα πριν, το μέλος kots έγραψε: έγινε παιδιά έχετε δίκιο εσείς. στην επόμενη απορία μου, ΑΦΜ, ΑΜΚΑ, λόγους χρήσης υπολογιστή, και αναλυτική αιτιολόγηση της ερώτησης. μπορεί από την απάντησή σας, να θέλω να κλέψω κανένα πανεπιστήμιο και να περάσω το μάθημα. δεν είναι ηθικό, ούτε νόμιμο, μπορεί αυτός που δίνει την απάντηση να μπλέξει, ή να πάει φυλακή κανένας moderator. έχετε δίκιο. την επόμενη φορά θα προσέχω τι ρωτάω. On 17/1/2022 at 1:16 ΜΜ, το μέλος Cyber_Cookie έγραψε: FYI, το batch δεν υποστηρίζει float. On 19/1/2022 at 10:36 ΠΜ, το μέλος GeorgeVasil έγραψε: Δεν γινεται ειναι η απαντηση, γιατι το batch δεν κανει τις πραξεις που θες. Η απάντηση έχει δοθεί. Σε ρώτησαν τι θες να φτιάξεις για να σε βοηθήσουν. 1 Link to comment Share on other sites More sharing options...
Rebel Streamers Μάϊος 20 #12 Κοινοποίηση Μάϊος 20 (edited) On 1/17/2022 at 11:33 AM, kots said: Καλησπέρα, θα ήθελα την βοήθειά σας καθότι δεν γνωρίζω καθόλου από προγραμματισμό. θα ήθελα να φτιάξω ένα πολύ αρχείο batch το οποίο να τρέχει κατευθείαν στον υπολογιστή μου και να μου ζητάει να βάλω τρεις παράμετρους. α. βάλε μου τον βαθμό ΕΔ1 β. βάλε μου τον βαθμό ΕΕ γ. βάλε μου τον βαθμό ΕΔ2 μόλις βάλω τους τρεις βαθμούς να κάνει την εξής πράξη: =(8,5-A*0,01-B*0,02-C*0,01)/0,6 και να μου δίνει το αποτέλεσμα (αν γίνεται με 3 δεκαδικα το πολύ) Το αποτέλεσμά σου είναι: ***** φαντάζομαι θα είναι κάτι εύκολο για κάποιον που ξέρει λίγο προγραμματισμό. Η Απάντηση είναι ΝΑΙ αλλά απλό στον προγραμματισμό δεν είναι τίποτα όμως διαβάζοντας τις απαντήσεις θεωρώ οτι υπάρχει μια παρεξήγηση γενικότερα για τα batch αλλά και τα scripts γενικότερα! Τα Windows batch / cmd, όπως και τα Linux/Mac shell δεν υπάρχουν για να κάνουν υπολογισμους/μεταφορες/τροποιησεις κλπ ενεργειες τα ΙΔΙΑ αλλά για να πουν σε άλλα command line executables τι πρεπει να κάνουν! και αφού έγραψα εξαρχής οτι δεν είναι δουλειά της batch να κάνει υπολογισμούς η Απάντηση στο ερώτημα σου ειναι οτι υπάρχουν αρκετά command line executables που κάνουν υπολογισμούς και το πιο γνωστό ειναι το GNU bc.exe που λόγω fsf.org ειναι open source και φυσικα fork απο τα Linux και θα το βρείτε για κατέβασμα αλλά και τον κωδικα του στο λινκ που έβαλα που μόνο του δεν δουλεύει, θέλει και το readline5.dll που είναι το από κάτω zip με τα dependecies στο ίδιο λινκ πάλι. Το άσχημο με το bc.exe εκτελέσιμο είναι οτι δουλεύει με pipe και αυτό το σημείο με δυσκόλεψε χθες περισσότερο από όλα όταν είδα το μήνυμα και σκέφτηκα να το φτιάξω μπας και ενδιαφερθείς με τον προγραμματισμό. ΕΠΊΣΗΣ αυτός ο μαθηματικός τύπος είναι λάθος και πρόβλημα για 3 λόγους δεν είναι ομαδοποιημένoς σε group με τις προτεραιότητες εκτέλεσης πράξεων (αλλο το (1/2+3)/8=0,4375 και άλλο το 1/2+3/8=0,875 . το καθένα βλέπεις βγάζει άλλο αποτέλεσμα) και οσο μεγαλύτερους ΒΑΘΜΟΥΣ βάζεις τόσο μικραίνει το αποτέλεσμα! δεν βγάζει νόημα να αφαιρείς ΒΑΘΜΟΛΟΓΙΑ απο το 0.01... κάτι άλλο μπορεί να είναι, 0.01. βαθμολογία όμως δύσκολο και φυσικά Κόμμα(,) δεν χρησιμοποιεί το bc για να κάνει τους υπολογισμούς του. μόνο τελείες (.), έτσι το 8,5 είναι 8.5! έτσι το πρόβλημα σου με τα 3 inputs ως Βαθμούς (θα μπορούσα να κάνω και δυναμικά τα inputs αλλά θα δυσκόλευε πολυ η ανάγνωση του script) και φυσικά φέρνοντας ως αποτέλεσμα μονο 3 δεκαδικούς ο BATCH κώδικας είναι αυτός @echo off rem Αν σας κλείσει το batch σημαινει οτι χρησιμοποεiτε No utf-8 fonts. rem τα default στα windows 10,11 ειναι τα consolas που ειναι utf-8 rem το bc.exe + readline5.dll ειναι απο εδω https://gnuwin32.sourceforge.net/packages/bc.htm chcp 65001>NUL setlocal && cd /D "%~dp0" setlocal enabledelayedexpansion :dedomena echo. echo Υπολογισμός με 3 Θετικούς Ακέραιους Αριθμούς. echo. goto input1 :input1 echo. set /p StartINPUT1=Γράψε τον 1ο Βαθμό: echo. call :checkPositiveNumber0 "%StartINPUT1%" if %errorlevel% neq 0 ( call :erroMSG goto :input1 ) else ( goto :input2 ) :input2 echo. set /p StartINPUT2=Γράψε τον 2ο Βαθμό: echo. call :checkPositiveNumber0 "%StartINPUT2%" if %errorlevel% neq 0 ( call :erroMSG goto :input2 ) else ( goto :input3 ) :input3 echo. set /p StartINPUT3=Γράψε τον 3ο Βαθμό: echo. call :checkPositiveNumber0 "%StartINPUT3%" if %errorlevel% neq 0 ( call :erroMSG goto :input3 ) else ( goto :ypologismos ) :erroMSG echo λάθος αριθμός Βαθμού ... echo Πρέπει να είναι θετικός αριθμός και μεγαλύτερος του 0 echo ξαναγράψε τον Βαθμό pause exit /b :ypologismos set /a "apo1=%StartINPUT1%" set /a "apo2=%StartINPUT2%" set /a "apo3=%StartINPUT3%" echo (8.5-!StartINPUT1!*0.01-!StartINPUT2!*0.02-!StartINPUT3!*0.01)/0.6 > temp.txt for /f "tokens=*" %%a in ('bc -l ^< temp.txt') do set apotelesma=%%a rem και οι 3 δεκαδικοί που ζητησες... set "finalapotelesma=!apotelesma:~0,-17!" cls echo. echo Τα δεδομένα μας είναι: %StartINPUT1%, %StartINPUT2%, %StartINPUT3% echo. echo Και το αποτέλεσμα του υπολογισμού είναι: %finalapotelesma% pause cls goto dedomena rem Αλγόριθμος που ελέγχει αν είναι θετικός αριθμός και όχι 0 μιας και μιλαμε για ΒΑΘΜΟΛΟΓΙΑ! rem πηγή: https://el.gamelink.gr/blog/Pws-Mporeite-Na-Enswmatwsete-Watermark-sta-Video-gia-tis-MkDocs-Selides-me-to-FFmpeg/ :checkPositiveNumber0 set "validNumber=0" if 1%~1 neq +1%~1 ( set /a "validNumber+=1" ) if %~1 equ 0 ( set /a "validNumber+=1" ) exit /b %validNumber% :End exit /b 0 Έγινε επεξεργασία Μάϊος 20 από Rebel Streamers Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now