Data Types. Tour of C. Like Java, Like C. Array Initialization. Array Declaration. Data Types, Arrays, Strings and Pointers in C.

Size: px
Start display at page:

Download "Data Types. Tour of C. Like Java, Like C. Array Initialization. Array Declaration. Data Types, Arrays, Strings and Pointers in C."

Transcription

1 Dt Tyes Tour of Dt Tyes, Arrys, Strngs nd Ponters n chr short nt long flot double long double sgned/ unsgned chr, short, nt, long 2 Lke Jv, Lke Oertors sme s n Jv - Arthmetc nt = +; ++; --; *=2; +, -, *, /, % - Reltonl nd logcl <, >, <=, >=, ==,!= &&,, &,,! Syntx sme s n Jv - f() { } else { } - whle() { } - do { } whle (); - for( = ; <= 00; ++) { } - swtch() {cse : } - contnue; brek; 3 Arrys n 4 Arry Declrton Arry Intlzton The dmenson must be constnt or constnt exresson (needs to be determned t comle tme) #defne BUFFSIZE 26 #defne MAXSIZE 2 nt mn() { nt sze = 6; chr buffer[buffersize]; chr buffer[26]; // elegnt declrton // constnt nteger dmenson // NOT n elegnt declrton // nteger lterl dmenson nt dce[buffsize / 2]; // constnt nteger exresson // used for dmenson #defne MAX nt count[max] = {,, 2, 4, 8}; Provdng too mny ntl vlues cuses comle-tme error: nt count[max] = {,2,3,4,,6}; // ERROR! If the number of ntl vlues lsted s less thn the ccty of the rry, the remnng elements re utomtclly ntlzed to 0. Thus nt count[] = {2}; count [0] [] [2] [3] [4] flot rollvlue[sze];... // NOT vld - sze s not // constnt s equvlent to nt count[] = {2,0,0,0,0}; 6

2 Arry Indces Out-of-Bounds Arry Indces () Logclly, vld ndces for n rry rnge from 0 to MAX-, where MAX s the dmenson of the rry Memory nt A[6]; stnds for A[0], A[], A[2], A[3], A[4] nd A[] Logclly, there s no A[6]! A common logcl error n rocessng rrys s exceedng the vld ndex rnge: #defne MAX 00 nt somearry[max]; somearry[max] = 0; // wll comle // but run tme ERROR! Wht hens when sttement uses n rry ndex tht s out of bounds? A[0] A[] A[2] A[3] A[4] A[] nt ; for( = 0; <= MAX; ++) somearry[] = 0; No utomtc checkng of rry ndces t run tme! 8 Out-of-Bounds Arry Indces (2) Lck of Aggregte Arry Oertons The memory locton somearry[00] my :. Store vrble declred n your rogrm tht vrble wll be ltered. Snce there s no sttement tht drectly ssgns vlue to tht vrble, ths effect seems very mysterous when debuggng. 2. Not be llocted for the use of your rogrm. The result deends on the oertng system you re usng Some oertng systems, such s Wndows9/98 do not crefully montor memory ccesses nd your rogrm my corrut vlue tht ctully belongs to nother rogrm Other oertng systems, such s Wndows NT nd Unx, wll detect tht memory ccess volton hs occurred nd susend or kll your rogrm Aggregte oertons refer to oertons on n rry s whole, s oosed to oertons on ndvdul rry elements. #defne MAX 00 nt x[max]; nt y[max]; There re no ggregte oertons on rrys: Assgnment x = y; Error! omrson f (x == y) Error! I/O rntf( %d, x); Error! Arthmetc: x = x + y; Error! 9 0 Strng Declrtons Unlke Jv, there s no Strng dt tye n Strngs n re smly rrys of chrcters termnted wth 0 (chrcter \0 ) Strngs n chr some[0]; // need to secfy mx sze // one wy: chr msg[6] = { H, e, y,,!, \0 }; // nother wy (lst 2 lces unused): chr msg[8] = Hey! ; // no \0 // or chr msg[ ] = Hey! ; // no \0 memory for 6 chrcters ( lus the null chr \0 ) utomtclly llocted 2

3 Memory Reresentton chr some[0]; [0] [] [2] [3] [4] [] [6] [] [8] [9] Redng Into Strng () #defne MAX_BUFFER 20 chr buffer[max_buffer]; chr msg[6] = { H, e, y,,!, \0 }; [0] [] [2] [3] [4] [] scnf( %s, buffer); gets(buffer, MAX_BUFFER); // or H e y! 0 chr msg[8] = Hey! ; Wht f the rry s not lrge enough to hold the nut? [0] [] [2] [3] [4] [] [6] [] [8] [9] H e y! 0 chr msg[] = Hey! ; [0] [] [2] [3] [4] [] - chrcters wll be stored nto memory loctons st the end of the rry - wll result n run-tme memory ccess volton error! H e y! Redng Into Strng (2) Functons for Mnultng Strngs Better: #defne MAX_BUFFER 20 chr buffer[max_buffer]; fgets(buffer, MAX_BUFFER, stdn); fgets s smlr to gets, but: - t tkes thrd rgument, n our cse stndrd nut - f stores nto buffer no more thn MAX_BUFFER chrs (extr chrcters re gnored), so memory volton error won t occur rovdes lrge number of functons for mnultng strngs. Four mortnt ones: strlen(s) // returns the length of s strcy(tos, froms) // coy froms to tos (tos must be lrge enough) strcm(s, s2) // returns 0 f s == s2 // returns n nteger < 0 f s < s2 // returns n nteger > 0 f s > s2 strtok red the Sun mnul ges to fnd out wht ths functon does 6 Wht re Ponters? A onter s vrble tht holds the ddress of nother vrble (object) Ponters n Suose tht we hve n nteger vrble nt ; nd wsh to hve onter ont to ths vrble. Thus we need to know the memory ddress of. How do we know the ddress of?... & s the ddress of. The oertor ADDRESS-OF oertor. & s clled the 8

