McGill University School of Computer Science COMP-206A Introduction to Software Systems
|
|
- Cody Anthony
- 6 years ago
- Views:
Transcription
1 McGill University School of Computer Science COMP-206A Introduction to Software Systems Final Exam Wednesday, December 8, 2004 at 9:00 in GYM Instructor: Joseph Vybihal Associate Examiner: Prof. Ratzer Student Name: Student ID: Instructions No notebooks, calculators or textbooks permitted in this exam. Language translation dictionaries are permitted. You are permitted to write your answers in either English or French. Attempt all questions. Parts marks are given for all questions. Show your work and do not leave a question empty. Write all answers in the exam booklet provided. Grading Section Grade Your Mark Question 1 15 Question 2 15 Question 3 15 Question 4 10 Question 5 10 Question 6 10 Question 7 15 Question Total 100 % Instructor: Joseph Vybihal Page 1 of 9
2 Question 1: String Manipulation in C You are a C programmer jealous of Perl s string manipulation functions. You want to create your own string manipulation functions but you d also like to one-up your features as compared to Perl s. To do this you want your functions to be accessible from the Unix command-line prompt. You also want your program to manipulate either strings or text files. To do this, the program s interface will be through the Unix command-line and it will have the following syntax: $ substitution expression switch argument Where: substitution is the name of your C program (i.e. the a.out file name) expression is a quoted simple regular expression switch is either S or F. S signifies that the argument will be a quoted string. F signifies that argument will be a file name To simplify this problem a little assume that quoted arguments from the command line are read in as a unit into a single cell of the argv array. To simplify the problem a little more assume that legal regular expressions are limited to the following syntax: /search/replace/. There is no g for global nor i for ignore case. The search argument is what we are looking for and it will be replaced by the replace argument. Only the first occurrence of the match is replaced. The program is case sensitive. The only valid search code is /d which is interpreted as /d+. For example: $ substitution /bob/mary/ S this is an example for bob this is an example for mary $ substitution /bob/mary/ F letter.txt Dear mary, bla bla bla Notice in either case the substitution program displays the replaced data. Note: The program should do error checking if the arguments at the command-line are wrong. The program should do file existence error checking as well. The program has a special case syntax where the user can enter: $ substitution H That displays the syntax of the command-line invocation, it then terminates. Instructor: Joseph Vybihal Page 2 of 9
3 Question 2: PERL Programming with Regular Expressions Write a Perl program that opens a file called FILENAME.TXT and reads in each line of the file one by one. It then outputs the file with a line number at the beginning of each line and converts every long date into a short date. Note that the line number should be four digits, e.g. line 64 should look like You should get something like: 0001 Dear Mom, 0002 School is great! 0003 Can t wait to get home for the holidays. Etc A long date is considered to be something like: January 1, A short date is considered to be: 1 Jan 04. The months can be anything from January to December while the days and years are assumed to be correct (i.e. for example, you do not need to verify that the number of days obeys rules like months have at most 31 days). The program outputs the converted FILENAME.TXT into another file called CONVERTED.TXT. There is no interface to a CGI file. Question 3: HTML, CGI and PERL This question asks you to write an advanced login script. You must provide the HTML and CGI code for the web page. The web page will call a PERL script to validate the login (you must provide this code as well). If the user name and password match the user sees WELCOME otherwise it returns the user to the login page. The HTML page is called LOGIN.HTML. The PERL source file is called LOGIN.PL. The login page has two text boxes: one for the user name and one for the password. The password input field does not show the text entered by the user. The page also has a checkbox called ENCRYPTION. When checked the PERL program assumes that the password text file is encrypted using a Caesar cipher. A Caesar cipher is a simple cipher that shifts the characters by a fixed number. In our case this will be the integer number 2. For example: DOG = FQI, ZAP = BCR. The password text file is called PASSWORD.TXT. The web page must have a gray background with blue writing. At the top is a heading saying WELCOME. At the bottom of the page are links to HOTMAIL and MCGILL s main web site with text indicating this (you can make up these links if you do not know them). Centered in the middle of the screen is your CGI interface. The McGill logo (logo.gif) is displayed beside the WELCOME message. Instructor: Joseph Vybihal Page 3 of 9
4 Question 4: Profiling and Timing Look at the following program: 1. #include <stdio.h> 2. #include <stdlib.h> 3. #include <ctype.h> 4. #define WORDLEN #define WORDMAX char words[wordmax]{wordlen+1]; 7. int get_word(char *str) { 8. int ch, I =0; 9. do { 10. ch = getchar(); 11. } while ((ch!= EOF) &&!isalpha(ch)); 12. if (ch == EOF) return 1; 13. while (ch!= EOF && isalpha(ch) && I<WORDLEN) { 14. str[i++] = tolower(ch); 15. ch = getchar(); 16. } 17. str[i] = \0 ; 18. return I; 19. } 20. int compare(char *s1, char *s2) { 21. while ((*s1!= \0 ) && (*s1 == *s2)) { 22. s1++; s2++; } 23. if (*s1 == *s2) return 0; 24. if (*s1 > *s2) return 1; 25. return 1; 26. } 27. int main (void) { 28. int max = 0, length, I, j, total; 29. for(i=0; I<WORDMAX; I++) { 30. length = get_word(words[i]); 31. if (length == -1) break; 32. max = (length > max)? length : max; } 33. total = I; 34. for (I=0; I<tital-1; I++) { 35. if (words[i][0]!= \0 ) { 36. for (j=i+1; j<total; j++) { 37. if (compare(words[i],words[j]) == 0) 38. words[j][0] = \0 ; 39. }}} 40. for(i=total-1; I>=0; I--) { 41. if (words[i][0]!= \0 ) 42. printf( %s\n,words[i]); } 43. printf( %d\n, total); 44. printf( %d\n, max); 45. return EXIT_SUCCESS; } Answer the following questions: 1. What does this program do? Where is this program slow and why? 2. Suggest locations where you would put your own timing code to verify the slow areas in the above code. Also provide actual example code. Instructor: Joseph Vybihal Page 4 of 9
5 Question 5: GNU Profiling The importance of profiling becomes evident when creating critical software that is called often or is processing large amounts of data. One way to optimize your program is to look at the gprof profile, to identify functions for optimization. Below is the gprof profile generated from a fairly large program. By looking at it, how can you optimize this program and why? called/total parents index %time self descendents called+self name index called/total children <spontaneous> [1] main [1] /1 FFT3D [2] /128 my_image_write [4] /1 shuff_wedge [5] /1 contrast_handler [6] /1 gamma_correction [7] /1 find_scalar [8] /1 composite_multi [9] /74719 malloc [21] /1 histogram [26] /1 read_image [31] /128 sprintf [44] /395 fprintf [30] /33050 free [29] /1 main [1] [2] FFT3D [2] / FFT [3] /74719 malloc [21] /33050 free [29] /3 Powerof2 [70] / FFT3D [2] [3] FFT [3] /128 main [1] [4] my_image_write [4] /128 write_image [10] /128 free_image [28] /74719 malloc [21] /1 main [1] Instructor: Joseph Vybihal Page 5 of 9
6 [5] shuff_wedge [5] /395 fprintf [30] /1 main [1] [6] contrast_handler [6] /1 main [1] [7] gamma_correction [7] /1 main [1] [8] find_scalar [8] /395 fprintf [30] /1 main [1] [9] composite_multi [9] /12606 random [52] /1 srandomdev [54] /128 my_image_write [4] [10] write_image [10] /32768 fwrite [12] /130 fopen [24] /130 fclose [33] /395 fprintf [30] Instructor: Joseph Vybihal Page 6 of 9
7 Question 6: Debugging and Logic Error Answer the following questions about GDB: Assume a programmer wants to write a C program that strips all the blank spaces from the end of an array. It does this by putting a NULL character after the last nonblank character in the array. It is assumed that the array already stores a string, but there may be a number of blanks before the NULL. Below is this programmer s code. Note it is basically correct but there is more than one error in the code: 1. void strip (char *string) { 2. char *cp = string; 3. while (cp!= \0 ) 4. cp++; 5. do { 6. cp--; 7. } while ((cp > string) && (*cp == )); 8. if (*cp!= \0 ) 9. (cp+1) = \0 ; 10. else 11. string = \0 ; 12. } Now answer the following: 1. Identify the errors by studying the code and suggest corrections. 2. How would the program run with those errors present? Give a short description of the execution of the program given each error. 3. Assume you were this programmer and you were unable to identify the errors on your own so you decided to use gdb to help you. Give a line-by-line commandline example of how you would have used gdb to isolate where the errors where and what information lead to you determining the problem and solution. To do this start from the Unix prompt showing what command you would have used to compile the program, the command used to invoke gdb and then each gdb command with comments on the right-hand side describing why you entered each command. Instructor: Joseph Vybihal Page 7 of 9
8 Question 7: The Make Program A student has the following programming practises: There is always one.h file and one.c file (of the same name) in a module. For example, a module called mod would have mod.h and mod.c ; The corresponding.h file is always included in the.c file. The file will also include any other module it needs plus the standard C includes (e.g. <stdio.h>, etc.). The.h files may include other.h files. This student is currently writing, for her assignment, a program of 4 modules: m1, m2, m3 and main. She would like to name her executable ass3. Here are the include directives found in the four.h files: #include "m2.h" #include "m3.h" #include "m3.h" #include "m1.h" #include m2.h #include "m1.h" #include "m3.h" m1.h m2.h m3.h main.h In the meantime, this student does not use any tool to manage program compilation. The output of ls l is as follows: total 8 -rw student 734 Nov 17 10:02 m1.c -rw student 203 Nov 2 11:39 m1.h -rw student 2823 Nov 17 10:03 m1.o -rw student 425 Nov 16 20:21 m2.c -rw student 220 Nov 2 11:39 m2.h -rw student 2213 Nov 13 12:24 m2.o -rw student 323 Nov 16 22:38 m3.c -rw student 212 Nov 8 11:39 m3.h -rw student 2533 Nov 16 22:40 m3.o -rw student 3213 Nov 17 12:27 main.c -rw student 243 Nov 8 11:39 main.h -rw student Nov 10 11:39 main.o -rwx student Nov 10 11:39 ass3* From the above information, answer the following questions: 1. Write C pre-processor directives to insure that a header file is not included twice. 2. The student decides to use the make tool to facilitate project management. Write a makefile for her that gives an executable of her program when make is issued. The makefile must always work in the optimal way (i.e. compiles only the files that require compilation) 3. Now the student does a make with her makefile. What will be the output of ls l after this make? Giving only the filenames and times would suffice. (Current time is assumed to be Nov 17 14:00) 4. Adjust the make file so that it backs up all the source files to a backup directory before compilation. Instructor: Joseph Vybihal Page 8 of 9
9 Question 8: Source Management with RCS You are the team leader for a new project being proposed by the organization you are working for. You will be in charge of yourself and four other programmers. The organization is preparing a Specification Document and they have assigned to you the portion of the document referring to how the software will be optimally developed using RCS. Besides the four programmers who will need to access the software as writers of code, you will access the software as someone who will build the initial framework for each module of the program as well as test the code developed by your programmers and demo the program to management. In addition, management will want to have access to only the executable versions of the program for independent distribution of working versions of the program. The software under development is for an outside client. This client will have a contact person who will work closely with you providing you will internal company procedures and officiating at demos of the program. This individual will want to be able to see but not edit the developing code. This individual would also like to be able to get executable versions of the program for their own testing purposes. They would like to be able to do this independently. The following additional criteria are important to you: the code is managed in a secure environment, maintaining all versions of the program in recoverable form, want to insure that a single program is not undergoing multiple simultaneous revisions, and you want to see a log of all the changes in the file. Outline what you would suggest, with examples, should be put into this specification document. I am not asking you to write a paragraph but outline in bullet form what you would do. Instructor: Joseph Vybihal Page 9 of 9
THE UNIVERSITY OF WESTERN ONTARIO. COMPUTER SCIENCE 211a FINAL EXAMINATION 17 DECEMBER HOURS
Computer Science 211a Final Examination 17 December 2002 Page 1 of 17 THE UNIVERSITY OF WESTERN ONTARIO LONDON CANADA COMPUTER SCIENCE 211a FINAL EXAMINATION 17 DECEMBER 2002 3 HOURS NAME: STUDENT NUMBER:
More informationFinal Exam 1 /12 2 /12 3 /10 4 /7 5 /4 6 /10 7 /8 8 /9 9 /8 10 /11 11 /8 12 /10 13 /9 14 /13 15 /10 16 /10 17 /12. Faculty of Computer Science
Faculty of Computer Science Page 1 of 21 Final Exam Term: Fall 2018 (Sep4-Dec4) Student ID Information Last name: First name: Student ID #: CS.Dal.Ca userid: Course ID: CSCI 2132 Course Title: Instructor:
More informationMcGill University School of Computer Science COMP-202A Introduction to Computing 1
McGill University School of Computer Science COMP-202A Introduction to Computing 1 Midterm Exam Thursday, October 26, 2006, 18:00-20:00 (6:00 8:00 PM) Instructors: Mathieu Petitpas, Shah Asaduzzaman, Sherif
More informationCMPT 300. Operating Systems. Brief Intro to UNIX and C
CMPT 300 Operating Systems Brief Intro to UNIX and C Outline Welcome Review Questions UNIX basics and Vi editor Using SSH to remote access Lab2(4214) Compiling a C Program Makefile Basic C/C++ programming
More informationLecture 12 CSE July Today we ll cover the things that you still don t know that you need to know in order to do the assignment.
Lecture 12 CSE 110 20 July 1992 Today we ll cover the things that you still don t know that you need to know in order to do the assignment. 1 The NULL Pointer For each pointer type, there is one special
More informationCMPUT 201: Practical Programming Methodology. Guohui Lin Department of Computing Science University of Alberta September 2018
CMPUT 201: Practical Programming Methodology Guohui Lin guohui@ualberta.ca Department of Computing Science University of Alberta September 2018 Lecture 1: Course Outline Agenda: Course calendar description
More informationCSC209H Lecture 3. Dan Zingaro. January 21, 2015
CSC209H Lecture 3 Dan Zingaro January 21, 2015 Streams (King 22.1) Stream: source of input or destination for output We access a stream through a file pointer (FILE *) Three streams are available without
More informationCSE 303 Winter 2008 Midterm Key
CSE 303 Winter 2008 Midterm Key 1. [2 points] Give a Unix command line that will list all (and only) files that end with.h in the current working directory. Full credit: ls *.h Extra credit: ls a *.h (although
More informationSPRING 2017 CSCI 304 LAB1 (Due on Feb-14, 11:59:59pm)
SPRING 2017 CSCI 304 LAB1 (Due on Feb-14, 11:59:59pm) Objectives: Debugger Standard I/O Arithmetic statements IF/Switch structures Looping structures File I/O Strings Pointers Functions Structures Important
More informationGrading. December 2009 Sample Final Examination INSTRUCTIONS: This is a CLOSED BOOK examination. You are permitted TRANSLATION dictionaries ONLY.
December 2009 Sample ination Introduction to Computer Systems December 15, 2009 at 9:00 12:00 Examiner: Joseph Vybihal Assoc Examiner: Michael Langer Student Name: McGill ID: INSTRUCTIONS: This is a CLOSED
More informationFALL 2017 CSCI 304 LAB1 (Due on Sep-19, 11:59:59pm)
FALL 2017 CSCI 304 LAB1 (Due on Sep-19, 11:59:59pm) Objectives: Debugger Standard I/O Arithmetic statements Conditional structures Looping structures File I/O Strings Pointers Functions Structures Important
More informationSoftware Development With Emacs: The Edit-Compile-Debug Cycle
Software Development With Emacs: The Edit-Compile-Debug Cycle Luis Fernandes Department of Electrical and Computer Engineering Ryerson Polytechnic University August 8, 2017 The Emacs editor permits the
More informationThe make Utility in Unix SEEM
The make Utility in Unix SEEM 3460 1 Recall the reverse Module reverse.h 1 /* reverse.h */ 2 3 void reverse (char before[], char after[]); 4 /* Declare but do not define this function */ SEEM 3460 2 Recall
More informationESC101N: Fundamentals of Computing End-sem st semester
ESC101N: Fundamentals of Computing End-sem 2010-11 1st semester Instructor: Arnab Bhattacharya 8:00-11:00am, 15th November, 2010 Instructions 1. Please write your name, roll number and section below. 2.
More informationProject 5 Handling Bit Arrays and Pointers in C
CS 255 Project 5 Handling Bit Arrays and Pointers in C Due: Thursday, Apr. 30 by 8:00am. No late submissions! Assignment: This homework is adapted from the CS450 Assignment #1 that Prof. Mandelberg uses
More informationLecture 07 Debugging Programs with GDB
Lecture 07 Debugging Programs with GDB In this lecture What is debugging Most Common Type of errors Process of debugging Examples Further readings Exercises What is Debugging Debugging is the process of
More informationComputer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview
Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009 Topic Notes: C and Unix Overview This course is about computer organization, but since most of our programming is
More informationThe make Utility in Unix SEEM
The make Utility in Unix SEEM 3460 1 Recall the reverse Module reverse.h 1 /* reverse.h */ 2 3 void reverse (char *before, char *after); 4 /* Declare but do not define this function */ SEEM 3460 2 Recall
More informationSU2017. LAB 1 (May 4/9) Introduction to C, Function Declaration vs. Definition, Basic I/O (scanf/printf, getchar/putchar)
SU2017. LAB 1 (May 4/9) Introduction to C, Function Declaration vs. Definition, Basic I/O (scanf/printf, getchar/putchar) 1 Problem A 1.1 Specification Write an ANSI-C program that reads input from the
More informationPRINCIPLES OF OPERATING SYSTEMS
PRINCIPLES OF OPERATING SYSTEMS Tutorial-1&2: C Review CPSC 457, Spring 2015 May 20-21, 2015 Department of Computer Science, University of Calgary Connecting to your VM Open a terminal (in your linux machine)
More informationSchool of Computer Science Introduction to Algorithms and Programming Winter Midterm Examination # 1 Wednesday, February 11, 2015
Page 1 of 8 School of Computer Science 60-141-01 Introduction to Algorithms and Programming Winter 2015 Midterm Examination # 1 Wednesday, February 11, 2015 Marking Exemplar Duration of examination: 75
More informationLecture 7: file I/O, more Unix
CIS 330: / / / / (_) / / / / _/_/ / / / / / \/ / /_/ / `/ \/ / / / _/_// / / / / /_ / /_/ / / / / /> < / /_/ / / / / /_/ / / / /_/ / / / / / \ /_/ /_/_/_/ _ \,_/_/ /_/\,_/ \ /_/ \ //_/ /_/ Lecture 7: file
More informationStudent Number: Computer Science 211b Final Examination. 28 April hours
Computer Science 211b Final Examination 28 April 2006 3 hours Student Number: Surname: Given name: Instructions/Notes: The examination has 40 questions on 15 pages, and a total of 150 marks. Put all answers
More informationProgramming Tips for CS758/858
Programming Tips for CS758/858 January 28, 2016 1 Introduction The programming assignments for CS758/858 will all be done in C. If you are not very familiar with the C programming language we recommend
More informationCreating a Shell or Command Interperter Program CSCI411 Lab
Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell
More informationUnited States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017
United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017 1. Do a page check: you should have 8 pages including this cover sheet. 2. You have 50 minutes
More informationProgramming in C in a UNIX environment
Programming in C in a UNIX environment Software Development Lifecycle Understand the requirements Develop the algorithm/approach Write the code Debug the code Test the code Iterate until you get it right
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationLecture 03 Bits, Bytes and Data Types
Lecture 03 Bits, Bytes and Data Types Computer Languages A computer language is a language that is used to communicate with a machine. Like all languages, computer languages have syntax (form) and semantics
More informationECE264 Spring 2013 Exam 1, February 14, 2013
ECE264 Spring 2013 Exam 1, February 14, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it.
More informationCSCE C. Lab 10 - File I/O. Dr. Chris Bourke
CSCE 155 - C Lab 10 - File I/O Dr. Chris Bourke Prior to Lab Before attending this lab: 1. Read and familiarize yourself with this handout. 2. Review the following free textbook resources: http://en.wikibooks.org/wiki/c_programming/file_io
More informationCSCI-243 Exam 2 Review February 22, 2015 Presented by the RIT Computer Science Community
CSCI-43 Exam Review February, 01 Presented by the RIT Computer Science Community http://csc.cs.rit.edu C Preprocessor 1. Consider the following program: 1 # include 3 # ifdef WINDOWS 4 # include
More information#include <stdio.h> int main() { char s[] = Hsjodi, *p; for (p = s + 5; p >= s; p--) --*p; puts(s); return 0;
1. Short answer questions: (a) Compare the typical contents of a module s header file to the contents of a module s implementation file. Which of these files defines the interface between a module and
More informationMidterm Examination - Answers October 25, 2012 In Class Instructor: Joseph Vybihal
McGill University School of Computer Science Introduction to Computer Systems Midterm Examination - Answers October 25, 2012 In Class Instructor: Joseph Vybihal Student Name: Student ID: Instructions No
More informationFundamentals of Programming Session 8
Fundamentals of Programming Session 8 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2013 These slides have been created using Deitel s slides Sharif University of Technology Outlines
More information1. The Mac Environment in Sierra Hall 1242
Wednesday, August 26, 2015 Lab Notes Topics for today The Mac Environment C (and Unix) Notes on C Part 1 Program 1 1. The Mac Environment in Sierra Hall 1242 a. Turning on the Mac If the Mac is in sleep
More informationECE264 Spring 2014 Exam 2, March 11, 2014
ECE264 Spring 2014 Exam 2, March 11, 2014 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it.
More informationUnit 6 Files. putchar(ch); ch = getc (fp); //Reads single character from file and advances position to next character
1. What is File management? In real life, we want to store data permanently so that later on we can retrieve it and reuse it. A file is a collection of bytes stored on a secondary storage device like hard
More informationSignature: ECE 551 Midterm Exam
Name: ECE 551 Midterm Exam NetID: There are 7 questions, with the point values as shown below. You have 75 minutes with a total of 75 points. Pace yourself accordingly. This exam must be individual work.
More informationMARKS: Q1 /20 /15 /15 /15 / 5 /30 TOTAL: /100
FINAL EXAMINATION INTRODUCTION TO ALGORITHMS AND PROGRAMMING II 03-60-141-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Winter 2014 Last Name: First Name: Student
More informationM.CS201 Programming language
Power Engineering School M.CS201 Programming language Lecture 9 Lecturer: Prof. Dr. T.Uranchimeg Agenda The char Data Type Using Character Variables Printing extended ASCII characters Arrays of Characters
More informationPersonal SE. Functions, Arrays, Strings & Command Line Arguments
Personal SE Functions, Arrays, Strings & Command Line Arguments Functions in C Syntax like Java methods but w/o public, abstract, etc. As in Java, all arguments (well, most arguments) are passed by value.
More informationC programming basics T3-1 -
C programming basics T3-1 - Outline 1. Introduction 2. Basic concepts 3. Functions 4. Data types 5. Control structures 6. Arrays and pointers 7. File management T3-2 - 3.1: Introduction T3-3 - Review of
More informationDalhousie University CSCI 2132 Software Development Winter 2018 Midterm Examination II March 12 15:37-16:24
Dalhousie University CSCI 2132 Software Development Winter 2018 Midterm Examination II March 12 15:37-16:24 Student Name: Student ID Number: FCS Username (CSID): Signature: Please Note: These solutions
More informationFloating-point lab deadline moved until Wednesday Today: characters, strings, scanf Characters, strings, scanf questions clicker questions
Announcements Thursday Extras: CS Commons on Thursdays @ 4:00 pm but none next week No office hours next week Monday or Tuesday Reflections: when to use if/switch statements for/while statements Floating-point
More informationDarshan Institute of Engineering & Technology for Diploma Studies Unit 6
1. What is File management? In real life, we want to store data permanently so that later on we can retrieve it and reuse it. A file is a collection of bytes stored on a secondary storage device like hard
More informationCSE 303 Midterm Exam
CSE 303 Midterm Exam October 29, 2008 Name Sample Solution The exam is closed book, except that you may have a single page of hand written notes for reference. If you don t remember the details of how
More informationUNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall Programming Assignment 1 (updated 9/16/2017)
UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall 2017 Programming Assignment 1 (updated 9/16/2017) Introduction The purpose of this programming assignment is to give you
More informationC introduction: part 1
What is C? C is a compiled language that gives the programmer maximum control and efficiency 1. 1 https://computer.howstuffworks.com/c1.htm 2 / 26 3 / 26 Outline Basic file structure Main function Compilation
More informationCSE 5A Introduction to Programming I (C) Homework 4
CSE 5A Introduction to Programming I (C) Homework 4 Read Chapter 7 Due: Friday, October 26 by 6:00pm All programming assignments must be done INDIVIDUALLY by all members of the class. Start early to ensure
More informationCS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco
CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level
More informationFile I/O. Arash Rafiey. November 7, 2017
November 7, 2017 Files File is a place on disk where a group of related data is stored. Files File is a place on disk where a group of related data is stored. C provides various functions to handle files
More informationCGS 3460 Summer 07 Midterm Exam
Short Answer 3 Points Each 1. What would the unix command gcc somefile.c -o someotherfile.exe do? 2. Name two basic data types in C. 3. A pointer data type holds what piece of information? 4. This key
More informationAssignment Number 8 Lab Assignment Due Date: Wednesday, October 31, 2018 CS 1057 C Programming - Fall 2018
Assignment Number 8 Lab Assignment Due Date: Wednesday, October 31, 2018 CS 1057 C Programming - Fall 2018 Purpose: create a batch program use a version control system to obtain data (git) read and process
More informationRecitation 2/18/2012
15-213 Recitation 2/18/2012 Announcements Buflab due tomorrow Cachelab out tomorrow Any questions? Outline Cachelab preview Useful C functions for cachelab Cachelab Part 1: you have to create a cache simulator
More informationmith College Computer Science CSC231 Bash Labs Week #10, 11, 12 Spring 2017 Introduction to C Dominique Thiébaut
mith College CSC231 Bash Labs Week #10, 11, 12 Spring 2017 Introduction to C Dominique Thiébaut dthiebaut@smith.edu Learning C in 4 Hours! D. Thiebaut Dennis Ritchie 1969 to 1973 AT&T Bell Labs Close to
More informationAnswer all questions. Write your answers only in the space provided. Full marks = 50
Answer all questions. Write your answers only in the space provided. Full marks = 50 1. Answer the following: [2+3+2+1=8 marks] a) What are the minimum and maximum numbers that can be represented in 10-bit
More informationCS 470 Operating Systems Spring 2013 Shell Project
CS 470 Operating Systems Spring 2013 Shell Project 40 points Out: January 11, 2013 Due: January 25, 2012 (Friday) The purpose of this project is provide experience with process manipulation and signal
More informationECE264 Fall 2013 Exam 1, September 24, 2013
ECE264 Fall 2013 Exam 1, September 24, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it.
More information1. The Mac Environment in SIE 1222
Friday, September 1, 2017 Lab Notes Topics for today The Mac Environment C (and Unix) Notes on C Part 1 Program 1 1. The Mac Environment in SIE 1222 a. Turning on the Mac If the Mac is in sleep mode you
More informationLab Exam 1 D [1 mark] Give an example of a sample input which would make the function
Grade: / 20 Lab Exam 1 D500 1. [1 mark] Give an example of a sample input which would make the function scanf( "%f", &f ) return 0? Answer: Anything that is not a floating point number such as 4.567 or
More informationNYU SCPS X Section 1 Unix Tools. Fall 2004 Handout 5
Fall 2004 Handout 5 Time a program: pp. 69, 92 1 /* This program is looper.c. It takes a long time to do nothing. */ 2 #include 3 #include 4 5 void f(void); 6 void g(void); 7 8 int
More informationCS 3113 Introduction to Operating Systems Midterm October 11, 2018
General instructions: CS 3113 Introduction to Operating Systems Midterm October 11, 2018 Please wait to open this exam booklet until you are told to do so. This examination booklet has 10 pages. You also
More informationCS 3113 Introduction to Operating Systems Midterm October 11, 2018
General instructions: CS 3113 Introduction to Operating Systems Midterm October 11, 2018 Please wait to open this exam booklet until you are told to do so. This examination booklet has 10 pages. You also
More informationVi & Shell Scripting
Vi & Shell Scripting Comp-206 : Introduction to Week 3 Joseph Vybihal Computer Science McGill University Announcements Sina Meraji's office hours Trottier 3rd floor open area Tuesday 1:30 2:30 PM Thursday
More informationProblem Set 1: Unix Commands 1
Problem Set 1: Unix Commands 1 WARNING: IF YOU DO NOT FIND THIS PROBLEM SET TRIVIAL, I WOULD NOT RECOMMEND YOU TAKE THIS OFFERING OF 300 AS YOU DO NOT POSSESS THE REQUISITE BACKGROUND TO PASS THE COURSE.
More informationThe University of Nottingham
The University of Nottingham SCHOOL OF COMPUTER SCIENCE A LEVEL 2 MODULE, AUTUMN SEMESTER 2008 2009 C/C++ for Java Programmers Time allowed TWO hours Candidates may complete the front cover of their answer
More informationProgramming Assignment 1 (PA1) - Display Bowtie
Programming Assignment 1 (PA1) - Display Bowtie Milestone Due: Final Due: Wednesday, April 18 @ 11:59 pm Wednesday, April 25 @ 11:59 pm Example Input Milestone Functions Unit Testing Extra Credit Detailed
More informationLaboratory 1 Semester 1 11/12
CS2106 National University of Singapore School of Computing Laboratory 1 Semester 1 11/12 MATRICULATION NUMBER: In this lab exercise, you will get familiarize with some basic UNIX commands, editing and
More informationIn this introduction to UNIX, only the dumb terminal (also known as the command line ) interface is discussed.
COE808 Lab1: C programming lab Prelab preparation Before coming to the lab you should: 1. Read the lab. The most recent version can be found at the URL: www.ee.ryerson.ca/~courses/coe808 2. Try to prepare
More informationNumara FootPrints Changelog January 26, 2009
Numara FootPrints 9.0.3 Changelog January 26, 2009 Address Book The logo in the Address Book always pointed to the Numara Software URL. Address book fields were missing from a number of features in FootPrints
More informationUnix and C Program Development SEEM
Unix and C Program Development SEEM 3460 1 Operating Systems A computer system cannot function without an operating system (OS). There are many different operating systems available for PCs, minicomputers,
More informationmith College Computer Science CSC352 Week #7 Spring 2017 Introduction to C Dominique Thiébaut
mith College CSC352 Week #7 Spring 2017 Introduction to C Dominique Thiébaut dthiebaut@smith.edu Learning C in 2 Hours D. Thiebaut Dennis Ritchie 1969 to 1973 AT&T Bell Labs Close to Assembly Unix Standard
More informationBLM2031 Structured Programming. Zeyneb KURT
BLM2031 Structured Programming Zeyneb KURT 1 Contact Contact info office : D-219 e-mail zeynebkurt@gmail.com, zeyneb@ce.yildiz.edu.tr When to contact e-mail first, take an appointment What to expect help
More informationA First Book of ANSI C Fourth Edition. Chapter 9 Character Strings
A First Book of ANSI C Fourth Edition Chapter 9 Character Strings Objectives String Fundamentals Library Functions Input Data Validation Formatting Strings (Optional) Case Study: Character and Word Counting
More informationHave examined process Creating program Have developed program Written in C Source code
Preprocessing, Compiling, Assembling, and Linking Introduction In this lesson will examine Architecture of C program Introduce C preprocessor and preprocessor directives How to use preprocessor s directives
More informationOrganization of a file
File Handling 1 Storage seen so far All variables stored in memory Problem: the contents of memory are wiped out when the computer is powered off Example: Consider keeping students records 100 students
More informationECE264 Spring 2013 Final Exam, April 30, 2013
ECE264 Spring 2013 Final Exam, April 30, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing
More informationGetting Started. Project 1
Getting Started Project 1 Project 1 Implement a shell interface that behaves similarly to a stripped down bash shell Due in 3 weeks September 21, 2015, 11:59:59pm Specification, grading sheet, and test
More informationUNIVERSITY OF WINDSOR Winter 2007 QUIZ # 1 Solution. Examiner:Ritu Chaturvedi Dated : Feb 7 th, Student Name: Student Number:
UNIVERSITY OF WINDSOR 60-106-01 Winter 2007 QUIZ # 1 Solution Examiner:Ritu Chaturvedi Dated : Feb 7 th, 2007. Student Name: Student Number: INSTRUCTIONS (Please Read Carefully) No calculators allowed.
More informationLab Exam 1 D [1 mark] Give an example of a sample input which would make the function
CMPT 127 Spring 2019 Grade: / 20 First name: Last name: Student Number: Lab Exam 1 D400 1. [1 mark] Give an example of a sample input which would make the function scanf( "%f", &f ) return -1? Answer:
More informationCSCI 2132 Final Exam Solutions
Faculty of Computer Science 1 CSCI 2132 Final Exam Solutions Term: Fall 2018 (Sep4-Dec4) 1. (12 points) True-false questions. 2 points each. No justification necessary, but it may be helpful if the question
More informationCSCI 2132 Final Exam Solutions
Faculty of Computer Science 1 CSCI 2132 Final Exam Solutions Term: Fall 2018 (Sep4-Dec4) 1. (12 points) True-false questions. 2 points each. No justification necessary, but it may be helpful if the question
More informationCSE 303, Spring 2009 Final Exam Wednesday, June 10, 2009
CSE 303, Spring 2009 Final Exam Wednesday, June 10, 2009 Personal Information: Name: Student ID #: You have 110 minutes to complete this exam. You may receive a deduction if you keep working after the
More informationIntroduction to Supercomputing
Introduction to Supercomputing TMA4280 Introduction to UNIX environment and tools 0.1 Getting started with the environment and the bash shell interpreter Desktop computers are usually operated from a graphical
More informationEKT332 COMPUTER NETWORK
EKT332 COMPUTER NETWORK LAB 1 INTRODUCTION TO GNU/LINUX OS Lab #1 : Introduction to GNU/Linux OS Objectives 1. Introduction to Linux File System (Red Hat Distribution). 2. Introduction to various packages
More informationOregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011
Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Spring 2011 Outline Using Secure Shell Clients GCC Some Examples Intro to C * * Windows File transfer client:
More informationComputers and Computation. The Modern Computer. The Operating System. The Operating System
The Modern Computer Computers and Computation What is a computer? A machine that manipulates data according to instructions. Despite their apparent complexity, at the lowest level computers perform simple
More informationECE 264 Exam 2. 6:30-7:30PM, March 9, You must sign here. Otherwise you will receive a 1-point penalty.
ECE 264 Exam 2 6:30-7:30PM, March 9, 2011 I certify that I will not receive nor provide aid to any other student for this exam. Signature: You must sign here. Otherwise you will receive a 1-point penalty.
More informationProgramming in C First meeting
Programming in C First meeting 8.9.2016 Tiina Niklander Faculty of Science Department of Computer Science www.cs.helsinki.fi 8.9.2016 1 Course structure Weekly exercise deadline on Wednesday, lectures
More informationProgram Organization and Comments
C / C++ PROGRAMMING Program Organization and Comments Copyright 2013 Dan McElroy Programming Organization The layout of a program should be fairly straight forward and simple. Although it may just look
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationCSCI 171 Chapter Outlines
Contents CSCI 171 Chapter 1 Overview... 2 CSCI 171 Chapter 2 Programming Components... 3 CSCI 171 Chapter 3 (Sections 1 4) Selection Structures... 5 CSCI 171 Chapter 3 (Sections 5 & 6) Iteration Structures
More informationMake sure the version number is marked on your scantron sheet. This is Version 1
Last Name First Name McGill ID Make sure the version number is marked on your scantron sheet. This is Version 1 McGill University COMP 208 -- Computers in Engineering Mid-Term Examination Tuesday, March
More informationCS113: Lecture 7. Topics: The C Preprocessor. I/O, Streams, Files
CS113: Lecture 7 Topics: The C Preprocessor I/O, Streams, Files 1 Remember the name: Pre-processor Most commonly used features: #include, #define. Think of the preprocessor as processing the file so as
More informationSample Examination. Family Name:... Other Names:... Signature:... Student Number:...
Family Name:... Other Names:... Signature:... Student Number:... THE UNIVERSITY OF NEW SOUTH WALES SCHOOL OF COMPUTER SCIENCE AND ENGINEERING Sample Examination COMP1917 Computing 1 EXAM DURATION: 2 HOURS
More information${Unix_Tools} exercises and solution notes
${Unix_Tools exercises and solution notes Markus Kuhn Computer Science Tripos Part IB The shell Exercise : Write a shell command line that appends :/usr/xr6/man to the end of the environment variable $MANPATH.
More informationChapter 10: File Input / Output
C: Chapter10 Page 1 of 6 C Tutorial.......... File input/output Chapter 10: File Input / Output OUTPUT TO A FILE Load and display the file named formout.c for your first example of writing data to a file.
More informationCSC209H1S Day Midterm Solutions Winter 2010
Duration: Aids Allowed: 50 minutes 1-8.5x11 sheet Student Number: Last Name: SOLUTION First Name: Instructor: Karen Reid Do not turn this page until you have received the signal to start. (In the meantime,
More informationtoday cs3157-fall2002-sklar-lect05 1
today homework #1 due on monday sep 23, 6am some miscellaneous topics: logical operators random numbers character handling functions FILE I/O strings arrays pointers cs3157-fall2002-sklar-lect05 1 logical
More information