Προγραμματισμός i...
TRANSCRIPT
![Page 1: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/1.jpg)
Τμήμα Μηχανικών Πληροφορικής, Υπολογιστών και Τηλεπικοινωνιών
Πανεπιστημιούπολη Σερρών
Προγραμματισμός I (E)
Δρ. Δημήτρης Βαρσάμης – Αναπληρωτής Καθηγητής
Ιορδάνης Ζιώγας – ΕΔΙΠ
Οκτώβριος 2019
Προγραμματισμός I (E) Οκτώβριος 2019 1 / 23
![Page 2: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/2.jpg)
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε)
1 Λύσεις Ασκήσεων
2 Συνάρτηση scanf
3 Προβλήματα στη χρήση των εντολών I/O
4 Αριθμητικοί τελεστές
5 Μαθηματικές Συναρτήσεις
Προγραμματισμός I (E) Οκτώβριος 2019 2 / 23
![Page 3: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/3.jpg)
Συνάρτηση printf - Ασκήσεις
Ασκήσεις
1 Να γίνει πρόγραμμα που να εμφανίζει το παρακάτω
***********
2 Να γίνει πρόγραμμα που να εμφανίζει το παρακάτω (χωρίς την
χρήση κενών)
1 2 34
5 6
Προγραμματισμός I (E) Οκτώβριος 2019 3 / 23
![Page 4: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/4.jpg)
Προτεινόμενη λύση της άσκησης
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 printf("␣␣*\n");5 printf("␣***\n");6 printf("*****\n");7 printf("␣␣*\n");8 printf("␣␣*\n");9 printf("1\t2\t3\n");
10 printf("\t4\t\n");11 printf("5\t\t6\n");12 system("PAUSE");13 return 0;14 }
Προγραμματισμός I (E) Οκτώβριος 2019 4 / 23
![Page 5: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/5.jpg)
Συνάρτηση printf - Άσκηση
Άσκηση
Να γίνει πρόγραμμα που να καταχωρεί τα παρακάτω στοιχεία ενός
φοιτητή σε κατάλληλου τύπου μεταβλητές
1 τον Α.Ε.Μ.
2 το βαθμό στον Προγραμματισμό
3 το ύψος σε μέτρα
4 το αρχικό γράμμα του ονόματος
και να τα εμφανίζει με κατάλληλα μηνύματα.
Προγραμματισμός I (E) Οκτώβριος 2019 5 / 23
![Page 6: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/6.jpg)
Προτεινόμενη λύση της άσκησης
1 #include <stdio.h>2 #include <stdlib.h>3
4 int main(){5 int aem=1000;6 float grade=10, height=1.85;7 char ch='D';8 printf("A.E.M.␣:␣%d\n",aem);9 printf("Grade␣in␣Programming␣:␣%.1f\n",grade);
10 printf("Height␣(m)␣=␣%.2f\n",height);11 printf("First␣letter␣of␣name␣:␣%c\n",ch);12 system("PAUSE");13 return 0;14 }
Προγραμματισμός I (E) Οκτώβριος 2019 6 / 23
![Page 7: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/7.jpg)
Συνάρτηση printf - Άσκηση
Άσκηση
Να γίνει πρόγραμμα που να δημιουργεί το username του κάθε
φοιτητή. Το username αποτελείται από
1 τα τρία πρώτα γράμματα του επωνύμου
2 τα αριθμητικά ψηφία του Α.Ε.Μ.
3 το πρώτο γράμμα του ονόματος
και να το εμφανίζει με το κατάλληλο μήνυμα.
Προγραμματισμός I (E) Οκτώβριος 2019 7 / 23
![Page 8: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/8.jpg)
Συνάρτηση scanf - Αριθμοί
Απλή είσοδος αριθμού
1 #include <stdio.h>2 #include <stdlib.h>3
4 int main(){5 int a;6 scanf("%d",&a);7 printf("Number␣=␣%d\n",a);8 system("PAUSE");9 return 0;
10 }
Προγραμματισμός I (E) Οκτώβριος 2019 8 / 23
![Page 9: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/9.jpg)
Συνάρτηση scanf - Αριθμοί
Απλή είσοδος αριθμού με μήνυμα
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 int a;5 printf("Give␣a␣Number␣:␣");6 scanf("%d",&a);7 printf("Number␣=␣%d\n",a);8 system("PAUSE");9 return 0;
10 }
Προγραμματισμός I (E) Οκτώβριος 2019 9 / 23
![Page 10: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/10.jpg)
Συνάρτηση scanf - Αριθμοί
Είσοδος πολλών αριθμών με μήνυμα
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 int a;5 float b;6 printf("Give␣the␣first␣Number␣:␣");7 scanf("%d",&a);8 printf("Give␣the␣second␣Number␣:␣");9 scanf("%f",&b);
10 printf("First␣Number␣=␣%d\n",a);11 printf("Second␣Number␣=␣%f\n",b);12 system("PAUSE");13 return 0;14 }
Προγραμματισμός I (E) Οκτώβριος 2019 10 / 23
![Page 11: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/11.jpg)
Συνάρτηση scanf - Αριθμοί
Είσοδος πολλών αριθμών με μήνυμα σε μια scanf με διαχωριστικό τοκενό
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 int a;5 float b;6 printf("Give␣two␣Numbers␣:␣");7 scanf("%d␣%f",&a,&b);8 printf("First␣Number␣=␣%d\n",a);9 printf("Second␣Number␣=␣%f\n",b);
10 system("PAUSE");11 return 0;12 }
Προγραμματισμός I (E) Οκτώβριος 2019 11 / 23
![Page 12: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/12.jpg)
Συνάρτηση scanf - Αριθμοί
Είσοδος πολλών αριθμών με μήνυμα σε μια scanf με διαχωριστικό το(,)
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 int a;5 float b;6 printf("Give␣two␣Numbers␣:␣");7 scanf("%d,%f",&a,&b);8 printf("First␣Number␣=␣%d\n",a);9 printf("Second␣Number␣=␣%f\n",b);
10 system("PAUSE");11 return 0;12 }
Προγραμματισμός I (E) Οκτώβριος 2019 12 / 23
![Page 13: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/13.jpg)
Συνάρτηση scanf - Αριθμοί
Είσοδος πολλών αριθμών με μήνυμα σε μια scanf με διαχωριστικό το(;)
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 int a;5 float b;6 printf("Give␣two␣Numbers␣:␣");7 scanf("%d;%f",&a,&b);8 printf("First␣Number␣=␣%d\n",a);9 printf("Second␣Number␣=␣%f\n",b);
10 system("PAUSE");11 return 0;12 }
Προγραμματισμός I (E) Οκτώβριος 2019 13 / 23
![Page 14: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/14.jpg)
Συνάρτηση scanf - Αλφαριθμητικά
Είσοδος αλφαριθμητικών
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 char ch;5 printf("Give␣a␣Character␣:␣");6 scanf("%c",&ch);7 printf("Character␣=␣%c\n",ch);8 system("PAUSE");9 return 0;
10 }
Προγραμματισμός I (E) Οκτώβριος 2019 14 / 23
![Page 15: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/15.jpg)
Συνάρτηση scanf - Άσκηση
Άσκηση
Να γίνει πρόγραμμα που να εισάγει ο χρήστης τα παρακάτω
στοιχεία ενός φοιτητή σε κατάλληλου τύπου μεταβλητές
1 τον Α.Ε.Μ.
2 το βαθμό στον Προγραμματισμό
3 το ύψος σε μέτρα
4 το αρχικό γράμμα του ονόματος
και να τα εμφανίζει με κατάλληλα μηνύματα.
Προγραμματισμός I (E) Οκτώβριος 2019 15 / 23
![Page 16: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/16.jpg)
Προβλήματα στη χρήση των εντολών I/O
Προβλήματα στην είσοδο (1)
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 char ch1,ch2;5 printf("Give␣a␣Character␣:␣");6 scanf("%c",&ch1);7 printf("Give␣a␣Character␣:␣");8 scanf("%c",&ch2);9 printf("Character␣=␣%c\n",ch1);
10 printf("Character␣=␣%c\n",ch2);11 system("PAUSE");12 return 0;13 }
Προγραμματισμός I (E) Οκτώβριος 2019 16 / 23
![Page 17: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/17.jpg)
Προβλήματα στη χρήση των εντολών I/O
Προβλήματα στην είσοδο (2)
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 int num1,num2;5 char ch1,ch2;6 ch1=getchar();7 ch2=getchar();8 scanf("%d",&num1);9 scanf("%d",&num2);
10 printf("␣ch1=%c\n␣ch2=%c\n␣num1=%d\n␣num2=%d\n",ch1,ch2,num1,num2);
11 system("PAUSE");12 return 0;13 }
Προγραμματισμός I (E) Οκτώβριος 2019 17 / 23
![Page 18: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/18.jpg)
Προβλήματα στη χρήση των εντολών I/O
Προβλήματα στην είσοδο (3)
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 int num1,num2;5 char ch1,ch2;6 scanf("%d",&num1);7 scanf("%d",&num2);8 ch1=getchar();9 ch2=getchar();
10 printf("␣num1=%d\n␣num2=%d\n␣ch1=%c\n␣ch2=%c\n",num1,num2,ch1,ch2);
11 system("PAUSE");12 return 0;13 }
Προγραμματισμός I (E) Οκτώβριος 2019 18 / 23
![Page 19: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/19.jpg)
Προβλήματα στη χρήση των εντολών I/O
Προβλήματα στην είσοδο (4)
1 #include <stdio.h>2 #include <stdlib.h>3 int main(){4 char ch1,ch2,ch3,ch4;5 scanf("%c",&ch1);6 scanf("%c",&ch2);7 ch3=getchar();8 ch4=getchar();9 printf("␣ch1=%c\n␣ch2=%c\n␣ch3=%c\n␣ch4=%c\n",ch1,
ch2,ch3,ch4);10 system("PAUSE");11 return 0;12 }
Προγραμματισμός I (E) Οκτώβριος 2019 19 / 23
![Page 20: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/20.jpg)
Αριθμητικοί τελεστές
Πράξεις μεταξύ αριθμών διαφόρων τύπων. Προσοχή στη χρήση τουτελεστή /
1 #include <stdio.h>2 #include <stdlib.h>3 int main(int argc, char *argv[])4 {5 int x,y;6 float z,w;7 x=7/5;8 y=7%5;9 z=7.0/5.0;
10 w=7/5;11 printf("␣x=␣%d\n␣y=␣%d\n␣z=␣%f\n␣w=␣%f\n",x,y,z,w);12 system("PAUSE");13 return 0;14 }
Προγραμματισμός I (E) Οκτώβριος 2019 20 / 23
![Page 21: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/21.jpg)
Αριθμητικοί τελεστές
Διαίρεση με τον τελεστή /
1 #include <stdio.h>2 #include <stdlib.h>3 int main(int argc, char *argv[])4 {5 int x=7,y=5;6 float z,w;7 z=(float)x/y;8 w=x/(y*1.0);9 printf("␣x=␣%d\n␣y=␣%d\n␣z=␣%f\n␣w=␣%f\n",x,y,z,w);
10 system("PAUSE");11 return 0;12 }
Προγραμματισμός I (E) Οκτώβριος 2019 21 / 23
![Page 22: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/22.jpg)
Μαθηματικές Συναρτήσεις
Τετραγωνική ρίζα, Ύψωση σε δύναμη
1 #include <stdio.h>2 #include <stdlib.h>3 #include <math.h>4
5 int main(int argc, char *argv[])6 {7 int x;8 float y;9 x=pow(4,2);
10 y=sqrt(2);11 printf("␣x=␣%d\n␣y=␣%f\n",x,y);12 system("PAUSE");13 return 0;14 }
Προγραμματισμός I (E) Οκτώβριος 2019 22 / 23
![Page 23: Προγραμματισμός I (E)teachers.cm.ihu.gr/dvarsam/wp-content/uploads/Progr_I/Progr_I_Lab_slides_3.pdfΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Ε) 1 Λύσεις Ασκήσεων](https://reader030.vdocuments.pub/reader030/viewer/2022040718/5e25aeaa4bfe9e5ff9392515/html5/thumbnails/23.jpg)
Αριθμητικοί τελεστές - Άσκηση
Άσκηση
Να γίνει πρόγραμμα που να εισάγει ο χρήστης τρεις ακέραιους
αριθμούς και να υπολογίζει τα παρακάτω
1 τον Μέσο όρο των τριών αριθμών
2 το άθροισμα των κύβων τους (a3 + b3 + c3)και να τα εμφανίζει με κατάλληλα μηνύματα.
Προγραμματισμός I (E) Οκτώβριος 2019 23 / 23