4 Ponters Mde Esy () Ponters Mde Esy (2) We cn declre tht onter Ptr onts to n nt by syng nt * Ptr; Suose tht we hve: nt = ; nt j = ; (&) 00 (&j) 80 We cn mke Ptr ont to by ssgnng to Ptr the memory locton where s stored. Thus j Ptr We cn lso ntlze Ptr t the ont of declrton: nt ; nt * Ptr = &; Here s common error: Ptr nt ; nt * Ptr = ; // ERROR: s not n ddress Ptr = &; sets Ptr to ont to. Ptr 9 20 Declrng Ponters Dereference * When declrng severl onter vrbles n one sttement - the stersk does not dstrbute throughout the sttement: nt *, q; equvlent to nt * ; nt q; nt *, * q; equvlent to nt * ; nt * q; The vlue of the dt beng onted t s obtned by usng the oertor * If s onter vlue, then * refers to the vrble onted to by. Snce reference s nother nme for ddress, the oertor * s clled dereference oertor Dereference Exmle Note the Dfference nt ; nt * = &; * = 0; 0 Equvlent to = 0; (*)++; 02 Equvlent to ++; tr tr2 j Intl stte tr tr2 After j tr tr2 After j tr = tr2; *tr = *tr2; A dereferenced onter behves exctly lke the vrble t onts to. strtng from ntl stte strtng from ntl stte 23 24

5 Unntlzed Ponters Puttng t ll Together... Suose tht we hve the followng declrtons: nt ; nt * Ptr; *Ptr = 00; Ptr Wht s the vlue of Ptr? Undefned. Wht could hen? - Ptr could hold n ddress tht does not mke sense t ll, cusng your rogrm to crsh f dereferenced. - Ptr could ont to n ddress whch s ccessble. Then the ssgnment *Ptr = 00; would ccdentlly chnge some other dt, whch could result n crsh t lter ont. Ths s tough error to detect snce the cuse nd symtom my be wdely serted n tme. 2 wth the hel of smle exmle: nt, vlue; nt * Ptr; // declres Ptr to be onter to n nteger = 0; // Ste Ptr = &; // Ste 2 vlue = *Ptr; // Ste 3 Ste Ste 2 Ste 3 Ptr Ptr Ptr vlue vlue vlue 0 26 The null Ponter The vlue of onter cn be: - some grbge (onter unssgned) - the ddress of some vrble (eg., nt * = &; ) - the constnt 0 (the null onter, onts to bsolutely nothng) someponter = 0; Arrys nd Ponters Ths sttement does not cuse someponter to ont to memory locton zero; t gurntees tht someponter does not ont to nythng The null onter s secl onter vlue tht rogrm cn test for: f (someponter == 0) Arrys nd Ponters An rry nme s bsclly constnt onter onsder the declrton: chr [3]; &[0] 000 &[] 004 &[2] 008 & [0] [] [2] The comler lloctes three ntegers for the rry object. These re referenced s [0], [], [2] nd occuy contguous block of memory. The vlue of s exctly &[0], the ddress of the frst nteger n the rry 29 Arrys nd Ponters - Exmles onsder the followng declrtons: nt [] = {, 2, 3}; nt * ; = &[2]; You cn use the ndex [] oertor wth onter: [0] = ; [] = 23; Indexng cn be used wth ny onter, but t only mkes sense when the onter onts to n rry 2 3?? 2 3?? 2 23? 30

6 Arrys re NOT Ponters Other resources Declrng n rry sets sde sce for ts elements chr []; [0] [] [2] [3] [4] Declrng onter vrble sets sde only sce to hold the vrble A very good tutorl on onters nd rrys n : htt://w.netcom.com/%etjensen/tr/onters.htm chr * ; You cn chnge onter vrble, but not the ddress of n rry chr b[6]; = b; // OK = b; // ERROR! b b[0] b[] b[2] b[3] b[4] b[] 3 32

Overview. CSC 2400: Computer Systems. Pointers in C. Pointers - Variables that hold memory addresses - Using pointers to do call-by-reference in C

Overview. CSC 2400: Computer Systems. Pointers in C. Pointers - Variables that hold memory addresses - Using pointers to do call-by-reference in C CSC 2400: Comuter Systems Ponters n C Overvew Ponters - Varables that hold memory addresses - Usng onters to do call-by-reference n C Ponters vs. Arrays - Array names are constant onters Ponters and Strngs

More information

Arrays as functions. Types. Multidimensional Arrays (row major, column major form) Java arrays

