ΠΣ-ΕΡ+ΤΑΠΕ, όπου: ΠΧ είναι η πάγια χρέωση, ύψους 29.64 Є. ΠΣ είναι το ποσό στρογγυλοποίησης (ΠΣ) του προηγούμενου λογαριασμού.



Σχετικά έγγραφα
ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ

ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ

Τμήμα Πληροφορικής & Επικοινωνιών

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ:

stdio.h> #include <string.h< string.h> void main() { char *px*

ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

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

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

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

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΤΟΥΣ

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

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

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός

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

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

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

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

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

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

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

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

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

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

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

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

Δομημένος Προγραμματισμός (ΤΛ1006)

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

Δομημένος Προγραμματισμός (ΤΛ1006)

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

Εργαστήριο 09 Δημιουργία Νέων Συντακτικών Αναλυτών

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

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

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

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

Εισαγωγή στις Συναρτήσεις

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών

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

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

Συναρτήσεις. Εισαγωγή

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

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

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

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

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

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

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

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

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

Εισαγωγή στους Δείκτες (Pointers)

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

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

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η

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

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ:

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006)

C: Από τη Θεωρία στην Εφαρμογή

Ηλεκτρονικοί Υπολογιστές

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

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

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

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

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

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

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

ΕΠΛ232: Εργαστήριο 2

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

Προγραμματισμό για ΗΜΥ

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

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

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

Επεξεργασία Αρχείων Κειµένου

ΕΝ ΕΙΚΤΙΚΑ ΣΧΕ ΙΑ ΛΥΣΕΩΝ - ΥΠΟ ΕΙΞΕΙΣ

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

Transcript:

Φεβρουάριος 2006, Θέμα 1ο (35%) Να γραφεί πρόγραμμα στη γλώσσα C,, το οποίο θα υπολογίζει το λογαριασμό ηλεκτρικού ρεύματος, που εκδίδει η επιχείρηση ηλεκτρισμού μίας περιοχής, με βάση τις ακόλουθες προδιαγραφές: (1) Ο συνολικός λογαριασμός (ΣΛ) προκύπτει ως το άθροισμα ΣΛ=ΛΗΡ+ΛΤ+ΦΠΑ, όπου ΛΗΡ είναι ο λογαριασμός ηλεκτρικού ρεύματος, ΛΤ το σύνολο των λοιπών τελών και ΦΠΑ ο φόρος προστιθέμενης αξίας με μ συντελεστή 8% επί του ΛΗΡ (ΦΠΑ=8% του ΛΗΡ). (2) Για τον υπολογισμό του ΛΗΡ ακολουθείται η εξής τιμολογιακή πολιτική για έναν οικιακό καταναλωτή: Έστω ΚΩ (σε κιλοβατώρες) η συνολική κατανάλωση κατά τη διάρκεια ενός τετραμήνου. Το τίμημα της κατανάλωσης (ΤΚ) προκύπτει ως εξής: Για κατανάλωση από 1 έως 820 κιλοβατώρες: 0.06817 Є/ κιλοβατώρα Για τις επόμενες κιλοβατώρες από 821 έως 1640: 0.08687 Є/ κιλοβατώρα Για τις επόμενες κιλοβατώρες από 1641 έως 2050: 0.10662 Є/ κιλοβατώρα Για τις επόμενες κιλοβατώρες: 0.14127 Є/ κιλοβατώρα ΛΗΡ=ΤΚ+ΠΧ-ΠΣ ΠΣ-ΕΡ+ΤΑΠΕ, όπου: ΠΧ είναι η πάγια χρέωση, ύψους 29.64 Є. ΠΣ είναι το ποσό στρογγυλοποίησης (ΠΣ) του προηγούμενου λογαριασμού.

