Work9 REMARKS script file MONAZYGA & MESOS OROS

Σχετικά έγγραφα
ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις. Γιώργος Λαμπρινίδης

Work12 REMARKS script file lab10 ask1-5 tabbing, ls2, urlparse, times, dates_correct

Shell Scripts: loops / if / test

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Work10 REMARKS script file lab08 ask2-6 dirstat, create, deli, dirsplit, myfind

3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? )

aapostol.scr2, scr2.kdeligia

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

ΟΛΑ ΤΑ SCRIPT files πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: $*, : ΟΛΑ - Η λίστα (ο πίνακας) με τα ορίσματα $# πλήθος παραμέτρων. one two third parameter

1st exercise of work2 - REMARKS

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΑΣΚΗΣΗ 4: ΟΜΕΣ ΒΑΣΙΚΩΝ ΒΡΟΧΩΝ

Σημειώσεις για πρόοδο στο εργαστήριο

Εισαγωγή στον Προγραμματισμό

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής.

Λειτουργικά Συστήματα

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 5 ο Μέρος 5 ο Μέρος Εντολές Επανάληψης: FOR - WHILE. Περιγραφή

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

*? [xyz] [^xy] [!0-9] [:alpha:] [:digit:]

Να διορθωθούν τα εξής αρχεία scr2.chgeorg, scr2.gmotsias, scr2.ngrammen. cat scr2.*

Εισαγωγή στα Λειτουργικά Συστήματα

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Προγραμματισμός Ι. Ενότητα 12 : Ασκήσεις Επανάληψης Β. Αλέξανδρος Τζάλλας

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

Αβδέλαρου Κωνσταντίνα

Εντολές ελέγχου ροής if, for, while, do-while

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 12 ο Μάθημα 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Εργαστήριο 6 Ασκήσεις: To Εργαλείo Ωφελιμότητας Awk Προγραμματισμός Κελύφους Bash

Μαζέρας Αχιλλέας. Οι εντολές επανάληψης στην Pascal (While) Φυσικός Αυτοματιστής M.Sc. Νοέµβριος 2009

Η γλώσσα προγραμματισμού C

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Shell Scripts. $ friend=nikos $ echo $friend. $ set grep -n friend. [^a-z] π.χ. echo rm??ee*.txt [1] Nikos

Υπολογισμός - Εντολές Επανάληψης

Δομές ελέγχου & επανάληψης

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Προγραμματισμός Ι. Ασκήσεις. Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών. Τμ. Μηχανικών Πληροφορικής Τ.Ε.

Μερικές άλλες χρήσιμες εντολές

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS

Λυμένα παραδείγματα με τις for, while, do-while

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Η γλώσσα προγραμματισμού C

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ενότητα 3: «Εισαγωγή στην Αλγοριθμική και στον Προγραμματισμό: loops, subroutines, tables»

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)

Ασκηή σεις 12ο Μαά θημα - Λυύ σεις

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

Υπολογισμός - Εντολές Ελέγχου

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

4. Επιλογή και Επανάληψη

Υπολογιστικά Συστήματα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Διάλεξη 5η: Εντολές Επανάληψης

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Μερικές άλλες χρήσιμες εντολές

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

8. Συνθήκες ελέγχου, λογικοί τελεστές

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Η γλώσσα προγραμματισμού C

ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑ Ρ Μ Α ΜΑΤΙ Τ ΣΜΟΣ

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Work3 - REMARKS. 1. OK 2. #A.

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 3 Εντολές Επιλογής. Γιώργος Λαμπρινίδης Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στην πληροφορική

#!/bin/sh #Εμφάνηση μενού του προγράμματος echo "Welcome to a shell implement of Game of Life"

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Προγραµµατισµός στην Basic

Προτεινόμενες λύσεις

ΕΠΛ 034 ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΓΙΑ ΗΜΥ

Εισαγωγή στον Προγραμματισμό

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 7 ο Μέρος 1

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών:

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα»

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