Arrays as functions. Types. Multidimensional Arrays (row major, column major form) Java arrays Louden Chpters 6,9 Types Dt Types nd Abstrct Dt Types 1 Arrys s functons f: U -> V (f U s ordnl type) f() rry C rrys types cn be wthout szes rry vrbles must hve fxed sze rry_mx( [], sze) // prmeters re

More information

Pointers and Arrays. More Pointer Examples. Pointers CS 217

Pointers and Arrays. More Pointer Examples. Pointers CS 217 Pointers nd Arrs CS 21 1 2 Pointers More Pointer Emples Wht is pointer A vrile whose vlue is the ddress of nother vrile p is pointer to vrile v Opertions &: ddress of (reference) *: indirection (dereference)

More information

CS201 Discussion 10 DRAWTREE + TRIES

CS201 Discussion 10 DRAWTREE + TRIES CS201 Discussion 10 DRAWTREE + TRIES DrwTree First instinct: recursion As very generic structure, we could tckle this problem s follows: drw(): Find the root drw(root) drw(root): Write the line for the

More information

Agenda & Reading. Class Exercise. COMPSCI 105 SS 2012 Principles of Computer Science. Arrays

Agenda & Reading. Class Exercise. COMPSCI 105 SS 2012 Principles of Computer Science. Arrays COMPSCI 5 SS Principles of Computer Science Arrys & Multidimensionl Arrys Agend & Reding Agend Arrys Creting & Using Primitive & Reference Types Assignments & Equlity Pss y Vlue & Pss y Reference Copying

More information

COMPUTATIONAL INTELLIGENCE

COMPUTATIONAL INTELLIGENCE COMPUTATIONAL INTELLIGENCE LABORATORY CLASSES Immentton smplstc verson of the network for some nference resons Adrn Horzyk IMPLEMENTATION OF THE SIMPLISTIC OR AANG Imment the smplstc verson of n structure

More information

Mid-term exam. Scores. Fall term 2012 KAIST EE209 Programming Structures for EE. Thursday Oct 25, Student's name: Student ID:

Mid-term exam. Scores. Fall term 2012 KAIST EE209 Programming Structures for EE. Thursday Oct 25, Student's name: Student ID: Fll term 2012 KAIST EE209 Progrmming Structures for EE Mid-term exm Thursdy Oct 25, 2012 Student's nme: Student ID: The exm is closed book nd notes. Red the questions crefully nd focus your nswers on wht

More information

Unit #9 : Definite Integral Properties, Fundamental Theorem of Calculus

Unit #9 : Definite Integral Properties, Fundamental Theorem of Calculus Unit #9 : Definite Integrl Properties, Fundmentl Theorem of Clculus Gols: Identify properties of definite integrls Define odd nd even functions, nd reltionship to integrl vlues Introduce the Fundmentl

More information

Reference types and their characteristics Class Definition Constructors and Object Creation Special objects: Strings and Arrays

Reference types and their characteristics Class Definition Constructors and Object Creation Special objects: Strings and Arrays Objects nd Clsses Reference types nd their chrcteristics Clss Definition Constructors nd Object Cretion Specil objects: Strings nd Arrys OOAD 1999/2000 Cludi Niederée, Jochim W. Schmidt Softwre Systems

More information

Lists in Lisp and Scheme

Lists in Lisp and Scheme Lists in Lisp nd Scheme Lists in Lisp nd Scheme Lists re Lisp s fundmentl dt structures, ut there re others Arrys, chrcters, strings, etc. Common Lisp hs moved on from eing merely LISt Processor However,

More information

1.4 Circuit Theorems

1.4 Circuit Theorems . Crcut Theorems. v,? (C)V, 5 6 (D) V, 6 5. A smple equvlent crcut of the termnl 6 v, network shown n fg. P.. s Fg. P... (A)V, (B)V, v (C)V,5 (D)V,5 Fg. P....,? 5 V, v (A) (B) Fg. P... (A)A, 0 (B) 0 A,

More information

CURVE FITTING AND DATA REGRESSION

CURVE FITTING AND DATA REGRESSION Numercl Methods Process Sstems Engneerng CURVE FIING AND DAA REGRESSION Numercl methods n chemcl engneerng Dr. Edwn Zondervn Numercl Methods Process Sstems Engneerng Dngerous curves!!! hs s not ectl wht

More information

Dr. D.M. Akbar Hussain

Dr. D.M. Akbar Hussain Dr. D.M. Akr Hussin Lexicl Anlysis. Bsic Ide: Red the source code nd generte tokens, it is similr wht humns will do to red in; just tking on the input nd reking it down in pieces. Ech token is sequence

More information

cisc1110 fall 2010 lecture VI.2 call by value function parameters another call by value example:

cisc1110 fall 2010 lecture VI.2 call by value function parameters another call by value example: cisc1110 fll 2010 lecture VI.2 cll y vlue function prmeters more on functions more on cll y vlue nd cll y reference pssing strings to functions returning strings from functions vrile scope glol vriles

More information

COMPUTATIONAL INTELLIGENCE

COMPUTATIONAL INTELLIGENCE COMPUTATIONAL INTELLIGENCE LABORATORY CLASSES Immentton smplstc verson of the or AANG network for some nference resons Adrn Horzyk IMPLEMENTATION OF THE SIMPLISTIC OR AANG Imment the smplstc verson of

More information

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5 CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,

More information

