File Input and Output

Size: px
Start display at page:

Download "File Input and Output"

Transcription

1 5. Input and Output

2 File Input and Output read(i,j) write(i,j) j is the statement number of format statement. i is the I/O unit or logical unit associated with device or file. non-negative integer from 0 to (the maximum 4-byte integer value). Usually, I/O unit 5 is reserved for default input device, 6 is reserved for default output device, 0 is reserved for error display. If I/O unit i is not associated with any device or file, fort.i will be the external filename.

3 Example: program test_io_unit implicit none real :: pi = write(*,*) 'I/O unit=*', pi write(0,*) 'I/O unit=0', pi write(6,*) 'I/O unit=6', pi write(91,*) 'I/O unit=91', pi write( ,*) 'I/O unit= ', pi end program Output on screen: I/O unit=* I/O unit= I/O unit= Output to two files: fort.91 I/O unit= fort I/O unit=

4 Formats and Formatted WRITE statements Free format WRITE write(*,*) 'The result for iteration ', iter, ' is ', result Output on screen: The result for iteration 21 is Formatted WRITE write(*,100) iter, result 100 format (' The result for iteration ', I3, ' is ', F7.3) Output on screen: The result for iteration 21 is I3 F7.3 format descriptors for the integer variable iter and real variable result

5 Format in FORMAT statement : write(*,120) ' The result for iteration ', iter, ' is ', result 120 format (A26,I3,A4,F7.3) write(*,110) iter, result 110 format (' The result for iteration ', I3, ' is ', F7.3) Format in character constant : write(*,'(a26,i3,a4,f7.3)') & ' The result for iteration ', iter, ' is ', result Format in character variable : character(len=20) :: string string = '(A26,I3,A4,F7.3)' write(*,string) ' The result for iteration ', iter, ' is ', result

6 Format Descriptors I descriptor riw[.m] Example: r: repeat count w: field width m: minimum number of digits to be displayed integer :: m = -12, n = 0, k = write(*,200) m, n, k 200 format(2i5, I10) write(*,201) m, n, k 201 format(2i5.0, I10.8) write(*,202) m, n, k 202 format(2i5.3, I5) * * * * *

7 F descriptor rfw.d r: repeat count w: field width d: number of digits to right of decimal place Example: real :: pi = write(*,101) pi, pi 101 format(f7.3, F10.8)

8 Example: real :: a = -12.3, b =.123, c = write(*,200) a, b, c 200 format(3f10.3) write(*,201) a, b, c 201 format(3f10.2) write(*,202) a, b, c 202 format(2f6.3, F8.3) * * * * * *

9 E descriptor rew.d r: repeat count w: field width d: number of digits to right of decimal place ±0.ddddE±ee (w d+7) Example: a = E6 b = c = -12.3E10 write(*,'(e14.4)') a write(*,'(e14.4)') b write(*,'(e13.6)') c write(*,'(e11.6)') c E E E * * * * * * * * * * *

10 ES descriptor (scientific notation) resw.d r: repeat count w: field width d: number of digits to right of decimal place ±x.dddde±ee (w d+7) Example: a = E6 b = c = -12.3E10 write(*,'(es14.4)') a write(*,'(es14.4)') b write(*,'(es12.6)') c E E * * * * * * * * * * * *

11 A descriptor (for character I/O) ra[w] r: repeat count w: the width of field (is the same as the number of characters) Example: character(len=17) :: string = 'This is a string.' write(*,'(a)') string write(*,'(a20)') string writ(*,'(a6)') string T h i s i s a s t r i n g. T h i s i s a s t r i n g. T h i s i

12 X and T descriptor (for horizontal position) nx n: number of blanks to insert Tc c: column number to go to Example: character(len=10) :: first_name = 'James ' character :: initial = 'R' character(len=16) :: last_name = 'Johnson ' character(len=9) :: class = 'ESOE 2015' integer :: grade = 92 write(*,100) first_name, initial, last_name, grade, class 100 format(a10, 1X, A1, 1X, A10, 4X, I3, T50, A9) James R Johnson 92 ESOE A10 1X 1X A10 4X I3 A9 A1 T50

13 Notes: Repeating groups of format descriptors 320 format(1x, I6, I6, F10.2, F10.2, I6, F10.2, F10.2) 320 format(1x, I6, 2(I6, 2F10.2)) Changing output lines: "/" descriptor i = 4 j = 5 write(*,'(i3,i3)') i, j write(*,'(i3/i3)') i, j

14 5a. More on Input and Output

15 Data Files and File processing READ(i,j) WRITE(i,j) j is the statement number of format statement i is the I/O unit or logical unit associated with device or file. Usually, I/O unit 5 is reserved for default input device, 6 is reserved for default output device, 0 is reserved for error display. If the I/O unit i is not associated with any device or file, fort.i will be the external filename. To use external file with name different from fort.i, we need to select the data file and to read from or write to the file. These statements include: OPEN: associate a file with a I/O unit number CLOSE: end the association of a file with the I/O unit number REWIND: move to the beginning of a file BACKSPACE: move back one record in a file

16 OPEN & CLOSE statements open a file for input: Ex: integer :: ierror real :: a(10) open(unit=8, file='input.dat', status='old', & & action='read', iostat=ierror) read(8,*) (a(i), i = 1,10)! read a(1) to a(10) from input.dat close(unit=8) open a file for output: Ex: integer :: ierror, n_unit=9 real :: a(10) character(len=7) :: data_name='out.dat' open(unit=n_unit, file=data_name, status='new', & & action='write', iostat=ierror) write(n_unit,*) (a(i), i = 1,10)! write a(1) to a(10) to output.dat close(unit=n_unit)