ΗΥ-150. Προγραμματισμός

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Transcript:

Work9 REMARKS script le MONAZYGA & MESOS OROS Διαβάστε στο τελος του αρχείου πως ελέγχεται αν μια μεταβλητή είναι αριθμός ακέραιος / δεκαδικός κτλ. # work9 - monazyga # username : imanousi echo "Enter an number to see whether it is even or odd" echo "or enter 0 to stop the script." while [ $number -ne 0 ]; do echo "Number is $number" if [ $((number%2)) -eq 0 ] ; then echo "$number is even" echo "$number is odd" echo -n "Enter another number > " #αν θες στην ίδια γραμμή echo bye # work9 - mesosoros #username: imanousi echo scriptfilename : $0 count=0; countf=0 echo -n "Enter the number of the numbers you want to enter : " ; read n echo "Enter $n numbers" for ((i=1;i<=$n;i++)); do read ns let mo=(mo+ns)/i #OXI Εδώ θα υπολογίσεις το sum=sum+ns if [ $ns -lt-20 ] [ $ns -gt 20 ]; then let count=count+1 if [ $((ns%5)) -eq 0 ]; then

let countf=countf+1 #και όταν βγεις από το forθα βρεις Μ.Ο.=sum/n echo "The average price of the numbers you entered is : $mo" echo echo "The amount of numbers that do not belong to the (-20,20) range" echo "is innite-40." echo echo "Just kidding... in this case it is : $count " echo "And of those that are also multiples of 5 is : $countf" #dstais number=0; ipolipo=0 echo "Dose arithmo" while [ $number -ne 0 ] ; do ipolipo=$[number%2] # Oι μαθηματικές πράξεις δεν γίνονται ετσι απλά # εχεις αρκετους τροπους να διαλέξεις π.χ. expr ή $[] ή $(()) ή let if [ $ipolipo -eq 0 ] ; then echo "zygos" echo "monos" echo "dose arithmo" #Πες, και ότι για να σταματήσει να δώσει 0 #! /bash/bin /bin/bash #dstais plithos=0 ; mo=0 ; even=0 ; number=0 echo " dose plithos arithmon " read plithos for(( i=0 ; i<$plithos ; i++ )); do echo "dose arithmo" ipolipo=$[number%2] if [ $ipolipo -eq 0 ]; then # expr ή $[] ή $(()) ή let #πιο πάνω το είχες σωστά

even = $[even + 1] #ΧΩΡΙΣ ΚΕΝΑ πριν και μετά το ίσον mo =$[mo + number] #μαθ/κές πράξεις mo = $[mo/plithos] #oxi/n echo " o mesos oros ton zygon einai $mo " #!/bin/bash # work9 monazyga # username: ktoumpid number=-1 while [ $number -ne 0 ]; do echo -n "Enter a number: " echo "Number is $number" if [ $((number % 2)) -eq 0 ]; then echo "Number is even" echo "Number is odd" exit 0 #!/bin/bash # work9 mesos oros # username: ktoumpid number=0 counter=0 sum=0 counter_ltgt=0 counter_ltgt_mve=0

