# Problems and Solutions to the January 1994 Core Examination

Size: px
Start display at page:

## Transcription

1 Problems and Solutions to the January 1994 Core Examination Programming Languages PL 1. Consider the following program written in an Algol-like language: begin integer i,j; integer array A[0..10]; Procedure swap(x, y); Integer x,y; begin integer t; t := y; y := x; x := t; end for i := 0 step 1 until 10 do begin A[i} := 2 + i; end j := 3; swap( j, A[j] ) end. print j; for i := 0 step 1 until 10 do begin print i, A[i]; end What is printed if parameters are passed using call-by-value? What is printed if parameters are passed using call-by-reference? What is printed if parameters are passed using call-by-name? Solutions: Pass by value Pass by reference Pass by name

2 PL 2. Write a scheme (or LISP) function called POS that accepts a list of integers as input and produces as output the same list with negative elements replaced by zero. For example, (POS '( )) ==> ( ) You may assume that all the elements are integers; in particular, there are no sublists. Recall that scheme has a predicate called positive? that returns #t if given a positive integer and nil for zero or negative integers. That is, (positive? 5) ==> #t (positive? 0) ==> nil (positive? -2) ==> nil Solution: Here are two solutions: (define (POS lis) (if (null? lis) nil (if (positive? (car lis)) (cons (car lis) (pos (cdr lis))) (cons 0 (pos (cdr lis)))))) (define (POS lis) (cond ( (null? lis) nil) ( (positive? (car lis)) (cons (car lis) (pos (cdr lis)))) ( else (cons 0 (pos (cdr lis)))))) Note that from a programming language standpoint, a LISP function operating on a list must use cons, car, and cdr, and should not process the list using a loop. 2

4 üb. Linkers have to generate relocation bits in the object code for static relocation systems. C. Linkers have to generate relocation bits for dynamic relocation systems. üd. The loader does the relocation in static relocation systems. E. The operating system kernel does the relocation in static relocation systems. F. The operating system kernel does the relocation in dynamic relocation systems. üg. The hardware does the relocation in dynamic relocation systems. 7. Some operating systems use base and bound registers to protect memory. The bound registers are updated (or changed) by: A. Memory management hardware. üb. Memory management software. C. Inline code in the processes (generated by compilers). D. Array bound checking routines. E. Language debugging support tools. 8. Swapping is a method of increasing the capacity of the main memory. Note that swapping is not the same as demand paging. Swapping is achieved by: A. Using the same part of the main memory to run several processes at the same time. B. Keeping only the relevant parts of a process in main memory and the rest on disk. üc. Keeping some running processes in main memory and some waiting processes on disk. D. Moving processes from memory to disk every time a process time-slice is over. 9. A page table for a running process may need to be updated under some circumstances. Find the true statements about updating page tables. A. The page table of a process has to be modified when the process accesses a page. üb. The page table of a process has to be modified when the process asks for more memory to be allocated. üc. The page table of a process has to be modified when a page is paged-out to disk. D. The page table should be modified by the paging hardware. üe. The page table is modified by the memory management routines. F. Once created, the size of a page table never changes. 10. A computer system has a segmented paging scheme. The segments are paged and the pages are demand-paged. A. This scheme needs occasional compaction of main memory due to external fragmentation. üb. There is no internal or external fragmentation in main memory. C. The segment tables are allocated in frames. D. The page tables are allocated inside segments. E. If the cache hit ratio is 90%, then a logical memory access on the average needs about 2 physical memory accesses. F. If the cache memory is not used, the speed of execution of this scheme is about twice as slow as a system not using virtual memory. 4

5 Compilers Comp1. a) The type model of Pascal supports mixed-mode (integer-float) multiplication, but requires the arguments of addition and subtraction to have the same arithmetic types. Write a small grammar of expressions and assignments for Pascal, and write the semantic rules for type-checking each production. Is type-checking done in bottom-up or top-down fashion? b) Some versions of Pascal define array compatibility in terms of structural equivalence. Give the semantic rules for type-checking array assignment in such a language. Solution: Let us use the following conventional grammar for assignments and simple expressions. To perform type checking, it is best to define an attribute -type- on every non-terminal, and give rules for computing that attribute for each production in the grammar. For identifiers we can assume that the type comes from some symbol table. For literals the type is delivered by the scanner. For the non-terminals we give the following rules to take into account mixed-mode arithmetic: S => Id := E E => E + T E => T T => T * F if Id.type /= E.type then error ("Invalid types for assignment"); end if; if E2.type /= T.type then error("incompatible types for addition"); else E1.type := E2.type; end if; E.type := T.Type; if T2.type = F.type then T.Type := T2.Type; elsif (T2.Type = Type_Float and F.Type = Type_Integer) or else (T2.Type = Type_Integer and F.Type = Type_Float) then T1.type := T2.Type; else error("incompatible types for mult"); end if; F => id F.type := defined_type (id); F => literal F.type := literal.type; F => (E) F.type := E.type; Regardless of the parsing strategy, the computation of the type proceeds bottom-up, from leaves of the tree to internal nodes. The attribute is synthesized. Computation of semantic attributes is described in great detail in chapter 5 of the text by Aho, Sethi and Ullman. b) If the language specifies structural equivalence, arrays are conformant if they have the same component type and the same size. If the language specifies name equivalence, two arrays are compatible only if their types are one and the same. In the case of structural equivalence, the assignment A1 := B1; is valid if (A1.type.component_type = B1.type.component_type) and (A1.high_bound - A1.low_bound) = (B1.high_bound - B1.low_bound)). 5

