7 Pages

Modula-2 Handout

Course: CSE 324, Spring 2011
School: NMT
Rating:
 
 
 
 
 

Word Count: 1427

Document Preview

MODULE DEFINITION genericstack; (* This module defines the public interface for the generic stack abstract data type. It imports the type WORD, which permits the type of elements to be stored in the stack to be bound to the type ARRAY OF WORD, thereby permitting generic elements to be stored in the stack. *) FROM SYSTEM IMPORT (* type *) WORD; EXPORT QUALIFIED (* type *) stack, (* proc *) define, makeempty, empty,...

Register Now

Unformatted Document Excerpt

Coursehero >> New Mexico >> NMT >> CSE 324

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
MODULE DEFINITION genericstack; (* This module defines the public interface for the generic stack abstract data type. It imports the type WORD, which permits the type of elements to be stored in the stack to be bound to the type ARRAY OF WORD, thereby permitting generic elements to be stored in the stack. *) FROM SYSTEM IMPORT (* type *) WORD; EXPORT QUALIFIED (* type *) stack, (* proc *) define, makeempty, empty, push, pop; TYPE stack; PROCEDURE define ( VAR s : stack (* out *) ); (* Creates an empty stack. Must be used before any other stack operation. *) PROCEDURE makeempty ( VAR s : stack (* in/out *) ); (* Reinitializes an existing stack s to an empty stack by removing all elements contained in the stack. *) PROCEDURE empty ( s : stack (* in *) ); (* Returns true if the stack s contains no elements, otherwise returns false. *) PROCEDURE push ( VAR s : stack item : ARRAY OF WORD (* Adds item to the top of stack s. *); PROCEDURE pop ( VAR s : stack VAR item : ARRAY OF WORD (* Removes item from the top of stack s. *) END generic stack. (* in/out *); (* in *) ); (* in/out *); (* out *) ); Notice that our interface to the generic stack ADT is identical to the interface presented earlier except that the operation topofstack is not included. Any program units that use the earlier versions of the stack ADT can use this version without modification, provided they do not use the topofstack operation. Why have we excluded the topofstack operation? To be compatible with the earlier versions of the stack ADT, the interface to the generic version would have to have the form: PROCEDURE topofstack( s : stack (* in *) ) : ARRAY OF WORD; This statement is syntactically incorrect, since the type ARRAY OF WORD is not bound to any type. However, we can avoid this problem by defining this operation to be a procedure rather than a function with the following interface: PROCEDURE topofstack( s : stack (* in *); VAR item : ARRAY OF WORD (* out *) ); In this case, the type ARRAY OF WORD is bound to the type of item. We leave it as an exercise to implement the generic version of this operation. Now let us work through the implementation details by considering several options for the representation of the stack opaque type. Since we do not know in advance the size of the items the stack will contain, we cannot define fixed size nodes for the items. Our solution is to define nodes that contain two fields: a pointer to the next stack node and the address of the item. We will then use the ALLOCATE operation to allocate storage at the address to accommodate the item. The following declarations seem appropriate: TYPE stackptr = POINTER TO stacknode; stacknode = RECORD contents : ADDRESS next : stackptr; END (* record *); stack = stackptr; Conceptually, a generic stack containing three items is depicted in Figure 2.15 stack NIL Fig 2.15 Generic Stack Representation Notice that this representation permits items of different size, and more likely of different types, to be placed in the same stack. It is not clear that many applications exist that require a stack with this much generality. Such generality also puts an extra burden on the user of the generic stack. For example, a pop operation must bind the returned type ARRAY OF WORD to a variable of a type defined in the user's program. If the returned item is not compatible with the size of the variable in the user's program, an execution error will occur. We propose to make the generic stack more restrictive by requiring that all elements in the stack be of the same size. The user of the generic stack is not yet completely protected, since the elements can still be of different types as long as they are the same size. We do not know the size of the elements to be used with a given stack variable until we push the first item onto the stack. We need to save this size information to verify that later push operations are valid and to implement the pop operation. These considerations suggest that we associate with each stack a header node that contains the size information along with a pointer to the rest of the stack. We propose the following declarations: TYPE stack stackptr stackheader = POINTER TO stackheader; = POINTER TO stacknode; = RECORD size : CARDINAL; next : stackptr; END (* record *); = RECORD contents : ADDRESS; next : stackptr; END (* record *); stacknode Figure 2.16 illustrates a generic stack containing three items of two words each. stack size NIL Figure Generic 2.16 Stack with Header Node We now consider the implementation details for the preceding declarations. The define operation must initialize the header node by assigning the size field a value of zero and the next field a value of NIL. We adopt the convention that the stack is empty if the next field of the header node is NIL. Let us examine the push and pop operations in detail by presenting pseudo-code descriptions. The implementation details for the makeempty operation should then be apparent. Procedure push ( s : stack; item : array of word ) Allocate a new stack node Determine the size of item If the size field of the header node is zero Then Set the size field of the header node, since this is the first element on the stack Else If the size of the item is not the same as the size field of the header node Then Print an error message and halt execution of the program End If End If Allocate storage to accommodate the item Transfer the item to the allocated storage Set the next field of the new stack node to the value of the next field of the header node Set the next field of the header node to point to the new stack node End push. Procedure pop ( s : stack; item : array of word ) If the stack is empty Then stack underflow Else Get the size of the elements from the header node Set a pointer ro the top stack node Get the memory location of the item from the address field of the top stack node Transfer the contents of size successive memory locations to the item Deallocate the memory space that contained the item Set the next field of the header node to the next field of the top of stack node Deallocate the top of stack node End if End pop. Listing 2.11 presents the implementation details for the generic stack ADT. The reader should have little trouble understanding the implementation, which closely follows the pseudo-code algorithms presented above. Listing 2.11: IMPLEMENTATION MODULE genericstack; FROM InOut IMPORT (* proc *) WriteLn, WriteString, WriteCard; FROM SYSTEM IMPORT (* type *) WORD, ADDRESS, (* proc *) TSIZE; FROM Storage IMPORT (* proc *) ALLOCATE, DEALLOCATE; TYPE stack stackptr stackheader = POINTER TO stackheader; = POINTER TO stacknode; = RECORD size : CARDINAL; next : stackptr; END (* record *) = RECORD contents : ADDRESS; next : stackptr; END (* record *) (* out *) ); stacknode PROCEDURE define ( VAR s : stack BEGIN NEW( s ); s^.size := 0; s^.next := NIL; END define: PROCEDURE makeempty ( VAR s : stack VAR node1 : stackptr; node2 : stackptr; size : CARDINAL; BEGIN size := s^.size; node1 := s^.next; WHILE node1 <> NIL DO node2 := node1; DEALLOCATE( node1^.contents, size ); node1 := node1^.next; DISPOSE( node2 ); END (* while loop *) s^.size := 0; s^.next := NIL; END makeempty; PROCEDURE empty ( s : stack BOOLEAN; BEGIN RETURN s^.next = NIL; END empty; PROCEDURE push ( VAR s : stack item : ARRAY OF WORD VAR size : CARDINAL; newnode : stackptr; wordcount : CARDINAL; BEGIN NEW( newnode ); (* Calculate size of item in bytes. *) size := ( HIGH( item ) + 1 ) * TSIZE( WORD ); IF s^.size = 0 (* This is first item on stack. *) THEN (* Set size of items in header node. *) s^.size := size; ELSIF s^.size # size (*This is not the 1st item on stack*) THEN (* The size of item is not compatible. *) WriteLn; (* in/out *); (* in *) ); (* in *) ) : (* in/out *) ); WriteString( Error Attempting to push an object of); WriteString( inconsistent size onto stack. ); HALT; END (* if then *) ALLOCATE( newnode^.contents, size); location := newnode^.contents; FOR wordcount := 0 TO HIGH( item ) DO location^ := item[ wordcount ]; INC( location, TSIZE( WORD ) ); END (* for loop *) newnode^.next := s^.next; s^.next := newnode; END push; PROCEDURE stackunderflow; (* Error handling procedure: message, recovery, abort. *) BEGIN WriteLn; WriteLn; WriteString( Error attempting to pop and empty stack.); WriteLn; HALT; END stackunderflow; PROCEDURE pop ( VAR s VAR item VAR size oldnode wordcount location : : : : CARDINAL; stackptr; CARDINAL; ADDRESS; : stack : ARRAY OF WORD (* in/out *); (* out *) ); BEGIN IF empty( s ) THEN ELSE size := s^.size; oldnode := s^.next; location := oldnode^.contents; FOR wordcount := 0 TO size DIV TSIZE( WORD ) - 1 DO item[ wordcount ] := location^; INC( location, TSIZE( WORD ) ); END (* for loop *); DEALLOCATE( oldnode^.contents, size ); s^.next := oldnode^.next; DISPOSE( oldnode ); END (* if then *) END pop; END genericstack.
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

NMT - CSE - 324
Logic Paradigm (LP)Striking features about the pure LP: (e.g., Mercury, Starlog)1) All about what is the problem environment; and nothingabout how to do the solution.2) Total separation between the logic and the control of thesolution; making it very
NMT - CSE - 324
FUNCTIONAL ORIENTED PARADIGM* Functional (applicative) paradigm language, where functions applicationis the central idea.Striking features of ThePure Functional Paradigm:1) The syntactic equivalence of programs and data (programsare list and lists ar
NMT - CSE - 324
Object Oriented Paradigm Languages The central design goal is to build inherent abstractioninto the system, moving all the attached implementationdetails from the user level to the system level. Inaddition to the built-in abstraction security, the OOP
NMT - CSE - 324
vii) Derived Types: They allow the definitions of new types driven fromexisting types. Even though the derived types inherit the parent typesoperations, they are not compatible (logically distinctive)! To make themcompatible we need to use explicit con
NMT - CSE - 324
The Tasking Facility In AdaIt is used to allow concurrent tasking, where tasks can be of noncommunicating and communicating natures:A) Non-communicating Tasks:procedure P istask T1; (SPECS interface of task T1) ; end T1;task body T1 isbegin end T1;
NMT - CSE - 324
Ada (DoD, 1983) Imperative, Modula-2 &amp; Pascal like for programming in-large andreal-time secure embedded military systems.* Parallel tasks (rendezvous).* Robustness (exception mechanism) &amp; reliability.* Modularity &amp; Info hiding &amp; portability (package
NMT - CSE - 324
MODULA-2 The design is centered on the modularity and abstraction of the moduleunit, which aids in the design of reliable, cost-effective, large, andcomplex software systems. The modular facility provides forsoftware partitioning into logical units, e
NMT - CSE - 324
Block Structured LanguagesThere are two major structures that are maintained for any computation at runtime:A) Soft structure: activation state with the following two parts:a) Fixed Part: the machine code of the program, andb) Variable Part: The acti
NMT - CSE - 324
- 2-25-10 -PascalALGOLs like language, introduced by Niklaus Wirth (1971), but more reliable,efficient, and simple for pedagogic purposes (including for system programming).PASCAL introduced a much richer type system than ALGOL:A) type and Const decl
NMT - CSE - 324
PascalALGOLs like language, introduced by Wirth (1971), but more reliable, efficient,and simple for pedagogic purposes (including for system programming).PASCAL introduced a much richer type system than ALGOL:A) type and Const declarations.B) Enumera
NMT - CSE - 324
Subprograms Are Implemented Using Activation Records (AR):When the main/subprogram S calls subroutine/function F, the execution control willbe changing from caller S to the callee F (upon encountering a subroutineCALL statement). Since we need to resum
NMT - CSE - 324
HLLs Translation and Software Simulation (HLL Virtual Machine Interpreters) A) HLLs Translators: i) Compilers: HLL program Scanner (Lexical Analyzer): (Token Stream) SyntacticAnalysis: (Abstract Syntax Parse Tree) Semantic Analysis &amp; intermediate Code g
NMT - CSE - 324
Discussion:1- The position of High Level Languages(HLLs) in theComputer System:HLLs allow us to feasibly utilize the hardware(black-box) for the implementation of the toughestalgorithmic solutions of most problems that weface.Three levels of machin
University of Florida - EML - 3301C
EML 3301C Mechanics of Materials LaboratoryLab Report #1 (LR1.2)Analog CircuitsObjective:LR1.2 was designed to give experience in recording analog signals with LabVIEW aswell as an introduction to direct-current (DC) circuits and associated component
University of Florida - EML - 3301C
EML3301C: Prelab 2Write a LabVIEW VI that graphs voltage signal on your analogue input as a function of time and indicatesthe instantaneous value and the value averaged over 1 second. Also have it write to a spreadsheet. SeeLab assignment no 4. Procedu
University of Florida - EML - 3301C
EML 3301C Mechanics of Materials LaboratoryLab Assignment 3 (for lab report No. 2)Strain Gage InstallationObjective:The objective of this weeks lab is to mount a strain gage on a cantilever beam, prepare leadlabtrainwires and solder lead wires to t
University of Florida - EML - 3301C
EML 3301C Mechanics of Materials Laboratory Lab no. 4, Spring 2011Instrumented Cantilever BeamObjective:This lab is designed to give hands-on experience in creating, calibrating, and assessing the use ofa strain gage-based transducer (load cell or sca
University of Florida - EML - 3301C
EML 3301C Mechanics of Materials Laboratory Lab no. 5, Spring 2011Tension Testing of Metallic MaterialsObjective:This lab is designed to demonstrate the use of a universal testing machine to perform tensiontesting of metals, and to perform analysis of
University of Florida - EML - 3301C
EML 3301C Mechanics of Materials Laboratory Lab no. 6, Spring 2011Tension Testing of Various MaterialsObjective:This lab is designed to demonstrate the use of a universal testing machine to performtension testing of a variety of materials including st
University of Florida - EML - 3301C
EML 3301C Mechanics of Materials Laboratory Lab no. 7, Spring 2011Measuring Beam Deflections with an LVDTObjective:This lab is designed to demonstrate the use of a linear variable differential transformer(LVDT) for the measurement of beam deflections.
University of Florida - EML - 3301C
EML3301C: Prelab 3From the data you generated in last weeks lab (beam deflection with an LVDT) compare the deflectionthat you measured with the 100 gram weight to the theoretical value (from your mechanics of materialbook). Show the equation you used f
University of Florida - EML - 3301C
EML 3301C Mechanics of Materials Laboratory Lab no. 8, Spring 2011Measuring the Natural Frequency of a Cantilever BeamObjective:This lab is designed to demonstrate the use of a linear variable differential transformer(LVDT) and strain gage to measure
University of Florida - EML - 3301C
Page 1Evaluationb eamDynamics1lec.viC:\MOM\structDynLab\beamDynamics1lec.viLast modified on 3/22/2011 at 8:27 AMPrinted on 3/22/2011 at 10:40 AMNatural Freq 2Unbundle0Array Max &amp; MinIndex Arraymax value 21channel 0channel 1stop
University of Florida - EML - 3301C
Page 1 of 4EML 3301C Spring 2011EML 3301C: Mechanics of Materials LaboratorySyllabus - Spring 2011 - All Sections(Modifications to this syllabus may be required during the semester. Any changes to the syllabus will be postedon the course web site and
University of Florida - EML - 4312
Aircraft StabilizationI. P HYSICAL D ESCRIPTION AND S YSTEM E QUATIONSThe equations governing the motion of an aircraft are a complex set of nonlinear coupled differential equations. However,under certain assumptions, they can be decoupled and lineariz
University of Florida - EML - 4312
Ball and BeamI. P HYSICAL D ESCRIPTIONA ball is placed on a beam, see gure below, where it is allowed to roll with 1 degree of freedom along the length of thebeam. A lever arm is attached to the beam via a servo gear. As the servo gear turns (), the le
University of Florida - EML - 4312
EML4312: Spring 2005 Final ExamName1. (Stability Analysis - 15 points) Consider the following closed-loop block diagram whereHF F =(s 1) (s 2)(s2 + 6s + 9) (s + 6)andHF B =K (s 3)(s 1) (s 2)where K is a positive scalar constant. Determine the va
University of Florida - EML - 4312
EML 4312 Fall 2007Final Exam - SOLUTIONTHERE ARE PROBLEMS ON BOTH SIDES OF THE PAGE (10 totalproblems)1. (10 points) Determine f (t) given F (s) asF (s) =Y (s)s2 + 2s + 2=R(s)(s + 2)2 Use the Final Value Theorem (show your steps exactly) to de
University of Florida - EML - 4312
EML 4312 Spring 2011Partial Fraction ExpansionThe due date for this assignment is Friday 1/21. Show your work, and CIRCLEYOUR ANSWER.1. Determine the inverse Laplace transform for the following problems (i.e., determinef (t). No partial credit will b
University of Florida - EML - 4312
EML 4312 Spring 2011Block Diagram SimplicationThe due date for this assignment is Wednesday 2/2. Show your work.1. Determine the transfer function for the following block diagram.+R++-YA+B+KCUD+2. Determine the transfer function for the
University of Florida - EML - 4312
EML 4312 Spring 2011Root Locus and Continued Fraction ExpansionThe due date for this assignment is Wednesday 2/9/11. Show ALL your work.1. Determine the root locus for the following problems. You must show the hand drawnplot, and all calculations such
University of Florida - EML - 4312
EML 4312 Spring 2011Proportional Control via Magnitude Condition, Coecient Matching,Graphical ApproachesThe due date for this assignment is Monday, Feb 28 2011. Show ALL your work.1. Determine the desired closed-loop pole locations for the following t
University of Florida - EML - 4312
EML 4312 Spring 2011Lead/Lag Control via MC/AC and Coecient MatchingThe due date for this assignment is Monday, March 14, 2011. Show ALL yourwork.1. (20 points) If possible, use the Magnitude and Angle Condition (10 points) and Coecient Matching (10 p
University of Florida - EML - 4312
EML 4312 Spring 2011Bode Plots, Gain and Phase MarginThe due date for this assignment is Friday 4/1. Using semilog paper will helpdramatically.1. Draw the asymptotic bode plot for the following open-loop transfer functions.(a)H (s) =s+2(s + 1)2(b
University of Florida - EML - 4312
EML 4312 Spring 2011Stste Space Realization, Ackermans FormulaThe due date for this assignment is Friday 4/15. No late HW will be accepted for any reason due to the end of thesemester.1. Given the State-Space Representation (SSR), write down the uniqu
University of Florida - EML - 4312
University of Florida - EML - 4312
Control of Mechanical Engineering SystemsEML 4312 Spring 2011Instructor: Warren E. DixonOffice: 312 MAE-A BuildingE-mail: wdixon@ufl.edu (preferred mode of communication)Phone: (352) 846-1463Teaching Assistants: rm 319 MAE-ATDBClass Home page: Sak
University of Florida - EEL - EEL 3211
EEL 3211 Summer 2011Basic Electrical EnergyEngineeringRevised May 9, 2011EEL 3211 2011, Henry Zmuda0. Introduction to Basic Electrical Energy Engineering1Instructor:Prof. Henry ZmudaOffice location: Larson 235Telephone:392-0990Cell:(850) 225
University of Florida - EEL - EEL 3211
Fundamentals ofMAGNETICSRevised Tuesday, May 17, 2011EEL 3211 2011, HenryZmuda1. Fundamentals of Magnetics1Magnetic fields provide the fundamental mechanism by whichenergy is converted from one from to another by means of:motors (electrical energ
University of Florida - EEL - EEL 3211
Three Phase CircuitsRevised Tuesday, May 17, 2011EEL 3211 2011,Henry Zmuda2. Three-Phase Circuits1Preliminary Comments and a quick review of phasors.We live in the time domain. We also assume a causal (nonpredictive) world.Real-world signals are a
University of Florida - EEL - EEL 3211
TransformersRevised 5/10/11 2:15 PMEEL 3211 2011, H. Zmuda3. Transformers1The Ideal TransformerNPPrimaryWindingNSSecondaryWindingBasic TransformerEEL 3211 2011, H. Zmuda3. Transformers2The Ideal Transformer - A primary current produces a f
University of Florida - EEL - EEL 3211
Fundamentals ofAC MachineryRevised May 17, 2011EEL 3211 2011, H. Zmuda4. Fundamentals of AC Machinery1AC Machines:We begin this study by first looking at some commonalities thatexist for all machines, then look at specific machines such asSynchro
University of Florida - EEL - EEL 3211
Fundamentals ofMechanics andElectromechanicalEnergy Conversion(Not explicitly covered in the Chapman text.)Revised 5/11/11 8:53 AMEEL 3211 ( 2011 H. Zmuda)4a. Fundamentals of Mechanics1Mechanical Work and PowerMechanical work is force acting ove
University of Florida - EEL - EEL 3211
SynchronousMachinesRevised July 6, 2011EEL 3211 ( 2011. H. Zmuda)5. Synchronous Machines1Synchronous Machines:Synchronous machines are AC machines that a field circuit suppliedby an external DC sourceSynchronous generators or alternators are sync
University of Florida - EEL - EEL 3211
EEL 3211 ( 2011, H. Zmuda)5a. Synchronous Motor Examples1EEL 3211 ( 2011, H. Zmuda)5a. Synchronous Motor Examples2EEL 3211 ( 2011, H. Zmuda)5a. Synchronous Motor Examples3EEL 3211 ( 2011, H. Zmuda)5a. Synchronous Motor Examples4EEL 3211 ( 2011
University of Florida - EEL - EEL 3211
Induction MotorsRevised July 12, 2011EEL 3211 ( 2011, H. Zmuda)6. Induction Motors1Induction Motors:We just learned how damper or amortisseur windings on asynchronous motor could develop a starting torque without thenecessity of supplying an exter
University of Florida - EEL - EEL 3211
Induction MotorExamplesEEL 3211 ( 2011, H. Zmuda)6a. Induction Motor Examples1EEL 3211 ( 2011, H. Zmuda)6a. Induction Motor Examples2EEL 3211 ( 2011, H. Zmuda)6a. Induction Motor Examples3EEL 3211 ( 2011, H. Zmuda)6a. Induction Motor Examples
University of Florida - EEL - EEL 3211
DC MachinesRevised July 6, 2011EEL 3211 ( 2011, H. Zmuda)7. DC Machines1DC Machines:DC Motors are rapidly losing popularity.Until recent advances in power electronics DC motors excelled interms of speed control.Today, induction motors with solid-
University of Florida - EEL - EEL 3211
DC MachineExamplesJuly 6, 2011
University of Florida - EEL - EEL 3211
MiscellaneousTopicsJuly 6, 2011EEL 3211 ( 2011, H. Zmuda)8. Single-Phase Motors1Single-PhaseMotorsEEL 3211 ( 2011, H. Zmuda)8. Single-Phase Motors2Single-Phase Motors:Most familiar of all motors. Used in home appliances and portablemachine to
University of Florida - EEL - EEL 3211
Stepper MotorsJuly 6, 2011EEL 3211 ( 2011, H. Zmuda)9. Stepper Motors1Stepper Motors Used when motion and position have to beprecisely controlled.As their name implies, stepper motors rotate in discrete steps, witheach step corresponding to a puls
Strayer - ACC - 557
A convertible bond is a bond that can be converted into common stock at thebondholders option. (Wiley, Kimmet, Keiso, 2010). If the value of the convertible bonddrops below the face value of the bond, then theres no loss for the bondholder if itsconver
University of Phoenix - COM - 140
Joliet Junior College - PSYCH - 102
Chapter 1 Pages 25 and 26SummaryThe first study was of a Kindergarten classroom. The teacher was Rebecca Atkins andshe was discussing the book Together with her students. The main concept of the bookwas about a garden and Rebecca asked several questio
Faculty of English Commerce Ain Shams University - ENGLISH LI - 121
Othello Act Five Imagery andSymbolismAim the aim of this lesson is toread, analyse and annotate ActFive (end scene 1 at least) and toexplore the different types ofimagery and symbolism within thetext.OBJECTIVESYou will read, analyse and annotate
Virginia Tech - PHS - 3534
PART 1 CHAPTERS 1-4, QUESTIONS 1 -1131.Substances that alter mood, thought processes, or that are used to manage neuropsychologicalillnesses or behavior are referred to asa. ergogenic aidsb. anabolic aidsc. psychoactive drugsd. designer drugs2.Th
Virginia Tech - PHS - 3534
PART 2 CHAPTERS 5-7, QUESTIONS 1 - 1011.The relationship or interaction between drugs and living organisms is referred to asa. physiologyb. pharmacologyc. homeostasisd. neurohormonal balance2.A nerve cell is referred to as aa. glial cellb. dendr
Virginia Tech - PHS - 3534
PART 3, CHAPTERS 8-10, QUESTIONS 1-831.In the 1800s the abundant supply and use of opium was associated with thea. Germansb. Native Americansc. Chinesed. Canadians2.Womens Tonics containeda. cocaineb. thebainec. ergotd. laudanum3.Heroin user
Virginia Tech - PHS - 3534
PART 4, CHAPTERS 11-13, QUESTIONS 1-871.Which of the following is a drug that includes cocaine and is used to manage cancer pain?a. Vin Marianib. Bromptons Cocktailc. Lidocained. Novocaine2.Cocaine can bea. snortedb. smokedc. injectedd. all of
Virginia Tech - PHS - 3534
PART 5, CHAPTERS 14-16, QUESTIONS 1-83TEST QUESTIONS1.It was not until the passage of what legislation did nonprescription drugs have to be provensafe and effective?a. Pure Food and Drug Act of 1906b. Kefauver-Harris Amendmentc. Anti-Drug Abuse Con
UBC - ACCT - 293