17 OPEN (open_list) commonly used clauses of open_list : OPEN (unit=int_expr, file=char_expr1, status=char_expr2, & & action=char_expr3, iostat=int_var) unit=int_expr to indicate the I/O unit number file=char_expr1 to specify the filename to be input/output status=char_expr2 char_expr2 is one of 'OLD', 'NEW', 'REPLACE', 'SCRATCH', 'UNKNOW' action=char_expr3 char_expr3 is one of 'READ', 'WRITE', 'READWRITE' iostat=int_var if the open statement execute successfully, 0 is assigned to int_var, otherwise position number is assigned.

18 Ex: open(unit=8, file='input.dat', status='old', & & action='read', iostat=ierror) The existing file input.dat is opened and assigned to logical unit 8. status='old' indicates the file already exits; if it does not, an error code is assigned to ierror action='read' the file should be read-only; if an attempt is made to write to the file, an error code is assigned to ierror Ex: integer :: ierror, n_unit=9 character(len=7) :: data_name='out.dat' open(unit=n_unit, file=data_name, status='new', & & action='write', iostat=ierror) A new file OUT.DAT is opened and assigned to logical unit 9. status='new' indicates the file is new; if it already exits, an error code is assigned to ierror. If status='replace', a new file is open for output whether a file by the same name exits or not. action='write' the file should be write-only Ex: open(unit=12, status='scratch', iostat=ierror) status='scratch' means the file is a temporary file; it will be deleted automatically once the file is closed or the program terminates. If the file is for scratch, no file name should be specified in OPEN statement.

19 IOSTAT= clause in READ statement READ(i, j, iostat=int_var) iostat=int_var is not present in READ, the program will abort on an attempt to read beyond the end of a file. iostat=int_var is present in READ: if the READ statement is successfully, a 0 is assigned to the variable int_var; if read beyond the end of a file, a negative number is assigned and the program continues ; if file or format error occurs, a positive number is assigned and the program continues. Ex:! read unknown number of data from a file real :: a(1000), tmp integer :: nvar=0, iopen, iread open(unit=8, file='input.dat', status='old', iostat=iopen) if(iopen == 0) then! iopen=0 means open file successfully do read(8,*,iostat=iread) tmp! iread=0 means read successfully if(iread < 0) exit nvar=nvar+1 a(nvar)=tmp end do end if...

20 ! Open input data file. OPEN ( UNIT=9, FILE=filename, STATUS='OLD', ACTION='READ', & & IOSTAT=status ) Continued on next page... Example: read values from an input data set, sort the data into ascending order PROGRAM sort1!! Read in a input data set, sort it into ascending order using the! selection sort algorithm, and write the sorted data to the! standard output device.! IMPLICIT NONE INTEGER, PARAMETER :: MAX_SIZE = 1000! Maximum input data set size REAL, DIMENSION(MAX_SIZE) :: a! Data array to sort CHARACTER(len=20) :: filename! Input data file name INTEGER :: i! Loop index INTEGER :: iptr! Pointer to smallest value INTEGER :: j! Loop index INTEGER :: nvals = 0! Number of data values to sort INTEGER :: status! I/O status: 0 for success REAL :: temp! Temporary variable for swapping! Get the name of the file containing the input data. WRITE (*,1000) 1000 FORMAT ('Enter the file name with the data to be sorted: ') READ (*,'(A20)') filename

21 ! Was the OPEN successful? fileopen: IF ( status == 0 ) THEN! Read the data DO READ (9, *, IOSTAT=status) temp IF ( status /= 0 ) EXIT nvals = nvals + 1 a(nvals) = temp END DO! Open successful! Exit on end of data file! Number of data count! Save value in array! Sort the data outer: DO i = 1, nvals-1! Find the minimum value in a(i) through a(nvals) iptr = i inner: DO j = i+1, nvals minval: IF ( a(j) < a(iptr) ) THEN iptr = j END IF minval END DO inner! iptr points to the minimum, swap a(iptr) with a(i) if i /= iptr swap: IF ( i /= iptr ) THEN temp = a(i) a(i) = a(iptr) a(iptr) = temp END IF swap END DO outer Continued on next page...

22 ! Now write out the sorted data. WRITE (*,'(1X,A)') 'The sorted output data values are: ' WRITE (*,'(4X,F10.4)') ( a(i), i = 1, nvals ) ELSE fileopen! Else file open failed. Tell user. WRITE (*,1050) status 1050 FORMAT (1X,'File open failed--status = ', I6) END IF fileopen END PROGRAM sort1

23 Exercise Table of Logarithms : Write a Fortran program to generate a table of the base 10 logarithms between 1.0 and 10.9 in steps of 0.1. Output the table to file log_tab.dat. The table should be organized as follows: X. 0 X. 1 X. 2 X. 3 X. 4 X. 5 X. 6 X. 7 X. 8 X

24

Basic Fortran I/O Concepts

Basic Fortran I/O Concepts Basic Fortran I/O Concepts LECTURE OUTLINE Free versus Directed I/O Edit Descriptors Carriage Control Numeric Control Character Control Spacing Control Repeat Specifier Read and Write to Files Examples!!

More information

8-1-1 The open statement

