Scripting with TCL, Part 1

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Scripting with TCL, Part 1"

Transcription

1 Scripting with TCL, Part 1 Axel Kohlmeyer Center for Molecular Modeling University of Pennsylvania SBS JNCASR, Bangalore

2 The VMD Execution Model GUI (FLTK) Internal State Visualization Python Interpreter Tcl/Tk Interpreter

3 The Purpose of Scripting Extension to command line interface Automate/group sequences of commands Simplify repetitive tasks w/o programming Easily modifiable/adjustable programs Slower execution offset by faster programming Provide level of abstraction from low-level tasks Allow non-programmers to do complex tasks

4 Some Script Languages COMMAND.COM (DOS): ->.bat files ( batch execution of commands) Bourne shell / C shell (UNIX): -> #!/bin/sh or #!/bin/csh in first line of file (so-called shell scripts, in Unix reading from keyboard or a file is (mostly) equivalent) BASIC (PET, C64, GW-BASIC, Q-BASIC): Interpreter & line program editor => very platform dependent

5 Advanced Script Languages Languages with large integrated functionality Powerful syntax, similar to compiled languages Extensible & modular: new functionality can be added through script libraries and/or compiled dynamically loaded binaries Platform independent (mostly) Examples: perl, python, ruby, tcl/tk, lisp/scheme,... Embeddable interpreter (tcl, python, lisp): => script language for applications.

6 What is TCL? TCL = Tool Command Language Scripting language Embeddable interpreter Cross-platform (Unix, Windows, MacOS,...) Graphical toolkit companion: Tk Modeled after Unix shells (/bin/sh, /bin/csh) Designed to build extensible applications: Application embeds interpreter Compiled code interfaced to tcl commands High-level scripts can drive application

7 Basic TCL Syntax TCL syntax is very simple: command arg1 arg2 arg3... command can be an tcl internal command or a newly defined procedure Arguments can be grouped, expanded from variables or substituted from other commands Grouping is done via curly braces: { } Substitution is done via square brackets: [ ] Variables start with $ and are expanded when used directly or in strings defined via

8 Invoking TCL Using the standalone interpreter, tclsh: Works like a regular shell prompt Good for interactive testing No command line history and editing No VMD extensions (unless using VMD console) Writing a script file (hello.tcl) and giving it as argument to tclsh: tclsh hello.tcl Reading file interactively: source hello.tcl Using the Tk Console (-> Extensions menu) Flexible command line editing and history Syntax highlighting and completition

9 Simple Output in TCL Use the puts command to create output puts Hello, World! or: puts {Hello, World!} Newline is automatically appended unless: puts -nonewline {Hello, World!} Special control characters are only expanded in double-quotes: puts -nonewline Hello, World!\n or: puts -nonewline {Hello, World!\n} For more details: man n puts

10 Comments and Multi-line Commands in TCL puts "hello" ;# comment after the command. # comment at beginning of a line puts {bad syntax} # *Error* - no semicolon! puts "This is line 1"; puts "this is line 2" puts "Hello, World; - semicolon inside quotes" # No need to quote without white space: puts HelloWorld # no comments inside curly braces: puts {Hello ; # this will be printed World! } ; # but this will not be printed

11 Variables in TCL The set command assigns values to variables set hw {Hello, World!} Variables do not have to be declared Variables are local (unless declared as global) Expansion of variables with $: puts $hw puts hw is set to: $hw But no expansion with {}: puts {hw is set to: $hw} To remove a variable use: unset

12 More on Variables in TCL Accessing an unset variable is an error: % puts $a can't read "a": no such variable % set a 0 0 % puts $a 0 % unset a % puts $a can't read "a": no such variable

13 Command Substitution in TCL TCL commands in square brackets are executed and substituted by its output: % set x % set z [set y 876] 876 % puts "x: $x y: $y z: $z" x: 678 y: 876 z: 876 But: % puts "[set e 2.72]"; puts {[set p 3.41]} 2.72 [set p 3.41]

14 Computations with expr Use expr for mathematical expressions: % expr % set x 4 4 % expr 2 + $x 6 % expr {2 + $x} 6 Also substitution works: set y [expr 50*$x]

15 TCL Expressions A TCL expression consists of a combination of operands, operators, and parentheses. White space may be used between operands, operators and parentheses. Where possible, operands are interpreted as integer values. Integer values may be specified in decimal (the normal case), in octal (if the first character of the operand is 0), or in hexadecimal (if the first two characters of the operand are 0x)

