Assignment 5 Files, Linked Lists, and Binary Search Trees

Size: px
Start display at page:

Download "Assignment 5 Files, Linked Lists, and Binary Search Trees"

Transcription

1 Assignment 5 Files, Linked Lists, and Binary Search Trees Technical details We advise you to look carefully at the example input and output files that we supply. Many questions will be answered by simply reviewing these files and the instructions. Carefully read the next sections and follow the directions meticulously. Strictly follow the input/output instructions! As in the previous assignments, keep in mind that the code you submit is tested by automated tools. Failing to produce the exact same output as our published executable will negatively impact your grade. Introduction You were just hired for your first job as the programmer for a large logistics company. The only problem is that the company s entire inventory system just crashed! The only information left are the following files: 1. An old inventory file which is one year old. 2. A file for every customer of the company, detailing all purchases from the past year. 3. A file containing the minimal number of items that must be in stock for each product. Your mission is to recreate the inventory and restore order in the company. Part 1 Reading the old inventory file and recreating the old inventory using a binary search tree. This will be done by implementing the function: product_tree *read_initial_stock_file(file *initial_stock_file); The initial inventory file contains the ID and name of the product and the quantity of this product in stock one year ago. For every product there will be exactly one line in the file: - Product ID: 9 digits exactly. Can begin with a 0. - One space character ( ). - Product name: 10 chars exactly. - Quantity: a number between An example of such a file is included in the assignment web site: InitialInventory.txt.