ΕΡ είναι η αξία του ρεύματος που δόθηκε ως έναντι στον προηγούμενο λογαριασμό. ΤΑΠΕ είναι το τέλος για τις ανανεώσιμες πηγές ενέργειας, ύψους 1.771 Є. (3) Τα λοιπά τέλη ΛΤ αποτελούνται από το άθροισμα των τεσσάρων ακόλουθων τελών: (3.1) Του τέλους υπέρ της κρατικής ραδιοτηλεόρασης, το οποίο συμβολίζεται ως ΤΕΡΤ, και ισούται με ΤΕΡΤ=13.10-ΕΝΕΡΤ, ΕΝΕΡΤ, όπου ΕΝΕΡΤ το ποσό έναντι του προηγούμενου λογαριασμού. (3.2) Του δημοτικού τέλους, ύψους 49.47 Є, το οποίο συμβολίζεται ως ΔΤ. (3.3) Του δημοτικού φόρου, ύψους 6.18 Є, το οποίο συμβολίζεται ως ΔΦ. (3.4) Του τέλους ακίνητης περιουσίας, ύψους 6.80 Є, το οποίο συμβολίζεται ως ΤΑΠ. (4) Ο ΣΛ στρογγυλοποιείται στο ευρώ, δηλαδή εάν το κόστος είναι 143.34 34 Є ο λογαριασμός στρογγυλοποιείται στα 143 Є, ενώ κόστος 143.56 Є οδηγεί σε λογαριασμό 144 Є. (5) Το πρόγραμμα δέχεται από το χρήστη τιμές για τις μεταβλητές ΚΩ, ΠΣ, ΕΡ, ΕΝΕΡΤ. Επαλήθευση: Εάν ο χρήστης δώσει ΚΩ=2948 κιλοβατώρες, ΠΣ=0.04 Є, ΕΡ=56.07 Є, ΕΝΕΡΤ=5.95 Є, το πρόγραμμα θα πρέπει να υπολογίσει ΣΛ=364 00 Є

#include <stdio.h< stdio.h> #include <conio.h< conio.h> #include <stdlib.h< stdlib.h> #define PX 29.64 #define TIMH_1 0.06817 #define TIMH_2 0.08687 #define TIMH_3 0.10662 #define TIMH_4 0.14127 #define SYNT_FPA 0.08 #define TAPE 1.77 #define SYNT_ERT 13.10 #define DT 49.47 #define DF 6.18 #define TAP 6.80 void main() { int kw; float tk,ps,er,enert,pp,lir,tert,lt,sl; printf("\nmeasurement nmeasurement (in kilowatthour)= "); scanf("%d",&kw);