16 More on TCL Expressions If an operand does not have one of the integer formats given above, then it is treated as a floating-point number, if that is possible. Floating-point numbers may be specified in ANSI-C syntax: E4 7.91e If no numeric interpretation is possible, then an operand is left as a string (and only a limited set of operators may be applied to it). Beware of leading zeros: 0700 is not 700

17 TCL Expression Operators TCL supports most typical operators: - + : (Unary minus, unary plus, not for strings) * / %: Multiply, divide, remainder. + - : Add and subtract. < > <= >=: Relational operators: Returns 1 if true, 0 otherwise. Compares numerical or lexical (for strings that cannot be converted) value. eq ne: compare strings for equality or inequality. Numbers are converted to strings first. expr { 9 == 9.0 }vs. expr { 9 eq 9.0 }

18 More TCL Expression Operators Tcl supports the following mathematical functions in expressions: abs cosh log sqrt acos log10 srand asin exp pow tan atan floor rand tanh atan2 fmod round ceil hypot sin cos sinh int The trigonometric functions work with radians: set pi6 [expr { /6.0}] puts "The sine and cosine of pi/6:\ [expr {sin($pi6)}] [expr {cos($pi6)}]"

19 Conditionals in TCL Like most languages, Tcl supports an if command. The syntax is: if {expr1} then {... } elseif {expr2} then {... } elseif {expr3} then {... } else {...} The words then and else are optional, elseif clauses are not required and also the else branch can be left away.

20 More on Conditionals The test expression following if or elseif should return a value that can be interpreted as representing "true" or "false": False True a numeric value: 0 all others yes/no: no yes true/false: false true If the test expression returns a string "yes"/"no" or "true"/"false", the case of the string is irrelevant (e.g. Yes, TRUE, FaLSe).

21 For Loops in TCL Tcl supports an iterated loop construct similar to the for loop in C or do loop in Fortran. The for command in Tcl takes four arguments; an initialization, a test, an increment, and the body of code to evaluate on each loop. Example: for {set i 0} {$i < 100} {incr i} { puts $i } incr increments the variable i by 1. Use an optional argument for other increments: incr i 5

22 New Commands in TCL In Tcl there is no distinction between commands (or functions) and "syntax". There are no reserved words (like if and while) as in C, Java, Python, Perl, etc... When Tcl starts up there is a list of known commands: if, for, set, puts, expr,... They are just regular Tcl commands, that obey the same syntax rules as all Tcl commands, both built-in, and those that you create yourself with the proc command.

23 Using proc in TCL The proc command creates a new command. Syntax: proc name {args} {body} When proc is evaluated, it creates a new command called name. If name already exists it will be overwritten! When the procedure name is called, it then runs the code contained in body. args is a list of arguments passed to name. When name is invoked, local variables with these names will be created.

24 More on Using proc The value that the body of a proc returns can be defined with the return command. Example: proc sum {arg1 arg2} { set x [expr {$arg1 + $arg2}]; return $x } puts " The sum is: [sum 2 3]\n\n" Arguments with defaults are optional: proc addsome {value {increment 1}} { return [expr $value + $increment]}

25 Variable Scope in TCL Variables in TCL are usually only valid within the level where they are created. Variables in commands are automatically destroyed when the command returns Variables created on a higher level are not visible within procedures defined within (the same goes for procedures created within procedures). Variables can be imported from the top level with the global command

ESPResSo Summer School 2012

ESPResSo Summer School 2012 ESPResSo Summer School 2012 Introduction to Tcl Pedro A. Sánchez Institute for Computational Physics Allmandring 3 D-70569 Stuttgart Germany http://www.icp.uni-stuttgart.de 2/26 Outline History, Characteristics,

More information

Copyright 2015 Integrated Environmental Solutions Limited. All rights reserved.

Copyright 2015 Integrated Environmental Solutions Limited. All rights reserved. VistaPro User Guide Custom Variable Expressions IES Virtual Environment Copyright 2015 Integrated Environmental Solutions Limited. All rights reserved. No part of the manual is to be copied or reproduced

More information

Short Introduction to the Tool Command Language (Tcl)

Short Introduction to the Tool Command Language (Tcl) Short Introduction to the Tool Command Language (Tcl) http://www.faculty.jacobs-university.de/jschoenwae/anl-2008/ September 22, 2008 Language Overview 1 Language Overview 2 Substitutions, Quoting, Comments