2 Each product will be stored in memory as a node of a binary search tree. Every node in the tree will be as follows: typedef struct product_tree { char *id; //Product ID number. This is the key of the search tree. char *product_name; //Name of the product. int current_quantity; //How many items are there in stock, currently. double current_average_rating; //The current average rating of the //product. Each customer's rating is //given the same weight. This is //initially 0. sales_info *sales; //This is initially empty. struct product_tree *left, *right; } product_tree; The product tree will be sorted by the product s ID number. This means that for every node in the tree, all products in the left subtree must have lower IDs than the node, and all products in the right subtree must have greater IDs than the node! The initial inventory file will be read line by line, adding a node to the product tree for every line. The current_average_rating will be given 0, and sales will remain empty for now. After reading the initial inventory, you will procede to reading all the customer files. This will be done by implementing the function: void read_customer_sales(file *customer_file, product_tree *root_product); Every customer file will be of the following structure: - The first line will contain the ID of the customer: 9 digits exactly. Can begin with a 0. - All other lines will represent purchases: Product ID (9 digits exactly), one space character ( ), number of items purchased (integer between ), one space character ( ), rating of the product (integer between 1-100). You can assume that a customer will appear at most once per product. An example of such a file is included in the assignment web site, Customer1.txt. Each purchase will be stored in memory as a node in a linked list, named sales. This list is defined as follows: typedef struct sales_info { char *customer_id; //ID number of the customer. int rating; //Rating that the customer gave the product. Number //between 1 and 100. int quantity; //How many items did the customer buy. struct sales_info *next; } sales_info;

3 When you read a purchase line from the customer file, you must insert the sales_info node (that has the customer_id, rating, and quantity) into the end of the sales list of the relevant product. When inserting a sales_info node, you must do two additional things: 1. Update the field current_quantity in the product_tree node. This is done by subtracting the quantity of the sale from current_quantity. 2. Update the field current_average_rating in the product_tree node. This is done by computing the average rating given by the customers that bought the product. For example, if a product has two sales with ratings 40 and 71, its current_average_rating will be (40+71)/2=55.5. If another sale is added, the current_average_rating is re-computed. When you are finished reading all customer files, you are expected to have the product tree, where the sales list for every product contains all sales made by all customers, and the current_quantity and current_average_rating of all the products are updated.

4 Part 2 Now that you have the current inventory, you must generate some reports for your boss. The first report will be concerning the products. You will implement the following function: void create_product_report(product_tree *root_product, char *product_report_file_name); This function will create a file named product_report_file_name, which will contain the following: 1. The first part of the report will be a list of the products, ordered by their IDs from low to high. Every product will be in a separate line, with the following structure: Product ID (9 digits exactly), one space character ( ), current_quantity (integer ), one space character ( ), current_average_rating (double 1-100, one digit after the decimal point; examples: 97.4, 100.0). 2. An empty line. 3. The second part of the report will be a list of the products, ordered by the popularity from lowest to highest. The line structure here is the same as in the first part. An example of such a report is included in the assignment web site, ProductReport.txt. The seconed report will be concerning orders that need to be done to match a certain minimum inventory. You will implement the following function: void create_order_report(product_tree *root_product, FILE *minimal_stock_file, Char *order_report_file_name); For this report you will need to read the minimal_stock_file. Every line in this file represents a product and has the following structure: - Product ID: 9 digits exactly. - Minimal quantity that must be in stock: Integer

5 This report must have one line for each product for which the current stock is lower than the minimal quantity that must be in stock (taken from minimal_stock_file). There will be one line per product with the following structure: - Product ID: 9 digits exactly. - The quantity we need to order so that we have the minimal quantity in stock. For example, if product no has a current stock of 15, and its minimal quantity is 105, then we would output the line: An example of such a report is included in the assignment web site: OrderReport.txt. Some (important) clarifications: 1. You may assume the input is correct! For example, IDs of products and customers, as well as average ratings of products, will be unique, and quantities will never drop below zero. 2. You are provided with a skeleton file for the code (assignment5.c). You must use (and submit) this file! 3. You should not change any of the functions given to you. Changing them will result in a 0 grade! 4. You should not change the main function. All you need to do is implement the additional functions (according to the declared prototypes). You can of course add more functions, but think carefully before you do.

Honors Introduction to C (COP 3223H) Program 5 Pizza Shack Inventory and Finances

Honors Introduction to C (COP 3223H) Program 5 Pizza Shack Inventory and Finances Honors Introduction to C (COP 3223H) Program 5 Pizza Shack Inventory and Finances Objective To give students practice writing a program with structs, functions and arrays, all interleaved. The Problem:

More information

Introduction to Computer Science Midterm 3 Fall, Points

Introduction to Computer Science Midterm 3 Fall, Points Introduction to Computer Science Fall, 2001 100 Points Notes 1. Tear off this sheet and use it to keep your answers covered at all times. 2. Turn the exam over and write your name next to the staple. Do

More information

King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department

King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department CPCS204, 1 st Term 2014 Program 1: FCIT Baqalah Assigned: Monday, February 10 th, 2014 Due: Thursday,

More information

King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department

King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department CPCS204, 1 st Term 2014 Program 2: FCIT Baqalah Assigned: Thursday, September 26 th, 2013 Due: Wednesday,

More information

Computer Science Foundation Exam

Computer Science Foundation Exam Computer Science Foundation Exam August 26, 2017 Section I A DATA STRUCTURES NO books, notes, or calculators may be used, and you must work entirely on your own. Name: UCFID: NID: Question # Max Pts Category

More information

Ex 0bb inventory Test black box

Ex 0bb inventory Test black box Ex 0bb inventory Test black box Aretailsupportsystemmanagesaninventoryofitems.Eachitemhasadescriptorandthe numberofavailableitems. /* Inventory */ typedef struct item_tag { char* itemcode; // unique identifier,

More information

The assignment is due by 1:30pm on Tuesday 5 th April, 2016.

The assignment is due by 1:30pm on Tuesday 5 th April, 2016. 15-122 : Principles of Imperative Computation, Spring 2016 Written Homework A/B Due: Tuesday 5 th April, 2016 Name:q1 Andrew ID: q2 Section:q3 This written homework covers heaps and priority queues. The

More information

ECE264 Fall 2013 Exam 3, November 20, 2013

ECE264 Fall 2013 Exam 3, November 20, 2013 ECE264 Fall 2013 Exam 3, November 20, 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 information

EECE.2160: ECE Application Programming

EECE.2160: ECE Application Programming Summer 2017 Programming Assignment #9: Doubly-Linked Lists Due Monday, 6/26/17, 11:59:59 PM (+15% if submitted by 6/23, +10% if submitted 6/24-6/25, +5% if submitted 6/26) 1. Introduction This assignment

More information

CS 580 FINAL EXAM. Fall April 29, 2014

CS 580 FINAL EXAM. Fall April 29, 2014 CS 580 FINAL EXAM Fall 201 April 29, 2014 You are to build a range tree for your final exam. A range tree is a tree where each node contains a minimum and a maximum value as well as a linked list to store

More information

Midterm Examination # 2 Wednesday, March 19, Duration of examination: 75 minutes STUDENT NAME: STUDENT ID NUMBER:

Midterm Examination # 2 Wednesday, March 19, Duration of examination: 75 minutes STUDENT NAME: STUDENT ID NUMBER: Page 1 of 7 School of Computer Science 60-141-01 Introduction to Algorithms and Programming Winter 2014 Midterm Examination # 2 Wednesday, March 19, 2014 ANSWERS Duration of examination: 75 minutes STUDENT

More information

CS261: HOMEWORK 2 Due 04/13/2012, at 2pm

CS261: HOMEWORK 2 Due 04/13/2012, at 2pm CS261: HOMEWORK 2 Due 04/13/2012, at 2pm Submit six *.c files via the TEACH website: https://secure.engr.oregonstate.edu:8000/teach.php?type=want_auth 1. Introduction The purpose of HW2 is to help you

More information

Sample Examination. Family Name:... Other Names:... Signature:... Student Number:...

Sample 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

General Instructions. You can use QtSpim simulator to work on these assignments.

General Instructions. You can use QtSpim simulator to work on these assignments. General Instructions You can use QtSpim simulator to work on these assignments. Only one member of each group has to submit the assignment. Please Make sure that there is no duplicate submission from your

More information

COP 3502 (Computer Science I) Final Exam 12/10/2015. Last Name:, First Name:

COP 3502 (Computer Science I) Final Exam 12/10/2015. Last Name:, First Name: COP 3502 (Computer Science I) Final Exam 12/10/2015 Last Name:, First Name: 1) (10 pts) Perform the following base conversions: a) 134710 converted to base 7. b) 45628 converted to base 10. c) 100111010111012