6 Comp 2. For a one-dimensional array with a non-zero lower bound in a simple language like Pascal, a standard optimization called virtual origins is used to simplify addressing in the array. In the onedimensional case, you can think of the virtual origin of the array as the location in memory where the first element of the array would have appeared had the array been declared with a lower bound at zero. Consider a Pascal function: function F(b, c : integer) : integer; var i, j : integer; a : array[2..4] of integer; begin... a[i] := 0;... end; (a) Draw a picture of the stack frame, showing how all variables in F are allocated, and indicate where the virtual origin of the array A is located. (b) Show the assembly language code (for any real assembly language) that a compiler would generate taking advantage of the use of virtual origins. Indicate how this code would have been different had virtual origins not been used. (c) What if the array above was declared as a two-dimensional array: a : array[2..4,2..4] of integer; Is the virtual origin of a two-dimensional array still the same as the memory location of the first element (a[0,0] in this case) if the array had been indexed at 0? Either explain why you believe this is so or prove (with a counterexample) why not. Solution: Part (a). The stack frame for the procedure is shown below, along with the virtual origin of the array A. Note the order of the elements of the array A in the stack frame. Also note that the elements A[0] and A[1] are not part of the stack frame for the procedure. C B ret addr old FP I J A[4] A[3] A[2] A[1] A[0] FP SP Virtual Origin Part (b). The 8086/88 assembly language code for the statement a[i] := 0 if virtual origins are used would be: mov si, i shl si, 1 mov [bp-14][si], 0 Without the use of virtual origins the 8086/88 assembly language code would be: 6

