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

Σχετικά έγγραφα
Προγραμματισμός II. Δείκτες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός II. stdio.h> #include <conio.h< conio.h> #include <stdlib.h< stdlib.h> static int j=0; j=j*n; ("j=%d\t",j); return ((*py.

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

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

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

Προγραμματισμός II. Συναρτήσεις

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

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

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

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

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

Εισαγωγή στον δομημένο προγραμματισμό

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

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

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

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

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

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

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

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Ασκήσεις - Μελέτες περίπτωσης για το μάθημα Προγραμματισμός II

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

Η γλώσσα προγραμματισμού C Δυναμική διαχείριση μνήμης

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

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

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

ΠΛΗ111. Ανοιξη Μάθηµα 1 ο Ανασκόπηση της Γλώσσας Προγραµµατισµού C. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών. ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δομές

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

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

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

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

Προγραμματισμός Δομές Δεδομένων

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

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

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

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

Προγραμματισμός II (Γλώσσα C)

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

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

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

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

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

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

Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΑΡ Χ Ε Ι Α Κ Ε Ι Μ Ε Ν Ο Υ (text files)

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct)

Η τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ.

είκτες και Πίνακες (2)

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

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

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

ΗΥ-150. Πίνακες (Arrays)

Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

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

υναµική έσµευση Μνήµης (συν.) ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 Εφαρµογή

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

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

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

Εισαγωγή στον δομημένο προγραμματισμό

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

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

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

Περιεχόμενα. Πρόλογος... 21

Διάλεξη 19η: Δομές δεδομένων

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

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

Ενδεικτική περιγραφή μαθήματος

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός I. Θεματική ενότητα 7: Δομές απαριθμητικοί τύποι δεδομένων

Transcript:

Θέµα 1ο (25%) Για το πρόγραµµα που ακολουθεί να περιγραφεί αναλυτικά η λειτουργία του και να απεικονισθεί το περιεχόµενο των θέσεων µνήµης που καταλαµβάνουν οι µεταβλητές σε κάθε γραµµή κώδικα. Χάριν απλότητας να θεωρηθεί ότι οι µεταβλητές ς καταλαµβάνουν διαδοχικές θέσεις µνήµης. #include <stdio.h< stdio.h> #include <string.h< string.h> void main() char *px* px,, *py* py,, b[40]; int i; char a[] = "Department of Informatics and Communications"; printf( ( "ad(px" ad(px)=%d ad(py)=%d ad(a[0])=%d\n",&px,&py,&a[0] ); strncpy(b,a,20); for (i =0; i<(strlen(a) strlen(a)-strlen(b)); i++) printf( ( "a[%d" a[%d]=% ]=%c\n",i,a[i]] ); px=b; printf( "\npx=%d" npx=%d\n",px); n",px); for (i=12; i<(strlen(b)-1); i++) *(px+i px+i)=*(px+(strlen(b) )=*(px+(strlen(b)-(i+1)));(i+1))); printf( ( "string_length(b)" string_length(b)-%d=%d px+%d=%c =%c\n",i+1,strlen(b) n",i+1,strlen(b)-(i+1),i,*( (i+1),i,*(px+i)) ); py=px; printf( "\n*px=%c" *py=%c",*px,*py);

// 2005_1_1 οµηµένος Προγραµµατισµός

