Chapter 7: Additional Topics
|
|
|
- Jonas Martin
- 9 years ago
- Views:
Transcription
1 Chapter 7: Additional Topics In this chapter we ll briefly cover selected advanced topics in fortran programming. All the topics come in handy to add extra functionality to programs, but the feature you ll use most often is dynamic arrays, i.e., an array the size of which can be redefined at execution time. 7.1 Overloading Operators We ve seen a few examples of overloading intrinsic assignment operators, like the = operator. However we can also define our own operators using interfaces. For example, we can create a dot product operator: INTERFACE OPERATOR(.DOT.) Operator syntax: u.dot.v MODULE PROCEDURE dotproduct END INTERFACE Dot Product Operator REAL(KIND=RP) FUNCTION dotproduct(vec1,vec2) RESULT(dot) REAL(KIND=RP),INTENT(IN) :: vec1(:),vec2(:) IF (SIZE(vec1).EQ.SIZE(vec2)) THEN dot = DOT PRODUCT(vec1,vec2) dot = 0.0 RP PRINT*, ERROR: Vector size mismatch END FUNCTION dotproduct 7.2 Dynamic Arrays When we dealt with arrays in Chap. 5 we made the implicit assumption that we already knew how large we wanted to make the array. We can remove such an assumption if we add the ALLOCATABLE attribute to a variable declaration. This attribute will tell the compiler to reserve a chunk of memory for possible use during execution. It also gives us the freedom to resize arrays without recompiling. For example, if we want a three dimensional ALLOCATABLE array we use a : as a placeholder for the dimension size, e.g., REAL(KIND=RP),ALLOCATABLE,DIMENSION(:,:,:) :: array1 To make the reserved memory available for use we use the ALLOCATE command. Always remember that if a PROGRAM, FUNCTION, or SUBROUTINE contains an ALLOCATE command it should have a corresponding DEALLOCATE command to release the memory. This will help prevent memory leaks, which occur when a program mismanages memory. Memory leaks can slow down performance and can even exhaust available system memory (which leads to segmentation faults). Fortran does offer some built-in error checking when allocating memory: ALLOCATE(var name(lowerbound:upperbound),stat=ierr) where the STAT option returns an type. If ierr 0, then there was an error allocating the memory for var name. We also show a quick example of reallocating memory during a program s execution PROGRAM AllocateExample,ALLOCATABLE,DIMENSION(:) AllocateExample.f90 :: array1 1
2 ,ALLOCATABLE,DIMENSION(:,:) :: array2 ALLOCATE(array1(-2:8),array2(-1:2,0:10)) PRINT*,LBOUND(array1),UBOUND(array1) PRINT*,SHAPE(array2) DEALLOCATE(array1,array2) ALLOCATE(array1(0:100),array2(1:5,-5:5)) PRINT*,LBOUND(array1),UBOUND(array1) PRINT*,SHAPE(array2) DEALLOCATE(array1,array2) END PROGRAM AllocateExample 7.3 Optional Arguments When we write a FUNCTION or SUBROUTINE sometimes an argument may not need to be present at all times. For example, in a function that prints a matrix we can write to a file, but default to the terminal if no file name is provided. In this way we can make the file name an OPTIONAL argument. The procedure can then check if the argument is PRESENT (returns a LOGICAL) and operate accordingly. OptionalPrint.f90 SUBROUTINE PrintMatrix(mat,fileName,N),INTENT(IN) :: N REAL(KIND=RP),DIMENSION(N,N),INTENT(IN) :: mat CHARACTER(LEN=*),OPTIONAL,INTENT(IN) :: filename Local Variables :: i,fileunit OPEN(UNIT=fileUnit,FILE=fileName) fileunit = 6 6 is the terminal screen DO i = 1,N WRITE(fileUint,*)mat(i,:) CLOSE(fileUnit) END SUBROUTINE PrintMatrix NOTE: If we put the above subroutine in its own file, it MUST be contained in a module. 7.4 Advanced Input/Output Options We know how to read in or display data to the terminal or to a file, but there are some useful I/O options we glossed over. Next we ll explore some of the advanced options available to us when inputting and outputting information Non-Advancing I/O First is the ADVANCE option in READ or WRITE statements. Effectively, this will tell the READ/WRITE statement whether or not to advance to the next line. By default ADVANCE is set to YES. For example, Advance NO READ(fileUnit,ADVANCE= NO )var1,var2,var3,var4 2
3 will read in four variables from the file pointed to by fileunit where all variables are on the same line. However, if we read in using READ(fileUnit,*)var1,var2,var3,var4 Advance YES reads in four variables from the file pointed to by fileunit where each variables is on its own line, i.e., separated by a carriage return Formatted File I/O Sometimes unformatted file reading and writing is insufficient. For example, fortran can create and read binary files, which require special arguments. To format data for reading/writing fortran uses a notation like A4, which means a character of length 4. Or in general, a variable type and the length of the data to be written. The most common variable outputs are A characters/strings I integer F real number, decimal form E real number, exponential form ES real number, scientific notation EN real number, engineering notation For real number outputs we specify the width of the number with a # symbol as well as the number of digits to appear after a decimal points, e.g., F10.6 is a real number with 10 digits, 6 of which appear after the decimal. We can combine several different formatting parameters by replacing the * option with (parameters) as we do in the next example FormatPrint.f90 SUBROUTINE PrintMatrix Formatted(mat,fileName,N),INTENT(IN) :: N REAL(KIND=RP),DIMENSION(N,N),INTENT(IN) :: mat CHARACTER(LEN=*),OPTIONAL,INTENT(IN) :: filename Local Variables :: i,j,funit OPEN(UNIT=fUnit,FILE=fileName) funit = 6 6 is the terminal screen DO i = 1,N DO j = 1,N WRITE(fUint, (A2,I3,A2,I3,A2,F10.6,A1),ADVANCE= NO ) A[,i, ][,j, ]= mat(i,j), WRITE(fUint, (A2,I3,A2,I3,A2,F10.6) ) A[,i, ][,j, ]= mat(i,j) CLOSE(fUnit) END SUBROUTINE PrintMatrix Formatted 3
4 7.5 Recursive Procedures in Fortran Many mathematical formulae lend themselves to a recursive formulation, like the Fast Fourier Transform (FFT). But, as we mentioned in Chap. 4, normally a FUNCTION or SUBROUTINE cannot reference itself, directly or indirectly. However, if we invoke that the procedure is RECURSIVE self-reference is possible Recursive Functions We start with a canonical example of a recursive function to compute the factorial, n, for some integer n. This example also introduces a SELECT CASE, which is a common alternative to IF statements. Recursive Function RECURSIVE FUNCTION factorial(n) RESULT(factorial n),intent(in) :: n Determine if recursion is required SELECT CASE(n) CASE (0) Recursion reached the end factorial n = 1.0 RP CASE (1:) any integer above 0 Recursion call(s) required factorial n = n*factorial(n-1) CASE DEFAULT If n is negative, return error PRINT*, ERROR: n is negative factorial n = 0.0 RP END SELECT END FUNCTION factorial Recursive Subroutines We can also create recursive subroutines. Another example arises in the bisection method, where one recursively halves an interval based on the function f(x) to locate the root of a function. We also enable the termination of the subroutine once we reach a certain number of iterations (interval halvings) halveinterval.f90 RECURSIVE SUBROUTINE halveinterval(f,xl,xr,tol,iter count,zero,delta,err) REAL(KIND=RP),INTENT(IN) :: tol REAL(KIND=RP),INTENT(INOUT) :: xl,xr,intent(inout) :: iter count REAL(KIND=RP),INTENT(OUT) :: zero,delta,intent(out) :: err REAL(KIND=RP),EXTERNAL Local Variables REAL(KIND=RP) :: f :: xm delta = 0.5 RP*(xR-xL) Check to see if you ve reached the tolerance for the root IF (delta.lt.tol) THEN Yes - Return result err = 0 zero = xl + delta No root yet - check iterations and halve again iter count = iter count - 1 IF (iter count.lt.0) THEN Max iterations w/o solution - return error 4
5 err = -2 zero = xl + delta Keep iterating xm = xl + delta IF (f(xl)*f(xm).lt.0.0 RP) THEN CALL halveinterval(f,xl,xm,tol,iter count,zero,delta,err) CALL halveinterval(f,xm,xr,tol,iter count,zero,delta,err) END SUBROUTINE halveinterval 5
Simple File Input & Output
Simple File Input & Output Handout Eight Although we are looking at file I/O (Input/Output) rather late in this course, it is actually one of the most important features of any programming language. The
Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.
Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to
PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?
1. Distinguish & and && operators. PART-A Questions 2. How does an enumerated statement differ from a typedef statement? 3. What are the various members of a class? 4. Who can access the protected members
What Is Recursion? Recursion. Binary search example postponed to end of lecture
Recursion Binary search example postponed to end of lecture What Is Recursion? Recursive call A method call in which the method being called is the same as the one making the call Direct recursion Recursion
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
Data Structures. Algorithm Performance and Big O Analysis
Data Structures Algorithm Performance and Big O Analysis What s an Algorithm? a clearly specified set of instructions to be followed to solve a problem. In essence: A computer program. In detail: Defined
WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
Section IV.1: Recursive Algorithms and Recursion Trees
Section IV.1: Recursive Algorithms and Recursion Trees Definition IV.1.1: A recursive algorithm is an algorithm that solves a problem by (1) reducing it to an instance of the same problem with smaller
New Tools Using the Hardware Pertbrmaiihe... Monitor to Help Users Tune Programs on the Cray X-MP*
ANL/CP--7 4428 _' DE92 001926 New Tools Using the Hardware Pertbrmaiihe... Monitor to Help Users Tune Programs on the Cray X-MP* D. E. Engert, L. Rudsinski J. Doak Argonne National Laboratory Cray Research
One Dimension Array: Declaring a fixed-array, if array-name is the name of an array
Arrays in Visual Basic 6 An array is a collection of simple variables of the same type to which the computer can efficiently assign a list of values. Array variables have the same kinds of names as simple
Information technology Programming languages Fortran Enhanced data type facilities
ISO/IEC JTC1/SC22/WG5 N1379 Working draft of ISO/IEC TR 15581, second edition Information technology Programming languages Fortran Enhanced data type facilities This page to be supplied by ISO. No changes
MATLAB Tutorial. Chapter 6. Writing and calling functions
MATLAB Tutorial Chapter 6. Writing and calling functions In this chapter we discuss how to structure a program with multiple source code files. First, an explanation of how code files work in MATLAB is
Base Conversion written by Cathy Saxton
Base Conversion written by Cathy Saxton 1. Base 10 In base 10, the digits, from right to left, specify the 1 s, 10 s, 100 s, 1000 s, etc. These are powers of 10 (10 x ): 10 0 = 1, 10 1 = 10, 10 2 = 100,
For another way to generate recursive sequences, see Calculator Note 1D.
!"# If you want to do further calculation on a result you ve just found, and that result is the first number in the expression you now want to evaluate, you can simply continue the expression. For example,
Recursive Algorithms. Recursion. Motivating Example Factorial Recall the factorial function. { 1 if n = 1 n! = n (n 1)! if n > 1
Recursion Slides by Christopher M Bourke Instructor: Berthe Y Choueiry Fall 007 Computer Science & Engineering 35 Introduction to Discrete Mathematics Sections 71-7 of Rosen cse35@cseunledu Recursive Algorithms
We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.
LING115 Lecture Note Session #4 Python (1) 1. Introduction As we have seen in previous sessions, we can use Linux shell commands to do simple text processing. We now know, for example, how to count words.
ML for the Working Programmer
ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming
Positional Numbering System
APPENDIX B Positional Numbering System A positional numbering system uses a set of symbols. The value that each symbol represents, however, depends on its face value and its place value, the value associated
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
AMATH 352 Lecture 3 MATLAB Tutorial Starting MATLAB Entering Variables
AMATH 352 Lecture 3 MATLAB Tutorial MATLAB (short for MATrix LABoratory) is a very useful piece of software for numerical analysis. It provides an environment for computation and the visualization. Learning
Decimal form. Fw.d Exponential form Ew.d Ew.dEe Scientific form ESw.d ESw.dEe Engineering form ENw.d ENw.dEe Lw. Horizontal
Fortran Formats The tedious part of using Fortran format is to master many format edit descriptors. Each edit descriptor tells the system how to handle certain type of values or activity. Each value requires
Programming Languages
Programming Languages Programming languages bridge the gap between people and machines; for that matter, they also bridge the gap among people who would like to share algorithms in a way that immediately
Programming Languages & Tools
4 Programming Languages & Tools Almost any programming language one is familiar with can be used for computational work (despite the fact that some people believe strongly that their own favorite programming
I PUC - Computer Science. Practical s Syllabus. Contents
I PUC - Computer Science Practical s Syllabus Contents Topics 1 Overview Of a Computer 1.1 Introduction 1.2 Functional Components of a computer (Working of each unit) 1.3 Evolution Of Computers 1.4 Generations
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
Binary Division. Decimal Division. Hardware for Binary Division. Simple 16-bit Divider Circuit
Decimal Division Remember 4th grade long division? 43 // quotient 12 521 // divisor dividend -480 41-36 5 // remainder Shift divisor left (multiply by 10) until MSB lines up with dividend s Repeat until
Storing Measurement Data
Storing Measurement Data File I/O records or reads data in a file. A typical file I/O operation involves the following process. 1. Create or open a file. Indicate where an existing file resides or where
This unit will lay the groundwork for later units where the students will extend this knowledge to quadratic and exponential functions.
Algebra I Overview View unit yearlong overview here Many of the concepts presented in Algebra I are progressions of concepts that were introduced in grades 6 through 8. The content presented in this course
AP Computer Science Java Mr. Clausen Program 9A, 9B
AP Computer Science Java Mr. Clausen Program 9A, 9B PROGRAM 9A I m_sort_of_searching (20 points now, 60 points when all parts are finished) The purpose of this project is to set up a program that will
16. Recursion. COMP 110 Prasun Dewan 1. Developing a Recursive Solution
16. Recursion COMP 110 Prasun Dewan 1 Loops are one mechanism for making a program execute a statement a variable number of times. Recursion offers an alternative mechanism, considered by many to be more
Number Conversions Dr. Sarita Agarwal (Acharya Narendra Dev College,University of Delhi)
Conversions Dr. Sarita Agarwal (Acharya Narendra Dev College,University of Delhi) INTRODUCTION System- A number system defines a set of values to represent quantity. We talk about the number of people
COMPUTER SCIENCE. Paper 1 (THEORY)
COMPUTER SCIENCE Paper 1 (THEORY) (Three hours) Maximum Marks: 70 (Candidates are allowed additional 15 minutes for only reading the paper. They must NOT start writing during this time) -----------------------------------------------------------------------------------------------------------------------
but never to show their absence Edsger W. Dijkstra
Fortran 90 Arrays Program testing can be used to show the presence of bugs, but never to show their absence Edsger W. Dijkstra Fall 2009 1 The DIMENSION Attribute: 1/6 A Fortran 90 program uses the DIMENSION
Database Programming with PL/SQL: Learning Objectives
Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs
Algebra 2 Notes AII.7 Functions: Review, Domain/Range. Function: Domain: Range:
Name: Date: Block: Functions: Review What is a.? Relation: Function: Domain: Range: Draw a graph of a : a) relation that is a function b) relation that is NOT a function Function Notation f(x): Names the
Athena Knowledge Base
Athena Knowledge Base The Athena Visual Studio Knowledge Base contains a number of tips, suggestions and how to s that have been recommended by the users of the software. We will continue to enhance this
Excel & Visual Basic for Applications (VBA)
Excel & Visual Basic for Applications (VBA) The VBA Programming Environment Recording Macros Working with the Visual Basic Editor (VBE) 1 Why get involved with this programming business? If you can't program,
Symbol Tables. Introduction
Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The
Integers are positive and negative whole numbers, that is they are; {... 3, 2, 1,0,1,2,3...}. The dots mean they continue in that pattern.
INTEGERS Integers are positive and negative whole numbers, that is they are; {... 3, 2, 1,0,1,2,3...}. The dots mean they continue in that pattern. Like all number sets, integers were invented to describe
Lecture 11 Doubly Linked Lists & Array of Linked Lists. Doubly Linked Lists
Lecture 11 Doubly Linked Lists & Array of Linked Lists In this lecture Doubly linked lists Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for a Sparse
Figure 1: Graphical example of a mergesort 1.
CSE 30321 Computer Architecture I Fall 2011 Lab 02: Procedure Calls in MIPS Assembly Programming and Performance Total Points: 100 points due to its complexity, this lab will weight more heavily in your
HSL and its out-of-core solver
HSL and its out-of-core solver Jennifer A. Scott [email protected] Prague November 2006 p. 1/37 Sparse systems Problem: we wish to solve where A is Ax = b LARGE Informal definition: A is sparse if many
1 Description of The Simpletron
Simulating The Simpletron Computer 50 points 1 Description of The Simpletron In this assignment you will write a program to simulate a fictional computer that we will call the Simpletron. As its name implies
Sybex CCENT 100-101 Chapter 4: Easy Subnetting. Instructor & Todd Lammle
Sybex CCENT 100-101 Chapter 4: Easy Subnetting Instructor & Todd Lammle Chapter 4 Objectives The CCENT Topics Covered in this chapter include: IP addressing (IPv4 / IPv6) Describe the operation and necessity
A Fortran 2003 introduction by examples
A Fortran 2003 introduction by examples Gunnar Wollan 2012 1 Introduction The purpose of this book is to give a good insight in the Fortran 2003 programming language.by going through a number of examples
Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)
Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating
2010/9/19. Binary number system. Binary numbers. Outline. Binary to decimal
2/9/9 Binary number system Computer (electronic) systems prefer binary numbers Binary number: represent a number in base-2 Binary numbers 2 3 + 7 + 5 Some terminology Bit: a binary digit ( or ) Hexadecimal
Informatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)
Excel Level Two. Introduction. Contents. Exploring Formulas. Entering Formulas
Introduction Excel Level Two This workshop introduces you to formulas, functions, moving and copying data, using autofill, relative and absolute references, and formatting cells. Contents Introduction
9.4. The Scalar Product. Introduction. Prerequisites. Learning Style. Learning Outcomes
The Scalar Product 9.4 Introduction There are two kinds of multiplication involving vectors. The first is known as the scalar product or dot product. This is so-called because when the scalar product of
Section V.3: Dot Product
Section V.3: Dot Product Introduction So far we have looked at operations on a single vector. There are a number of ways to combine two vectors. Vector addition and subtraction will not be covered here,
Package png. February 20, 2015
Version 0.1-7 Title Read and write PNG images Package png February 20, 2015 Author Simon Urbanek Maintainer Simon Urbanek Depends R (>= 2.9.0)
Numbering Systems. InThisAppendix...
G InThisAppendix... Introduction Binary Numbering System Hexadecimal Numbering System Octal Numbering System Binary Coded Decimal (BCD) Numbering System Real (Floating Point) Numbering System BCD/Binary/Decimal/Hex/Octal
Programming in C# with Microsoft Visual Studio 2010
Course 10266A: Programming in C# with Microsoft Visual Studio 2010 Course Details Course Outline Module 1: Introducing C# and the.net Framework This module explains the.net Framework, and using C# and
C++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
Functions Recursion. C++ functions. Declare/prototype. Define. Call. int myfunction (int ); int myfunction (int x){ int y = x*x; return y; }
Functions Recursion C++ functions Declare/prototype int myfunction (int ); Define int myfunction (int x){ int y = x*x; return y; Call int a; a = myfunction (7); function call flow types type of function
Secrets of printf. 1 Background. 2 Simple Printing. Professor Don Colton. Brigham Young University Hawaii. 2.1 Naturally Special Characters
Secrets of Professor Don Colton Brigham Young University Hawaii is the C language function to do formatted printing. The same function is also available in PERL. This paper explains how works, and how
Figure 1. A typical Laboratory Thermometer graduated in C.
SIGNIFICANT FIGURES, EXPONENTS, AND SCIENTIFIC NOTATION 2004, 1990 by David A. Katz. All rights reserved. Permission for classroom use as long as the original copyright is included. 1. SIGNIFICANT FIGURES
THE NAS KERNEL BENCHMARK PROGRAM
THE NAS KERNEL BENCHMARK PROGRAM David H. Bailey and John T. Barton Numerical Aerodynamic Simulations Systems Division NASA Ames Research Center June 13, 1986 SUMMARY A benchmark test program that measures
Application Unit, MDRC AB/S 1.1, GH Q631 0030 R0111
, GH Q631 0030 R0111 SK 0010 B 98 The application unit is a DIN rail mounted device for insertion in the distribution board. The connection to the EIB is established via a bus connecting terminal at the
MACHINE INSTRUCTIONS AND PROGRAMS
CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS CHAPTER OBJECTIVES In this chapter you will learn about: Machine instructions and program execution, including branching and subroutine call and return operations
PGR Computing Programming Skills
PGR Computing Programming Skills Dr. I. Hawke 2008 1 Introduction The purpose of computing is to do something faster, more efficiently and more reliably than you could as a human do it. One obvious point
Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)
Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the
Using Casio Graphics Calculators
Using Casio Graphics Calculators (Some of this document is based on papers prepared by Donald Stover in January 2004.) This document summarizes calculation and programming operations with many contemporary
CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions
CSC45 AUTOMATA 2. Finite Automata: Examples and Definitions Finite Automata: Examples and Definitions A finite automaton is a simple type of computer. Itsoutputislimitedto yes to or no. It has very primitive
INDUSTRIAL AUTOMATION Interactive Graphical SCADA System INSIGHT AND OVERVIEW. IGSS Online Training. Exercise 8: Creating Templates
INDUSTRIAL AUTOMATION Interactive Graphical SCADA System INSIGHT AND OVERVIEW IGSS Online Training Exercise 8: Creating Templates Exercise: Create Templates and Template Based Objects Purpose Learn how
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Multiplying and Dividing Signed Numbers. Finding the Product of Two Signed Numbers. (a) (3)( 4) ( 4) ( 4) ( 4) 12 (b) (4)( 5) ( 5) ( 5) ( 5) ( 5) 20
SECTION.4 Multiplying and Dividing Signed Numbers.4 OBJECTIVES 1. Multiply signed numbers 2. Use the commutative property of multiplication 3. Use the associative property of multiplication 4. Divide signed
2) Write in detail the issues in the design of code generator.
COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage
Chapter 07: Instruction Level Parallelism VLIW, Vector, Array and Multithreaded Processors. Lesson 05: Array Processors
Chapter 07: Instruction Level Parallelism VLIW, Vector, Array and Multithreaded Processors Lesson 05: Array Processors Objective To learn how the array processes in multiple pipelines 2 Array Processor
CSE Case Study: Optimising the CFD code DG-DES
CSE Case Study: Optimising the CFD code DG-DES CSE Team NAG Ltd., [email protected] Naveed Durrani University of Sheffield June 2008 Introduction One of the activities of the NAG CSE (Computational
(!' ) "' # "*# "!(!' +,
MATLAB is a numeric computation software for engineering and scientific calculations. The name MATLAB stands for MATRIX LABORATORY. MATLAB is primarily a tool for matrix computations. It was developed
5.1 Radical Notation and Rational Exponents
Section 5.1 Radical Notation and Rational Exponents 1 5.1 Radical Notation and Rational Exponents We now review how exponents can be used to describe not only powers (such as 5 2 and 2 3 ), but also roots
Fortran 95, Exercises Introductory course, 8-9 Oct 2009
Fortran 95, Exercises Introductory course, 8-9 Oct 2009 Raimo Uusvuori, Tommi Bergman, Jarmo Pirhonen, Sami Saarinen firstname.lastname[at]csc.fi CSC - IT Center for Science Ltd. CSC - Tieteen tietotekniikan
Digital System Design Prof. D Roychoudhry Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Digital System Design Prof. D Roychoudhry Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 04 Digital Logic II May, I before starting the today s lecture
6.1. The Exponential Function. Introduction. Prerequisites. Learning Outcomes. Learning Style
The Exponential Function 6.1 Introduction In this block we revisit the use of exponents. We consider how the expression a x is defined when a is a positive number and x is irrational. Previously we have
The continuous and discrete Fourier transforms
FYSA21 Mathematical Tools in Science The continuous and discrete Fourier transforms Lennart Lindegren Lund Observatory (Department of Astronomy, Lund University) 1 The continuous Fourier transform 1.1
grep, awk and sed three VERY useful command-line utilities Matt Probert, Uni of York grep = global regular expression print
grep, awk and sed three VERY useful command-line utilities Matt Probert, Uni of York grep = global regular expression print In the simplest terms, grep (global regular expression print) will search input
ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER
ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 [email protected] ABSTRACT This paper
Module 2 Stacks and Queues: Abstract Data Types
Module 2 Stacks and Queues: Abstract Data Types A stack is one of the most important and useful non-primitive linear data structure in computer science. It is an ordered collection of items into which
VB.NET Programming Fundamentals
Chapter 3 Objectives Programming Fundamentals In this chapter, you will: Learn about the programming language Write a module definition Use variables and data types Compute with Write decision-making statements
Excel & Visual Basic for Applications (VBA)
Excel & Visual Basic for Applications (VBA) Object-oriented programming (OOP) Procedures: Subs and Functions, layout VBA: data types, variables, assignment 1 Traits of Engineers Florman s Engineering View
Organization of Programming Languages CS320/520N. Lecture 05. Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.
Organization of Programming Languages CS320/520N Razvan C. Bunescu School of Electrical Engineering and Computer Science [email protected] Names, Bindings, and Scopes A name is a symbolic identifier used
Pseudo code Tutorial and Exercises Teacher s Version
Pseudo code Tutorial and Exercises Teacher s Version Pseudo-code is an informal way to express the design of a computer program or an algorithm in 1.45. The aim is to get the idea quickly and also easy
Array Abstract Data Type
1 Array Abstract Data Type Table of Contents What this module is about... 1 Introduction... 2 Data type objects... 3 Array elements... 3.1 Sub -arrays... 3.2 Array descriptor... 3.3 Data type operations...
Introduction to Algorithms March 10, 2004 Massachusetts Institute of Technology Professors Erik Demaine and Shafi Goldwasser Quiz 1.
Introduction to Algorithms March 10, 2004 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi Goldwasser Quiz 1 Quiz 1 Do not open this quiz booklet until you are directed
Sequential Program Execution
Sequential Program Execution Quick Start Compile step once always g++ -o Realtor1 Realtor1.cpp mkdir labs cd labs Execute step mkdir 1 Realtor1 cd 1 cp../0/realtor.cpp Realtor1.cpp Submit step cp /samples/csc/155/labs/1/*.
Rational Exponents. Squaring both sides of the equation yields. and to be consistent, we must have
8.6 Rational Exponents 8.6 OBJECTIVES 1. Define rational exponents 2. Simplify expressions containing rational exponents 3. Use a calculator to estimate the value of an expression containing rational exponents
Section 1.5 Exponents, Square Roots, and the Order of Operations
Section 1.5 Exponents, Square Roots, and the Order of Operations Objectives In this section, you will learn to: To successfully complete this section, you need to understand: Identify perfect squares.
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
Assignment 2: Option Pricing and the Black-Scholes formula The University of British Columbia Science One CS 2015-2016 Instructor: Michael Gelbart
Assignment 2: Option Pricing and the Black-Scholes formula The University of British Columbia Science One CS 2015-2016 Instructor: Michael Gelbart Overview Due Thursday, November 12th at 11:59pm Last updated
Chapter 6 Quantum Computing Based Software Testing Strategy (QCSTS)
Chapter 6 Quantum Computing Based Software Testing Strategy (QCSTS) 6.1 Introduction Software testing is a dual purpose process that reveals defects and is used to evaluate quality attributes of the software,
Linear functions Increasing Linear Functions. Decreasing Linear Functions
3.5 Increasing, Decreasing, Max, and Min So far we have been describing graphs using quantitative information. That s just a fancy way to say that we ve been using numbers. Specifically, we have described
Python Programming: An Introduction to Computer Science
Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 The Universal Machine n A computer -- a machine that stores and manipulates information under the control of a
Computational Mathematics with Python
Computational Mathematics with Python Basics Claus Führer, Jan Erik Solem, Olivier Verdier Spring 2010 Claus Führer, Jan Erik Solem, Olivier Verdier Computational Mathematics with Python Spring 2010 1
HTML Code Generator V 1.0 For Simatic IT Modules CP 443-1 IT, 343-1 IT, 243-1 IT
HTML Code Generator V 1.0 For Simatic IT Modules CP 443-1 IT, 343-1 IT, 243-1 IT Manual This manual and program are freeware. Every user can use, copy or forward this program and documentation FREE OF
BCS2B02: OOP Concepts and Data Structures Using C++
SECOND SEMESTER BCS2B02: OOP Concepts and Data Structures Using C++ Course Number: 10 Contact Hours per Week: 4 (2T + 2P) Number of Credits: 2 Number of Contact Hours: 30 Hrs. Course Evaluation: Internal
