Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 4 getchar() - putchar() - math.h. Γιώργος Λαµπρινίδης

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

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

int abs( int x ), επιστρέφει την απόλυτη τιμή του ακεραίου x Πχ abs( 11) ισούται με 11, abs(34) ισούται με 34 double fb( fabs( double x ), επιστρέφει

Εργαστήριο 5. Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch.

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

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

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΧΕΙΜΕΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

Γλώσσα Προγραμματισμού C

H ΓΛΩΣΣΑ C. Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Eξόδου. ηµήτρης Ψούνης

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΠΡΟΓΡΑΜΜΑΤΑ ΕΡΓΑΣΤΗΡΙΟΥ

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

Γλώσσα Προγραμματισμού C

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

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

Προγραμματισμός Ι. Θεματική ενότητα 8: Δημιουργία προγραμμάτων

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

ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ 8/9/2008

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

Προγραμματισμός I (E)

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

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

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

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

Διαδικασιακός Προγραμματισμός

Παραδείγματα. Γράψτε ένα πρόγραμμα που να τυπώνει τη μέση τιμή ενός συνόλου μη αρνητικών αριθμών

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

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΕΑΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

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

2. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Α' μέρος: if)

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

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

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

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

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

Μεταβλητές, σταθερές, τύποι και δηλώσεις. Εντολές αντικατάστασης, τελεστές και παραστάσεις. Εμβέλεια και χρόνος ζωής μεταβλητών

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

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

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

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

Αʹ. Πίνακες. Άσκηση 1. Λύση. Άσκηση 2. Λύση. Ασκήσεις Εργαστηρίου Προγραμματισμού

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδηµαϊκό έτος ΑΣΚΗΣΗ #5 Προτεινόµενη λύση

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

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

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Τύποι Δεδομένων Είσοδος/Έξοδος

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

ΕΛΕΓΧΟΣ ΡΟΗΣ IF-ELSE

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Συναρτήσεις και διαδικασίες

Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»

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

Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C»

Δομημένος Προγραμματισμός

Προγραμματισμός Η/Υ (ΤΛ2007 )

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

Προγραμματισμός I (Θ)

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings).

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ C. Dennis Ritchie (1970) UNIX 1989 Ansi C

scanf() scanf() stdin scanf() printf() int float double %lf float

Προγραμματισμός Ι (HY120)

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Μεθόδων Επίλυσης Προβλημάτων

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Προγραµµατισµός Ι (ΗΥ120)

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Προγραμματισμός Ι (ΗΥ120)

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

Πρόβληµα : Πώς θα λύναµε αυτό το πρόβληµα αν είχαµε µόνο χαρτί και µολύβι, και κάποιος µας έλεγε τους αριθµούς προφορικά?

Συναρτήσεις διαχείρισης αλφαριθμητικών

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

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 4

Μεταβλητές τύπου χαρακτήρα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Transcript:

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 4 getchar() - putchar() - math.h Γιώργος Λαµπρινίδης lamprinidis@pharm.uoa.gr

Ασκήσεις 3 ου Εργαστηρίου Να διαβαστούν δύο ακέραιοι αριθµοί και να υπολογισθεί η απόλυτη τιµή της διαφοράς τους. ----------------------------------------- #include <stdio.h> main() { int a,b,d; printf("dwse 2 akerairous arithmous\n"); scanf("%d",&a); scanf("%d",&b); if (a>b) { d=a-b; printf("h apoliti timi tis diaforas a-b einai %d\n",d); else { d=b-a; printf("h apoliti timi tis diaforas a-b einai %d\n",d); Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2

Ασκήσεις 3 ου Εργαστηρίου Να διαβαστούν οι συντελεστές α, β και γ ενός τριωνύµου και να υπολογιστούν οι ρίζες του. (Μέρος 1ο) ----------------------------------------- #include <stdio.h> main() { double a,b,c,d,dd,x1,x2; printf("dwse syntelesti a triwnymou ax^2+bx+c=0\n"); scanf("%lf",&a); printf("dwse syntelesti b triwnymou ax^2+bx+c=0\n"); scanf("%lf",&b); printf("dwse syntelesti c triwnymou ax^2+bx+c=0\n"); scanf("%lf",&c); d=b*b-4*a*c; /* Eyresi tetragwnikis rizas kata ton babuloniako tropo */ dd=((d/2)+d/(d/2))/2;/*first guess*/ dd=(dd+d/dd)/2; dd=(dd+d/dd)/2; dd=(dd+d/dd)/2; dd=(dd+d/dd)/2; Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 3