Procedures vs. Functions. Procedure Call. Syntax. Activation Record for Nested Blocks. Environment. CSE 3302 Programming Languages

Procedures vs. Functions. Procedure Call. Syntax. Activation Record for Nested Blocks. Environment. CSE 3302 Programming Languages -2-3 CSE 3302 Progrmmng Lnguges Control II Procedures nd Envronments Chengk L, Wemn He Sprng Procedures vs. Functons Functon: no sde effect return vlue Functon cll: epresson Procedure: sde effect, eecuted

More information

Fig.25: the Role of LEX

Fig.25: the Role of LEX The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing

More information

Uninformed Search. Hal Daumé III. Computer Science University of Maryland CS 421: Introduction to Artificial Intelligence 31 Jan 2012

Uninformed Search. Hal Daumé III. Computer Science University of Maryland CS 421: Introduction to Artificial Intelligence 31 Jan 2012 1 Hl Dumé III (me@hl3.nme) Uninformed Serch Hl Dumé III Comuter Science University of Mrylnd me@hl3.nme CS 421: Introduction to Artificil Intelligence 31 Jn 2012 Mny slides courtesy of Dn Klein, Sturt

More information

Consumer 2 (wants to go down first, then left)

Consumer 2 (wants to go down first, then left) ECO 70, Problem Set en Cbrer. Suose two consumers hve lecogrhc references where erson rnks bundles b the level of commodt nd onl consders the level of commodt two f bundles hve the sme mount of commodt.

More information

Pointer Analysis. CSE 501 Spring 15

Pointer Analysis. CSE 501 Spring 15 Pointer Anlysis CSE 501 Sring 15 Course Outline St8c nlysis Dtflow nd strct interret8on Alic8ons We re here Beyond generl- urose lnguges Progrm Verific8on Dynmic nlysis New comilers Tody Intro to ointer

More information

CS 241. Fall 2017 Midterm Review Solutions. October 24, Bits and Bytes 1. 3 MIPS Assembler 6. 4 Regular Languages 7.

CS 241. Fall 2017 Midterm Review Solutions. October 24, Bits and Bytes 1. 3 MIPS Assembler 6. 4 Regular Languages 7. CS 241 Fll 2017 Midterm Review Solutions Octoer 24, 2017 Contents 1 Bits nd Bytes 1 2 MIPS Assemly Lnguge Progrmming 2 3 MIPS Assemler 6 4 Regulr Lnguges 7 5 Scnning 9 1 Bits nd Bytes 1. Give two s complement

More information

Reducing a DFA to a Minimal DFA

Reducing a DFA to a Minimal DFA Lexicl Anlysis - Prt 4 Reducing DFA to Miniml DFA Input: DFA IN Assume DFA IN never gets stuck (dd ded stte if necessry) Output: DFA MIN An equivlent DFA with the minimum numer of sttes. Hrry H. Porter,

More information

Fall 2018 Midterm 1 October 11, ˆ You may not ask questions about the exam except for language clarifications.

Fall 2018 Midterm 1 October 11, ˆ You may not ask questions about the exam except for language clarifications. 15-112 Fll 2018 Midterm 1 October 11, 2018 Nme: Andrew ID: Recittion Section: ˆ You my not use ny books, notes, extr pper, or electronic devices during this exm. There should be nothing on your desk or

More information

Rational Numbers---Adding Fractions With Like Denominators.

Rational Numbers---Adding Fractions With Like Denominators. Rtionl Numbers---Adding Frctions With Like Denomintors. A. In Words: To dd frctions with like denomintors, dd the numertors nd write the sum over the sme denomintor. B. In Symbols: For frctions c nd b

More information

Introduction to Integration

Introduction to Integration Introduction to Integrtion Definite integrls of piecewise constnt functions A constnt function is function of the form Integrtion is two things t the sme time: A form of summtion. The opposite of differentition.

More information

In the last lecture, we discussed how valid tokens may be specified by regular expressions.

In the last lecture, we discussed how valid tokens may be specified by regular expressions. LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.

More information

Allocator Basics. Dynamic Memory Allocation in the Heap (malloc and free) Allocator Goals: malloc/free. Internal Fragmentation