More information

1. Introduction. 2. Deliverables

1. Introduction. 2. Deliverables 16.216: ECE Application Programming Summer 2014 Programming Assignment #10: Doubly-Linked Lists Due Friday, 6/27/14, 12:00 PM (noon) NO LATE ASSIGNMENTS 1. Introduction This assignment deals with the combination

More information

This exam is worth 24 points, or 24% of your total course grade. The exam contains six

This exam is worth 24 points, or 24% of your total course grade. The exam contains six CS 60B Final December 14, 1992 Your name login c60b{ Discussion section number TA's name This exam is worth 24 points, or 24% of your total course grade. The exam contains six questions. This booklet contains

More information

by Pearson Education, Inc. All Rights Reserved. 2

by Pearson Education, Inc. All Rights Reserved. 2 Data that is formatted and written to a sequential file as shown in Section 17.4 cannot be modified without the risk of destroying other data in the file. For example, if the name White needs to be changed

More information

CS 2316 Homework 9b GT Thrift Shop Due: Wednesday, April 20 th, before 11:55 PM Out of 100 points. Premise

CS 2316 Homework 9b GT Thrift Shop Due: Wednesday, April 20 th, before 11:55 PM Out of 100 points. Premise CS 2316 Homework 9b GT Thrift Shop Due: Wednesday, April 20 th, before 11:55 PM Out of 100 points Files to submit: 1. HW9b.py 2. any image files (.gif ) used in database This is an INDIVIDUAL assignment!

More information

Midterm Exam Answers Instructor: Randy Shepherd CSCI-UA.0201 Spring 2017

Midterm Exam Answers Instructor: Randy Shepherd CSCI-UA.0201 Spring 2017 Section 1: Multiple choice (select any that apply) - 20 points 01. Representing 10 using the 4 byte unsigned integer encoding and using 4 byte two s complements encoding yields the same bit pattern. (a)

More information

9/10/10. Arithmetic Operators. Today. Assigning floats to ints. Arithmetic Operators & Expressions. What do you think is the output?

9/10/10. Arithmetic Operators. Today. Assigning floats to ints. Arithmetic Operators & Expressions. What do you think is the output? Arithmetic Operators Section 2.15 & 3.2 p 60-63, 81-89 1 Today Arithmetic Operators & Expressions o Computation o Precedence o Associativity o Algebra vs C++ o Exponents 2 Assigning floats to ints int

More information

Lecture Notes on Priority Queues

Lecture Notes on Priority Queues Lecture Notes on Priority Queues 15-122: Principles of Imperative Computation Frank Pfenning Lecture 16 October 18, 2012 1 Introduction In this lecture we will look at priority queues as an abstract type

More information

Problem A - Complete the sequence

Problem A - Complete the sequence Problem A - Complete the sequence You probably know those quizzes in Sunday magazines: given the sequence 1, 2, 3,,, what is the next number? Sometimes it is very easy to answer, sometimes it could be

More information

ECE 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, 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 information

Problem 1: Hello World!

Problem 1: Hello World! Problem 1: Hello World! Instructions This is the classic first program made famous in the early 70s. Write the body of the program called Problem1 that prints out The text must be terminated by a new-line

More information

Midterm Examination # 2 Wednesday, March 18, Duration of examination: 75 minutes STUDENT NAME: STUDENT ID NUMBER:

Midterm Examination # 2 Wednesday, March 18, Duration of examination: 75 minutes STUDENT NAME: STUDENT ID NUMBER: Page 1 of 8 School of Computer Science 60-141-01 Introduction to Algorithms and Programming Winter 2015 Midterm Examination # 2 Wednesday, March 18, 2015 ANSWERS Duration of examination: 75 minutes STUDENT

More information

Fundamental Concepts: array of structures, string objects, searching and sorting. Static Inventory Maintenance Program

Fundamental Concepts: array of structures, string objects, searching and sorting. Static Inventory Maintenance Program Fundamental Concepts: array of structures, string objects, searching and sorting The point of this assignment is to validate your understanding of the basic concepts presented in CS 1044. If you have much

More information

Q1: Multiple choice / 20 Q2: C input/output; operators / 40 Q3: Conditional statements / 40 TOTAL SCORE / 100 EXTRA CREDIT / 10

Q1: Multiple choice / 20 Q2: C input/output; operators / 40 Q3: Conditional statements / 40 TOTAL SCORE / 100 EXTRA CREDIT / 10 EECE.2160: ECE Application Programming Spring 2016 Exam 1 February 19, 2016 Name: Section (circle 1): 201 (8-8:50, P. Li) 202 (12-12:50, M. Geiger) For this exam, you may use only one 8.5 x 11 double-sided

More information

Data Structure using C++ Lecture 04. Data Structures and algorithm analysis in C++ Chapter , 3.2, 3.2.1

Data Structure using C++ Lecture 04. Data Structures and algorithm analysis in C++ Chapter , 3.2, 3.2.1 Data Structure using C++ Lecture 04 Reading Material Data Structures and algorithm analysis in C++ Chapter. 3 3.1, 3.2, 3.2.1 Summary Stack Operations on a stack Representing stacks Converting an expression

More information

Expressions. Arithmetic expressions. Logical expressions. Assignment expression. n Variables and constants linked with operators

Expressions. Arithmetic expressions. Logical expressions. Assignment expression. n Variables and constants linked with operators Expressions 1 Expressions n Variables and constants linked with operators Arithmetic expressions n Uses arithmetic operators n Can evaluate to any value Logical expressions n Uses relational and logical

More information

Q1: Functions / 33 Q2: Arrays / 47 Q3: Multiple choice / 20 TOTAL SCORE / 100 Q4: EXTRA CREDIT / 10

Q1: Functions / 33 Q2: Arrays / 47 Q3: Multiple choice / 20 TOTAL SCORE / 100 Q4: EXTRA CREDIT / 10 EECE.2160: ECE Application Programming Spring 2018 Exam 2 March 30, 2018 Name: Lecture time (circle 1): 8-8:50 (Sec. 201) 12-12:50 (Sec. 202) For this exam, you may use only one 8.5 x 11 double-sided page

More information

Computer Science Foundation Exam

Computer Science Foundation Exam Computer Science Foundation Exam January 12, 2019 Section I A DATA STRUCTURES NO books, notes, or calculators may be used, and you must work entirely on your own. Name: UCFID: NID: Question # Max Pts Category

More information

Variables Data types Variable I/O. C introduction. Variables. Variables 1 / 14

Variables Data types Variable I/O. C introduction. Variables. Variables 1 / 14 C introduction Variables Variables 1 / 14 Contents Variables Data types Variable I/O Variables 2 / 14 Usage Declaration: t y p e i d e n t i f i e r ; Assignment: i d e n t i f i e r = v a l u e ; Definition

More information

Midterm II Exam Principles of Imperative Computation Frank Pfenning. March 31, 2011

Midterm II Exam Principles of Imperative Computation Frank Pfenning. March 31, 2011 Midterm II Exam 15-122 Principles of Imperative Computation Frank Pfenning March 31, 2011 Name: Sample Solution Andrew ID: fp Section: Instructions This exam is closed-book with one sheet of notes permitted.

More information

Name CPTR246 Spring '17 (100 total points) Exam 3

Name CPTR246 Spring '17 (100 total points) Exam 3 Name CPTR246 Spring '17 (100 total points) Exam 3 1. Linked Lists Consider the following linked list of integers (sorted from lowest to highest) and the changes described. Make the necessary changes in

More information

NET/JRF-COMPUTER SCIENCE & APPLICATIONS. Time: 01 : 00 Hour Date : M.M. : 50

NET/JRF-COMPUTER SCIENCE & APPLICATIONS. Time: 01 : 00 Hour Date : M.M. : 50 1 NET/JRF-COMPUTER SCIENCE & APPLICATIONS UNIT TEST : DATA STRUCTURE Time: 01 : 00 Hour Date : 02-06-2017 M.M. : 50 INSTRUCTION: Attempt all the 25 questions. Each question carry TWO marks. 1. Consider

More information

C How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.

C How to Program, 6/e by Pearson Education, Inc. All Rights Reserved. C How to Program, 6/e Storage of data in variables and arrays is temporary such data is lost when a program terminates. Files are used for permanent retention of data. Computers store files on secondary

More information

CMSC 313 Fall2009 Midterm Exam 1 Section 01 October 12, 2009

CMSC 313 Fall2009 Midterm Exam 1 Section 01 October 12, 2009 CMSC 313 Fall2009 Midterm Exam 1 Section 01 October 12, 2009 Name Score UMBC Username Notes: a. Please write clearly. Unreadable answers receive no credit. b. For short answer questions your answer should

More information

: Principles of Imperative Computation Victor Adamchik. Practice Exam - I

: Principles of Imperative Computation Victor Adamchik. Practice Exam - I 15-122 Practice Exam - I Page 1 of 10 15-122 : Principles of Imperative Computation Victor Adamchik Practice Exam - I Name: Andrew ID: Answer the questions in the space provided following each question.

More information

CS 3204 Operating Systems Programming Project #2 Job / CPU Scheduling Dr. Sallie Henry Spring 2001 Due on February 27, 2001.

CS 3204 Operating Systems Programming Project #2 Job / CPU Scheduling Dr. Sallie Henry Spring 2001 Due on February 27, 2001. CS 3204 Operating Systems Programming Project #2 Job / CPU Scheduling Dr. Sallie Henry Spring 2001 Due on February 27, 2001. 23:59:59 PM Design and implement a program that simulates some of the job scheduling,

More information

The Program Specification:

The Program Specification: Reading to Input Failure, Decisions, Functions This programming assignment uses many of the ideas presented in sections 3 through 8 of the course notes, so you are advised to read those notes carefully

More information

gcc o driver std=c99 -Wall driver.c bigmesa.c

gcc o driver std=c99 -Wall driver.c bigmesa.c C Programming Simple Array Processing This assignment consists of two parts. The first part focuses on array read accesses and computational logic. The second part focuses on array read/write access and

More information

Programming Assignment Multi-Threading and Debugging 2

Programming Assignment Multi-Threading and Debugging 2 Programming Assignment Multi-Threading and Debugging 2 Due Date: Friday, June 1 @ 11:59 pm PAMT2 Assignment Overview The purpose of this mini-assignment is to continue your introduction to parallel programming

More information

Assignment 4 - AVL Binary Search Trees

Assignment 4 - AVL Binary Search Trees Assignment 4 - AVL Binary Search Trees MTE 140 - Data Structures and Algorithms DUE: July 22-11:59 PM 1 Introduction For this assignment, you will be implementing a basic AVL tree. AVL trees are an important

More information

Foundation Exam - Sample Problems for New Topics

Foundation Exam - Sample Problems for New Topics Foundation Exam - Sample Problems for New Topics Fall 2016 Dynamic Memory Allocation Sample Question #1 Consider the following struct to store a single Uno playing card: typedef struct char color[20];

More information

Computer 2 App1. App3 API Library. App3. API Library. Local Clipboard

Computer 2 App1. App3 API Library. App3. API Library. Local Clipboard System Programming (MEEC/MEAer) Project Assignment 2016/2017 In this project the students will implement a simple distributed clipboard. Applications can copy and past to/from the distributed clipboard

More information

C: How to Program. Week /Mar/05

C: How to Program. Week /Mar/05 1 C: How to Program Week 2 2007/Mar/05 Chapter 2 - Introduction to C Programming 2 Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers

More information

Exam Principles of Imperative Computation, Summer 2011 William Lovas. June 24, 2011

Exam Principles of Imperative Computation, Summer 2011 William Lovas. June 24, 2011 Exam 3 15-122 Principles of Imperative Computation, Summer 2011 William Lovas June 24, 2011 Name: Andrew ID: Instructions This exam is closed-book with one double-sided sheet of notes permitted. You have

More information

CSE 333 Midterm Exam 2/14/14

CSE 333 Midterm Exam 2/14/14 Name There are 4 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes, closed

More information

Computer Science Foundation Exam

Computer Science Foundation Exam Computer Science Foundation Exam August 6, 017 Section I A DATA STRUCTURES SOLUTIONS NO books, notes, or calculators may be used, and you must work entirely on your own. Question # Max Pts Category Passing

More information

Midterm I Exam Principles of Imperative Computation Frank Pfenning. February 17, 2011

Midterm I Exam Principles of Imperative Computation Frank Pfenning. February 17, 2011 Midterm I Exam 15-122 Principles of Imperative Computation Frank Pfenning February 17, 2011 Name: Sample Solution Andrew ID: fp Section: Instructions This exam is closed-book with one sheet of notes permitted.

More information

ECE 122. Engineering Problem Solving Using Java

ECE 122. Engineering Problem Solving Using Java ECE 122 Engineering Problem Solving Using Java Lecture 27 Linear and Binary Search Overview Problem: How can I efficiently locate data within a data structure Searching for data is a fundamental function

More information

Biostatistics 615/815 - Lecture 2 Introduction to C++ Programming

Biostatistics 615/815 - Lecture 2 Introduction to C++ Programming Biostatistics 615/815 - Lecture 2 Introduction to C++ Programming Hyun Min Kang September 8th, 2011 Hyun Min Kang Biostatistics 615/815 - Lecture 2 September 8th, 2011 1 / 47 BIOSTAT615/815 - Objectives

More information

The type of all data used in a C (or C++) program must be specified

The type of all data used in a C (or C++) program must be specified The type of all data used in a C (or C++) program must be specified A data type is a description of the data being represented That is, a set of possible values and a set of operations on those values

More information

World Inside a Computer is Binary

World Inside a Computer is Binary C Programming 1 Representation of int data World Inside a Computer is Binary C Programming 2 Decimal Number System Basic symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Radix-10 positional number system. The radix

More information

Lecture (07) Arrays. By: Dr. Ahmed ElShafee. Dr. Ahmed ElShafee, ACU : Fall 2015, Programming I

Lecture (07) Arrays. By: Dr. Ahmed ElShafee. Dr. Ahmed ElShafee, ACU : Fall 2015, Programming I Lecture (07) Arrays By: Dr Ahmed ElShafee ١ introduction An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type Instead

More information

Chapter 2 - Introduction to C Programming

Chapter 2 - Introduction to C Programming Chapter 2 - Introduction to C Programming 2 Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers 2.4 Memory Concepts 2.5 Arithmetic

More information

COP Programming Assignment #7

COP Programming Assignment #7 1 of 5 03/13/07 12:36 COP 3330 - Programming Assignment #7 Due: Mon, Nov 21 (revised) Objective: Upon completion of this program, you should gain experience with operator overloading, as well as further

More information

EL2310 Scientific Programming

EL2310 Scientific Programming Lecture 11: Structures and Memory (yaseminb@kth.se) Overview Overview Lecture 11: Structures and Memory Structures Continued Memory Allocation Lecture 11: Structures and Memory Structures Continued Memory

More information

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements Review: Exam 1 9/20/06 CS150 Introduction to Computer Science 1 1 Your First C++ Program 1 //*********************************************************** 2 // File name: hello.cpp 3 // Author: Shereen Khoja

More information

Programming Assignment #4

Programming Assignment #4 SSE2030: INTRODUCTION TO COMPUTER SYSTEMS (Fall 2014) Programming Assignment #4 Due: November 15, 11:59:59 PM 1. Introduction The goal of this programing assignment is to enable the student to get familiar

More information

Chapter 1 & 2 Introduction to C Language

Chapter 1 & 2 Introduction to C Language 1 Chapter 1 & 2 Introduction to C Language Copyright 2007 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 1 & 2 - Introduction to C Language 2 Outline 1.1 The History

More information

DEPARTMENT OF MATHS, MJ COLLEGE

DEPARTMENT OF MATHS, MJ COLLEGE T. Y. B.Sc. Mathematics MTH- 356 (A) : Programming in C Unit 1 : Basic Concepts Syllabus : Introduction, Character set, C token, Keywords, Constants, Variables, Data types, Symbolic constants, Over flow,

More information

Programming Using C Homework 5

Programming Using C Homework 5 Programming Using C Homework 5 1. In this problem you will simulate the execution of a computer s CPU. The computer that we will simulate has 32 bytes of addressable memory (each byte is uniquely addressed).

More information

Project#3 [40 points] COP 2220 Fall 2017

Project#3 [40 points] COP 2220 Fall 2017 Project#3 [40 points] COP 2220 Fall 2017 (Materials that you MUST review for this project) 2017 Saeed Rajput, Ph.D. Problem Requirements: Allow students to submit assignments and instructor to award grades

More information

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)...

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)... Remembering numbers (and other stuff)... Let s talk about one of the most important things in any programming language. It s called a variable. Don t let the name scare you. What it does is really simple.