More information

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

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

More information

The Command Line. Matthew Bender. Friday 9 th October, CMSC Command Line Workshop

The Command Line. Matthew Bender. Friday 9 th October, CMSC Command Line Workshop The Command Line Matthew Bender CMSC Command Line Workshop Friday 9 th October, 2015 Matthew Bender (2015) The Command Line Friday 9 th October, 2015 1 / 22 Functions Section 1 Functions Matthew Bender

More information

Chapter 2: Problem Solving Using C++

Chapter 2: Problem Solving Using C++ Chapter 2: Problem Solving Using C++ 1 Objectives In this chapter, you will learn about: Modular programs Programming style Data types Arithmetic operations Variables and declaration statements Common

More information

Unix Shell Scripts. Contents. 1 Introduction. Norman Matloff. July 30, 2008. 1 Introduction 1. 2 Invoking Shell Scripts 2

Unix Shell Scripts. Contents. 1 Introduction. Norman Matloff. July 30, 2008. 1 Introduction 1. 2 Invoking Shell Scripts 2 Unix Shell Scripts Norman Matloff July 30, 2008 Contents 1 Introduction 1 2 Invoking Shell Scripts 2 2.1 Direct Interpretation....................................... 2 2.2 Indirect Interpretation......................................

More information

Chapter 5 Functions. Introducing Functions

Chapter 5 Functions. Introducing Functions Chapter 5 Functions 1 Introducing Functions A function is a collection of statements that are grouped together to perform an operation Define a function Invoke a funciton return value type method name

More information

Going from Python to C

Going from Python to C Going from Python to C Darin Brezeale December 8, 2011 Python is a high-level, interpreted language. C has many of the same types of programming constructs as in Python: arrays, loops, conditionals, functions,

More information

C Programming Language CIS 218

C Programming Language CIS 218 C Programming Language CIS 218 Description C is a procedural languages designed to provide lowlevel access to computer system resources, provide language constructs that map efficiently to machine instructions,

More information

C Programming Dr. Hasan Demirel

C Programming Dr. Hasan Demirel C How to Program, H. M. Deitel and P. J. Deitel, Prentice Hall, 5 th edition (3 rd edition or above is also OK). Introduction to C Programming Dr. Hasan Demirel Programming Languages There are three types

More information

Computational Mathematics with Python

Computational Mathematics with Python Boolean Arrays Classes Computational Mathematics with Python Basics Olivier Verdier and Claus Führer 2009-03-24 Olivier Verdier and Claus Führer Computational Mathematics with Python 2009-03-24 1 / 40

More information

Java Review (Essentials of Java for Hadoop)

Java Review (Essentials of Java for Hadoop) Java Review (Essentials of Java for Hadoop) Have You Joined Our LinkedIn Group? What is Java? Java JRE - Java is not just a programming language but it is a complete platform for object oriented programming.

More information

MATLAB Basics MATLAB numbers and numeric formats

MATLAB Basics MATLAB numbers and numeric formats MATLAB Basics MATLAB numbers and numeric formats All numerical variables are stored in MATLAB in double precision floating-point form. (In fact it is possible to force some variables to be of other types

More information

CME 192: Introduction to Matlab

CME 192: Introduction to Matlab CME 192: Introduction to Matlab Matlab Basics Brett Naul January 7, 2015 What is Matlab? Computing & programming environment Visualization and mathematical prototyping tool Why Matlab? Comparison with

More information

Computational Mathematics with Python

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

More information

A First Book of C++ Chapter 2 Data Types, Declarations, and Displays

A First Book of C++ Chapter 2 Data Types, Declarations, and Displays A First Book of C++ Chapter 2 Data Types, Declarations, and Displays Objectives In this chapter, you will learn about: Data Types Arithmetic Operators Variables and Declarations Common Programming Errors

More information

1. A(n) structure is a logical design that controls the order in which a set of statements execute. a. function b. control c. sequence d.

1. A(n) structure is a logical design that controls the order in which a set of statements execute. a. function b. control c. sequence d. Chapter Four MULTIPLE CHOICE 1. A(n) structure is a logical design that controls the order in which a set of statements execute. a. function b. control c. sequence d. iteration 2. The decision structure

More information

PROGRAMMING REFRESHER MODULE. Delivered by Ana Cavalcanti and Alvaro Miyazawa Prepared by Dr Lilian Blot

PROGRAMMING REFRESHER MODULE. Delivered by Ana Cavalcanti and Alvaro Miyazawa Prepared by Dr Lilian Blot PROGRAMMING REFRESHER MODULE Delivered by Ana Cavalcanti and Alvaro Miyazawa Prepared by Dr Lilian Blot The Rules Everything in PREF (Week 1) is optional. From week 2 of APRC and JAPC, we assume that all

More information

Programming for MSc Part I

Programming for MSc Part I Herbert Martin Dietze University of Buckingham herbert@the-little-red-haired-girl.org July 24, 2001 Abstract The course introduces the C programming language and fundamental software development techniques.

More information

C library functions Trig functions and the like used to require expr, but in Max 4 some are available as objects.

C library functions Trig functions and the like used to require expr, but in Max 4 some are available as objects. Advanced Math in Max Eventually we will need to do something more complicated than the ordinary math objects allow. This is not a tutorial on how to do that math, but a guide to where the math can be done.

More information

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection

More information

Informatica e Sistemi in Tempo Reale

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)