8-1-1 The open statement Fortran Chapter 8 讀 讀 讀 兩 (1) 讀 讀 來 讀 料 (2) 讀 讀 來 讀 (1) 料都 理 來 易 (2) 料 ( ) 讀 省 1 8-1-1 The open statement OPEN(unit = int_expr, file = char_expr, status = char_expr, action = char_expr, iostat = int_var)

More information

NO CALCULATOR ALLOWED!!

NO CALCULATOR ALLOWED!! CPSC 203 500 EXAM TWO Fall 2005 NO CALCULATOR ALLOWED!! Full Name (Please Print): UIN: Score Possible Points Prog Points Part One 33 pts Part Two 30 pts Part Three 20 pts Part Four 25 pts Total 108 pts

More information

Declaration and Initialization

Declaration and Initialization 6. Arrays Declaration and Initialization a1 = sqrt(a1) a2 = sqrt(a2) a100 = sqrt(a100) real :: a(100) do i = 1, 100 a(i) = sqrt(a(i)) Declaring arrays real, dimension(100) :: a real :: a(100) real :: a(1:100)!

More information

FORTRAN 90: Formatted Input/Output. Meteorology 227 Fall 2018

FORTRAN 90: Formatted Input/Output. Meteorology 227 Fall 2018 FORTRAN 90: Formatted Input/Output Meteorology 227 Fall 2018 Formatted Output Two output statements in FORTRAN PRINT and WRITE PRINT format-descriptor, output-list What is a format descriptor? * A character

More information

Introduction to Fortran Programming. - input / output -

Introduction to Fortran Programming. - input / output - Introduction to Fortran Programming - input / output - read statement Grammar read(unit numbers, Format) Input1, Input2, Substitute "UNIT numbers" into "Input target" according to "format" UNIT=* or 5

More information

write (unit=*,fmt=*) i =, i! will print: i = 3

write (unit=*,fmt=*) i =, i! will print: i = 3 I/O (F book, chapters 9, 10 and 15) All I/O in Fortran90 is record-based, typically with record delimiters of some kind. This is in contrast to C, which has stream I/O, with no record delimiters required.

More information

Lecture-6 Lubna Ahmed

Lecture-6 Lubna Ahmed Lecture-6 Lubna Ahmed 1 Input/output Input/output List directed input/output Formatted (or user formatted) input/output 2 List directed Input/output Statements List directed I/O are said to be in free

More information

7. Procedures and Structured Programming

7. Procedures and Structured Programming 7. Procedures and Structured Programming ONE BIG PROGRAM external procedure: separated small and reusable program units to conduct individual subtasks smaller main program Each program unit can be debugged

More information

C for Engineers and Scientists

C for Engineers and Scientists C for Engineers and Scientists An Interpretive Approach Harry H. Cheng University of California, Davis 0.8 0.6 j0(t) j1(t) j2(t) j3(t) 0.4 Bessel functions 0.2 0-0.2-0.4-0.6 1 2 3 4 5 6 7 8 9 10 t Copyright

More information

1 Characters & Strings in Fortran

1 Characters & Strings in Fortran Handout Four March 2, 2006 1 Characters & Strings in Fortran 1.1 Declaration In handout two of your notes (section 2.3) you were briefly shown how to declare various character types. A table similar to

More information

Edit Descriptors. Decimal form. Fw.d Exponential form Ew.d Ew.dEe Scientific form ESw.d ESw.dEe Engineering form ENw.d ENw.dEe.

Edit Descriptors. Decimal form. Fw.d Exponential form Ew.d Ew.dEe Scientific form ESw.d ESw.dEe Engineering form ENw.d ENw.dEe. Format Edit Descriptors 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

More information

Sorting Pearson Education, Inc. All rights reserved.

Sorting Pearson Education, Inc. All rights reserved. 1 19 Sorting 2 19.1 Introduction (Cont.) Sorting data Place data in order Typically ascending or descending Based on one or more sort keys Algorithms Insertion sort Selection sort Merge sort More efficient,

More information

Computational Methods of Scientific Programming. Lecturers Thomas A Herring Chris Hill

Computational Methods of Scientific Programming. Lecturers Thomas A Herring Chris Hill 12.010 Computational Methods of Scientific Programming Lecturers Thomas A Herring Chris Hill Review of last lecture Start examining the FORTRAN language Development of the language Philosophy of language:

More information

ADVANCED INPUT AND OUTPUT FORTRAN PROGRAMMING. Zerihun Alemayehu AAiT.CED Rm E119B

ADVANCED INPUT AND OUTPUT FORTRAN PROGRAMMING. Zerihun Alemayehu AAiT.CED Rm E119B ADVANCED INPUT AND OUTPUT FORTRAN PROGRAMMING Zerihun Alemayehu AAiT.CED Rm E119B SIMPLE INPUT AND OUTPUT READ, WRITE and PRINT statements are called list-directed READ*, a, b, c READ(*,*) a, b, c PRINT*,

More information

Outline. Computer Science 331. Three Classical Algorithms. The Sorting Problem. Classical Sorting Algorithms. Mike Jacobson. Description Analysis

Outline. Computer Science 331. Three Classical Algorithms. The Sorting Problem. Classical Sorting Algorithms. Mike Jacobson. Description Analysis Outline Computer Science 331 Classical Sorting Algorithms Mike Jacobson Department of Computer Science University of Calgary Lecture #22 1 Introduction 2 3 4 5 Comparisons Mike Jacobson (University of

More information

Worksheet 6. Input and Output

Worksheet 6. Input and Output Worksheet 6. Input and Output Most programs (except those that run other programs) contain input or output. Both fortran and matlab can read and write binary files, but we will stick to ascii. It is worth