Ασκήσεις 3 ου Εργαστηρίου Να διαβαστούν οι συντελεστές α, β και γ ενός τριωνύµου και να υπολογιστούν οι ρίζες του. (Μέρος 2 ο ) ----------------------------------------- if (d>0) { x1=(-b-dd)/2*a; x2=(-b+dd)/2*a; printf("oi dyo lyseis toy triwnymoy einai x1=%lf kai x2 %lf\n",x1,x2); else if (d==0) { x1=-b/2*a; x2=-b/2*a; printf("yparxoyn 2 koines lyseis x1,2=%lf\n",x1); else { printf("to trivnymo den exei lyseis pragamtikous arithmous\n"); Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 4

Ασκήσεις 3 ου Εργαστηρίου Να διαβαστούν τρεις αριθµοί και να ταξινοµηθούν κατά φθίνουσα σειρά. ----------------------------------------- #include <stdio.h> main() { double a,b,c; printf("taxinomisi 3 arithmwn kata fthinousa seira\n"); printf("desw prwto arithmo\n"); scanf("%lf",&a); printf("desw deutero arithmo\n"); scanf("%lf",&b); printf("desw trito arithmo\n"); scanf("%lf",&c); if (a>b && a>c && b>c) printf("h seira einai %lf %lf %lf\n",a,b,c); if (a>b && a>c && c>b) printf("h seira einai %lf %lf %lf\n",a,c,b); if (a>b && c>a && b>a) printf("h seira einai %lf %lf %lf\n",c,b,a); if (a>b && c>a && a>b) printf("h seira einai %lf %lf %lf\n",c,a,b); if (b>a && b>c && a>c) printf("h seira einai %lf %lf %lf\n",b,a,c); if (b>a && b>c && c>a) printf("h seira einai %lf %lf %lf\n",b,c,a); if (b>a && c>b && a>b) printf("h seira einai %lf %lf %lf\n",c,a,b); if (b>a && c>b && b>a) printf("h seira einai %lf %lf %lf\n",c,b,a); Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 5

Ασκήσεις 3 ου Εργαστηρίου Να διαβαστεί έναςλατινικός χαρακτήρας και να εµφανιστεί ο χαρακτήρας αυτός σε Upper Case (κεφαλαία) αν είναι φωνήεν. Σε διαφορετική περίπτωση να εµφανιστεί το µήνυµα Character is not a vowel (Τα φωνήεντα είναι οι χαρακτήρες a,e,i,o,u,y). Να λυθεί µε την εντολή switch. ----------------------------------------- #include <stdio.h> main() { char a ; int x; printf("dwse enan Fonien\n"); scanf("%c",&a); if(a=='a') x=1; if(a=='e') x=2; if(a=='i') x=3; if(a=='o') x=4; if(a=='u') x=5; if(a=='y') x=6; switch (x) { case 1: printf("a\n"); break; case 2: printf("e\n"); break; case 3: printf("i\n"); break; case 4: printf("o\n"); break; case 5: printf("u\n"); break; case 6: printf("y\n"); break; default: printf("character is not a vowel\n"); Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 6

Κώδικας ASCII l Προκύπτει από από τα αρχικά American Standard Code for Information Interchange l Οι υπολογιστές καταλαβαίνουν µόνο αριθµούς, εποµένως ο κώδικας ASCII αντιστοιχεί σε ένα χαρακτήρα (όπως π.χ. 'α' ή @) συγκεκριµένη αριθµητική τιµή που καταλαβαίνει ο υπολογιστής l Ανατρέξτε στον τελευταίο πίνακα της ιστοσελίδας http://el.wikipedia.org/wiki/ascii και προσέξτε τις στήλες «Δεκ.» και «Γραφ.» l π.χ. για το χαρακτήρα 'Β' ο αριθµός ASCll που του αντιστοιχεί είναι ο 66, για το 'b' ο αριθµός 98 κ.ο.κ. Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 7

Ο πίνακας ASCII Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 8

Η συνάρτηση getchar() l Η συνάρτηση getchar() προέχεται από την πρότυπη (standard) βιβλιοθήκη εισόδου / εξόδου της C l Διαβάζει ένα χαρακτήρα από την είσοδο και επιστρέφει στο όνοµά της την ακέραια τιµή του ASCII κωδικού του χαρακτήρα l Αν δεν υπάρχει άλλος χαρακτήρας να διαβαστεί, δηλαδή φτάσαµε στο τέλος της εισόδου, τότε επιστέφει στο όνοµά της µία ειδική τιµή, το EOF (End of File), που είναι #defined σε µία συγκεκριµένη ακέραια τιµή µέσα στο αρχείο επικεφαλίδας stdio.h Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 9

Η συνάρτηση putchar() l Είναι η αδερφή συνάρτηση της getchar() l Η συνάρτηση putchar παρέχεται επίσης από την πρότυπη βιβλιοθήκη εισόδου / εξόδου της C και η λειτουργία της είναι να εκτυπώσει στην έξοδο τον χαρακτήρα του οποίου τον ASCII κωδικό δίνουµε µέσα στις παρενθέσεις Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 10

Πρόβληµα 1 l Γράψτε ένα πρόγραµµα σε C που να διαβάζει από το πληκτρολόγιο έναν χαρακτήρα µε τη χρήση της getchar και να εκτυπώνει στην οθόνη τον χαρακτήρα αυτό που διαβάστηκε µε τη χρήση της putchar Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 11

Λύση l #include <stdio.h> main() { int ch; ch = getchar(); putchar(ch); l getchar(); getchar(); Σηµείωση: Τα δύο getchar() στο τέλος του προγράµµατος χρησιµοποιούνται για το DevC++ και δε σχετίζονται µε το ζητούµενο του προβλήµατος Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 12

Πρόβληµα 2 l Γράψτε ένα πρόγραµµα σε C που να διαβάζει από το πληκτρολόγιο έναν πεζό χαρακτήρα του αγγλικού αλφαβήτου (δηλαδή από 'a' εως 'z') µε τη χρήση της getchar και να υπολογίζει και να εκτυπώνει στην οθόνη τον ίδιο χαρακτήρα µε αυτόν που διαβάστηκε αλλά κεφαλαίο µε τη χρήση της putchar. l Π.χ. έστω ότι δόθηκε ως είσοδος το γράµµα 'a'. Τότε θέλουµε να υπολογίσουµε και να εκτυπώσουµε το γράµµα 'Α'. Σε περίπτωση που η είσοδος που δοθεί δεν είναι πεζός χαρακτήρας αλλά κεφαλαίος ή άλλος (π.χ. *, &, κ.α.) τότε να εκτυπώνεται αντίστοιχο µήνυµα και να µη γίνεται υπολογισµός. Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 13

Σηµείωση που βοηθά στη λύση του προβλήµατος l Στον ASCII πίνακα οι κεφαλαίοι λατινικοί χαρακτήρες είναι σε συνεχόµενες θέσεις και το ίδιο ισχύει και για τους πεζούς l Για τη µετατροπή ενός πεζού χαρακτήρα σε κεφαλαίο, δε χρειάζεται να γνωρίζουµε τις ακριβείς τιµές των ASCII κωδικών, αρκεί να µετατοπίσουµε τον πεζό χαρακτήρα κατά 'a' 'A' θέσεις Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 14

Πρόβληµα 3 l Το ίδιο µε το Πρόβληµα 2 µε τη διαφορά ότι αν δοθεί κεφαλαίος χαρακτήρας τότε να υπολογίζεται και να εκτυπώνεται ο αντίστοιχος πεζός χαρακτήρας. Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 15

Λύση l #include <stdio.h> main() { int ch = getchar(); if (ch >= 97 && ch <= 122) { /* if lower case letter */ ch = ch 32; /* Move 32 positions in the ASCII table */ putchar(ch); else if (ch >= 65 && ch <= 90) { /* if upper case letter */ ch = ch + 32; /* Move 32 positions in the ASCII table */ putchar(ch); else printf( The number you gave is not a letter of the alphabet. \n ); getchar(); getchar(); Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 16

Βιβλιοθήκη Μαθηµατικών Συναρτήσεων math.h Χρήσιµες Συναρτήσεις Όνοµα Τύπος x,y Υπολογισµός Τύπος αποτελέσµατος ceil(x) double x (στρογγυλοποίηση προς τα πάνω) int floor(x) double x (στρογγυλοποίηση προς τα κάτω) int abs(x) int x int fabs(x) double x double sqrt(x) double x (x 0) double pow(x,y) double x y double

Άσκηση l Φτιάξτε ένα πρόγραµµα σε C που να δοκιµάζει όλες τις παραπάνω συναρτήσεις Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 18

Απάντηση #include <stdio.h> #include <stlib.h> #include <math.h> main() { int x_ceil, x_floor, x_abs_int; double x_abs_double, x_sqrt, x_pow; x_ceil = ceil(3.14); printf("ceil of 3.14 is %d\n",x_ceil); x_floor = floor(3.14); printf("floor of 3.14 is %d\n",x_floor); x_abs_int = abs(-3.14); printf("integer abs of -3.14 is %d\n",x_abs_int); x_abs_double = fabs(-3.14); printf("double abs of -3.14 is %lf\n",x_abs_double); x_sqrt = sqrt(4); printf("sqrt of 4 is %lf\n",x_sqrt); x_pow = pow(2,3); printf("2^3 is %lf\n",x_pow); getchar(); getchar(); Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 19

Πρόβληµα 4 l Ένας φοιτητής απαντά σε µία ερώτηση πολλαπλής επιλογής. Η κάθε απάντηση (a) (d) µεταβάλει το βαθµό του ως εξής: (a) απάντηση: αυξάνει τον βαθµό του κατά 1 µονάδα (b) απάντηση: αυξάνει τον βαθµό του κατά 6 µονάδες (c) απάντηση: δεν αυξάνει το βαθµό του (d) απάντηση: αυξάνει τον βαθµό του κατά 10 µονάδες l Γράψτε ένα πρόγραµµα σε C που l l l να διαβάζει την απάντηση του φοιτητή να υπολογίζει τον βαθµό του και να τυπώνει τον βαθµό του Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 20

Σηµείωση l Αρχικά για να λύσετε το πρόβληµα χρησιµοποιήστε τη δοµή switch case και εν συνεχεία λύστε το πάλι χρησιµοποιώντας τη δοµή if else Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 21

Λύση (1) l #include <stdio.h> main() { char apantisi; int vathmos = 0; printf("give your answer. Possible choices : a, b, c, d\n"); scanf("%c", &apantisi); switch (apantisi) { case 'a': vathmos++; break; case 'b': vathmos +=6; break; case 'c': break; Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 22

Λύση (2) l case 'd': vathmos +=10; break; default: printf("wrong answer\n"); printf("your grade is = %d", vathmos); getchar(); getchar(); Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 23

Πρόβληµα 5 l Γράψτε ένα πρόγραµµα σε C που λύνει την πρωτοβάθµια εξίσωση ax + b = 0 µε a, b ακέραιους αριθµούς. Τα a και b δίνονται σαν είσοδο από το χρήστη και το αποτέλεσµα (που πρέπει να είναι πραγµατικός αριθµός) εκτυπώνεται στην οθόνη Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 24

Λύση l #include <stdio.h> main() { int a,b; double result; printf("computation of the solution of primary equation\n"); printf("give a and b (integers)\n"); scanf("%d",&a); scanf("%d",&b); result = -(double)b/a; printf("the result is %lf", result); getchar(); getchar(); Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 25

Ασκηση Σε µια Φαρµακοβιοµηχανια χρειαζόµαστε ένα λογισµικό που να εισάγουµε τo επιθυµητό βάρος ενός δισκίου π.χ. 150mg και να δίνουµε τις µετρήσεις βάρους 5 δισκίων. Η µάζα σε δυο από αυτά δεν θα πρέπει να αποκλίνει περισσότερο από τα παρακάτω όρια και κανένα να µην αποκλίνει περισσότερο από το διπλάσιο της ένδειξης: Μέσος όρος µάζας δισκίου Μέχρι 100mg ±10% Από 100-300mg ±7.5% Πάνω απο 300mg ±5% Ενδεικτικό παράδειγµα: Μάζα δισκίου 200mg Ζυγίσεις(σε mg) : Παρτιδα 1: 213 228 210 206 186 Παρτιδα 2: 188 184 202 204 206 Παρτιδα 3: 208 214 218 212 203 Παρτιδα 4:201 200 198 195 208 Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 8/11/1616/10/2015