More information

Expense Management. Configuration and Use of the Expense Management Module of Xpert.NET

Expense Management. Configuration and Use of the Expense Management Module of Xpert.NET Expense Management Configuration and Use of the Expense Management Module of Xpert.NET Table of Contents 1 Introduction 3 1.1 Purpose of the Document.............................. 3 1.2 Addressees of the

More information

Scripting with TCL, Part 2

Scripting with TCL, Part 2 Scripting with TCL, Part 2 Axel Kohlmeyer Center for Molecular Modeling University of Pennsylvania SBS 2007 @ JNCASR, Bangalore Lists in TCL Lists are a central construct in TCL Everything can be seen

More information

Introduction to Python

Introduction to Python Introduction to Python Sophia Bethany Coban Problem Solving By Computer March 26, 2014 Introduction to Python Python is a general-purpose, high-level programming language. It offers readable codes, and

More information

User-defined Functions (UDFs)

User-defined Functions (UDFs) User-defined Functions (UDFs) In this lecture I will be introducing the programmation language Visual Basic for Applications (VBA) and explaining one particular use of it: creating UDFs. VBA is a powerful

More information

Access Tutorial 12: An Introduction to Visual Basic

Access Tutorial 12: An Introduction to Visual Basic Access Tutorial 12: An Introduction to Visual Basic 12.1 Introduction: Learning the basics of programming Programming can be an enormously complex and difficult activity. Or it can be quite straightforward.

More information

Computational Mathematics with Python

Computational Mathematics with Python Numerical Analysis, Lund University, 2011 1 Computational Mathematics with Python Chapter 1: Basics Numerical Analysis, Lund University Claus Führer, Jan Erik Solem, Olivier Verdier, Tony Stillfjord Spring

More information

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)

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

More information

J a v a Quiz (Unit 3, Test 0 Practice)

J a v a Quiz (Unit 3, Test 0 Practice) Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points

More information

Lecture 2. Functions in C++

Lecture 2. Functions in C++ Lecture 2 Functions Declaration (prototype) Definition (implementation) Function calls Parameters Call by reference Call by value Return value Function overloading Header files Standard library: cmath,

More information

Advanced Bash Scripting. Joshua Malone (jmalone@ubergeeks.com)

Advanced Bash Scripting. Joshua Malone (jmalone@ubergeeks.com) Advanced Bash Scripting Joshua Malone (jmalone@ubergeeks.com) Why script in bash? You re probably already using it Great at managing external programs Powerful scripting language Portable and version-stable

More information

Problem Solving With C++ Ninth Edition

Problem Solving With C++ Ninth Edition CISC 1600/1610 Computer Science I Programming in C++ Professor Daniel Leeds dleeds@fordham.edu JMH 328A Introduction to programming with C++ Learn Fundamental programming concepts Key techniques Basic

More information

Exercise 4 Learning Python language fundamentals

Exercise 4 Learning Python language fundamentals Exercise 4 Learning Python language fundamentals Work with numbers Python can be used as a powerful calculator. Practicing math calculations in Python will help you not only perform these tasks, but also

More information

()A Crash Course in Programming with C++ and the Ubuntu O.S. June 8, / 47

()A Crash Course in Programming with C++ and the Ubuntu O.S. June 8, / 47 A Crash Course in Programming with C++ and the Ubuntu O.S. Dr. Daniel A. Ray MCS Dept UVa-Wise June 8, 2010 ()A Crash Course in Programming with C++ and the Ubuntu O.S. June 8, 2010 1 / 47 Outline What