Allocator Basics. Dynamic Memory Allocation in the Heap (malloc and free) Allocator Goals: malloc/free. Internal Fragmentation Alloctor Bsics Dynmic Memory Alloction in the Hep (mlloc nd free) Pges too corse-grined for llocting individul objects. Insted: flexible-sized, word-ligned blocks. Allocted block (4 words) Free block (3

More information

Outline. Tiling, formally. Expression tile as rule. Statement tiles as rules. Function calls. CS 412 Introduction to Compilers

Outline. Tiling, formally. Expression tile as rule. Statement tiles as rules. Function calls. CS 412 Introduction to Compilers CS 412 Introduction to Compilers Andrew Myers Cornell University Lectur8 Finishing genertion 9 Mr 01 Outline Tiling s syntx-directed trnsltion Implementing function clls Implementing functions Optimizing

More information

EECS 281: Homework #4 Due: Thursday, October 7, 2004

EECS 281: Homework #4 Due: Thursday, October 7, 2004 EECS 28: Homework #4 Due: Thursdy, October 7, 24 Nme: Emil:. Convert the 24-bit number x44243 to mime bse64: QUJD First, set is to brek 8-bit blocks into 6-bit blocks, nd then convert: x44243 b b 6 2 9

More information

Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012

Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012 Dynmic Progrmming Andres Klppenecker [prtilly bsed on slides by Prof. Welch] 1 Dynmic Progrmming Optiml substructure An optiml solution to the problem contins within it optiml solutions to subproblems.

More information

Recognition of Tokens

Recognition of Tokens 42 Recognton o Tokens The queston s how to recognze the tokens? Exmple: ssume the ollowng grmmr rgment to generte specc lnguge: stmt expr expr then stmt expr then stmt else stmt term relop term term term

More information

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries Tries Yufei To KAIST April 9, 2013 Y. To, April 9, 2013 Tries In this lecture, we will discuss the following exct mtching prolem on strings. Prolem Let S e set of strings, ech of which hs unique integer

More information

COMP 423 lecture 11 Jan. 28, 2008

COMP 423 lecture 11 Jan. 28, 2008 COMP 423 lecture 11 Jn. 28, 2008 Up to now, we hve looked t how some symols in n lphet occur more frequently thn others nd how we cn sve its y using code such tht the codewords for more frequently occuring

More information

Introduction to Julia for Bioinformatics

Introduction to Julia for Bioinformatics Introduction to Juli for Bioinformtics This introduction ssumes tht you hve bsic knowledge of some scripting lnguge nd provides n exmple of the Juli syntx. Continuous Assessment Problems In this course

More information

Section 10.4 Hyperbolas

Section 10.4 Hyperbolas 66 Section 10.4 Hyperbols Objective : Definition of hyperbol & hyperbols centered t (0, 0). The third type of conic we will study is the hyperbol. It is defined in the sme mnner tht we defined the prbol

More information

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits Systems I Logic Design I Topics Digitl logic Logic gtes Simple comintionl logic circuits Simple C sttement.. C = + ; Wht pieces of hrdwre do you think you might need? Storge - for vlues,, C Computtion

More information

Algorithm Design (5) Text Search

Algorithm Design (5) Text Search Algorithm Design (5) Text Serch Tkshi Chikym School of Engineering The University of Tokyo Text Serch Find sustring tht mtches the given key string in text dt of lrge mount Key string: chr x[m] Text Dt:

More information

MATH 2530: WORKSHEET 7. x 2 y dz dy dx =

MATH 2530: WORKSHEET 7. x 2 y dz dy dx = MATH 253: WORKSHT 7 () Wrm-up: () Review: polr coordintes, integrls involving polr coordintes, triple Riemnn sums, triple integrls, the pplictions of triple integrls (especilly to volume), nd cylindricl

More information

Answer Key Lesson 6: Workshop: Angles and Lines

Answer Key Lesson 6: Workshop: Angles and Lines nswer Key esson 6: tudent Guide ngles nd ines Questions 1 3 (G p. 406) 1. 120 ; 360 2. hey re the sme. 3. 360 Here re four different ptterns tht re used to mke quilts. Work with your group. se your Power

More information

2 Computing all Intersections of a Set of Segments Line Segment Intersection

2 Computing all Intersections of a Set of Segments Line Segment Intersection 15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design

More information

Pointwise convergence need not behave well with respect to standard properties such as continuity.

Pointwise convergence need not behave well with respect to standard properties such as continuity. Chpter 3 Uniform Convergence Lecture 9 Sequences of functions re of gret importnce in mny res of pure nd pplied mthemtics, nd their properties cn often be studied in the context of metric spces, s in Exmples

More information

CPSC 213. Polymorphism. Introduction to Computer Systems. Readings for Next Two Lectures. Back to Procedure Calls

CPSC 213. Polymorphism. Introduction to Computer Systems. Readings for Next Two Lectures. Back to Procedure Calls Redings for Next Two Lectures Text CPSC 213 Switch Sttements, Understnding Pointers - 2nd ed: 3.6.7, 3.10-1st ed: 3.6.6, 3.11 Introduction to Computer Systems Unit 1f Dynmic Control Flow Polymorphism nd

More information

Representation of Numbers. Number Representation. Representation of Numbers. 32-bit Unsigned Integers 3/24/2014. Fixed point Integer Representation

Representation of Numbers. Number Representation. Representation of Numbers. 32-bit Unsigned Integers 3/24/2014. Fixed point Integer Representation Representtion of Numbers Number Representtion Computer represent ll numbers, other thn integers nd some frctions with imprecision. Numbers re stored in some pproximtion which cn be represented by fixed

More information

CSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe

CSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe CSCI 0 fel Ferreir d Silv rfsilv@isi.edu Slides dpted from: Mrk edekopp nd Dvid Kempe LOG STUCTUED MEGE TEES Series Summtion eview Let n = + + + + k $ = #%& #. Wht is n? n = k+ - Wht is log () + log ()

More information

Example: 2:1 Multiplexer

Example: 2:1 Multiplexer Exmple: 2:1 Multiplexer Exmple #1 reg ; lwys @( or or s) egin if (s == 1') egin = ; else egin = ; 1 s B. Bs 114 Exmple: 2:1 Multiplexer Exmple #2 Normlly lwys include egin nd sttements even though they

More information

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών ΕΠΛ323 - Θωρία και Πρακτική Μταγλωττιστών Lecture 3 Lexicl Anlysis Elis Athnsopoulos elisthn@cs.ucy.c.cy Recognition of Tokens if expressions nd reltionl opertors if è if then è then else è else relop

More information

Least-Squares Regression

Least-Squares Regression Lest-Squres Regresson Curve fttng Iprove eperentl dt Modelng 5 Eple: 7 eperentll derved ponts ehbtng sgnfcnt vrblt 5 3-7 Roberto Muscedere It s probble tht t soe pont n our creer ou wll hve to nlze soe

More information

Midterm 2 Sample solution

Midterm 2 Sample solution Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the

More information

Symbol Table management

Symbol Table management TDDD Compilers nd interpreters TDDB44 Compiler Construction Symol Tles Symol Tles in the Compiler Symol Tle mngement source progrm Leicl nlysis Syntctic nlysis Semntic nlysis nd Intermedite code gen Code

More information

How to Design REST API? Written Date : March 23, 2015

How to Design REST API? Written Date : March 23, 2015 Visul Prdigm How Design REST API? Turil How Design REST API? Written Dte : Mrch 23, 2015 REpresenttionl Stte Trnsfer, n rchitecturl style tht cn be used in building networked pplictions, is becoming incresingly

More information

Functor (1A) Young Won Lim 10/5/17

Functor (1A) Young Won Lim 10/5/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information

Stack. A list whose end points are pointed by top and bottom

Stack. A list whose end points are pointed by top and bottom 4. Stck Stck A list whose end points re pointed by top nd bottom Insertion nd deletion tke plce t the top (cf: Wht is the difference between Stck nd Arry?) Bottom is constnt, but top grows nd shrinks!

More information

1 The Definite Integral

1 The Definite Integral The Definite Integrl Definition. Let f be function defined on the intervl [, b] where

More information

Physics 208: Electricity and Magnetism Exam 1, Secs Feb IMPORTANT. Read these directions carefully:

Physics 208: Electricity and Magnetism Exam 1, Secs Feb IMPORTANT. Read these directions carefully: Physics 208: Electricity nd Mgnetism Exm 1, Secs. 506 510 11 Feb. 2004 Instructor: Dr. George R. Welch, 415 Engineering-Physics, 845-7737 Print your nme netly: Lst nme: First nme: Sign your nme: Plese

More information

From Dependencies to Evaluation Strategies

From Dependencies to Evaluation Strategies From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute

More information

10.5 Graphing Quadratic Functions

10.5 Graphing Quadratic Functions 0.5 Grphing Qudrtic Functions Now tht we cn solve qudrtic equtions, we wnt to lern how to grph the function ssocited with the qudrtic eqution. We cll this the qudrtic function. Grphs of Qudrtic Functions

More information

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single

More information

box Boxes and Arrows 3 true 7.59 'X' An object is drawn as a box that contains its data members, for example:

box Boxes and Arrows 3 true 7.59 'X' An object is drawn as a box that contains its data members, for example: Boxes nd Arrows There re two kinds of vriles in Jv: those tht store primitive vlues nd those tht store references. Primitive vlues re vlues of type long, int, short, chr, yte, oolen, doule, nd flot. References

More information

4452 Mathematical Modeling Lecture 4: Lagrange Multipliers

4452 Mathematical Modeling Lecture 4: Lagrange Multipliers Mth Modeling Lecture 4: Lgrnge Multipliers Pge 4452 Mthemticl Modeling Lecture 4: Lgrnge Multipliers Lgrnge multipliers re high powered mthemticl technique to find the mximum nd minimum of multidimensionl

More information

Scanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an

Scanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an Scnner Termintion A scnner reds input chrcters nd prtitions them into tokens. Wht hppens when the end of the input file is reched? It my be useful to crete n Eof pseudo-chrcter when this occurs. In Jv,

More information

Quiz2 45mins. Personal Number: Problem 1. (20pts) Here is an Table of Perl Regular Ex

Quiz2 45mins. Personal Number: Problem 1. (20pts) Here is an Table of Perl Regular Ex Long Quiz2 45mins Nme: Personl Numer: Prolem. (20pts) Here is n Tle of Perl Regulr Ex Chrcter Description. single chrcter \s whitespce chrcter (spce, t, newline) \S non-whitespce chrcter \d digit (0-9)

More information

Page. Harsh Reality. Dynamic Memory Allocation. Malloc Package. Process Memory Image. Assumptions. Malloc Example

Page. Harsh Reality. Dynamic Memory Allocation. Malloc Package. Process Memory Image. Assumptions. Malloc Example Hrsh Relity Memory Mtters Memory is not unbounded It must be llocted nd mnged 1 Mny lictions re memory dominted Esecilly those bsed on comlex, grh lgorithms Memory referencing bugs esecilly ernicious Effects

More information

Control-Flow Analysis and Loop Detection

Control-Flow Analysis and Loop Detection ! Control-Flow Anlysis nd Loop Detection!Lst time! PRE!Tody! Control-flow nlysis! Loops! Identifying loops using domintors! Reducibility! Using loop identifiction to identify induction vribles CS553 Lecture

More information

C Fundamentals! C vs. Java: Design Goals. q Java design goals! q Implications for Java! language, machine language, hardware!

C Fundamentals! C vs. Java: Design Goals. q Java design goals! q Implications for Java! language, machine language, hardware! C Fundamentals C vs. Java: Design Goals q Java design goals q Support object-oriented programming q Allow program to be executed on multiple operating systems q Support using computer networks q Execute

More information

Fall 2018 Midterm 2 November 15, 2018

Fall 2018 Midterm 2 November 15, 2018 Nme: 15-112 Fll 2018 Midterm 2 November 15, 2018 Andrew ID: Recittion Section: ˆ You my not use ny books, notes, extr pper, or electronic devices during this exm. There should be nothing on your desk or

More information

Linear Lists. Linked List Mechanics. Sequential Lists. Linked Lists. 6. LL Mechanics. 6. LL Mechanics. Slides

Linear Lists. Linked List Mechanics. Sequential Lists. Linked Lists. 6. LL Mechanics. 6. LL Mechanics. Slides Lked Lt Mechnics 6. LL Mechnics 1 Ler Lts 6. LL Mechnics 2 Slides 1. Tble Contents 2. Ler Lts 3. Lt Node Design 4. Self Referencg Structures 5. Lt Formtion Exmle 6. Lt Trversl 7. Lked Lt Oertions 8. Dt

More information

Functor (1A) Young Won Lim 8/2/17

Functor (1A) Young Won Lim 8/2/17 Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published

More information

How. Without. project. your. wanting. personal. Corey. by Galen E

How. Without. project. your. wanting. personal. Corey. by Galen E B or How personl Whout wnting! n by Glen E Corey SO 've built cool A show tell Get grndm tweet out World resume THERE! OUT work how? http:// Coolest locl host Se : 3000 file Ever Mybe 're se tl/users1gien1s1colindexhtml

More information

Looking up objects in Pastry

Looking up objects in Pastry Review: Pstry routing tbles 0 1 2 3 4 7 8 9 b c d e f 0 1 2 3 4 7 8 9 b c d e f 0 1 2 3 4 7 8 9 b c d e f 0 2 3 4 7 8 9 b c d e f Row0 Row 1 Row 2 Row 3 Routing tble of node with ID i =1fc s - For ech

More information

Intro. Iterators. 1. Access

Intro. Iterators. 1. Access Intro Ths mornng I d lke to talk a lttle bt about s and s. We wll start out wth smlartes and dfferences, then we wll see how to draw them n envronment dagrams, and we wll fnsh wth some examples. Happy

More information

12-B FRACTIONS AND DECIMALS

12-B FRACTIONS AND DECIMALS -B Frctions nd Decimls. () If ll four integers were negtive, their product would be positive, nd so could not equl one of them. If ll four integers were positive, their product would be much greter thn

More information

Geometric transformations

Geometric transformations Geometric trnsformtions Computer Grphics Some slides re bsed on Shy Shlom slides from TAU mn n n m m T A,,,,,, 2 1 2 22 12 1 21 11 Rows become columns nd columns become rows nm n n m m A,,,,,, 1 1 2 22

More information

What are suffix trees?

What are suffix trees? Suffix Trees 1 Wht re suffix trees? Allow lgorithm designers to store very lrge mount of informtion out strings while still keeping within liner spce Allow users to serch for new strings in the originl

More information

Union-Find Problem. Using Arrays And Chains. A Set As A Tree. Result Of A Find Operation

Union-Find Problem. Using Arrays And Chains. A Set As A Tree. Result Of A Find Operation Union-Find Problem Given set {,,, n} of n elements. Initilly ech element is in different set. ƒ {}, {},, {n} An intermixed sequence of union nd find opertions is performed. A union opertion combines two

More information

INDIAN COMMUNITY SCHOOL INFORMATICS PRACTICES 2012

INDIAN COMMUNITY SCHOOL INFORMATICS PRACTICES 2012 INDIAN COMMUNITY SCHOOL INFORMATICS PRACTICES 0. Write corresponding C ++ expression for the following mthemticl expression: i) (-b) + (c-d) ii) e x x. Write C++ expression for the following: ) All possible