7 mov si, i sub si, 2 sh si, 1 mov [bp-10][si], 0 Note that without the use of virtual origins an extra instruction is required. Part (c). The answer is no. The questions asks for an explanation using the array a[2..4,2..4] as an example. If the array were index at 0 (meaning it was declared as a[0..4,0..4], then it's actual origin would be -54 (two bytes each for i and j and 25 * 2 for the 25 elements of array). On the other hand, if we do the address calculation for the virtual origin we get: Addr( a[i,j] ) = base(a) + [ ((i - low 1 ) * dim 1 ) + (j - low 2 ) ] * stride(a) For this specific example we have: Addr( a[i,j] ) = [ ((i - 2) * 3) + (j - 2) ] * 2 = [ 3i j - 2 ] * 2 = [ 3i + j - 8 ] * 2 = [ 3i + j ] * 2 The correctly computed virtual origin is

8 ALGORITHMS Algs1. An algorithm A has this behavior: on inputs of size n, it takes 1 unit of time if n 3. If n 4, it calls itself recursively on an input of size at most n/4. On return from the recursive call, A performs some more actions and then halts. The non-recursive part of A takes at most n units of time on inputs of size n. Let T(n) be the worst case time of this algorithm on inputs of size n. a. State the recurrence for T(n). R 1 if n 3 Tn ( )= ST n e j+ n n> T 4 if 3 k b. Solve as exactly as you can for T(n), assuming n is a power of 4 (i.e., n = 4 ). Set S( k) T( k k = 4 ). Then S( k) = Sk ( 1) + 4 for k 1 and k k+ 1 i 4 1 4n 1 S( 0) = 1. Thus S( k)= 4 = =, so T( n)= 1 3 a4n 1f i= 0 c. What can you say about T(n) for all n? i i If n is not a power of 4, then T( 4 1 ) T( n) T( 4 ) where i = log 2 n. So 1 i 1 i+ 1 3( 4 1) Tn ( ) < 3 c4 h, andt( n) = Q ( n). Algs2. a. Draw the binary search tree T with keys 1,2,3,4,5,6 such that the preorder traversal of T yields the sequence 5,1,3,2,4, b. For this question, first choose either red-black trees or 2-3 trees as your data structure. State your choice. Then answer the following question. We want to modify the data structure so that each node of the tree maintains the size information; this information simply records the number of descendants of that node. We want to achieve this while preserving the O(log n) performance bound for insertions and deletions. Explain why this can be done. Solution: For red-black trees, it suffices to consider only the rotations, since insertions and deletions reduce to a sequence of rotations. Suppose we rotate at a node b, as in the following diagram: b a Z rot(b) X b a X Y Y Z Here X, Y, Z are subtrees, and the size information at every node in these subtrees remains the same. 8

9 Then all the nodes in the tree preserve their size information EXCEPT at nodes b and its parent a. The new size information at a and b can easily be deduced from the old one in constant time. In fact, a gets the old size information at b, and a s size information is reduced by 1+size(X). Therefore, the time needed to update the size information in one rotation or one double rotation is constant, i.e., a rotation or double rotation is still constant time. Thus the asymptotic complexity does not change. 2-3 TREES: Insertion and deletion into a 2-3 tree modifies the tree either by the merging two nodes or splitting a node into two, potentially at every level from the root to the leaves. However, the operation of updating size information when we merge two nodes takes constant time: namely, the size of their merger is the sum of the sizes of the leaves minus 1. When we split a node into u and v, the sizes of u and v are respectively the sum of the sizes of their children plus 1. Thus updating size information for a split also adds a constant amount of time. Clearly this information can be maintained without changing the O(log n) bound for insertion or deletion, since at most a constant amount of time is added per level. 9

### Department of Computer Science Admission Test for PhD Program. Part I Time : 30 min Max Marks: 15

Department of Computer Science Admission Test for PhD Program Part I Time : 0 min Max Marks: 5 Each Q carries marks. ¼ mark will be deducted for every wrong answer. Part II of only those candidates will

### Addresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses.

1 Memory Management Address Binding The normal procedures is to select one of the processes in the input queue and to load that process into memory. As the process executed, it accesses instructions and

### Augmenting Data Structures

Augmenting Data Structures [Not in G &T Text. In CLRS chapter 14.] An AVL tree by itself is not very useful. To support more useful queries we need more structure. General Definition: An augmented data

### PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS

Objective PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Explain what is meant by compiler. Explain how the compiler works. Describe various analysis of the source program. Describe the

### 15 Sharing Main Memory Segmentation and Paging

Operating Systems 58 15 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per

### COMP 250 Fall recurrences 2 Oct. 13, 2017

COMP 250 Fall 2017 15 - recurrences 2 Oct. 13, 2017 Here we examine the recurrences for mergesort and quicksort. Mergesort Recall the mergesort algorithm: we divide the list of things to be sorted into

### CSCI2100B Data Structures Trees

CSCI2100B Data Structures Trees Irwin King king@cse.cuhk.edu.hk http://www.cse.cuhk.edu.hk/~king Department of Computer Science & Engineering The Chinese University of Hong Kong Introduction General Tree

### Memory Management. Memory Management

Memory Management Most demanding di aspect of an operating system Cost has dropped. Consequently size of main memory has expanded enormously. Can we say that we have enough still. Swapping in/out. Memory

### Introduction. for large input, even access time may be prohibitive we need data structures that exhibit times closer to O(log N) binary search tree

Chapter 4 Trees 2 Introduction for large input, even access time may be prohibitive we need data structures that exhibit running times closer to O(log N) binary search tree 3 Terminology recursive definition

### 16 Sharing Main Memory Segmentation and Paging

Operating Systems 64 16 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per

### CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):

### 9/29/2016. Chapter 4 Trees. Introduction. Terminology. Terminology. Terminology. Terminology

Introduction Chapter 4 Trees for large input, even linear access time may be prohibitive we need data structures that exhibit average running times closer to O(log N) binary search tree 2 Terminology recursive

### Draw a diagram of an empty circular queue and describe it to the reader.

1020_1030_testquestions.text Wed Sep 10 10:40:46 2014 1 1983/84 COSC1020/30 Tests >>> The following was given to students. >>> Students can have a good idea of test questions by examining and trying the

### B. V. Patel Institute of Business Management, Computer &Information Technology, UTU

BCA-3 rd Semester 030010304-Fundamentals Of Operating Systems Unit: 1 Introduction Short Answer Questions : 1. State two ways of process communication. 2. State any two uses of operating system according

### Compiling and Interpreting Programming. Overview of Compilers and Interpreters

Copyright R.A. van Engelen, FSU Department of Computer Science, 2000 Overview of Compilers and Interpreters Common compiler and interpreter configurations Virtual machines Integrated programming environments

### mywbut.com GATE SOLVED PAPER - CS (A) 2 k (B) ( k+ (C) 3 logk 2 (D) 2 logk 3

GATE SOLVED PAPER - CS 00 k k-1 Q. 1 The solution to the recurrence equation T( ) = 3T( ) + 1, T( 1) = 1 (A) k (B) ( k+ 1-1 ) is (C) 3 logk (D) logk 3 Q. The minimum number of colours required to colour

### CSE Qualifying Exam, Spring February 2, 2008

CSE Qualifying Exam, Spring 2008 February 2, 2008 Architecture 1. You are building a system around a processor with in-order execution that runs at 1.1 GHz and has a CPI of 0.7 excluding memory accesses.

### CS-537: Midterm Exam (Spring 2001)

CS-537: Midterm Exam (Spring 2001) Please Read All Questions Carefully! There are seven (7) total numbered pages Name: 1 Grading Page Points Total Possible Part I: Short Answers (12 5) 60 Part II: Long

### 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

### 12/30/2013 S. NALINI,AP/CSE

12/30/2013 S. NALINI,AP/CSE 1 UNIT I ITERATIVE AND RECURSIVE ALGORITHMS Iterative Algorithms: Measures of Progress and Loop Invariants-Paradigm Shift: Sequence of Actions versus Sequence of Assertions-

### How much space does this routine use in the worst case for a given n? public static void use_space(int n) { int b; int [] A;

How much space does this routine use in the worst case for a given n? public static void use_space(int n) { int b; int [] A; } if (n

### Memory management. Requirements. Relocation: program loading. Terms. Relocation. Protection. Sharing. Logical organization. Physical organization

Requirements Relocation Memory management ability to change process image position Protection ability to avoid unwanted memory accesses Sharing ability to share memory portions among processes Logical

### CIS Operating Systems Memory Management. Professor Qiang Zeng Fall 2017

CIS 5512 - Operating Systems Memory Management Professor Qiang Zeng Fall 2017 Previous class Uniprocessor policies FCFS, Shortest Job First Round Robin Multilevel Feedback Queue Multiprocessor policies

### Type systems. Static typing

Type system A type is a set of values and operations on those values A language s type system specifies which operations are valid for a type The aim of type checking is to ensure that operations are used

### Goals of this Lecture

C Pointers Goals of this Lecture Help you learn about: Pointers and application Pointer variables Operators & relation to arrays 2 Pointer Variables The first step in understanding pointers is visualizing

### CIS Operating Systems Contiguous Memory Allocation. Professor Qiang Zeng Spring 2018

CIS 3207 - Operating Systems Contiguous Memory Allocation Professor Qiang Zeng Spring 2018 Previous class Uniprocessor policies FCFS, Shortest Job First Round Robin Multilevel Feedback Queue Multiprocessor

### Fall 2009 CSE Qualifying Exam Core Subjects. September 19, 2009

Fall 2009 CSE Qualifying Exam Core Subjects September 19, 2009 1 Architecture 1. It s 1997 and you re a graduate student at Stanford named Larry Page. You re trying to build a new Internet search engine

### CMSC351 - Fall 2014, Homework #2

CMSC351 - Fall 2014, Homework #2 Due: October 8th at the start of class Name: Section: Grades depend on neatness and clarity. Write your answers with enough detail about your approach and concepts used,

### Operating Systems Comprehensive Exam. Spring Student ID # 3/16/2006

Operating Systems Comprehensive Exam Spring 2006 Student ID # 3/16/2006 You must complete all of part I (60%) You must complete two of the three sections in part II (20% each) In Part I, circle or select

### Computer Science 210 Data Structures Siena College Fall Topic Notes: Priority Queues and Heaps

Computer Science 0 Data Structures Siena College Fall 08 Topic Notes: Priority Queues and Heaps Heaps and Priority Queues From here, we will look at some ways that trees are used in other structures. First,

### B-Trees and External Memory

Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 and External Memory 1 1 (2, 4) Trees: Generalization of BSTs Each internal node

### Stanford University Computer Science Department CS 140 Midterm Exam Dawson Engler Winter 1999

Stanford University Computer Science Department CS 140 Midterm Exam Dawson Engler Winter 1999 Name: Please initial the bottom left corner of each page. This is an open-book exam. You have 50 minutes to

### Scheme: Data. CS F331 Programming Languages CSCE A331 Programming Language Concepts Lecture Slides Monday, April 3, Glenn G.

Scheme: Data CS F331 Programming Languages CSCE A331 Programming Language Concepts Lecture Slides Monday, April 3, 2017 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks ggchappell@alaska.edu

### Fall 2016 CSE Qualifying Exam CSCE 531, Compilers

Fall 2016 CSE Qualifying Exam CSCE 531, Compilers 1. LR-Parsing (a) Give definitions of FIRST( ) and FOLLOW(X). (b) Consider the following augmented grammar G with start symbol S 0 : S 0! S S! V = E S!

### Operating Systems Memory Management. Mathieu Delalandre University of Tours, Tours city, France

Operating Systems Memory Management Mathieu Delalandre University of Tours, Tours city, France mathieu.delalandre@univ-tours.fr 1 Operating Systems Memory Management 1. Introduction 2. Contiguous memory

### Mon Sep 17, 2007 Lecture 3: Process Management

Mon Sep 17, 2007 Lecture 3: Process Management September 19, 2007 1 Review OS mediates between hardware and user software QUIZ: Q: Name three layers of a computer system where the OS is one of these layers.

### Semantic Analysis. Outline. The role of semantic analysis in a compiler. Scope. Types. Where we are. The Compiler so far

Outline Semantic Analysis The role of semantic analysis in a compiler A laundry list of tasks Scope Static vs. Dynamic scoping Implementation: symbol tables Types Statically vs. Dynamically typed languages

### B-Trees and External Memory

Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 B-Trees and External Memory 1 (2, 4) Trees: Generalization of BSTs Each internal

### Object Code (Machine Code) Dr. D. M. Akbar Hussain Department of Software Engineering & Media Technology. Three Address Code

Code Generation Intermediate Code? Assembly Code Object Code (Machine Code) 1 Intermediate Code P-Code Three Address Code 2 Compiler Construction F6S 1 Intermediate Representation Abstract Syntax Tree

### Algorithms. Deleting from Red-Black Trees B-Trees

Algorithms Deleting from Red-Black Trees B-Trees Recall the rules for BST deletion 1. If vertex to be deleted is a leaf, just delete it. 2. If vertex to be deleted has just one child, replace it with that

### Principles of Programming Languages Topic: Scope and Memory Professor Louis Steinberg Fall 2004

Principles of Programming Languages Topic: Scope and Memory Professor Louis Steinberg Fall 2004 CS 314, LS,BR,LTM: Scope and Memory 1 Review Functions as first-class objects What can you do with an integer?

### University of Waterloo Midterm Examination Model Solution CS350 Operating Systems

University of Waterloo Midterm Examination Model Solution CS350 Operating Systems Fall, 2003 1. (10 total marks) Suppose that two processes, a and b, are running in a uniprocessor system. a has three threads.

### COMP Data Structures

COMP 2140 - Data Structures Shahin Kamali Topic 5 - Sorting University of Manitoba Based on notes by S. Durocher. COMP 2140 - Data Structures 1 / 55 Overview Review: Insertion Sort Merge Sort Quicksort

### Chapter 8: Memory Management. Operating System Concepts with Java 8 th Edition

Chapter 8: Memory Management 8.1 Silberschatz, Galvin and Gagne 2009 Background Program must be brought (from disk) into memory and placed within a process for it to be run Main memory and registers are

### CS140 Operating Systems and Systems Programming Midterm Exam

CS140 Operating Systems and Systems Programming Midterm Exam October 31 st, 2003 (Total time = 50 minutes, Total Points = 50) Name: (please print) In recognition of and in the spirit of the Stanford University

### COMPUTER SCIENCE TRIPOS

CST.2011.3.1 COMPUTER SCIENCE TRIPOS Part IB Monday 6 June 2011 1.30 to 4.30 COMPUTER SCIENCE Paper 3 Answer five questions. Submit the answers in five separate bundles, each with its own cover sheet.

### The Compiler So Far. Lexical analysis Detects inputs with illegal tokens. Overview of Semantic Analysis

The Compiler So Far Overview of Semantic Analysis Adapted from Lectures by Profs. Alex Aiken and George Necula (UCB) Lexical analysis Detects inputs with illegal tokens Parsing Detects inputs with ill-formed

### Introduction to Computer Organization. Final Exam Summer 2017

Introduction to Computer Organization Final Exam 605.204 Summer 2017 Name : 1) As described by Hennessy and Patterson,the modern computer is composed of five (4) classic hardware components. Given one,

### Memory Management. Frédéric Haziza Spring Department of Computer Systems Uppsala University

Memory Management Frédéric Haziza Department of Computer Systems Uppsala University Spring 2008 Operating Systems Process Management Memory Management Storage Management Compilers Compiling

### Comparisons. Θ(n 2 ) Θ(n) Sorting Revisited. So far we talked about two algorithms to sort an array of numbers. What is the advantage of merge sort?

So far we have studied: Comparisons Insertion Sort Merge Sort Worst case Θ(n 2 ) Θ(nlgn) Best case Θ(n) Θ(nlgn) Sorting Revisited So far we talked about two algorithms to sort an array of numbers What

### G Programming Languages - Fall 2012

G22.2110-003 Programming Languages - Fall 2012 Lecture 2 Thomas Wies New York University Review Last week Programming Languages Overview Syntax and Semantics Grammars and Regular Expressions High-level

### CS 61A Interpreters, Tail Calls, Macros, Streams, Iterators. Spring 2019 Guerrilla Section 5: April 20, Interpreters.

CS 61A Spring 2019 Guerrilla Section 5: April 20, 2019 1 Interpreters 1.1 Determine the number of calls to scheme eval and the number of calls to scheme apply for the following expressions. > (+ 1 2) 3

### MID TERM MEGA FILE SOLVED BY VU HELPER Which one of the following statement is NOT correct.

MID TERM MEGA FILE SOLVED BY VU HELPER Which one of the following statement is NOT correct. In linked list the elements are necessarily to be contiguous In linked list the elements may locate at far positions

### Priority Queues and Heaps. Heaps of fun, for everyone!

Priority Queues and Heaps Heaps of fun, for everyone! Learning Goals After this unit, you should be able to... Provide examples of appropriate applications for priority queues and heaps Manipulate data

### ESC101N: 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.

### Comparisons. Heaps. Heaps. Heaps. Sorting Revisited. Heaps. So far we talked about two algorithms to sort an array of numbers

So far we have studied: Comparisons Tree is completely filled on all levels except possibly the lowest, which is filled from the left up to a point Insertion Sort Merge Sort Worst case Θ(n ) Θ(nlgn) Best

### Topics. Java arrays. Definition. Data Structures and Information Systems Part 1: Data Structures. Lecture 3: Arrays (1)

Topics Data Structures and Information Systems Part 1: Data Structures Michele Zito Lecture 3: Arrays (1) Data structure definition: arrays. Java arrays creation access Primitive types and reference types

### 12: Memory Management

12: Memory Management Mark Handley Address Binding Program goes through multiple steps from compilation to execution. At some stage, addresses in the program must be bound to physical memory addresses:

### UNIVERSITY OF MALTA THE MATRICULATION EXAMINATION ADVANCED LEVEL. COMPUTING May 2016 EXAMINERS REPORT

UNIVERSITY OF MALTA THE MATRICULATION EXAMINATION ADVANCED LEVEL COMPUTING May 2016 EXAMINERS REPORT MATRICULATION AND SECONDARY EDUCATION CERTIFICATE EXAMINATIONS BOARD Computing Advanced Level May 2016

### Requirements, Partitioning, paging, and segmentation

Requirements, Partitioning, paging, and segmentation Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated efficiently to pack as many processes into memory

### Notes on the Exam. Question 1. Today. Comp 104:Operating Systems Concepts 11/05/2015. Revision Lectures (separate questions and answers)

Comp 104:Operating Systems Concepts Revision Lectures (separate questions and answers) Today Here are a sample of questions that could appear in the exam Please LET ME KNOW if there are particular subjects

### Main Memory. Electrical and Computer Engineering Stephen Kim ECE/IUPUI RTOS & APPS 1

Main Memory Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & APPS 1 Main Memory Background Swapping Contiguous allocation Paging Segmentation Segmentation with paging

### Multiway searching. In the worst case of searching a complete binary search tree, we can make log(n) page faults Everyone knows what a page fault is?

Multiway searching What do we do if the volume of data to be searched is too large to fit into main memory Search tree is stored on disk pages, and the pages required as comparisons proceed may not be

### CSE Data Structures and Introduction to Algorithms... In Java! Instructor: Fei Wang. Mid-Term Exam. CSE2100 DS & Algorithms 1

CSE 2100 Data Structures and Introduction to Algorithms...! In Java!! Instructor: Fei Wang! Mid-Term Exam CSE2100 DS & Algorithms 1 1. True or False (20%=2%x10)! (1) O(n) is O(n^2) (2) The height h of

### Binary Heaps in Dynamic Arrays

Yufei Tao ITEE University of Queensland We have already learned that the binary heap serves as an efficient implementation of a priority queue. Our previous discussion was based on pointers (for getting

### Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1

Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1 Chapter 9: Memory Management Background Swapping Contiguous Memory Allocation Segmentation

### UNIX rewritten using C (Dennis Ritchie) UNIX (v7) released (ancestor of most UNIXs).

UNIX: HISTORY: 1. 1969 UNIX developed (Ken Thompson). 2. 1972 UNIX rewritten using C (Dennis Ritchie). 3. 1976 UNIX (v6) released for commercial use. 4. 1978 UNIX (v7) released (ancestor of most UNIXs).

Chapter 12 Pointers and Arrays 1 Introduction C allows us to perform arithmetic addition and subtraction on pointers to array elements. This leads to an alternative way of processing arrays in which pointers

### Comp 204: Computer Systems and Their Implementation. Lecture 25a: Revision Lectures (separate questions and answers)

Comp 204: Computer Systems and Their Implementation Lecture 25a: Revision Lectures (separate questions and answers) 1 Today Here are a sample of questions that could appear in the exam Please LET ME KNOW

### CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators)

Name: Email address: Quiz Section: CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators) Instructions: Read the directions for each question carefully before answering. We will

### Repetition Through Recursion

Fundamentals of Computer Science I (CS151.02 2007S) Repetition Through Recursion Summary: In many algorithms, you want to do things again and again and again. For example, you might want to do something

### Question 1. Notes on the Exam. Today. Comp 104: Operating Systems Concepts 11/05/2015. Revision Lectures

Comp 104: Operating Systems Concepts Revision Lectures Today Here are a sample of questions that could appear in the exam Please LET ME KNOW if there are particular subjects you want to know about??? 1

### FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 ( Marks: 1 ) - Please choose one The data of the problem is of 2GB and the hard

FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 The data of the problem is of 2GB and the hard disk is of 1GB capacity, to solve this problem we should Use better data structures

### Main Memory and the CPU Cache

Main Memory and the CPU Cache CPU cache Unrolled linked lists B Trees Our model of main memory and the cost of CPU operations has been intentionally simplistic The major focus has been on determining

### WYSE Academic Challenge Computer Science Test (State) 2015 Solution Set

WYSE Academic Challenge Computer Science Test (State) 2015 Solution Set 1. Correct Answer: E The following shows the contents of the stack (a lifo last in first out structure) after each operation. Instruction

### Requirements, Partitioning, paging, and segmentation

Requirements, Partitioning, paging, and segmentation Main Memory: The Big Picture kernel memory proc struct kernel stack/u area Stack kernel stack/u area Stack kernel stack/u area Stack Data Text (shared)

### Programming for Electrical and Computer Engineers. Pointers and Arrays

Programming for Electrical and Computer Engineers Pointers and Arrays Dr. D. J. Jackson Lecture 12-1 Introduction C allows us to perform arithmetic addition and subtraction on pointers to array elements.

### CS 385 Operating Systems Fall 2011 Homework Assignment 4 Simulation of a Memory Paging System

CS 385 Operating Systems Fall 2011 Homework Assignment 4 Simulation of a Memory Paging System Due: Tuesday November 15th. Electronic copy due at 2:30, optional paper copy at the beginning of class. Overall

### 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.

### Computer Science Foundation Exam

Computer Science Foundation Exam January 13, 2018 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

### Course Review. Cpt S 223 Fall 2009

Course Review Cpt S 223 Fall 2009 1 Final Exam When: Tuesday (12/15) 8-10am Where: in class Closed book, closed notes Comprehensive Material for preparation: Lecture slides & class notes Homeworks & program

### CS 4240: Compilers and Interpreters Project Phase 1: Scanner and Parser Due Date: October 4 th 2015 (11:59 pm) (via T-square)

CS 4240: Compilers and Interpreters Project Phase 1: Scanner and Parser Due Date: October 4 th 2015 (11:59 pm) (via T-square) Introduction This semester, through a project split into 3 phases, we are going

### Chapter 4: Trees. 4.2 For node B :

Chapter : Trees. (a) A. (b) G, H, I, L, M, and K.. For node B : (a) A. (b) D and E. (c) C. (d). (e).... There are N nodes. Each node has two pointers, so there are N pointers. Each node but the root has

### Memory Management Basics

Memory Management Basics 1 Basic Memory Management Concepts Address spaces! Physical address space The address space supported by the hardware Ø Starting at address 0, going to address MAX sys! MAX sys!!

### Fifth Generation CS 4100 LISP. What do we need? Example LISP Program 11/13/13. Chapter 9: List Processing: LISP. Central Idea: Function Application

Fifth Generation CS 4100 LISP From Principles of Programming Languages: Design, Evaluation, and Implementation (Third Edition, by Bruce J. MacLennan, Chapters 9, 10, 11, and based on slides by Istvan Jonyer

### Chapter 3: Processes. Operating System Concepts 8 th Edition,

Chapter 3: Processes, Silberschatz, Galvin and Gagne 2009 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Silberschatz, Galvin and Gagne 2009

### The role of semantic analysis in a compiler

Semantic Analysis Outline The role of semantic analysis in a compiler A laundry list of tasks Scope Static vs. Dynamic scoping Implementation: symbol tables Types Static analyses that detect type errors

### Module 27 Switch-case statements and Run-time storage management

Module 27 Switch-case statements and Run-time storage management In this module we will discuss the pending constructs in generating three-address code namely switch-case statements. We will also discuss

### Homework #3 CS2255 Fall 2012

Homework #3 CS2255 Fall 2012 MULTIPLE CHOICE 1. The, also known as the address operator, returns the memory address of a variable. a. asterisk ( * ) b. ampersand ( & ) c. percent sign (%) d. exclamation

### CONTENTS: Array Usage Multi-Dimensional Arrays Reference Types. COMP-202 Unit 6: Arrays

CONTENTS: Array Usage Multi-Dimensional Arrays Reference Types COMP-202 Unit 6: Arrays Introduction (1) Suppose you want to write a program that asks the user to enter the numeric final grades of 350 COMP-202

### CS134 Spring 2005 Final Exam Mon. June. 20, 2005 Signature: Question # Out Of Marks Marker Total

CS134 Spring 2005 Final Exam Mon. June. 20, 2005 Please check your tutorial (TUT) section from the list below: TUT 101: F 11:30, MC 4042 TUT 102: M 10:30, MC 4042 TUT 103: M 11:30, MC 4058 TUT 104: F 10:30,

### Two hours. Question ONE is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. Date: Friday 25th January 2013 Time: 14:00-16:00

Two hours Question ONE is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Operating Systems Date: Friday 25th January 2013 Time: 14:00-16:00 Please answer Question ONE and any TWO other

### Introduction to Computer Science. Homework 1

Introduction to Computer Science Homework. In each circuit below, the rectangles represent the same type of gate. Based on the input and output information given, identify whether the gate involved is

### Reals 1. Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method.

Reals 1 13 Reals Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method. 13.1 Floating-point numbers Real numbers, those declared to be

### UNIVERSITY OF CALIFORNIA, RIVERSIDE

Final Page 1 of 7 UNIVERSITY OF CALIFORNIA, RIVERSIDE Computer Science Department CS61 Machine Organization & Assembly Language Final September 1, 2000 53 Name: Solution Key Student ID#: Please print legibly