More information

Chapter 2: Elements of Java

Chapter 2: Elements of Java Chapter 2: Elements of Java Basic components of a Java program Primitive data types Arithmetic expressions Type casting. The String type (introduction) Basic I/O statements Importing packages. 1 Introduction

More information

The Basics of C Programming. Marshall Brain

The Basics of C Programming. Marshall Brain The Basics of C Programming Marshall Brain Last updated: October 30, 2013 Contents 1 C programming 1 What is C?................................. 2 The simplest C program, I........................ 2 Spacing

More information

Example of a Java program

Example of a Java program Example of a Java program class SomeNumbers static int square (int x) return x*x; public static void main (String[] args) int n=20; if (args.length > 0) // change default n = Integer.parseInt(args[0]);

More information

Introduction to Shell Programming

Introduction to Shell Programming Introduction to Shell Programming Timothy Brown February 12, 2015 Specifically bash Research Computing @ CU Boulder Introduction to Shell Programming 1 February 12, 2015 Overview Introduction Variables

More information

Introduction to Python

Introduction to Python Caltech/LEAD Summer 2012 Computer Science Lecture 2: July 10, 2012 Introduction to Python The Python shell Outline Python as a calculator Arithmetic expressions Operator precedence Variables and assignment

More information

Exercise 1: Python Language Basics

Exercise 1: Python Language Basics Exercise 1: Python Language Basics In this exercise we will cover the basic principles of the Python language. All languages have a standard set of functionality including the ability to comment code,

More information

Introduction to C Programming S Y STEMS

Introduction to C Programming S Y STEMS Introduction to C Programming CS 40: INTRODUCTION TO U NIX A ND L I NUX O P E R AT ING S Y STEMS Objectives Introduce C programming, including what it is and what it contains, which includes: Command line

More information

Your First C# Program. C# Programming: From Problem Analysis to Program Design 2nd Edition. David McDonald, Ph.D. Director of Emerging Technologies

Your First C# Program. C# Programming: From Problem Analysis to Program Design 2nd Edition. David McDonald, Ph.D. Director of Emerging Technologies 2 Your First C# Program C# Programming: From Problem Analysis to Program Design 2nd Edition David McDonald, Ph.D. Director of Emerging Technologies Chapter Objectives Distinguish between the different

More information

Introduction to Python Programming. CSE 110: Introduction to Computer Science

Introduction to Python Programming. CSE 110: Introduction to Computer Science Introduction to Python Programming CSE 110: Introduction to Computer Science Announcements Labs begin on Wednesday Labs will meet in CS 2129, NOT the CS SINC site! Homework 1 is due in class on Friday

More information

C++ Programming: From Problem Analysis to Program Design, Fifth Edition. Chapter 2: Basic Elements of C++

C++ Programming: From Problem Analysis to Program Design, Fifth Edition. Chapter 2: Basic Elements of C++ C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with the basic components of a C++ program,

More information

ADVANCED ROBOT PROGRAMMING LEGO MINDSTORMS EV3

ADVANCED ROBOT PROGRAMMING LEGO MINDSTORMS EV3 ADVANCED ROBOT PROGRAMMING LEGO MINDSTORMS EV3 Presented by: Tom Bickford Maine Robotics Friday, 10/16/2015 1:30-3:30 2015 Description: So you've been using robotics in your classroom but want to take

More information

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.

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.

More information

Programming Language: Syntax. Introduction to C Language Overview, variables, Operators, Statements

Programming Language: Syntax. Introduction to C Language Overview, variables, Operators, Statements Programming Language: Syntax Introduction to C Language Overview, variables, Operators, Statements Based on slides McGraw-Hill Additional material 2004/2005 Lewis/Martin Modified by Diana Palsetia Syntax

More information

Tcl is a string-based command language.

Tcl is a string-based command language. C H A P T E R Tcl Fundamentals 1 1 I. Tcl Basics This chapter describes the basic syntax rules for the Tcl scripting language. It describes the basic mechanisms used by the Tcl interpreter: substitution

More information

The OptQuest Engine Java and.net Developer's Guilde

The OptQuest Engine Java and.net Developer's Guilde The OptQuest Engine Java and.net Developer's Guilde Table Of Contents Introduction to optimization... 1 What is optimization?... 1 How the OptQuest Engine works... 1 Using the documentation... 2 Platforms...

More information

Introduction to MATLAB (2.29 Spring 06)