More information

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers

What do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single

More information

Very sad code. Abstraction, List, & Cons. CS61A Lecture 7. Happier Code. Goals. Constructors. Constructors 6/29/2011. Selectors.

Very sad code. Abstraction, List, & Cons. CS61A Lecture 7. Happier Code. Goals. Constructors. Constructors 6/29/2011. Selectors. 6/9/ Abstrction, List, & Cons CS6A Lecture 7-6-9 Colleen Lewis Very sd code (define (totl hnd) (if (empty? hnd) (+ (butlst (lst hnd)) (totl (butlst hnd))))) STk> (totl (h c d)) 7 STk> (totl (h ks d)) ;;;EEEK!

More information

50 AMC LECTURES Lecture 2 Analytic Geometry Distance and Lines. can be calculated by the following formula:

50 AMC LECTURES Lecture 2 Analytic Geometry Distance and Lines. can be calculated by the following formula: 5 AMC LECTURES Lecture Anlytic Geometry Distnce nd Lines BASIC KNOWLEDGE. Distnce formul The distnce (d) between two points P ( x, y) nd P ( x, y) cn be clculted by the following formul: d ( x y () x )

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

CS1100 Introduction to Programming

CS1100 Introduction to Programming Factoral (n) Recursve Program fact(n) = n*fact(n-) CS00 Introducton to Programmng Recurson and Sortng Madhu Mutyam Department of Computer Scence and Engneerng Indan Insttute of Technology Madras nt fact