isnum='^-?[0-9]+([.][0-9]+)?$' # (***δείτε σημειώσεις πιο κάτω) echo "To exit this program type anything but not a number" while [ 1 ]; do #ΒΚ - αυτό το loop γίνεται για πάντα echo -n"enter a number: " echo "Number is $number" #ΒΚ γίνεται έλεγχος αν είναι θα δοθεί αριθμός η κάτι άλλο - δεν ζητείται AΛΛΑ ΠΟΛΥ ΧΡΗΣΙΜΟ #ΒΚ αν λοιπόν δοθεί κατι άλλο, βγαίνει από το loop με break.. if![[ $number =~ $isnum ]]; then #ΒΚ-εξηγώ το =~ στο τέλος του doc echo "You gave a non-numeral... breaking while loop"; break if [ $((number % 2)) -eq 0 ]; then echo "Number is even" let counter=counter+1 let sum=sum+number echo "Number is odd" if! [ $number -lt 20 -a $number -gt -20 ]; then #! (-20<number<20) δεν ανήκει στο -20,20 let counter_ltgt=counter_ltgt+1 if [ $((number%5)) -eq 0 ]; then if! [ $number -lt 20 -a $number -gt -20 ]; then let counter_ltgt_mve=counter_ltgt_mve+1 #Aν βγεί από το loop (ή άμεσα ή έχοντας δώσει μόνο περιττούς ) τοτε counter=0 #θα σου χτυπήσει η διαίρεση με μηδέν κτλ. average=$((sum/counter)) echo "The average of a total sum $sum of $counter numbers is: $average" echo "Of which don't belong inside the (-20,20) set: $counter_ltgt" echo "Of which don't belong inside the (-20,20) set, and are multiples of 5: $counter_ltgt_mve" exit 0

# work9 -monazyga #username: Nikiforos Pertselis npertsel number=0 echo -n "Enter a number: " while [ $number!= 0 ]; do echo "Number is $number" if [ $((number % 2)) -eq 0 ] ; then echo "Number is even" echo "Number is odd" echo -n "Enter a number. (Press 0 for exit). :" # work9 -mesosoros #username: Nikiforos Pertselis npertsel #============================================================================ plithos=0 number=0 count=0 synoloz=0 mo=0 echo -n "Dwste to plithos twn arithmwn: " read plithos while [ $plithos -gt 0 ] ; do echo -n "Dwste enan arithmo: " if [ $((number % 2)) -eq 0 ] ; then echo "O arithmos einai zygos!"

let count=count+1 let synoloz=synoloz+number echo "O arithmos einai monos!" let plithos=plithos-1 if [ $count -ne 0 ] ; then mo=$[synoloz/count] echo " o mesos oros ton zygon einai $mo " #!/bin/bash # work9 monazyga # username: Kornilia Deligianni kdeligia ar=-1 while [ $ar -ne 0 ]; do echo -n "eisagete arithmo: " ar # Προσοχή να τις τρέχεις πάντα echo "o arithmos einai $ar" if [ $((ar % 2)) -eq 0 ]; then echo "o aritmos einai zygos" #μπαίνε μέσα με Tab echo "o arithmos einai monos" exit 0 # work9 mesosoros #username: Kornilia Deligianni kdeligia p=0 ar=0 c=0 sum=0 mo=0 echo -n "Dwste to plithos twn arithmwn: " read p

while [ $p -gt 0 ] ; do echo -n "Dwste enan arithmo: " read ar if [ $((ar % 2)) -eq 0 ] ; then echo "O arithmos einai zygos!" #Tab let c=c+1 let sum=sum+ar echo "O arithmos einai monos!" let p=p-1 if [ $c -ne 0 ] ; then mo=$[sum/c] echo " o mesos oros twn zygwn einai $mo " #work9 - monazyga #lrigouts number=0 echo -n "Dose enan arithmo --> " echo "O arithmos einai to $number " echo "gia termatismo programmatos dose 0 " while [ $number -ne 0 ]; do if [ $((number % 2)) -eq 0 ]; then echo "o arithmos einai zygos" echo "o arithmos einai peritos" echo -n "dose epomeno arithmo --> "

exit 0 #work9 -monazyga #username: ksianidi echo "Enter an number: " echo "Enter 0 to stop" while [ $number -ne 0 ]; do echo "Number is $number" if [ $((number%2)) -eq 0 ] ; then echo "$number is even" echo "$number is odd" echo -n "Enter another number (0 to stop) : " #work9 -mesosoros #username: ksianidi echo scriptfilename : $0 count=0; countf=0 sum=0 echo -n "How many numbers you want to enter? : " ; read n echo "Enter $n numbers" for ((i=1;i<=$n;i++)); do read ns if [ $((ns%2)) -eq 0 ] ; then let sum=sum+ns;