Θέµα 2ο (75%) Να αναπτυχθεί πρόγραµµα διαχείρισης στοιχείων εργαζοµένων που θα επιτελεί τα παρακάτω: α) Θα δηµιουργεί τύπο δεδοµένου δοµής personnelt,, που θα περιλαµβάνει στοιχεία εργαζοµένων, µε τα ακόλουθα µέλη: Ονοµατεπώνυµο (σε µεταβλητή τύπου δοµής): Όνοµα και επώνυµο ξεχωριστά ιεύθυνση (σε µεταβλητή τύπου δοµής): Όνοµα οδού, αριθµός οδού, πόλη, ταχ. κώδικας. Τηλέφωνα (σε µεταβλητή τύπου δοµής): Τηλέφωνο εργασίας, κινητό τηλέφωνο Θέση (σε µεταβλητή τύπου δοµής): Τίτλος, κωδικός αριθµός εργαζόµενου, τοµέας της επιχείρησης στον οποίο εργάζεται, αριθµός γραφείου, ονοµατεπώνυµο ο προϊσταµένου, ηµεροµηνία πρόσληψης (ηµέρα, µήνας, έτος), µισθός (θα απαιτηθεί ένθετη δοµή για την ηµεροµηνία πρόσληψης) β) Τα δεδοµένα για 10 εργαζόµενους θα διαβάζονται από το πληκτρολόγιο λόγιο µε χρήση συνάρτησης void get_employee employee(personneltpersonnelt *pers_ptr) και θα αποθηκεύονται στον πίνακα pers[10] τύπου personnelt. γ) Στη συνέχεια θα δίνεται κάποιος κωδικός αριθµός εργαζόµενου (code( code) ) από το πληκτρολόγιο και θα αναζητείται στον πίνακα. Αν ο κωδικός αντιστοιχεί σε υπάρχοντα κωδικό εργαζόµενου, τότε θα εµφανίζονται στην οθόνη οι πληροφορίες του αντίστοιχου εργαζόµενου, αλλιώς θα εµφανίζεται ένα ανάλογο µήνυµα. Η όλη λειτουργία αναζήτησης θα επιτελείται µέσω της συνάρτησης void search_employee employee(int code, personnelt person[10]) [10]).Να περιγραφεί συνοπτικά η λειτουργία των ακόλουθων προγραµµάτων και να δοθούν τα αποτελέσµατά τους.

#include<conio.h conio.h> #include<stdio.h stdio.h> #define N 10 // Αριθµός υπαλλήλων struct nmt char name[40],surname[40]; ; struct addresst char street_name[40], city[40]; int street_number,zip_code; ; struct telet char office_number[14],home_number[14]; ; struct hiredatet int year,month,date; ;

struct job_descriptiont char title[40], sector[100], boss_name[40]; int code_number,office_number,salary; hiredatet hire; ; struct personnelt nmt nm; addresst addr; telet tele; job_descriptiont job; ; void get_employee(personnelt *pers_ptr); void search_employee(int i, personnelt person[n]); void main() personnelt pers[n]; int i; for (i=0;i<n;i N;i++) get_employee(&pers[i]); printf("\ngive ngive an employee's code_number: : "); scanf("%d",&i); search_employee(i,pers);

void get_employee(personnelt *pers_ptr) printf("\t\tadd tadd new employee:\n"); printf("\nemployee's nemployee's name: "); scanf("%s",pers_ptr->nm.name nm.name); printf("\nsurname nsurname: : "); scanf("%s",pers_ptr->nm.surname nm.surname); printf("\t\nemployee's nemployee's job details:"); printf("\ncode ncode number: "); scanf("%d",&pers_ptr->job.code_number job.code_number); printf("\nsalary nsalary: : "); scanf("%d",&pers_ptr->job.salary job.salary); printf("\nyear nyear of recruitment: "); scanf("%d",&pers_ptr->job.hire.year job.hire.year);

void search_employee(int code, personnelt person[n]) int j=0; int index=-1; while ((j<n) && (index==-1)) if (code==person[j].job.code_number person[j].job.code_number) ) index=j; j++; if (index==-1) printf("\nthe nthe given code_number does not match to an existing one\n"); n"); else printf("\n\t\tsearch tsearch results:\n"); printf("\nemployee's nemployee's name: %s",person[index].nm.name% s",person[index].nm.name); printf("\nsurname nsurname: : %s",person[index].nm.surname% s",person[index].nm.surname); printf("\t\njob njob details:"); printf("\ncode ncode number: %d",person[index].job.code_number% d",person[index].job.code_number); printf("\nsalary nsalary: : %d",person[index].job.salary% d",person[index].job.salary); printf("\nyear nyear of recruitment: %d",person[index].job.hire.year% d",person[index].job.hire.year);

// 2005_1_2 οµηµένος Προγραµµατισµός