More information

Our Strategy for Learning Fortran 90

Our Strategy for Learning Fortran 90 Our Strategy for Learning Fortran 90 We want to consider some computational problems which build in complexity. evaluating an integral solving nonlinear equations vector/matrix operations fitting data

More information

CS1073 Exam 3, Fall 2009 page 1. Important test instructions code fragments

CS1073 Exam 3, Fall 2009 page 1. Important test instructions code fragments CS1073 Exam 3, Fall 2009 page 1 Name (please print): Important test instructions code fragments Throughout this exam, you will be asked to write a code fragment based on certain assumptions (eg., assume

More information

COMP2611: Computer Organization. Data Representation

COMP2611: Computer Organization. Data Representation COMP2611: Computer Organization Comp2611 Fall 2015 2 1. Binary numbers and 2 s Complement Numbers 3 Bits: are the basis for binary number representation in digital computers What you will learn here: How

More information

Computational Astrophysics AS 3013 Lecture 6:

Computational Astrophysics AS 3013 Lecture 6: Computational Astrophysics AS 3013 Lecture 6: 1) formated input/output 2) file input/output 3) safety checks FORTRAN 90: formatted input/output list-directed (or default) format READ *, variable list PRINT

More information

Assertions & Verification & Example Loop Invariants Example Exam Questions

Assertions & Verification & Example Loop Invariants Example Exam Questions 2014 November 27 1. Assertions & Verification & Example Loop Invariants Example Exam Questions 2. A B C Give a general template for refining an operation into a sequence and state what questions a designer

More information

Assertions & Verification Example Exam Questions

Assertions & Verification Example Exam Questions 2009 November 23 Assertions & Verification Example Exam Questions 1. 2. A B C Give a general template for refining an operation into a sequence and state what questions a designer must answer to verify

More information

Introduction to FORTRAN. Structured Programming

Introduction to FORTRAN. Structured Programming Introduction to by Dr. Ibrahim A. Assakkaf Spring 2000 Department of Civil and Environmental Engineering University of Maryland Slide No. 1 Control Structures In a structured program, the logical flow

More information

A. Run-Time Error Messages

A. Run-Time Error Messages Appendix A A. Table A-1 lists possible Fortran run-time I/O errors. Other errors given by the operating system may also occur (refer to the intro(2) and perror(3f) reference pages for details). Each error

More information

Problem 1: Hello World!

Problem 1: Hello World! Problem 1: Hello World! Instructions This is the classic first program made famous in the early 70s. Write the body of the program called Problem1 that prints out The text must be terminated by a new-line

More information

WYSE Academic Challenge 2002 Computer Science Test (Sectional) SOLUTION

WYSE Academic Challenge 2002 Computer Science Test (Sectional) SOLUTION Computer Science - 1 WYSE Academic Challenge 2002 Computer Science Test (Sectional) SOLUTION 1. Access to moving head disks requires three periods of delay before information is brought into memory. The

More information

Chapter 3. Fortran Statements

Chapter 3. Fortran Statements Chapter 3 Fortran Statements This chapter describes each of the Fortran statements supported by the PGI Fortran compilers Each description includes a brief summary of the statement, a syntax description,

More information

Basic Fortran Programming. National Computational Infrastructure

Basic Fortran Programming. National Computational Infrastructure Basic Fortran Programming National Computational Infrastructure Outline Introduction Declaration Arithmetic Do Loops Conditionals Functions I/O Libraries End 2 / 56 Fortran Programming Language Fortran

More information

Remember to also pactice: Homework, quizzes, class examples, slides, reading materials.

Remember to also pactice: Homework, quizzes, class examples, slides, reading materials. Exam 1 practice problems Remember to also pactice: Homework, quizzes, class examples, slides, reading materials. P1 (MC) For all the questions below (except for the True or False questions), the answer

More information

ECE/CS 552: Introduction to Computer Architecture ASSIGNMENT #1 Due Date: At the beginning of lecture, September 22 nd, 2010

ECE/CS 552: Introduction to Computer Architecture ASSIGNMENT #1 Due Date: At the beginning of lecture, September 22 nd, 2010 ECE/CS 552: Introduction to Computer Architecture ASSIGNMENT #1 Due Date: At the beginning of lecture, September 22 nd, 2010 This homework is to be done individually. Total 9 Questions, 100 points 1. (8

More information

Example Algorithms. CSE 2320 Algorithms and Data Structures Alexandra Stefan. University of Texas at Arlington. Last updated 9/7/2016