if [ $ns -lt -20 ] [ $ns -gt 20 ]; then let count=count+1 #den anikoun sto -20,20 if [ $((ns%5)) -eq 0 ]; then let countf=countf+1 #kai epipleon einai pollaplasia tou 5 if [ $n -ne 0 ]; then let mo=sum/n; echo "Average price : $mo" echo " $count don't belong inside the (-20,20) " echo "of which are multiples of 5: $countf" echo ".. Edoses plithos arithmwn 0 " #!/bin/sh #Ergasia 9 vkiosses - monazyga echo "Enter a number:" while [ $number -ne 0 ] do echo "The number is:$number" if [ $((number % 2)) -eq 0 ] then echo "O arithmos einai zygos" echo "O arithmos einai monos" exit 0 #!/bin/bash #vkiosses -mesosoros

#ScriptFileName: $0 sum=0 plithos1=0 plithos2=0 echo "Enter plithos number:" for((i=1;i<=$number;i++)); do echo -n "Enter $i number:" s sum=$[sum+numbers] if [ $numbers -lt -20 ] [ $numbers -gt 20 ] then let plithos1=plithos1+1 if [ $((numbers%5)) -eq 0 ] then let plithos2=plithos2 +1 if [ $number -ne 0 ]; then mo=$[sum/number] echo "O mesos oros einai:$mo" echo echo "To plithos ton arithmon poy den anoikoyn sto diastima (-20,20) einai: $plithos1" echo echo "To plithos ton arithmon poy einai pollaplasia toy 5 kai den anoikoun sto diastima(-20,20) einai: $plithos2" exit 0 #work9 #username:aapostol-monazyga echo "Enter an number: " echo "Enter 0 to stop"

while [ $number -ne 0 ]; do echo "Number is $number" if [ $((number%2)) -eq 0 ] ; then echo "$number is even" echo "$number is odd" echo -n "Enter another number (0 to stop) : " # work9 #username:aapostol-mesomeros p=0 ar=0 c=0 sum=0 mo=0 echo -n "Dwse to plithos twn arithmwn: " read p while [ $p -gt 0 ] ; do echo -n "Dwste enan arithmo: " read ar if [ $((ar % 2)) -eq 0 ] ; then echo "O arithmos einai zygos!" #Tab let c=c+1 let sum=sum+ar echo "O arithmos einai monos!" let p=p-1 if [ $c -ne 0 ] ; then mo=$[sum/c] echo " o mesos oros twn zygwn bgainei $mo "

#!/bin/bash # work9-monazyga #username: vlainidis echo scriptfilename : $0 number=0 echo -n "give a number and i will decide if it is odd or even: " echo "Number is $number" # Πρεπει και εδώ να πεις τι είναι, μονός ή ζυγός # ή να μην διαβάσεις καθόλου, και να κάνεις το number=1 while [ $number -ne 0 ]; do echo -n "give a number (or 0 to stop) and i will decide if it is odd or even: " if [ $((number % 2)) -eq 0 ]; then echo "The number is even" echo "The number is odd" exit 0 #!/bin/bash # work9 -monazyga #username:ckaripia echo scriptlename: $0 number=0 echo -n "enter a number >" echo "number is $number" while [ $number -ne 0 ]; do if [ $((number%2)) -eq 0 ]; then echo "$number is even" echo "$number is odd" echo -n "enter a number (or 0 to stop) >"