Introduction to MATLAB (2.29 Spring 06) Introduction to MATLAB (2.29 Spring 06) 1. Assignment of Variables (i.e. scalars, vectors, matrices) 2. Mathematical Operations 3. Built-in Variables and Functions 4. Input/Output Data Files 5. Basic Graphics

More information

Dept. of CSE, IIT KGP

Dept. of CSE, IIT KGP Programming in C: Basics CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Types of variable We must declare the

More information

Module Eight Shell Scripting in Linux

Module Eight Shell Scripting in Linux Postgraduate course, Covenant University Ota, Nigeria Oyelade, O. J., PhD ola.oyelade@covenantuniversity.edu.ng Isewon, I. itunu.isewon@covenantuniversity.edu.ng Module Eight Shell Scripting in Linux 8.1

More information

JAVA - QUICK GUIDE. Java SE is freely available from the link Download Java. So you download a version based on your operating system.

JAVA - QUICK GUIDE. Java SE is freely available from the link Download Java. So you download a version based on your operating system. http://www.tutorialspoint.com/java/java_quick_guide.htm JAVA - QUICK GUIDE Copyright tutorialspoint.com What is Java? Java is: Object Oriented Platform independent: Simple Secure Architectural- neutral

More information

School of Informatics, University of Edinburgh

School of Informatics, University of Edinburgh CS1Ah Lecture Note 5 Java Expressions Many Java statements can contain expressions, which are program phrases that tell how to compute a data value. Expressions can involve arithmetic calculation and method

More information

What is Shell Script?

What is Shell Script? Linux Shell Scripts What is Shell Script? We have seen some basic shell commands, it s time to move on to scripts. There are two ways of writing shell programs. You can type a sequence of commands and

More information

Adjusted/Modified by Nicole Tobias. Chapter 2: Basic Elements of C++

Adjusted/Modified by Nicole Tobias. Chapter 2: Basic Elements of C++ Adjusted/Modified by Nicole Tobias Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types

More information

Arduino Programming Language

Arduino Programming Language Introduction to Haptics Arduino Programming Language (optional material for beginning programmers) Allison M. Okamura Stanford University Programming Guidance Potential resources: Online courses (e.g.,

More information

Lex The Idea Program Structure What Lex does Using Lex Lex Operators States in Lex

Lex The Idea Program Structure What Lex does Using Lex Lex Operators States in Lex Lex The Idea Program Structure What Lex does Using Lex Lex Operators States in Lex The Lex Idea Lex is an implementation that uses an extension of RE notation as well as states and C/C++ Extending REs

More information

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: JAVA OPERATORS GENERAL Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators

More information

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca

More information

Introduction to C++ Programming

Introduction to C++ Programming Introduction to C++ Programming C++ is one of the most popular programming languages in use in industry today. According to the TIOBE Programming Community Index, which can be accessed at this url: http://www.tiobe.com/index.php/content/paperinfo/tpci/

More information

PHP Tutorial From beginner to master

PHP Tutorial From beginner to master PHP Tutorial From beginner to master PHP is a powerful tool for making dynamic and interactive Web pages. PHP is the widely-used, free, and efficient alternative to competitors such as Microsoft's ASP.

More information

Introduction to Java Applications. 2005 Pearson Education, Inc. All rights reserved.

Introduction to Java Applications. 2005 Pearson Education, Inc. All rights reserved. 1 2 Introduction to Java Applications 2.2 First Program in Java: Printing a Line of Text 2 Application Executes when you use the java command to launch the Java Virtual Machine (JVM) Sample program Displays

More information

WELCOME to UNIX/Linux II Shell Scripting OUTLINE 1. Parameters 2. Variables 3. Some commands 4. Control structures 5. getopts

WELCOME to UNIX/Linux II Shell Scripting OUTLINE 1. Parameters 2. Variables 3. Some commands 4. Control structures 5. getopts UNIX Operating Systems II Part 2: Shell Scripting Instructor: Stan Isaacs Shell Scripts Parameters/arguments - what s on the input line Control structures for - repetition if then else - conditional execution

More information

Ashell program combines Linux commands in such a way as to perform a specific

Ashell program combines Linux commands in such a way as to perform a specific Shell Programming 1 2 Red Hat Linux: The Complete Reference Ashell program combines Linux commands in such a way as to perform a specific task. The Linux shell provides you with many programming tools

More information

Tcl is a string-based command language.

Tcl is a string-based command language. P A R T I I. Tcl Basics Tcl Basics Part I introduces the basics of Tcl. Everyone should read Chapter 1, which describes the fundamental properties of the language. Tcl is really quite simple, so beginners

More information

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser)

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser) High-Level Programming Languages Nell Dale & John Lewis (adaptation by Michael Goldwasser) Low-Level Languages What are disadvantages of low-level languages? (e.g., machine code or assembly code) Programming