Example Algorithms. CSE 2320 Algorithms and Data Structures Alexandra Stefan. University of Texas at Arlington. Last updated 9/7/2016 Example Algorithms CSE 2320 Algorithms and Data Structures Alexandra Stefan University of Texas at Arlington Last updated 9/7/2016 1 Summary Binary Search See the notation conventions (e.g. log 2 N = lg

More information

ECE 2400 Computer Systems Programming Fall 2017 Topic 10: Sorting Algorithms

ECE 2400 Computer Systems Programming Fall 2017 Topic 10: Sorting Algorithms ECE 2400 Computer Systems Programming Fall 2017 Topic 10: Sorting Algorithms School of Electrical and Computer Engineering Cornell University revision: 2017-10-18-17-51 1 Insertion Sort 3 1.1. Out-of-Place

More information

STRING Represents group of characters Each character 1 byte CIE, AB304 BOOLEAN Logical Datatype, return true or False Memory Required 1

STRING Represents group of characters Each character 1 byte CIE, AB304 BOOLEAN Logical Datatype, return true or False Memory Required 1 2.2 Data representation 2.2.1 Data types A data type is a method of interpreting a pattern of bits. There are numerous different data types but here explained ones are according to CIE syllabus: Integer

More information

ESCI 386 IDL Programming for Advanced Earth Science Applications Lesson 7 Input/Output

ESCI 386 IDL Programming for Advanced Earth Science Applications Lesson 7 Input/Output ESCI 386 IDL Programming for Advanced Earth Science Applications Lesson 7 Input/Output Reading: Bowman, Chapters 10-12 READING FROM THE TERMINAL The READ procedure is used to read from the terminal. IDL

More information

CMPT 102 Introduction to Scientific Computer Programming. Input and Output. Your first program

CMPT 102 Introduction to Scientific Computer Programming. Input and Output. Your first program CMPT 102 Introduction to Scientific Computer Programming Input and Output Janice Regan, CMPT 102, Sept. 2006 0 Your first program /* My first C program */ /* make the computer print the string Hello world

More information

CS 115 Exam 3, Spring 2010

CS 115 Exam 3, Spring 2010 Your name: Rules You must briefly explain your answers to receive partial credit. When a snippet of code is given to you, you can assume o that the code is enclosed within some function, even if no function

More information

Lecture 6 Sorting and Searching

Lecture 6 Sorting and Searching Lecture 6 Sorting and Searching Sorting takes an unordered collection and makes it an ordered one. 1 2 3 4 5 6 77 42 35 12 101 5 1 2 3 4 5 6 5 12 35 42 77 101 There are many algorithms for sorting a list

More information

Solutions for Chapter 2 Exercises

Solutions for Chapter 2 Exercises Solutions for Chapter 2 Exercises 1 Solutions for Chapter 2 Exercises 2.2 By lookup using the table in Figure 2.5 on page 62, 7fff fffa hex = 0111 1111 1111 1111 1111 1111 1111 1010 two = 2,147,483,642

More information

Sorting Algorithms part 1

Sorting Algorithms part 1 Sorting Algorithms part 1 1. Bubble sort Description Bubble sort is a simple sorting algorithm. It works by repeatedly stepping through the array to be sorted, comparing two items at a time, swapping these

More information

Introduction to Modern Fortran

Introduction to Modern Fortran Introduction to Modern Fortran p. 1/?? Introduction to Modern Fortran Advanced I/O and Files Nick Maclaren Computing Service nmm1@cam.ac.uk, ext. 34761 November 2007 Introduction to Modern Fortran p. 2/??

More information

LECTURE 17. Array Searching and Sorting

LECTURE 17. Array Searching and Sorting LECTURE 17 Array Searching and Sorting ARRAY SEARCHING AND SORTING Today we ll be covering some of the more common ways for searching through an array to find an item, as well as some common ways to sort

More information

Searching Algorithms/Time Analysis

Searching Algorithms/Time Analysis Searching Algorithms/Time Analysis CSE21 Fall 2017, Day 8 Oct 16, 2017 https://sites.google.com/a/eng.ucsd.edu/cse21-fall-2017-miles-jones/ (MinSort) loop invariant induction Loop invariant: After the

More information

Chapter 2: Complexity Analysis

Chapter 2: Complexity Analysis Chapter 2: Complexity Analysis Objectives Looking ahead in this chapter, we ll consider: Computational and Asymptotic Complexity Big-O Notation Properties of the Big-O Notation Ω and Θ Notations Possible

More information

Data Types and Basic Calculation

Data Types and Basic Calculation Data Types and Basic Calculation Intrinsic Data Types Fortran supports five intrinsic data types: 1. INTEGER for exact whole numbers e.g., 1, 100, 534, -18, -654321, etc. 2. REAL for approximate, fractional

More information

Overview of C, Part 2. CSE 130: Introduction to Programming in C Stony Brook University

Overview of C, Part 2. CSE 130: Introduction to Programming in C Stony Brook University Overview of C, Part 2 CSE 130: Introduction to Programming in C Stony Brook University Integer Arithmetic in C Addition, subtraction, and multiplication work as you would expect Division (/) returns the

More information

9 APPLICATION DEVELOPMENT: SORT & SEARCH

9 APPLICATION DEVELOPMENT: SORT & SEARCH ninth Sorting 174 9 APPLICATION DEVELOPMENT: SORT & SEARCH In this chapter, we introduce a number of applications developed in FORTRAN. The methodology we follow to develop these applications will be shown

More information

Wawrzynek & Weaver CS 61C. Sp 2018 Great Ideas in Computer Architecture MT 1. Print your name:,

Wawrzynek & Weaver CS 61C. Sp 2018 Great Ideas in Computer Architecture MT 1. Print your name:, Wawrzynek & Weaver CS 61C Sp 2018 Great Ideas in Computer Architecture MT 1 Print your name:, (last) (first) I am aware of the Berkeley Campus Code of Student Conduct and acknowledge that any academic

More information

Lecture Notes on Sorting

Lecture Notes on Sorting Lecture Notes on Sorting 15-122: Principles of Imperative Computation Frank Pfenning Lecture 4 September 2, 2010 1 Introduction Algorithms and data structures can be evaluated along a number of dimensions,

More information

Design and Analysis of Algorithms PART III

Design and Analysis of Algorithms PART III Design and Analysis of Algorithms PART III Dinesh Kullangal Sridhara Pavan Gururaj Muddebihal Counting Sort Most of the algorithms cannot do better than O(nlogn). This algorithm assumes that each input

More information

Lesson #1: Exponential Functions and Their Inverses Day 2

Lesson #1: Exponential Functions and Their Inverses Day 2 Unit 5: Logarithmic Functions Lesson #1: Exponential Functions and Their Inverses Day 2 Exponential Functions & Their Inverses Exponential Functions are in the form. The inverse of an exponential is a

More information

Fortran's Relevance Today and in the Future. Peter Crouch, Chairman Fortran Specialist Group Member Groups Convention 5 April 2011

Fortran's Relevance Today and in the Future. Peter Crouch, Chairman Fortran Specialist Group Member Groups Convention 5 April 2011 Fortran's Relevance Today and in the Future Peter Crouch, Chairman Fortran Specialist Group Member Groups Convention 5 April 2011 Early years of Fortran: 1954-1961 1954 Development work starts in IBM 1957

More information

Personal SE. Computer Memory Addresses C Pointers

Personal SE. Computer Memory Addresses C Pointers Personal SE Computer Memory Addresses C Pointers Computer Memory Organization Memory is a bucket of bytes. Computer Memory Organization Memory is a bucket of bytes. Each byte is 8 bits wide. Computer Memory

More information

CSCI 1061U Programming Workshop 2. C++ Basics

CSCI 1061U Programming Workshop 2. C++ Basics CSCI 1061U Programming Workshop 2 C++ Basics 1 Learning Objectives Introduction to C++ Origins, Object-Oriented Programming, Terms Variables, Expressions, and Assignment Statements Console Input/Output

More information

Goals for This Lecture:

Goals for This Lecture: Goals for This Lecture: Learn a simple sorting algorithm Understand how compilation & linking of separate main program and subprogram files are accomplished. Understand how to use subprograms to create

More information

MODULE 4 INSTRUCTIONS: LANGUAGE OF THE MACHINE

MODULE 4 INSTRUCTIONS: LANGUAGE OF THE MACHINE MODULE 4 INSTRUCTIONS: LANGUAGE OF THE MACHINE 1 ARCHITECTURE MODEL The basic instruction set of a computer is comprised of sequences of REGISTER TRANSFERS. Example: Add A, B, C Register B # A

More information

Computer Science & Engineering 150A Problem Solving Using Computers

Computer Science & Engineering 150A Problem Solving Using Computers Computer Science & Engineering 150A Problem Solving Using Computers Lecture 06 - Stephen Scott Adapted from Christopher M. Bourke 1 / 30 Fall 2009 Chapter 8 8.1 Declaring and 8.2 Array Subscripts 8.3 Using

More information

Fortran. (FORmula TRANslator) History

Fortran. (FORmula TRANslator) History Fortran (FORmula TRANslator) History FORTRAN vs. Fortran 1954 FORTRAN first successful high level language John Backus (IBM) 1958 FORTRAN II (Logical IF, subroutines, functions) 1961 FORTRAN IV 1966 FORTRAN

More information

Sorting and searching arrays

Sorting and searching arrays Chapter 9 Sorting and searching arrays Lecture slides for: Java Actually: A Comprehensive Primer in Programming Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cengage Learning, 2008. ISBN: 978-1-844480-933-2

More information

Pointers, Arrays and Parameters

Pointers, Arrays and Parameters Pointers, Arrays and Parameters This exercise is different from our usual exercises. You don t have so much a problem to solve by creating a program but rather some things to understand about the programming

More information

Computers in Engineering. Subroutines Michael A. Hawker

Computers in Engineering. Subroutines Michael A. Hawker Computers in Engineering COMP 208 Subroutines Michael A. Hawker Subprograms Functions are one type of subprogram in FORTRAN Another type of subprogram FORTRAN allows is called a subroutine There are many

More information

ES 117. Formatted Input/Output Operations

ES 117. Formatted Input/Output Operations ES 117 Formatted Input/Output Operations fpintf function writes formatted data in a user specified format to a file fid fprintf Function Format effects only the display of variables not their values through

More information

9691 COMPUTING. 9691/23 Paper 2 (Written Paper), maximum raw mark 75

9691 COMPUTING. 9691/23 Paper 2 (Written Paper), maximum raw mark 75 CAMBRIDGE INTERNATIONAL EXAMINATIONS Cambridge International Advanced Subsidiary and Advanced Level MARK SCHEME for the May/June 2015 series 9691 COMPUTING 9691/23 Paper 2 (Written Paper), maximum raw

More information

Subject: Fundamental of Computer Programming 2068

Subject: Fundamental of Computer Programming 2068 Subject: Fundamental of Computer Programming 2068 1 Write an algorithm and flowchart to determine whether a given integer is odd or even and explain it. Algorithm Step 1: Start Step 2: Read a Step 3: Find

More information

Lecture Notes 14 More sorting CSS Data Structures and Object-Oriented Programming Professor Clark F. Olson

Lecture Notes 14 More sorting CSS Data Structures and Object-Oriented Programming Professor Clark F. Olson Lecture Notes 14 More sorting CSS 501 - Data Structures and Object-Oriented Programming Professor Clark F. Olson Reading for this lecture: Carrano, Chapter 11 Merge sort Next, we will examine two recursive

More information

8/2/10. Looking for something COMP 10 EXPLORING COMPUTER SCIENCE. Where is the book Modern Interiors? Lecture 7 Searching and Sorting TODAY'S OUTLINE

8/2/10. Looking for something COMP 10 EXPLORING COMPUTER SCIENCE. Where is the book Modern Interiors? Lecture 7 Searching and Sorting TODAY'S OUTLINE Looking for something COMP 10 EXPLORING COMPUTER SCIENCE Where is the book Modern Interiors? Lecture 7 Searching and Sorting TODAY'S OUTLINE Searching algorithms Linear search Complexity Sorting algorithms

More information

Machine-Independent Optimizations

Machine-Independent Optimizations Chapter 9 Machine-Independent Optimizations High-level language constructs can introduce substantial run-time overhead if we naively translate each construct independently into machine code. This chapter

More information

Chapter 12. Files (reference: Deitel s chap 11) chap8

Chapter 12. Files (reference: Deitel s chap 11) chap8 Chapter 12 Files (reference: Deitel s chap 11) 20061025 chap8 Introduction of File Data files Can be created, updated, and processed by C programs Are used for permanent storage of large amounts of data

More information

5.12 EXERCISES Exercises 263

5.12 EXERCISES Exercises 263 5.12 Exercises 263 5.12 EXERCISES 5.1. If it s defined, the OPENMP macro is a decimal int. Write a program that prints its value. What is the significance of the value? 5.2. Download omp trap 1.c from

More information

Fundamental of Programming (C)

Fundamental of Programming (C) Borrowed from lecturer notes by Omid Jafarinezhad Fundamental of Programming (C) Lecturer: Vahid Khodabakhshi Lecture 3 Constants, Variables, Data Types, And Operations Department of Computer Engineering

More information

Cambridge Assessment International Education Cambridge International Advanced Subsidiary and Advanced Level. Published

Cambridge Assessment International Education Cambridge International Advanced Subsidiary and Advanced Level. Published Cambridge Assessment International Education Cambridge International Advanced Subsidiary and Advanced Level COMPUTER SCIENCE 9608/42 Paper 4 Written Paper MARK SCHEME Maximum Mark: 75 Published This mark

More information

Using of FORTRAN 77 FILES

Using of FORTRAN 77 FILES A. Perronnet October 13 2009 Taida Institute for Mathematical Sciences National Taiwan University, Taipei 10617, Taiwan Using of FORTRAN 77 FILES A FILE is necessary when - the data must be retained between

More information

Getting Information from a Table

Getting Information from a Table ch02.fm Page 45 Wednesday, April 14, 1999 2:44 PM Chapter 2 Getting Information from a Table This chapter explains the basic technique of getting the information you want from a table when you do not want

More information

PDS Lab Section 16 Autumn Tutorial 3. C Programming Constructs

PDS Lab Section 16 Autumn Tutorial 3. C Programming Constructs PDS Lab Section 16 Autumn-2017 Tutorial 3 C Programming Constructs This flowchart shows how to find the roots of a Quadratic equation Ax 2 +Bx+C = 0 Start Input A,B,C x B 2 4AC False x If 0 True B x 2A

More information

Lecture 11: In-Place Sorting and Loop Invariants 10:00 AM, Feb 16, 2018

Lecture 11: In-Place Sorting and Loop Invariants 10:00 AM, Feb 16, 2018 Integrated Introduction to Computer Science Fisler, Nelson Lecture 11: In-Place Sorting and Loop Invariants 10:00 AM, Feb 16, 2018 Contents 1 In-Place Sorting 1 2 Swapping Elements in an Array 1 3 Bubble

More information

C Language Part 2 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee

C Language Part 2 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee C Language Part 2 (Minor modifications by the instructor) 1 Scope Rules A variable declared inside a function is a local variable Each local variable in a function comes into existence when the function

More information

COMP 250. Lecture 7. Sorting a List: bubble sort selection sort insertion sort. Sept. 22, 2017

COMP 250. Lecture 7. Sorting a List: bubble sort selection sort insertion sort. Sept. 22, 2017 COMP 250 Lecture 7 Sorting a List: bubble sort selection sort insertion sort Sept. 22, 20 1 Sorting BEFORE AFTER 2 2 2 Example: sorting exams by last name Sorting Algorithms Bubble sort Selection sort

More information

Review of Important Topics in CS1600. Functions Arrays C-strings

Review of Important Topics in CS1600. Functions Arrays C-strings Review of Important Topics in CS1600 Functions Arrays C-strings Array Basics Arrays An array is used to process a collection of data of the same type Examples: A list of names A list of temperatures Why

More information

Matlab Input/Output. Goal of this section Learn user-controlled Input Output Read/write data files (optional) Input/output 5-

Matlab Input/Output. Goal of this section Learn user-controlled Input Output Read/write data files (optional) Input/output 5- Matlab Input/Output Goal of this section Learn user-controlled Input Output Read/write data files (optional) 85-232 Input/output 5-1 Input: initialization >> a=[-1 0 0 ; 1 1 0] >> b=[1, 2, 3; 2:4] >> b=[1,

More information

Repetition Structures

Repetition Structures Repetition Structures Chapter 5 Fall 2016, CSUS Introduction to Repetition Structures Chapter 5.1 1 Introduction to Repetition Structures A repetition structure causes a statement or set of statements

More information

Condition-Controlled Loop. Condition-Controlled Loop. If Statement. Various Forms. Conditional-Controlled Loop. Loop Caution.

Condition-Controlled Loop. Condition-Controlled Loop. If Statement. Various Forms. Conditional-Controlled Loop. Loop Caution. Repetition Structures Introduction to Repetition Structures Chapter 5 Spring 2016, CSUS Chapter 5.1 Introduction to Repetition Structures The Problems with Duplicate Code A repetition structure causes

More information

Variable A variable is a value that can change during the execution of a program.

Variable A variable is a value that can change during the execution of a program. Declare and use variables and constants Variable A variable is a value that can change during the execution of a program. Constant A constant is a value that is set when the program initializes and does

More information

Computer Programming C++ (wg) CCOs

Computer Programming C++ (wg) CCOs Computer Programming C++ (wg) CCOs I. The student will analyze the different systems, and languages of the computer. (SM 1.4, 3.1, 3.4, 3.6) II. The student will write, compile, link and run a simple C++

More information

C++ Programming: From Problem Analysis to Program Design, Third Edition

C++ Programming: From Problem Analysis to Program Design, Third Edition C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 2: Basic Elements of C++ Objectives (continued) Become familiar with the use of increment and decrement operators Examine

More information

Python Working with files. May 4, 2017

Python Working with files. May 4, 2017 Python Working with files May 4, 2017 So far, everything we have done in Python was using in-memory operations. After closing the Python interpreter or after the script was done, all our input and output

More information

CS103L FALL 2017 UNIT 1: TYPES, VARIABLES,EXPRESSIONS,C++ BASICS

CS103L FALL 2017 UNIT 1: TYPES, VARIABLES,EXPRESSIONS,C++ BASICS CS103L FALL 2017 UNIT 1: TYPES, VARIABLES,EXPRESSIONS,C++ BASICS LOGISTICS Homework due tonight and Thursday Should be able to do after reading textbook - go to TA/CP office hours Do the lab Go to lab

More information

2. Basic Elements of Fortran

2. Basic Elements of Fortran 2. Basic Elements of Fortran Structure of a Fortran Program 31 characters must be in the 1st line if present declaration section program my_first_program! Declare variables integer :: i, j, k! i, j, k

More information

CS Sorting Terms & Definitions. Comparing Sorting Algorithms. Bubble Sort. Bubble Sort: Graphical Trace

CS Sorting Terms & Definitions. Comparing Sorting Algorithms. Bubble Sort. Bubble Sort: Graphical Trace CS 704 Introduction to Data Structures and Software Engineering Sorting Terms & Definitions Internal sorts holds all data in RAM External sorts use Files Ascending : Low to High Descending : High to Low

More information

UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING

UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING APS 105 Computer Fundamentals Final Examination December 16, 2013 2:00 p.m. 4:30 p.m. (150 minutes) Examiners: J. Anderson, B. Korst, J.

More information

Dept. of CSE, IIT KGP

Dept. of CSE, IIT KGP Control Flow: Looping CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Types of Repeated Execution Loop: Group of

More information

Fortran 90 - A thumbnail sketch

Fortran 90 - A thumbnail sketch Fortran 90 - A thumbnail sketch Michael Metcalf CERN, Geneva, Switzerland. Abstract The main new features of Fortran 90 are presented. Keywords Fortran 1 New features In this brief paper, we describe in

More information

Example 1: Use the graph of the function f given below to find the following. a. Find the domain of f and list your answer in interval notation

Example 1: Use the graph of the function f given below to find the following. a. Find the domain of f and list your answer in interval notation When working with the graph of a function, the inputs (the elements of the domain) are always the values on the horizontal ais (-ais) and the outputs (the elements of the range) are always the values on

More information

16.317: Microprocessor Systems Design I Fall 2013

16.317: Microprocessor Systems Design I Fall 2013 16.317: Microprocessor Systems Design I Fall 2013 Exam 2 Solution 1. (20 points, 5 points per part) Multiple choice For each of the multiple choice questions below, clearly indicate your response by circling

More information

Goals for This Lecture:

Goals for This Lecture: Goals for This Lecture: Learn about multi-dimensional (rank > 1) arrays Learn about multi-dimensional array storage Learn about the RESHAPE function Learn about allocatable arrays & the ALLOCATE and DEALLOCATE

More information

Some More I O definitions

Some More I O definitions Input and Output Fortran I O Overview Input/output (I O) can be a lot more flexible than just reading typed input form the terminal window and printing it back out to a screen. Fortran allows for multiple

More information

Fortran Introduction

Fortran Introduction 26/10/2015 1 Background 2 Creating an Executable 3 Variables 4 Program Flow 5 Procedures 6 Input and Output 7 Deprecated Background In this opening section, I will talk briefly about The History of Fortran

More information

Introduction to Modern Fortran

Introduction to Modern Fortran Introduction to Modern Fortran p. 1/?? Introduction to Modern Fortran More About I/O and Files Nick Maclaren Computing Service nmm1@cam.ac.uk, ext. 34761 November 2007 Introduction to Modern Fortran p.

More information

Lesson 10 Using and Sorting Lists

Lesson 10 Using and Sorting Lists Lesson What you will learn: how to create variables how to create lists how to add values to lists how to create ordered lists how to use IF ELSE how to create a list in a random order with no duplicates

More information

Cpt S 122 Data Structures. Sorting

Cpt S 122 Data Structures. Sorting Cpt S 122 Data Structures Sorting Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Sorting Process of re-arranging data in ascending or descending order Given

More information

Python review. 1 Python basics. References. CS 234 Naomi Nishimura

Python review. 1 Python basics. References. CS 234 Naomi Nishimura Python review CS 234 Naomi Nishimura The sections below indicate Python material, the degree to which it will be used in the course, and various resources you can use to review the material. You are not

More information