More information

CS 237 Meeting 19 10/24/12

CS 237 Meeting 19 10/24/12 CS 237 Meeting 19 10/24/12 Announcements 1. Midterm: New date: Oct 29th. In class open book/notes. 2. Try to complete the linear feedback shift register lab in one sitting (and please put all the equipment

More information

AGENDA Binary Operations CS 3330 Samira Khan

AGENDA Binary Operations CS 3330 Samira Khan AGENDA Binary Operations CS 3330 Logistics Review from last Lecture Samira Khan University of Virginia Jan 31, 2017 Binary Operations Logical Operations Bitwise Operations Examples 2 Feedbacks Quizzes

More information

Think Like a Programmer

Think Like a Programmer Think Like a Programmer Errata, Clarifications, and Updates Last Updated 2/21/2017 This lists errata and clarifications going back to the first printing; almost all of these issues are already corrected

More information

Recursion. So, just as you are allowed to call function B from within function A, you are ALSO allowed to call function A from within function A!

Recursion. So, just as you are allowed to call function B from within function A, you are ALSO allowed to call function A from within function A! Recursion Definition: Any time the body of a function contains a call to the function itself. So, just as you are allowed to call function B from within function A, you are ALSO allowed to call function

More information

Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA === Homework submission instructions ===

Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA   === Homework submission instructions === Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA email: dsa1@csientuedutw === Homework submission instructions === For Problem 1, submit your source code, a Makefile to compile

More information

Computer Science Foundation Exam

Computer Science Foundation Exam Computer Science Foundation Exam December 18, 015 Section I B COMPUTER SCIENCE NO books, notes, or calculators may be used, and you must work entirely on your own. SOLUTION Question # Max Pts Category

More information

Here's how you declare a function that returns a pointer to a character:

Here's how you declare a function that returns a pointer to a character: 23 of 40 3/28/2013 10:35 PM Violets are blue Roses are red C has been around, But it is new to you! ANALYSIS: Lines 32 and 33 in main() prompt the user for the desired sort order. The value entered is

More information

This is CS50. Harvard University Fall Quiz 0 Answer Key

This is CS50. Harvard University Fall Quiz 0 Answer Key Quiz 0 Answer Key Answers other than the below may be possible. Binary Bulbs. 0. Bit- Sized Questions. 1. Because 0 is non- negative, we need to set aside one pattern of bits (000) for it, which leaves

More information

Use a calculator and c = 2 π r to calculate the circumference of a circle with a radius of 1.0.

Use a calculator and c = 2 π r to calculate the circumference of a circle with a radius of 1.0. Floating Point Math Submitted by Andy Lindsay on Thu, 03/21/2013-16:37 original source: http://learn.parallax.com/propeller-c-start-simple/floating-point-math Lesson edited to work with Dev-C++ IDE by

More information

BASIC ELEMENTS OF A COMPUTER PROGRAM

BASIC ELEMENTS OF A COMPUTER PROGRAM BASIC ELEMENTS OF A COMPUTER PROGRAM CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING LOGO Contents 1 Identifier 2 3 Rules for naming and declaring data variables Basic data types 4 Arithmetic operators

More information

ECE264 Spring 2013 Final Exam, April 30, 2013

ECE264 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 information

Differentiate Between Keywords and Identifiers

Differentiate Between Keywords and Identifiers History of C? Why we use C programming language Martin Richards developed a high-level computer language called BCPL in the year 1967. The intention was to develop a language for writing an operating system(os)

More information

Carleton University Department of Systems and Computer Engineering SYSC Foundations of Imperative Programming - Winter Lab 8 - Structures

Carleton University Department of Systems and Computer Engineering SYSC Foundations of Imperative Programming - Winter Lab 8 - Structures Carleton University Department of Systems and Computer Engineering SYSC 2006 - Foundations of Imperative Programming - Winter 2012 Lab 8 - Structures Objective To write functions that manipulate structures.

More information

Assignment 2: Temperature Class

Assignment 2: Temperature Class Assigned: September 23, 2016 Due: October 03, 2016, 11:59:59pm Assignment 2: Temperature Class Purpose The purpose of this project is to provide you more practice with implementing classes. Here you will

More information

CSC 307 DATA STRUCTURES AND ALGORITHM ANALYSIS IN C++ SPRING 2011

CSC 307 DATA STRUCTURES AND ALGORITHM ANALYSIS IN C++ SPRING 2011 CSC 307 DATA STRUCTURES AND ALGORITHM ANALYSIS IN C++ SPRING 2011 Date: 01/18/2011 (Due date: 01/20/2011) Name and ID (print): CHAPTER 6 USER-DEFINED FUNCTIONS I 1. The C++ function pow has parameters.

More information

ScrimmageSim Business Simulation Ordering Exercise Instructions

ScrimmageSim Business Simulation Ordering Exercise Instructions ScrimmageSim Business Simulation Ordering Exercise Instructions Summary: Tenant: 500 User: in the grades section of elearning Password: password Demand: 10 cases with standard deviation of 1 case Ordering

More information

CSE 333 Midterm Exam 7/29/13

CSE 333 Midterm Exam 7/29/13 Name There are 5 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes, closed

More information

CSI33 Data Structures

CSI33 Data Structures Outline Department of Mathematics and Computer Science Bronx Community College September 6, 2017 Outline Outline 1 Chapter 2: Data Abstraction Outline Chapter 2: Data Abstraction 1 Chapter 2: Data Abstraction

More information

Lab 03 - x86-64: atoi

Lab 03 - x86-64: atoi CSCI0330 Intro Computer Systems Doeppner Lab 03 - x86-64: atoi Due: October 1, 2017 at 4pm 1 Introduction 1 2 Assignment 1 2.1 Algorithm 2 3 Assembling and Testing 3 3.1 A Text Editor, Makefile, and gdb

More information

CIS 2107 Computer Systems and Low-Level Programming Fall 2011 Midterm

CIS 2107 Computer Systems and Low-Level Programming Fall 2011 Midterm Fall 2011 Name: Page Points Score 1 5 2 10 3 10 4 7 5 8 6 15 7 4 8 7 9 16 10 18 Total: 100 Instructions The exam is closed book, closed notes. You may not use a calculator, cell phone, etc. For each of

More information

EECE.2160: ECE Application Programming Fall 2017

EECE.2160: ECE Application Programming Fall 2017 EECE.2160: ECE Application Programming Fall 2017 1. (34 points) Structures Exam 3 Solution a. (14 points) Show the output of the short program below exactly as it will appear on the screen. Be sure to

More information

SUMMER REVIEW PACKET 2 FOR STUDENTS ENTERING ALGEBRA 1

SUMMER REVIEW PACKET 2 FOR STUDENTS ENTERING ALGEBRA 1 SUMMER REVIEW PACKET FOR STUDENTS ENTERING ALGEBRA Dear Students, Welcome to Ma ayanot. We are very happy that you will be with us in the Fall. The Math department is looking forward to working with you

More information

CSE 142, Winter 2007 Final Exam. Name:

CSE 142, Winter 2007 Final Exam. Name: 1 of 10 CSE 142, Winter 2007 Final Exam Name: Section: Student ID #: TA: You have 110 minutes to complete this exam. You may receive a deduction if you keep working after the instructor calls for papers.

More information

EECE.2160: ECE Application Programming Fall 2017 Exam 3 December 16, 2017

EECE.2160: ECE Application Programming Fall 2017 Exam 3 December 16, 2017 EECE.2160: ECE Application Programming Fall 2017 Exam 3 December 16, 2017 Name: Lecture time (circle 1): 8-8:50 (Sec. 201) 12-12:50 (Sec. 203) 1-1:50 (Sec. 202) For this exam, you may use only one 8.5

More information

INFO1x05 Tutorial 6. Exercise 1: Heaps and Priority Queues

INFO1x05 Tutorial 6. Exercise 1: Heaps and Priority Queues INFO1x05 Tutorial 6 Heaps and Priority Queues Exercise 1: 1. How long would it take to remove the log n smallest elements from a heap that contains n entries, using the operation? 2. Suppose you label

More information

Introduction to C Programming. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

Introduction to C Programming. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan Introduction to C Programming Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan Outline Printing texts Adding 2 integers Comparing 2 integers C.E.,

More information

Answer 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 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 information

CS 1044 Program 6 Summer I dimension ??????

CS 1044 Program 6 Summer I dimension ?????? Managing a simple array: Validating Array Indices Most interesting programs deal with considerable amounts of data, and must store much, or all, of that data on one time. The simplest effective means for

More information

Arithmetic Operators. Portability: Printing Numbers

Arithmetic Operators. Portability: Printing Numbers Arithmetic Operators Normal binary arithmetic operators: + - * / Modulus or remainder operator: % x%y is the remainder when x is divided by y well defined only when x > 0 and y > 0 Unary operators: - +

More information

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Fall 2016 Howard Rosenthal

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Fall 2016 Howard Rosenthal Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Fall 2016 Howard Rosenthal Lesson Goals Understand Control Structures Understand how to control the flow of a program

More information

CS16 Final Exam E03, 10S, Phill Conrad, UC Santa Barbara Wednesday, 06/09/2010

CS16 Final Exam E03, 10S, Phill Conrad, UC Santa Barbara Wednesday, 06/09/2010 CS16 Final Exam E03, 10S, Phill Conrad, UC Santa Barbara Wednesday, 06/09/2010 Name: Umail Address: @ umail.ucsb.edu Circle Lab section: 9AM 10AM 11AM Noon Link to Printer Friendly PDF Version Please write

More information

EE 472 Embedded Systems. Name solutions. Instructions:

EE 472 Embedded Systems. Name solutions. Instructions: Name solutions Instructions: Write your name and student id on every page. You may not consult any other materials or anyone in the class. If you are unsure of what a question is asking, write your assumptions

More information

Decision Logic: if, if else, switch, Boolean conditions and variables

Decision Logic: if, if else, switch, Boolean conditions and variables CS 1044 roject 4 Summer I 2007 Decision Logic: if, if else, switch, Boolean conditions and variables This programming assignment uses many of the ideas presented in sections 3 through 5 of the course notes,

More information

1. Overview This project will help you understand address spaces and virtual memory management.

1. Overview This project will help you understand address spaces and virtual memory management. Project 2--Memory Worth: 12 points Assigned: Due: 1. Overview This project will help you understand address spaces and virtual memory management. In this project, you will implement an external pager,

More information