More information

Definition of Regular Expression

Definition of Regular Expression Definition of Regulr Expression After the definition of the string nd lnguges, we re redy to descrie regulr expressions, the nottion we shll use to define the clss of lnguges known s regulr sets. Recll

More information

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών. Lecture 3b Lexical Analysis Elias Athanasopoulos

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών. Lecture 3b Lexical Analysis Elias Athanasopoulos ΕΠΛ323 - Θωρία και Πρακτική Μταγλωττιστών Lecture 3 Lexicl Anlysis Elis Athnsopoulos elisthn@cs.ucy.c.cy RecogniNon of Tokens if expressions nd relnonl opertors if è if then è then else è else relop è

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

World Journal of Engineering Research and Technology WJERT

World Journal of Engineering Research and Technology WJERT wjert 207 Vol. 3 Issue 5 284-293. Orgnl Artcle IN 2454-695X World Journl of ngneerng Reserch nd Technology hndrmouleeswrn et l. World Journl of ngneerng Reserch nd Technology WJRT www.wjert.org JIF Impct

More information

Reducing Costs with Duck Typing. Structural

Reducing Costs with Duck Typing. Structural Reducing Costs with Duck Typing Structurl 1 Duck Typing In computer progrmming with object-oriented progrmming lnguges, duck typing is lyer of progrmming lnguge nd design rules on top of typing. Typing