More information

6.096 Lab 1. Due: 7 January 12:30:00. September 20, 2011

6.096 Lab 1. Due: 7 January 12:30:00. September 20, 2011 6.096 Lab 1 Due: 7 January 1:30:00 September 0, 011 1 Additional Material 1.1 Constants A constant is an expressions with a fixed value. Kinds of constants: Literals: used to express particular values

More information

b) lower case always use lower case for all matlab commands. This is what matlab recognizes.

b) lower case always use lower case for all matlab commands. This is what matlab recognizes. 1 Matlab 1) Fundamentals a) Getting Help for more detailed help on any topic, typing help, then a space, and then the matlab command brings up a detailed page on the command or topic. For really difficult

More information

Chapter One Introduction to Programming

Chapter One Introduction to Programming Chapter One Introduction to Programming 1-1 Algorithm and Flowchart Algorithm is a step-by-step procedure for calculation. More precisely, algorithm is an effective method expressed as a finite list of

More information

CS 106 Introduction to Computer Science I

CS 106 Introduction to Computer Science I CS 106 Introduction to Computer Science I 01 / 21 / 2014 Instructor: Michael Eckmann Today s Topics Introduction Homework assignment Review the syllabus Review the policies on academic dishonesty and improper

More information

Invitation to Ezhil : A Tamil Programming Language for Early Computer-Science Education 07/10/13

Invitation to Ezhil : A Tamil Programming Language for Early Computer-Science Education 07/10/13 Invitation to Ezhil: A Tamil Programming Language for Early Computer-Science Education Abstract: Muthiah Annamalai, Ph.D. Boston, USA. Ezhil is a Tamil programming language with support for imperative

More information

Programmierpraktikum

Programmierpraktikum Programmierpraktikum Claudius Gros, SS2012 Institut für theoretische Physik Goethe-University Frankfurt a.m. 1 of 21 10/16/2012 09:29 AM Java - A First Glance 2 of 21 10/16/2012 09:29 AM programming languages

More information

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running

More information

Reading. C Programming Language. Basic syntax Whitespaces. Whitespaces (cont d) #include. Basic syntax Comments

Reading. C Programming Language. Basic syntax Whitespaces. Whitespaces (cont d) #include. Basic syntax Comments Reading C Programming Language Types, operators, expressions Control flow, functions Basic IO K&R Chapter 2 Types, Operators, and Expressions K&R Chapter 3 Control Flow K&R Chapter 7 Basic I/O NEWS Assignment

More information

Java Crash Course Part I

Java Crash Course Part I Java Crash Course Part I School of Business and Economics Institute of Information Systems HU-Berlin WS 2005 Sebastian Kolbe skolbe@wiwi.hu-berlin.de Overview (Short) introduction to the environment Linux

More information

Basic C Syntax. Comp-206 : Introduction to Software Systems Lecture 10. Alexandre Denault Computer Science McGill University Fall 2006

Basic C Syntax. Comp-206 : Introduction to Software Systems Lecture 10. Alexandre Denault Computer Science McGill University Fall 2006 Basic C Syntax Comp-206 : Introduction to Software Systems Lecture 10 Alexandre Denault Computer Science McGill University Fall 2006 Next Week I'm away for the week. I'll still check my mails though. No

More information

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language Translation Translating to Java Introduction to Computer Programming The job of a programmer is to translate a problem description into a computer language. You need to be able to convert a problem description

More information

Introduction to Python

Introduction to Python WEEK ONE Introduction to Python Python is such a simple language to learn that we can throw away the manual and start with an example. Traditionally, the first program to write in any programming language

More information

Systems Programming & Scripting

Systems Programming & Scripting Systems Programming & Scripting Lecture 14 - Shell Scripting: Control Structures, Functions Syst Prog & Scripting - Heriot Watt University 1 Control Structures Shell scripting supports creating more complex

More information

Python strings. Girls Programming Network School of Information Technologies University of Sydney. Mini-lecture 5

