Ασκηή σεις 12ο Μαά θημα - Λυύ σεις Άσκηση 1: Γράψτε ένα πρόγραμμα που να δέχεται από το πληκτρολόγιο 21 ακέραιους αριθμούς (μεταξύ 0 και 100) και στη συνέχεια να υπολογίζει το πλήθος και το μέσο όρο, μόνο για όσους αριθμούς είναι μεγαλύτεροι ή ίσοι από την τιμή 45 και μικρότεροι ή ίσοι από 65. Στη συνέχεια να μας παρουσιάζει το μέσο όρο, το πλήθος καθώς και όλους τους αριθμούς που είναι μικρότεροι από την τιμή 45. Τα αποτελέσματα να παρουσιάζονται με σχετικά μηνύματα στην οθόνη. #define SIZE 12 main() int pinakas[size], i, j, sum = 0, count = 0; float avg; printf("doste %d arithmous\n", SIZE); printf("%2d> ", i+1); scanf("%d", &pinakas[i]); if (pinakas[i] >= 45 && pinakas[i] <= 65) sum += pinakas[i]; count++; avg = (float)sum/count; printf(" count = %d and average = %f\n", count, avg); if (pinakas[i] < 45) printf("%2d> %d\n", i, pinakas[i]); ΤΕΙ Κρήτης - Πληροφορική Μηχανολογίας (Εργαστήριο) 1
Άσκηση 2: Γράψτε ένα πρόγραμμα που να χρησιμοποιεί μια συνάρτηση για να υπολογίσει το τη δύναμη του βάρους υλοποιώντας τον ορισμό w=m*g, όπου το g δίδεται από μια σταθερά. Χρησιμοποιήστε την παραπάνω συνάρτηση για να διαβάσετε 5 φορές τη μάζα και να υπολογίσετε το αντίστοιχο βάρος, καταχωρώντας το αποτέλεσμα σε έναν μονοδιάστατο πίνακα. Τα αποτελέσματα να παρουσιάζονται με σχετικά μηνύματα στην οθόνη. #define G 9.81 #define SIZE 5 float force(float); main() float mass = 0, dynami[size]; int i = 0; printf(" Dose ti maza se kila: "); scanf("%f", &mass); dynami[i] = force(mass); printf(" H dynami toy barous einai: %.2f \n", dynami[i]); float force(float maza) float dyn; if (maza > 0) dyn = maza * G; else dyn = 0; return dyn; ΤΕΙ Κρήτης - Πληροφορική Μηχανολογίας (Εργαστήριο) 2
Άσκηση 3: Γράψτε ένα πρόγραμμα σε γλώσσα C που να δέχεται από το πληκτρολόγιο 5 δεκαδικούς αριθμούς και να τους καταχωρεί σε ένα μονοδιάστατο πίνακα και στη συνέχεια να υπολογίζει το μέσο όρο τους χρησιμοποιώντας μία συνάρτηση που να δέχεται ως παράμετρο τον πίνακά σας. Τα αποτελέσματα να παρουσιάζονται με σχετικά μηνύματα στην οθόνη εμφανίζοντας 2 μόνο δεκαδικά ψηφία. #define SIZE 5 /* function declaration */ float getaverage(float arr[]); main () /* read values in array*/ float pinakas[size], avg = 0; int i = 0; printf("dose %d dekadikoys arithmoys\n", SIZE); printf("dose ton %d arithmo: ", i+1); scanf("%f", pinakas+i); /* pass pointer to the array as an argument */ avg = getaverage(pinakas); /* output the returned value */ printf("o mesos oros einai: %.2f\n", avg); float getaverage(float arr[]) int i; float avg, sum = 0; sum += arr[i]; avg = sum / SIZE; return avg; ΤΕΙ Κρήτης - Πληροφορική Μηχανολογίας (Εργαστήριο) 3
Άσκηση 4: Γράψτε ένα πρόγραμμα σε γλώσσα C που να διαβάζει από το πληκτρολόγιο ένα (μικρό) ακέραιο αριθμό και στη συνέχεια να αποθηκεύει σε ένα μονοδιάστατο πίνακα τους επόμενους 10 αριθμούς στη σειρά τον ακέραιων αριθμών. Π.χ. εάν δοθεί ο αριθμός 3 θα αποθηκεύονται οι αριθμοί 3,4,5,,10,11,12. Στη συνέχεια δημιουργήσετε μία συνάρτηση που να υπολογίζει και θα επιστρέφει το παραγοντικό ενός ακεραίου αριθμού (όπου παραγοντικό ενός ακέραιου αριθμού ορίζεται το γινόμενο n! = 1*2*3 *n). Τέλος καλέστε τη συνάρτηση για κάθε ένα από τα στοιχεία του πίνακα και εμφανίστε το αντίστοιχο παραγοντικό αριθμό στην οθόνη. #define SIZE 10 int factorial(int); main () /* read values in array*/ int pinakas[size], n = 0, i = 0; printf("dose ton akeraio arithmo "); scanf("%d", &n); pinakas[i] = n + i; printf("to stoixeio %d apothikeytike sth thesi %d\n", pinakas[i], i); printf("ta paragontika einai: \n"); printf("to stoixeio %d exei paragontiko %d\n", pinakas[i], factorial(pinakas[i])); int factorial(int n) int i, f = 1; for (i = 1; i <= n; i++) f *= i; ΤΕΙ Κρήτης - Πληροφορική Μηχανολογίας (Εργαστήριο) 4
return f; ΤΕΙ Κρήτης - Πληροφορική Μηχανολογίας (Εργαστήριο) 5