More information

6.2 Volumes of Revolution: The Disk Method

6.2 Volumes of Revolution: The Disk Method mth ppliction: volumes by disks: volume prt ii 6 6 Volumes of Revolution: The Disk Method One of the simplest pplictions of integrtion (Theorem 6) nd the ccumultion process is to determine so-clled volumes

More information

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting

More information

2-3 search trees red-black BSTs B-trees

2-3 search trees red-black BSTs B-trees 2-3 serch trees red-lck BTs B-trees 3 2-3 tree llow 1 or 2 keys per node. 2-node: one key, two children. 3-node: two keys, three children. ymmetric order. Inorder trversl yields keys in scending order.

More information

Introduction To Files In Pascal

Introduction To Files In Pascal Why other With Files? Introduction To Files In Pscl Too much informtion to input ll t once The informtion must be persistent (RAM is voltile) Etc. In this section of notes you will lern how to red from

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distriuted Systems Principles nd Prdigms Chpter 11 (version April 7, 2008) Mrten vn Steen Vrije Universiteit Amsterdm, Fculty of Science Dept. Mthemtics nd Computer Science Room R4.20. Tel: (020) 598 7784

More information

Lecture T4: Pattern Matching

Lecture T4: Pattern Matching Introduction to Theoreticl CS Lecture T4: Pttern Mtching Two fundmentl questions. Wht cn computer do? How fst cn it do it? Generl pproch. Don t tlk bout specific mchines or problems. Consider miniml bstrct

More information

OPERATION MANUAL. DIGIFORCE 9307 PROFINET Integration into TIA Portal

OPERATION MANUAL. DIGIFORCE 9307 PROFINET Integration into TIA Portal OPERATION MANUAL DIGIFORCE 9307 PROFINET Integrtion into TIA Portl Mnufcturer: 2018 burster präzisionsmesstechnik gmbh & co kg burster präzisionsmesstechnik gmbh & co kg Alle Rechte vorbehlten Tlstrße

More information

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1):

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1): Overview (): Before We Begin Administrtive detils Review some questions to consider Winter 2006 Imge Enhncement in the Sptil Domin: Bsics of Sptil Filtering, Smoothing Sptil Filters, Order Sttistics Filters

More information

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures Other Issues Stck Mnipultion support for procedures (Refer to section 3.6), stcks, frmes, recursion mnipulting strings nd pointers linkers, loders, memory lyout Interrupts, exceptions, system clls nd conventions

More information

Implementing Automata. CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona

Implementing Automata. CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona Implementing utomt Sc 5 ompilers nd Systems Softwre : Lexicl nlysis II Deprtment of omputer Science University of rizon collerg@gmil.com opyright c 009 hristin ollerg NFs nd DFs cn e hrd-coded using this

More information

Matrices and Systems of Equations

Matrices and Systems of Equations Mtrices Mtrices nd Sstems of Equtions A mtri is rectngulr rr of rel numbers. CHAT Pre-Clculus Section 8. m m m............ n n n mn We will use the double subscript nottion for ech element of the mtri.

More information

News. Recap: While Loop Example. Reading. Recap: Do Loop Example. Recap: For Loop Example

News. Recap: While Loop Example. Reading. Recap: Do Loop Example. Recap: For Loop Example Unversty of Brtsh Columba CPSC, Intro to Computaton Jan-Apr Tamara Munzner News Assgnment correctons to ASCIIArtste.java posted defntely read WebCT bboards Arrays Lecture, Tue Feb based on sldes by Kurt

More information

High Priority Traffic in HCF on Wireless Networks

High Priority Traffic in HCF on Wireless Networks High Priority Trffic in HC on Wireless Networks Mo Add, Amnd Pert, Gordon Erly School of Comuting, University of Portsmouth, Lion Terrce, Portsmouth, UK {mo.dd, mnd.ert, gordon.erly }@ort.c.uk Abstrct

More information