Python strings. Girls Programming Network School of Information Technologies University of Sydney. Mini-lecture 5 Python strings Girls Programming Network School of Information Technologies University of Sydney Mini-lecture 5 Strings raw input Types Summary 2 Outline 1 Strings 2 Reading input with raw input 3 Types

More information

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java

More information

Your first C program. Which one is best?

Your first C program. Which one is best? Your first C program #include void main(void) { printf( Hello, world!\n ); } #include void main(void) { printf( Hello, ); printf( world! ); printf( \n ); } Which one is best? #include

More information

Kerby Shedden October, 2007. Overview of R

Kerby Shedden October, 2007. Overview of R Kerby Shedden October, 2007 Overview of R R R is a programming language for statistical computing, data analysis, and graphics. It is a re-implementation of the S language, which was developed in the 1980

More information

Introduction to Java

Introduction to Java Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high

More information

Python 3 and IDLE. We will use version 3.x of Python (where x is the most recent version

Python 3 and IDLE. We will use version 3.x of Python (where x is the most recent version Just Enough Python Python 3 and IDLE We will use version 3.x of Python (where x is the most recent version Differences between Python 2 and Python 3 are mostly minor, but can be confusing Python comes

More information

Moving from CS 61A Scheme to CS 61B Java

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

More information

FPGA Fixed-Point Math Library User Guide

FPGA Fixed-Point Math Library User Guide Contents 1. Overview DISCLAIMER: National Instruments does not support the FPGA Fixed-Point Math Library. The library is an internal product, so you are using the library at your own risk. 2. Common Characteristics

More information

Variables, Constants, and Data Types

Variables, Constants, and Data Types Variables, Constants, and Data Types Primitive Data Types Variables, Initialization, and Assignment Constants Characters Strings Reading for this class: L&L, 2.1-2.3, App C 1 Primitive Data There are eight

More information

KORN SHELL PROGRAMMING CHEAT SHEET

KORN SHELL PROGRAMMING CHEAT SHEET KORN SHELL PROGRAMMING CHEAT SHEET Special Characters Metacharacters have special meaning to the shell unless quoted (by preceding it with a \ or enclosing it in ` `) Inside double quotes parameter and

More information

Bash shell programming Part II Control statements

Bash shell programming Part II Control statements Bash shell programming Part II Control statements Deniz Savas and Michael Griffiths 2005-2011 Corporate Information and Computing Services The University of Sheffield Email M.Griffiths@sheffield.ac.uk

More information

Shell Scripts (1) For example: #!/bin/sh If they do not, the user's current shell will be used. Any Unix command can go in a shell script

Shell Scripts (1) For example: #!/bin/sh If they do not, the user's current shell will be used. Any Unix command can go in a shell script Shell Programming Shell Scripts (1) Basically, a shell script is a text file with Unix commands in it. Shell scripts usually begin with a #! and a shell name For example: #!/bin/sh If they do not, the

More information

PYTHON Basics http://hetland.org/writing/instant-hacking.html

PYTHON Basics http://hetland.org/writing/instant-hacking.html CWCS Workshop May 2009 PYTHON Basics http://hetland.org/writing/instant-hacking.html Python is an easy to learn, modern, interpreted, object-oriented programming language. It was designed to be as simple

More information

Borland C++ Compiler: Operators

Borland C++ Compiler: Operators Introduction Borland C++ Compiler: Operators An operator is a symbol that specifies which operation to perform in a statement or expression. An operand is one of the inputs of an operator. For example,

More information

LINUX SHELL SCRIPTING Sagar MungsE------

LINUX SHELL SCRIPTING Sagar MungsE------ LINUX SHELL SCRIPTING ------Sagar MungsE------ Shell Scripting Text files that contain sequences of UNIX commands, created by a text editor No compiler required to run a shell script, because the UNIX

More information

LINUX SHELL SCRIPTING

LINUX SHELL SCRIPTING LINUX SHELL SCRIPTING @Copyright 2015 1 1. Chapter 1: Quick Introduction to Linux What Is Linux? Who created Linux? Where can I download Linux? How do I Install Linux? Linux usage in everyday life What

More information

UNIT-1. C Programming & Data Structures. Introduction to Computers: Computing Environment: Types of Computing Environments:

UNIT-1. C Programming & Data Structures. Introduction to Computers: Computing Environment: Types of Computing Environments: Introduction to Computers: C Programming & Data Structures UNIT-1 A computer system consists of hardware and software. Computer hardware is the collection of physical elements that comprise a computer

More information