printf("\nps nps (in euros)= "); scanf("%f",&ps); printf("\ner ner (in euros)= "); scanf("%f",&er); printf("\nenert nenert (in euros)= "); scanf("%f",&enert); if (kw( kw<=820) tk=kw kw*timh_1; else if (kw( kw<=1640) tk=820*timh_1+(kw =820*TIMH_1+(kw-820)*TIMH_2; 820)*TIMH_2; else if (kw( kw<=2050) tk=820*(timh_1+timh_2)+(kw =820*(TIMH_1+TIMH_2)+(kw-1640)*TIMH_3; 1640)*TIMH_3; else tk=820*(timh_1+timh_2)+410*timh_3+(kw =820*(TIMH_1+TIMH_2)+410*TIMH_3+(kw-2050)*TIMH_4; 2050)*TIMH_4; tk=tk tk+px; lir=tk tk-ps-er+tape; tert=synt_ert SYNT_ERT-enert; lt=tert tert+dt+df+tap; sl=(1+synt_fpa)* =(1+SYNT_FPA)*lir+lt; if ((sl sl-(int)sl)>=0.5) sl=( =(int)sl+1.0; else sl=(int)sl; printf("\n\n\tsl= tsl= %f\n\n\n",sl); n",sl); system("pause"); ");

Φεβρουάριος 2006, Θέμα 3ο (45%) Να γραφεί πρόγραμμα στη γλώσσα C,, το οποίο θα επιτελεί τα ακόλουθα: Θα δέχεται από το πληκτρολόγιο τα ονοματεπώνυμα δύο φοιτητών, έως ς 40 χαρακτήρες το καθένα και δοσμένα με κεφαλαία λατινικά γράμματα, και θα τα αποθηκεύει σε δισδιάστατο πίνακα χαρακτήρων all[2][41]. Θα διαχωρίζει τα μικρά ονόματα από τα επώνυμα και θα τα αποθηκεύει ει σε δύο ξεχωριστούς δισδιάστατους πίνακες χαρακτήρων, nm[2][16] για τα μικρά ονόματα και sr[2][26] για τα επώνυμα. Θα ταξινομεί αλφαβητικά τα επώνυμα και θα αναδιατάσσει τόσο τα μικρά ονόματα όσο και τα επώνυμα σε δύο νέους πίνακες nm_new new[2][16] και sr_new new[2][26]. Θα πρέπει να ληφθεί μέριμνα ώστε εάν το ένα επώνυμο είναι υποσύνολο του άλλου (π.χ. ΧΑΤΖISAVVAS και ΧΑΤΖIS IS) ) ταξινομείται ως πρώτο το συντομότερο εξ αυτών. Θα εμφανίζει τους πίνακες nm, sr, nm_new new, sr_new στην οθόνη. Δίνεται ότι: Τα ονοματεπώνυμα δόθηκαν σωστά, με κεφαλαία λατινικά γράμματα, και κ δεν απαιτείται έλεγχος γι αυτό. Όταν ο χρήστης πληκτρολογεί ένα ονοματεπώνυμο διαχωρίζει το όνομα από το επώνυμο με απλό κενό.

Κάθε μικρό όνομα και επώνυμο είναι απλό, δεν περιέχει διπλά ονόματα, τίτλους ευγενείας ή άλλου είδους προσφωνήσεις. Επαλήθευση: Εάν ο χρήστης δώσει JOAN JAMESON και ANDREW DOE, οδηγούμαστε στους ακόλουθους πίνακες: all[0] = JOAN JAMESON all[1] = ANDREW DOE nm[0] = JOAN nm[1] = ANDREW sr[0] = JAMESON sr[1] = DOE nm_new[0] = ANDREW nm_new[1] = JOAN sr_new[0] = DOE sr_new[1] = JAMESON #include <stdio.h< stdio.h> #include <conio.h< conio.h> #include <string.h< string.h> void main() { char all[2][41],nm[2][16],nm_new[2][16],sr[2][26],sr_new[2][26]; ]; int i,j,mikos,count=0; printf("give first name: "); gets(all all[0]); //gets για να αναγνωρισθούν τα κενά

printf("\ngive ngive second name: "); gets(all[1]); for (i=0;i<2;i++) { j=0; while (all[i][j( all[i][j]!=' ]!=' ') { nm[i][j]=all[i][j]; j++; nm[i][j]='\0'; j=0; do { sr[i][ ][j]=all[i][strlen(nm[i])+j];]; //Έτσι δε λαμβάνεται υπόψη το ενδιάμεσο κενό j++; while (all[i][j( all[i][j]!=' ]!='\0'); printf("\nnm[%d nnm[%d]=% ]=%s\tsr[%d]=%s",i,nm[i],i,sr[i]);]); mikos=(strlen(sr[0])<strlen(sr[1]))?strlen(sr[0]):strlen(sr[1]); i=0;

do { if (sr[0][i]<sr[1][i]) count++; i++; while ((i<mikos mikos) ) && (!count)); if ((count) (strlen(sr[0])>strlen(sr[1]))) { strcpy(sr_new[0],sr[1]); strcpy(sr_new[1],sr[0]); strcpy(nm_new[0],nm[1]); strcpy(nm_new[1],nm[0]); else for (i=0;i<2;i++) { strcpy(sr_new[i],sr[i]); ]); strcpy(nm_new[i],nm[i]); ]); for (i=0;i<2;i++) printf("\nnm_new[%d nnm_new[%d]=% ]=%s\tsr_new[%d]=%s",i,nm_new[i],i,sr_new[i]);]);

// 2006_2 2_3 Προγραμματισμός ς Ι