#!/bin/bash #work9 -mo #username:ckaripia echo scriptname: $0 mm=0 nn=0 k=0 l=0 o=0 echo "dwse plithos" read n for ((i=1;i<=$n;i++));do echo -n "dwse arithmo: " read nn if [ $nn -lt-20] [ $nn -gt 20 ]; then let l=l+1 if [ $((nn%5)) -eq 0 ];then let o=o+1 if [ $((nn%2)) -eq 0 ];then let k=k+1 let mm=mm+nn echo "einai monos" #βάζε αν θες, πιο ευκρινή ονόματα π.χ. num αντί nn mo=$((mm/k)) #me k<>0 echo "o mesos oros twn zygwn einai $mo" echo "to plithos ton arithmon p dn anikoun sto diastima -20 mexri 20 einai $l" echo "to plithos ton arithmon pou eiani pollaplasia tou 5 kai den anoikoun sto diastima -20 mexri 20 einai $o" Μεταβλητή Ακέραια ή ΟΧΙ?? (***) Πως θα ελέγξετε αν µια µεταβλητή π.χ. x=13abc έχει µόνο (+) αριθµούς, και δεν περιέχει γράµµατα?

1 oς τρόπος. Εµφανίζω την µεταβλητή, ψάχνω για αριθµό και µετράω γραµµές (=0 δεν είναι αριθµός) echo $x egrep '^[0-9]+$' wc -l 2 ος τρόπος. Εµφανίζω την µεταβλητή, ψάχνω για αριθµό µε οption q (quiet) και ελέγχω το exit code=0 echo $x egrep '^[0-9]+$' - q ή echo $x egrep '^[[:digit:]+$' -q Η παρακάτω regex έκφραση λαµβάνει υπόψη και τους αρνητικούς αριθµούς (όχι τους δεκαδικούς) re='^[-+0-9][0-9]*$' ή re='[-+]?[0-9]+$' #ο 1 ος χαρακτήρας είναι ή - ή + ή 0-9 επανάληψη Βάζοντας σε μια μεταβλητή re τo regex μπορώ να πώ μετά π.χ. echo $x egrep $re -q Ας δούμε το ωραίο regex του Κων/νου (που θέλει να συμπεριλάβει αρνητικούς και δεκαδικούς): re='^-?[0-9]+([.][0-9]+)?$ ' Λέει ξεκινάει με -, που επαναλαμβάνεται καμία έως 1 φορά, δηλ. έχει - (αρνητικός) ή δεν έχει (θετικός) μετά, αριθμό που επαναλαμβάνεται 1 έως πολλές φορές, μετά ίσως έχει, ίσως δεν έχει δεκαδικό μέρος δηλ. ([.][0-9]+)? Αλλά ας θεωρήσουμε όμως, μόνο ακεραίους re='^-?[0-9]+$' #3 ος τρόπος test, [, [[ test for condition - δώστε help [[ Με το Korn Shell και το Bash μπορούμε να βάλουμε και διπλά [[ που συμπεριφέρονται λίγο διαφορετικά string =~ $re Oταν μπαίνει ο operator `=~', ελέγχεται αν το string ταιριάζει την regex re if [[ $x =~ $re ]] ; then echo number re='^-?[0-9]+([.][0-9]+)?$ ' #4 ος o πιο ΑΠΛΟΣ τρόπος Για να ελέγξουμε αν μια μεταβλητή είναι ακέραια την συγκρίνω με έναν άλλο ακέραιο π.χ. test $x -ge 0 >/dev/null 2>&1 # το αποτέλεσμα της εντολής και το λάθος, το στελνω στο..καλό 1 if [ $? -eq 0 ]; then #ελέγχω αν η εντολή test έχει exit code 0 echo "Integer" 1 εντολή > /dev/null 2>/dev/null ή και εντολή >/dev/null 2>&1 (και η εξοδος λαθών να πάει όπου και η κανονική έξοδος) >/dev/null σηµαίνει ότι η έξοδος πηγαίνει στον «αγύριστο» στην «µαύρη (απύθµενη) τρύπα» 2>/dev/null σηµαίνει ότι και το λάθος να πάει στο /dev/null Ετσι αν είχα δώσει x=asasa ; test $x -ge 0 θα είχα ένα µήνυµα λάθους που δεν θέλω να το δώ -bash: test: asasa: integer expression expected

echo "Not an integer" (* Οι 2 πρώτες εντολές (test και if ) µπορούν να συµπτυχθούν σε µία εντολή)