3401 - ΜΕΘΟ ΟΛΟΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι ΕΡΓΑΣΤΗΡΙΟ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2009 2010 A12. Aσκήσεις Πράξης 6 - EΠΑΝΑΛΗΠΤΙΚΟ ΤΥΠΟΙ Ε ΟΜΕΝΩΝ... 1. Τι τυπώνει το επόµενο πρόγραµµα: int a,b,aa,bb,x,y; x=y=100; a=++x; b=y++; aa=++x; bb=y++; cout<<"value of a is:"<<a<<endl; cout<<"value of a is:"<<b<<endl; cout<<"value of a is:"<<aa<<endl; cout<<"value of a is:"<<bb<<endl; 2. Τι τυπώνει το επόµενο πρόγραµµα και γιατί; int a,b; float d; a=5; b=6; d=(a+b)/2; cout << d << endl; 3. Γράψτε πρόγραµµα που ζητάει δυο δεκαδικούς αριθµούς π.χ. 5.14 και 1.34, υπολογίζει το µέσο όρο τους, και εµφανίζει το αποτέλεσµα π.χ. 3.24 µε δυο δεκαδικά ψηφία καταλαµβάνοντας συνολικά δεκαέξι θέσεις στην οθόνη. 4. Γράψτε πρόγραµµα, που υπολογίζει το υπόλοιπο της διαίρεσης ενός δεκαδικού αριθµού µε έναν ακέραιο. Το πρόγραµµα θα ζητάει τους 2 αριθµούς π.χ. 5.14 και 2 και θα εµφανίζει το αποτέλεσµα π.χ. 1.14. 5. Τι τυπώνει το επόµενο πρόγραµµα: Σελ. 1/5
char ch=68, let='l'; //ASCII κωδικός του L o 76 int a=2,b=4; a=ch+let; ch=++let; cout<< ++a<<ch<<let<<endl; ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ, ΡΟΗΣ & ΑΠΟΦΑΣΕΩΝ... 6. Τι κάνει το επόµενο πρόγραµµα: char ch=1; int a=0,r=0; while (ch!='0') cin>>ch; if (ch=='*') r=1; if (ch=='1') ++a; cout<<a<< " assoi\n"; 7. Γράψτε πρόγραµµα, που εκτυπώνει τους ΑSCII χαρακτήρες από το 33 έως το 255: 33:! 34: 35:#.. 8. Γράψτε πρόγραµµα, που εµφανίζει το επόµενο «µενού», 1. Τύπωσε την λέξη «Hi» 2. Τύπωσε τον αριθµό 2 3. Τύπωσε bye bye 4. Μην κάνεις τίποτα ώσε επιλογή: δέχεται έναν αριθµό και κάνει την αντίστοιχη ενέργεια, στην περίπτωση που δοθεί κάτι διαφορετικό από 1,2,3,4 να εµφανίζει µήνυµα «Λάθος επιλογή». 9. Τι κάνει το επόµενο πρόγραµµα: Σελ. 2/5
int a; do a=rand(); if (a>=100) continue; cout <<a<<endl; while (a!=0); ΣΥΝΑΡΤΗΣΕΙΣ... 10. Να γραφτεί συνάρτηση µε το όνοµα total (int n), που δέχεται ως παράµετρο ένα ακέραιο αριθµό και επιστρέφει ως τιµή το άθροισµα των αριθµών από το 1 µέχρι την τιµή της παραµέτρου n. 11. Να γραφτεί υπερφορτωµένη συνάρτηση µε το όνοµα myf (float n), που δέχεται ως παράµετρο ένα αριθµό τύπου float και επιστρέφει ως τιµή το πηλίκο του αριθµού n δια δύο. Όταν καλείται µε δύο παραµέτρους myf (float n1, float n2), επιστρέφει ως τιµή τον µέσο όρο τους. 12. Τι τυπώνει το επόµενο πρόγραµµα: void out1() static int x=4; void out2() static int x; x=4; void out3() int x=4; int i; for (i=1;i<=5;i++) out1(); for (i=1;i<=5;i++) out2(); for (i=1;i<=5;i++) out3(); ΠΙΝΑΚΕΣ - ΕΙΚΤΕΣ... 13. Τι κάνει το παρακάτω πρόγραµµα Σελ. 3/5
char lex[40]; int i=0,j,c=0; cout << "Dose mia lexi:"; cin>>lex; while (lex[i]!='\0') if(lex[i]=='a') j=i; while(lex[j]!='\0') lex[j]=lex[j+1]; j++; c++; i--; i++; cout<<lex<<endl; cout << "Afairesa " << c << " a\n"; system("pause"); 14. Τι θα περιέχουν οι µεταβλητές α,β,c όταν τυπωθούν: int a=100,b=50,c,*m,*p; m=&a; p=&b; c=*p+*m; (*p)++; p=m; (*p)--; cout<<a<<" "<<b<<" "<<c<<endl; 15. Έστω ότι έχετε τον παρακάτω πίνακα δοµών στον οποίο είναι καταχωρηµένα τα στοιχεία των 100 µαθητών ενός σχολείου: struct stoixeia char eponymo[30]; char taxi[5]; float mesos_oros; int ilikia; mathites[100]; Σελ. 4/5
Να γραφτεί συνάρτηση που θα εµφανίζει την λίστα των µαθητών, όπου η κάθε γραµµή περιέχει το επώνυµο, την τάξη και τον µέσο όρο του κάθε µαθητή (µε ένα δεκαδικό ψηφίο). ΚΛΑΣΕΙΣ KAI ANTIKEIMENA... 16. Τι θα εµφανίσει στην οθόνη το παρακάτω πρόγραµµα: class rectangle float plevra_a; float plevra_b; public: rectangle(float a, float b); ~rectangle(); float emvado(); void set_ab(float a, float b); ; float rectangle::emvado() return plevra_a * plevra_b; void rectangle::set_ab(float a, float b) plevra_a = a; plevra_b = b; rectangle::rectangle(float a, float b) plevra_a = a; plevra_b = b; cout << "Dimioyrgithike orthogonio " << a << " x " << b << endl; rectangle::~rectangle() cout << "To orthogonio katastrafike\n"; rectangle rec1(10,2),rec2(4,8); cout << "rec1=" << rec1.emvado() << " rec2=" << rec2.emvado() << endl; rectangle rec3(3,7); cout << "rec3=" << rec3.emvado(); rec3.set_ab(8,10); cout << " rec3=" << rec3.emvado() << endl; system("pause"); Σελ. 5/5