FEEG Applied Programming 5 - Tutorial Session

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "FEEG6002 - Applied Programming 5 - Tutorial Session"

Transcription

1 FEEG Applied Programming 5 - Tutorial Session Sam Sinayoko / 38

2 Outline Objectives Two common bugs General comments on style String formatting Questions? Summary 2 / 38

3 Objectives Revise code submitted during labs Understand and fix two common bugs Improve style Review string formatting Anwer questions 4 / 38

4 For loop bug Example for(s=1;s<25; s = s++) { printf("month %2d: debt=%.2f, interest=%.2f, " "total_interest=%7.2f, frac=%6.2f%%\n", s, b*(pow(1.03,s)), 30*(pow(1.03,s-1)), (b*(pow(1.03,s)))-b, (b*(pow(1.03,s))-b)/10); 6 / 38

5 For loop bug The "s = s++" puzzle int s=0; s = s++; /* Does this print 0 or 1? */ printf("%d\n", s); 0 Understanding "s = s++" /* Initialize old value of s */ old_s = 0 /* Assign it to s */ s = old_s /* 0 */ /* Increment old value of s */ old_s = old_s + 1 /* 1 */ 7 / 38

6 For loop bug Solutions Use postfix increment "s++" without assignment for (s = 1; s < 25; s++) Use "+=1" for (s = 1; s < 25; s += 1) Use prefix increment "++s" with (or without) assignment for (s = 1; s < 25; s = ++s) 8 / 38

7 The division bug Example Adapted from lab 3. List 10 numbers between XMIN and XMAX. #define N 10 #define XMIN 1 #define XMAX 10 int main(void) { double x; int i; for (i = 0; i <= N-1; i = i + 1){ x = XMIN + (XMAX - XMIN)/(N - 1) * i; printf("%3.2f ", x); return 0; / 38

8 The division bug Same program with XMIN=2 #define N 10 #define XMIN 2 #define XMAX 10 int main(void) { double x; int i; for (i = 0; i <= N-1; i = i + 1){ x = XMIN + (XMAX - XMIN)/(N - 1) * i; printf("%3.2f ", x); return 0; / 38

9 The division bug The division problem int x = 3; printf("%0.3f", / x ); / 38

10 The division bug Solution Input at least one decimal number "1.0" int x = 3; printf("%0.3f", / x); -0.0 Remark 1: "1.0" is better than "1." Remark 2: not a robust solution. May break code later by mistakenly replacing 1.0 by an integer value. 12 / 38

11 The division bug Better solution Cast the denominator to a (double) (Defensive programming). int x = 3; printf("%0.3f", / (double) x); / 38

12 The division bug Modified code (fixed) From lab 3. List 10 numbers between XMIN and XMAX. #define N 10 #define XMIN 2 #define XMAX 10 int main(void) { double x, y, dx; int i; for (i = 0; i <= N-1; i = i + 1){ dx = (XMAX - XMIN) / ((double) (N - 1)); x = XMIN + dx * i; printf("%3.2f ", x); return 0; / 38

13 Indentation Bad indentation int main(void){ int Lower=-30; int Upper=30; int step=2; int Celsius; float Fahrenheit; for (Celsius=Lower; Celsius<Upper+step; Celsius=Celsius+ste Fahrenheit=Celsius*( (float) 9/5)+32; printf("%3d = %5.1f",Celsius,Fahrenheit); printf("\n"); 16 / 38

14 Indentation Good indentation int main(void) { int Lower=-30; int Upper=30; int step=2; int Celsius; float Fahrenheit; for (Celsius=Lower; Celsius<Upper+step; Celsius=Celsius Fahrenheit=Celsius*( (float) 9/5)+32; printf("%3d = %5.1f",Celsius,Fahrenheit); printf("\n"); 17 / 38

15 Position of curly brackets Kernighan and Ritchie style Open curly bracket on next line for function but on the same line for control structures. int main() { for (...) {... if (...) { / 38

16 Position of curly brackets NASA style int main() { for (...) {... if (...) { / 38

17 Capital letters Too many capital letters float INI; float FAH; for (INI = -30; INI<32; INI = INI +2) { FAH = ((INI*9)/5) + 32; printf("%3.0f = %5.1f\n",INI, FAH); Reserve capital letters for: global variables 1 (to make them stand out); matrices or multi-dimensional arrays (to follow the notation in maths); 1 usually declared with #define (e.g. "#define XMIN 0") 19 / 38

18 White space Too much vertical white space int main( void ){ float i; float T; for (i=-30; i<=30; i = i + 2) { T = i*(9/(float)5)+32; printf("%3.0f = %5.1f\n",i,T); return 0; 20 / 38

19 White space Better use of vertical white space int main(void) { float i; float T; for (i=-30; i<=30; i = i + 2) { T = i*(9/(float)5)+32; printf("%3.0f = %5.1f\n",i,T); return 0; Adding vertical white space is like creating a new paragraph in prose. Group meaningful elements together. 21 / 38

20 White space White space around brackets No space need for extra spaces around brackets (except closing one) for functions int main(void) {... Operators and brackets Use spaces around operators (* + - / % \= < > += etc). Not enough whitespace: T = i*(9/(float)5)+32; More readable: T = i * (9 / (float) 5 ) + 32; 22 / 38

21 White space tip for renaming variable Hard (for computer) to differentiate variables with similar names. Example It s hard to rename the variable interest to something else with "replace all" in a text editor, because we would modify total_interest too. x=interest*debt + total_interest If we generally have whitespace around variable "interest", we can simply 2 search for " interest " (note the spaces) x = interest * debt + total_interest 2 To handle brackets, as in "(interest" or "interest)", you can use regular expressions. 23 / 38

22 Declaring variables within a loop int main(void) { int celsius; for(celsius=-30; celsius<=30; celsius+=2) { float fahrenheit = celsius*9/5. +32; printf("%3d = %5.1f\n", celsius, fahrenheit); return 0; A bit wasteful: the variable is declared at every single iteration. 24 / 38

23 Declaring variables within a loop (fixed) Declare the variables outside the loop. int main(void) { int celsius; float fahrenheit; for(celsius = -30; celsius <= 30; celsius += 2) { fahrenheit = celsius * 9 / ; printf("%3d = %5.1f\n", celsius, fahrenheit); return 0; 25 / 38

24 Precedence rules "* % /" come before "+" and "-". Put brackets around everything else. Example from lab 2 Unnecessary brackets: F =( ( c*9)/5.) +32; More readable version: F = c * 9 / ; 26 / 38

25 Precedence rules Casting example int x = 1; int y = 2; printf("%0.1f, %0.1f, %0.1f", (double) x / y, /* precedence rule? */ ((double) x) / y, /* this? */ (double) (x / y) /* or that? */ ); 0.5, 0.5, 0.0 In this case, to avoid any confusion, it is OK to use additionnal brackets around the numerator. 27 / 38

26 Variable names (example with single letter variables) What do i, s, t, and f represent? Need to refer to comments. Hard to modify with search & replace int N, i; float s, debt, rate, in, t, f; N = 25; /* number of months */ s = 1000; /* starting debt */ debt = s; rate = 0.03; t = 0; /* total interest */ f = 0; /* fraction of total interest to original d for (i=1; i<n; i=i+1) { printf("month %3d: debt=%7.2f, interest=%4.2f, " "total_interest=%7.2f, frac=%6.2f%%\n", i, debt, in, t, f); 28 / 38

27 Variable names (improved variable names) int month, nbmonths; float loan, debt; float rate, interest, total_interest, frac; nbmonths = 25; /* loan duration in months */ loan = 1000; /* loan amount */ debt = loan; /* current debt */ rate = 0.03; /* interest rate */ tot_interest = 0; /* total interest payed so far */ frac = 0; /* total interest / loan */ for (month = 1; month < nbmonths; month++) {... printf("month %3d: debt=%7.2f, interest=%4.2f, " "total_interest=%7.2f, frac=%6.2f%%\n", month, debt, interest, tot_interest, frac); 29 / 38

28 String formatting syntax Syntax is %[flags][width][.precision][length]type Example: parsing format string "%07.3lf" flag 0 (padd with zeros) width 7 (total width is 7) precision.3 (precision is 2) length l (long ) type f (double) # Using printf command in unix shell printf "%07.3lf" / 38

29 String formatting: width Tip: to practise/test your understanding, add the zero flag to visualize spaces. format variable flag(s) width printf(format, variable) %02d %03d %04d / 38

30 String formatting: flags 0 use 0 instead of spaces to pad the result + prefix by + or - depending on the number sign space prefix by a space before positive numbers - left align (default is right align) Example with integers Exercise: give the flag(s) corresponding to the format and predict the output for the given variable. format x flag(s) printf(format, x) %04d 3 %04d -3 %+04d 3 %+04d -3 % 04d 3 %-04d 3 33 / 38

31 String formatting: flags 0 use 0 instead of spaces to pad the result + prefix by + or - depending on the number sign space prefix by a space before positive numbers - left align (default is right align) Example with integers Solution: format x flag(s) printf(format, x) comment %04d %04d %+04d %+04d % 04d one space + two zeros %-04d three spaces after 3 33 / 38

32 String formatting: precision format precision printf(format, M_PI) 3 comment %4.2f %4.3f output width 5 not 4 %5.5f output width 7 not 5 %09.5f %02.0f 0 03 displays float as int Precision supercedes width if width is too small 3 : built-in library "math.h" includes variable M_PI that represents π. 34 / 38

33 Length h l L... for short integers for long / double arguments long doubles 35 / 38

34 Summary For loop "s = s++" bug Use "s++" Use "s = ++s" Use "s += 1" The division bug n / 3 Use n / 3.0 Use (double) n / 3.0 Use good style good indentation proper use of white space well place curly brackets meaningful variable names 38 / 38

CP Lab 2: Writing programs for simple arithmetic problems

CP Lab 2: Writing programs for simple arithmetic problems Computer Programming (CP) Lab 2, 2015/16 1 CP Lab 2: Writing programs for simple arithmetic problems Instructions The purpose of this Lab is to guide you through a series of simple programming problems,

More information

Lecture P1: Introduction to C

Lecture P1: Introduction to C Learning to Program Lecture P1: Introduction to C Programming is learned with practice and patience. Don t expect to learn solely from these lectures. Do exercises. Experiment and write lots of code. printf("this

More information

C Syntax and Semantics

C Syntax and Semantics C Syntax and Semantics 1 C Program Structure C Language Elements Preprocessor directives Function Header, and Function body Executable statements Reserved word, Standard identifiers, user defined identifiers

More information

Punctuation in C. Identifiers and Expressions. Identifiers. Variables. Keywords. Identifier Examples

Punctuation in C. Identifiers and Expressions. Identifiers. Variables. Keywords. Identifier Examples Identifiers and Expressions CSE 130: Introduction to C Programming Spring 2005 Punctuation in C Statements are terminated with a ; Groups of statements are enclosed by curly braces: { and } Commas separate

More information

Reading Assignment. Main Program in C. K.N. King Chapter 2. K.N. King Chapter 3. K.N. King Chapter 4. K.N. King Chapter 7. Our first C program

Reading Assignment. Main Program in C. K.N. King Chapter 2. K.N. King Chapter 3. K.N. King Chapter 4. K.N. King Chapter 7. Our first C program Reading Assignment Main Program in C In C the main program is a function called main The body of the function is enclosed in left ( ) and right ( ) curly braces. K.N. King Chapter 2 K.N. King Chapter 3

More information

C programming. Intro to syntax & basic operations

C programming. Intro to syntax & basic operations C programming Intro to syntax & basic operations Example 1: simple calculation with I/O Program, line by line Line 1: preprocessor directive; used to incorporate code from existing library not actually

More information

MPATE-GE 2618: C Programming for Music Technology. Unit 1.3

MPATE-GE 2618: C Programming for Music Technology. Unit 1.3 MPATE-GE 2618: C Programming for Music Technology Unit 1.3 More operators e ++ and -- are increment and decrement operators ++i or i++ is equivalent to i = i + 1; --i or i-- is equivalent to i = i - 1;

More information

The programming language C. sws1 1

The programming language C. sws1 1 The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan

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

INDEX. C programming Page 1 of 10. 5) Function. 1) Introduction to C Programming

INDEX. C programming Page 1 of 10. 5) Function. 1) Introduction to C Programming INDEX 1) Introduction to C Programming a. What is C? b. Getting started with C 2) Data Types, Variables, Constants a. Constants, Variables and Keywords b. Types of Variables c. C Keyword d. Types of C

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

LAB 1 REPRESENTATION OF NUMBERS AND INTRODUCTION TO C

LAB 1 REPRESENTATION OF NUMBERS AND INTRODUCTION TO C LAB 1 REPRESENTATION OF NUMBERS AND INTRODUCTION TO C 1. LAB OBJECTIVE The objective of this lab is to review binary numbers and to review/introduce you to the C programming language and the MATLAB environment.

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

Basic Common Unix commands: Change to directory d

Basic Common Unix commands: Change to directory d Basic Common Unix commands: cd d Change to directory d mkdir d rmdir d mv f1 [f2...] d mv d1 d2 ls [d] [f...] ls -1 [f...] vi [f] emacs [f] more f cp f1 f2 mv f1 f2 rm f gcc [-o f1] f2 gnuplot Create new

More information

The C Programming Language

The C Programming Language Chapter 1 The C Programming Language In this chapter we will learn how to write simple computer programs using the C programming language; perform basic mathematical calculations; manage data stored in

More information

Arrays. Arrays, Argument Passing, Promotion, Demotion

Arrays. Arrays, Argument Passing, Promotion, Demotion Arrays Arrays, Argument Passing, Promotion, Demotion Review Introduction to C C History Compiling C Identifiers Variables Declaration, Definition, Initialization Variable Types Logical Operators Control

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

Sources: On the Web: Slides will be available on:

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,

More information

CS 241 Data Organization Coding Standards

CS 241 Data Organization Coding Standards CS 241 Data Organization Coding Standards Brooke Chenoweth University of New Mexico Spring 2016 CS-241 Coding Standards All projects and labs must follow the great and hallowed CS-241 coding standards.

More information

CMSC 106 Introduction to C Programming

CMSC 106 Introduction to C Programming CMSC 106 Introduction to C Programming Math Library, Escape Sequences, Conditionals CMSC 106 - Slides developed by Jan Plane with some modifications by Nelson Padua-Perez Additional Operators Increment

More information

CSI 333 Lecture 2 Introduction to C: Part I 2 1 / 16

CSI 333 Lecture 2 Introduction to C: Part I 2 1 / 16 CSI 333 Lecture 2 Introduction to C: Part I 2 1 / 16 Basics of C Remark: Skim Chapters 1 through 6 of Deitel & Deitel. You will notice the following: C is (more or less) a subset of Java. (So, you are

More information

BSc (Hons) Computer Science with Network Security, BSc (Hons) Business Information Systems, BSc (Hons) Mathematics & BSc (Hons) Software Engineering

BSc (Hons) Computer Science with Network Security, BSc (Hons) Business Information Systems, BSc (Hons) Mathematics & BSc (Hons) Software Engineering BSc (Hons) Computer Science with Network Security, BSc (Hons) Business Information Systems, BSc (Hons) Mathematics & BSc (Hons) Software Engineering Cohort: BCNS/07/FT- BIS/07/FT- BIS/06/FT -BM/07/FT BSE/07/FT/PT-

More information

Install Java Development Kit (JDK) 1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.html

Install Java Development Kit (JDK) 1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.html CS 259: Data Structures with Java Hello World with the IntelliJ IDE Instructor: Joel Castellanos e-mail: joel.unm.edu Web: http://cs.unm.edu/~joel/ Office: Farris Engineering Center 319 8/19/2015 Install

More information

TOPICS IN C PROGRAMMING

TOPICS IN C PROGRAMMING TOPICS IN C PROGRAMMING By Bob Hain (ME Net) Introduction This document is not intended to be a text on C programming. Because many of you may not have had the opportunity to use or practice C programming,

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

CSCI 1301: Introduction to Computing and Programming Summer 2015 Project 1: Credit Card Pay Off

CSCI 1301: Introduction to Computing and Programming Summer 2015 Project 1: Credit Card Pay Off CSCI 1301: Introduction to Computing and Programming Summer 2015 Project 1: Credit Card Pay Off Introduction This project will allow you to apply your knowledge of variables, assignments, expressions,

More information

Pseudocode. Pseudocode. Guide for Pseudocode. Computers in Engineering Pseudocode and C Language Review. Example Pseudocode.

Pseudocode. Pseudocode. Guide for Pseudocode. Computers in Engineering Pseudocode and C Language Review. Example Pseudocode. Computers in Engineering Pseudocode and C Language Review Pseudocode Pseudocode is an artificial and informal language that helps you develop algorithms Pseudocode is similar to everyday English; it is

More information

Thinking in C. Darin Brezeale. March 25, 2010

Thinking in C. Darin Brezeale. March 25, 2010 Thinking in C Darin Brezeale March 25, 2010 NOTE: This is definitely a work in progress. 1 Introduction One of the most difficult parts of learning to program is knowing how to deconstruct a problem in

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

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

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

Overview of a C Program

Overview of a C Program Overview of a C Program Programming with C CSCI 112, Spring 2015 Patrick Donnelly Montana State University Programming with C (CSCI 112) Spring 2015 2 / 42 C Language Components Preprocessor Directives

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

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

General Software Development Standards and Guidelines Version 3.5

General Software Development Standards and Guidelines Version 3.5 NATIONAL WEATHER SERVICE OFFICE of HYDROLOGIC DEVELOPMENT Science Infusion Software Engineering Process Group (SISEPG) General Software Development Standards and Guidelines 7/30/2007 Revision History Date

More information

12 INPUT AND OUTPUT OF DATA

12 INPUT AND OUTPUT OF DATA 12 INPUT AND OUTPUT OF DATA 12.1 INTRODUCTION In C language input and output of data is done by a collection of library functions like getchar, putchar, scanf, printf, gets and puts. These functions permit

More information

Chapter 4 Operators & Arithmetic

Chapter 4 Operators & Arithmetic Chapter 4 Operators & Arithmetic 4-1 Arithmetic in C++ Arithmetic expressions can be made up of constants, variables, operators and parentheses. The arithmetic operators in C++ are as follows + (addition)

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

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

An Incomplete C++ Primer. University of Wyoming MA 5310

An Incomplete C++ Primer. University of Wyoming MA 5310 An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages

More information

Visual basic tutorial problems, developed by Dr. Clement,

Visual basic tutorial problems, developed by Dr. Clement, EXCEL Visual Basic Tutorial Problems (Version January, 2011) Dr. Prabhakar Clement Arthur H. Feagin Distinguished Chair Professor Department of Civil Engineering, Auburn University Home page: http://www.eng.auburn.edu/users/clemept/

More information

ECE 341 Coding Standard

ECE 341 Coding Standard Page1 ECE 341 Coding Standard Professor Richard Wall University of Idaho Moscow, ID 83843-1023 rwall@uidaho.edu August 27, 2013 1. Motivation for Coding Standards The purpose of implementing a coding standard

More information

Standard printing function in C is printf Prints everything numbers, strings, etc. May be complex to use. Standard C library is called libc

Standard printing function in C is printf Prints everything numbers, strings, etc. May be complex to use. Standard C library is called libc Arrays and Structs and Pointers, Oh My! Programming in C Input and output Using printf Standard input and output Pointers Arrays Structures Combining these things together Arrays and Structs and Pointers,

More information

PE1 Worksheet. 3) What are the three control structures for writing an algorithm in pseudocode?

PE1 Worksheet. 3) What are the three control structures for writing an algorithm in pseudocode? PE1 Worksheet Problem solving 1) What are the four stages of problem solving by programming? What shall be done in each stage? Stage 1: Stage 2: Stage 3: Stage 4: 2) What is the top-down design strategy

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

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London

More information

C A short introduction

C A short introduction About these lectures C A short introduction Stefan Johansson Department of Computing Science Umeå University Objectives Give a short introduction to C and the C programming environment in Linux/Unix Go

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

C Programming, Chapter 1: C vs. Java, Types, Reading and Writing

C Programming, Chapter 1: C vs. Java, Types, Reading and Writing C Programming, Chapter 1: C vs. Java, Types, Reading and Writing T. Karvi August 2013 T. Karvi C Programming, Chapter 1: C vs. Java, Types, Reading and Writing August 2013 1 / 1 C and Java I Although the

More information

A Rudimentary Intro to C programming

A Rudimentary Intro to C programming A Rudimentary Intro to C programming Wayne Goddard School of Computing, Clemson University, 2008 Part 1: Variables and Data-types 1 Getting Started............................... A1 2 Some Basics.................................

More information

JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4

JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4 JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4 NOTE: SUN ONE Studio is almost identical with NetBeans. NetBeans is open source and can be downloaded from www.netbeans.org. I

More information

Introduction to Programming Block Tutorial C/C++

Introduction to Programming Block Tutorial C/C++ Michael Bader Master s Program Computational Science and Engineering C/C++ Tutorial Overview From Maple to C Variables, Operators, Statements Functions: declaration, definition, parameters Arrays and Pointers

More information

Beyond the Mouse A Short Course on Programming

Beyond the Mouse A Short Course on Programming 1 / 22 Beyond the Mouse A Short Course on Programming 2. Fundamental Programming Principles I: Variables and Data Types Ronni Grapenthin Geophysical Institute, University of Alaska Fairbanks September

More information

What does the following code print? (Assume the program compiles without error). Trick question! Note the semicolon at the end of the second line.

What does the following code print? (Assume the program compiles without error). Trick question! Note the semicolon at the end of the second line. All multiple choice questions are equally weighted. You can generally assume that code shown in the questions is intended to be syntactically correct, unless something in the question or one of the answers

More information

Standard C Input/Output. Output: printf() Table of Contents

Standard C Input/Output. Output: printf() Table of Contents Standard C Input/Output 1 Output: printf() 2 Table of Contents Output: printf( ) - syntax & sematics Output: printf( ) - examples Output: printf( ) - format control Screen / Printer Control Input: scanf(

More information

Intermediate Python Tutorial

Intermediate Python Tutorial Intermediate Python Tutorial Python is free software and is an easy to learn powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented

More information

INTRODUCTION TO FLOWCHARTING

INTRODUCTION TO FLOWCHARTING CHAPTER 1 INTRODUCTION TO FLOWCHARTING 1.0 Objectives 1.1 Introduction 1.2 Flowcharts 1.3 Types of Flowcharts 1.3.1 Types of flowchart 1.3.2 System flowcharts 1.4 Flowchart Symbols 1.5 Advantages of Flowcharts

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

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

Programming Languages CIS 443

Programming Languages CIS 443 Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception

More information

Preface... 6 Preface to the first edition...8 Chapter 1 - A Tutorial Introduction...9 1.1 Getting Started...9 1.2 Variables and Arithmetic

Preface... 6 Preface to the first edition...8 Chapter 1 - A Tutorial Introduction...9 1.1 Getting Started...9 1.2 Variables and Arithmetic 1 Preface... 6 Preface to the first edition...8 Chapter 1 - A Tutorial Introduction...9 1.1 Getting Started...9 1.2 Variables and Arithmetic Expressions...11 1.3 The for statement...15 1.4 Symbolic Constants...17

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

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

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

Custom Javascript In Planning

Custom Javascript In Planning A Hyperion White Paper Custom Javascript In Planning Creative ways to provide custom Web forms This paper describes several of the methods that can be used to tailor Hyperion Planning Web forms. Hyperion

More information

Java How to Program, 9/e

Java How to Program, 9/e Java How to Program, 9/e Education, Inc. All Rights Reserved. 1 Any computing problem can be solved by executing a series of actions in a specific order. An algorithm is a procedure for solving a problem

More information

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

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR 603 203 DEPARTMENT OF COMPUTER APPLICATIONS QUESTION BANK IN REVISED BLOOM S TAXONOMY

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR 603 203 DEPARTMENT OF COMPUTER APPLICATIONS QUESTION BANK IN REVISED BLOOM S TAXONOMY ACADEMIC YEAR: 0 7 VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR 0 0 SEMESTER: ODD BRANCH: MCA YEAR: I SEMESTER: I SUBJECT CODE AND NAME: MC70 Problem Solving and Programming NAME OF THE FACULTY

More information

z = x + y * z / 4 % 2-1

z = x + y * z / 4 % 2-1 1.Which of the following statements should be used to obtain a remainder after dividing 3.14 by 2.1? A. rem = 3.14 % 2.1; B. rem = modf(3.14, 2.1); C. rem = fmod(3.14, 2.1); D. Remainder cannot be obtain

More information

Python as a First Programming Language

Python as a First Programming Language STEMBOPS Justin Stevens and Giselle Serate Page 1 Python as a First Programming Language Author: Justin Stevens Giselle Serate 1 Introduction STEMBOPS Davidson Academy of Nevada University of Nevada, Reno

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

Variables, types, and operators

Variables, types, and operators BUG_TRAP((int)tp->retrans_out >= 0); if (tp->packets_out==0 && tp->sack_ok) if (tp->lost_out) printk(kern_debug "Leak l=%u %d\n", tp->lost_out, tp->ca_state); tp->lost_out = 0; if (tp->sacked_out) printk(kern_debug

More information

JAVA PRIMITIVE DATA TYPE

JAVA PRIMITIVE DATA TYPE JAVA PRIMITIVE DATA TYPE Description Not everything in Java is an object. There is a special group of data types (also known as primitive types) that will be used quite often in programming. For performance

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

Some Scanner Class Methods

Some Scanner Class Methods Keyboard Input Scanner, Documentation, Style Java 5.0 has reasonable facilities for handling keyboard input. These facilities are provided by the Scanner class in the java.util package. A package is a

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

Programming 2. Style guide and good programming habits in C/C++

Programming 2. Style guide and good programming habits in C/C++ Programming 2 Style guide and good programming habits in C/C++ Introducción It s recommended to follow some style conventions when writing source code in any programming language. This allows you to write

More information

Chapter 3. Input and output. 3.1 The System class

Chapter 3. Input and output. 3.1 The System class Chapter 3 Input and output The programs we ve looked at so far just display messages, which doesn t involve a lot of real computation. This chapter will show you how to read input from the keyboard, use

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

CLEVELAND INSTITUTE OF ELECTRONICS A FIRST BOOK OF ANSI C, FOURTH EDITION LESSONS 9201C TO 9210C

CLEVELAND INSTITUTE OF ELECTRONICS A FIRST BOOK OF ANSI C, FOURTH EDITION LESSONS 9201C TO 9210C CLEVELAND INSTITUTE OF ELECTRONICS A FIRST BOOK OF ANSI C, FOURTH EDITION LESSONS 9201C TO 9210C 0 Study Guide to accompany A First Book of ANSI C, Fourth Edition By Gary J. Bronson ISBN: 1418835560 ISBN

More information

PRI-(BASIC2) Preliminary Reference Information Mod date 3. Jun. 2015

PRI-(BASIC2) Preliminary Reference Information Mod date 3. Jun. 2015 PRI-(BASIC2) Table of content Introduction...2 New Comment...2 Long variable...2 Function definition...3 Function declaration...3 Function return value...3 Keyword return inside functions...4 Function

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

IN THIS CHAPTER,YOU ARE INTRODUCED to the C language so that you can see what

IN THIS CHAPTER,YOU ARE INTRODUCED to the C language so that you can see what 3 Compiling and Running Your First Program IN THIS CHAPTER,YOU ARE INTRODUCED to the C language so that you can see what programming in C is all about.what better way to gain an appreciation for this language

More information

Fundamentals of Python: First Programs. Chapter 3: Control Statements modifications by Mr. Dave Clausen

Fundamentals of Python: First Programs. Chapter 3: Control Statements modifications by Mr. Dave Clausen Fundamentals of Python: First Programs Chapter 3: Control Statements modifications by Mr. Dave Clausen Objectives After completing this chapter, you will be able to: Write a loop to repeat a sequence of

More information

Computer Science 1 CSci 1100 Lecture 3 Python Functions

Computer Science 1 CSci 1100 Lecture 3 Python Functions Reading Computer Science 1 CSci 1100 Lecture 3 Python Functions Most of this is covered late Chapter 2 in Practical Programming and Chapter 3 of Think Python. Chapter 6 of Think Python goes into more detail,

More information

C Coding Style Guide. Technotes, HowTo Series. 1 About the C# Coding Style Guide. 2 File Organization. Version 0.3. Contents

C Coding Style Guide. Technotes, HowTo Series. 1 About the C# Coding Style Guide. 2 File Organization. Version 0.3. Contents Technotes, HowTo Series C Coding Style Guide Version 0.3 by Mike Krüger, mike@icsharpcode.net Contents 1 About the C# Coding Style Guide. 1 2 File Organization 1 3 Indentation 2 4 Comments. 3 5 Declarations.

More information

C AND C++ PROGRAMMING

C AND C++ PROGRAMMING C AND C++ PROGRAMMING Bharathidasan University A Courseware prepared by University Informatics Centre Part I - Programming in C Getting Started This courseware is intended to be an introduction to C programming

More information

OSMIC. CSoft ware. C Language manual. Rev Copyright COSMIC Software 1999, 2003 All rights reserved.

OSMIC. CSoft ware. C Language manual. Rev Copyright COSMIC Software 1999, 2003 All rights reserved. OSMIC CSoft ware C Language manual Rev. 1.1 Copyright COSMIC Software 1999, 2003 All rights reserved. Table of Contents Preface Chapter 1 Historical Introduction Chapter 2 C Language Overview C Files...2-1

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

The if-statement. Simple and compound statements. The if-statement comes in two forms: Simple statements:

The if-statement. Simple and compound statements. The if-statement comes in two forms: Simple statements: 1 2 Simple and compound s The if- Simple s: E.g.: expression; Various jumps : break, goto, continue, return. k = a * p + 3; printf("k = %d\n", k); 1 + 2; ; The if- comes in two forms: or E.g.: if (expression)

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

Outline TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA. What is DrJava? Dr Java

Outline TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA. What is DrJava? Dr Java 1 Outline TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson, and instructor materials prepared

More information

3) Some coders debug their programs by placing comment symbols on some codes instead of deleting it. How does this aid in debugging?

3) Some coders debug their programs by placing comment symbols on some codes instead of deleting it. How does this aid in debugging? Freshers Club Important 100 C Interview Questions & Answers 1) How do you construct an increment statement or decrement statement in C? There are actually two ways you can do this. One is to use the increment

More information

C++ Basics. C++ Basics: Names: Identifiers. Names: Identifiers. Display 2.1 A C++ Program (1 of 2) Display 2.1 A C++ Program (2 of 2)

C++ Basics. C++ Basics: Names: Identifiers. Names: Identifiers. Display 2.1 A C++ Program (1 of 2) Display 2.1 A C++ Program (2 of 2) C++ Basics C++ Basics: 2.1 Variables and Assignments Variables and Assignments Input and Output Data Types and Expressions Simple Flow of Control Program Style A C++ variable can hold a number or other

More information

E91 Embedded System. Intro

E91 Embedded System. Intro E91 Embedded System Intro Why embedded systems? Big bang-for-the-buck buck by adding some intelligence to systems. Embedded Systems are ubiquitous. Embedded Systems more common as prices drop, and power

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

Lecture 03 Bits, Bytes and Data Types

Lecture 03 Bits, Bytes and Data Types Lecture 03 Bits, Bytes and Data Types In this lecture Computer Languages Assembly Language The compiler Operating system Data and program instructions Bits, Bytes and Data Types ASCII table Data Types

More information

Birla Institute of Technology &Science, Pilani Computer Programming (CS F111) Second Semester Lab-3 (Introduction to C Programming Language)

Birla Institute of Technology &Science, Pilani Computer Programming (CS F111) Second Semester Lab-3 (Introduction to C Programming Language) Topics to be covered: 1. C Program structure and execution 2. Data type 3. Reading input and printing output 4. Expression 5. Operator precedency 6. Typecasting Birla Institute of Technology &Science,

More information

Do not open the exam until instructed

Do not open the exam until instructed Ryerson University Department of Computer Science CPS125 Winter 2009 Final Exam April 27, 2009 12 p.m. - Duration: 120 minutes Family Name: Given Name: Student #: Section number : Your Ryerson E-mail:

More information