33
Class Review

Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Embed Size (px)

Citation preview

Page 1: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Class Review

Page 2: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm <filename>remove files: rm <filename> rename files: mv <oldfilename> <newfilename> rename files: mv <oldfilename> <newfilename> copy file: cp <file 1> <file 2> copy file: cp <file 1> <file 2> examine files: cat <filename> examine files: cat <filename> make directory: mkdir <directoryname> make directory: mkdir <directoryname> remove directory: rmdir <directoryname>remove directory: rmdir <directoryname> print a file: lpr –P<printer> <filename>print a file: lpr –P<printer> <filename> query a printer: lpq –P<printer>query a printer: lpq –P<printer> remove a printer job: lprm –P<printer> jobidremove a printer job: lprm –P<printer> jobid

Page 3: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Compile a Fortran77 Program

All Fortran Program must have .f postfixAll Fortran Program must have .f postfix Compile a Fortran ProgramCompile a Fortran Program

f77 <filename>f77 <filename> g77 <filename>g77 <filename> f77 <filename> -o <executable f77 <filename> -o <executable

filename>filename> g77 <filename> -o <executable g77 <filename> -o <executable

filename>filename>

Page 4: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Basic Components of a Computer program Data structuresData structures

Identifying the right data structures are Identifying the right data structures are half the solution.half the solution.

Flow of InstructionsFlow of Instructions The operations on that data.The operations on that data.

Page 5: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Compiling

Source programSource program Compilation is the process of translating the Compilation is the process of translating the

program’s source code into machine code.program’s source code into machine code.

Compilation ExecutionObject

program(binary)

Input Data

Programoutput

SourceProgram

Program Compilation Program Execution

Page 6: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Basic Problem Solving

1.1. State the Problem ClearlyState the Problem Clearly

2.2. Describe the Input and OutputDescribe the Input and Output

3.3. Develop a Method to Solve the Problem by HandDevelop a Method to Solve the Problem by Hand

- Simple Algorithm- Simple Algorithm

4.4. Develop a Solution that is general in natureDevelop a Solution that is general in nature

- Pseudocode, Flow chart- Pseudocode, Flow chart

5.5. Test the Solution with a variety of StepsTest the Solution with a variety of Steps

Page 7: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Flow charts

A diagrammatical approach to problem A diagrammatical approach to problem solving.solving.

Important Symbols:Important Symbols:

ProcessProcess

DecisionDecision

Page 8: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Grade>90

Get a Grade

Grade>80

Grade>70

Print A

Print B

Print C

Grade>60 Print D

Print F

Y

Y

Y

Y

N

N

N

N

Flow chart of students’ grade system

Page 9: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Basic Fortran

Fortran is a free format languageFortran is a free format language Spaces are ignoredSpaces are ignored Fortran compiler is not case sensitiveFortran compiler is not case sensitive

HELLO, HELL O, Hello, and hello are HELLO, HELL O, Hello, and hello are the samethe same

One statement per line in Fortran77One statement per line in Fortran77

Page 10: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

FORTRAN Statement FormatColumns 1-5Statementnumber

Column 6ContinuationCharacter

Columns 7-72FORTRAN statement

Page 11: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Programming Elements DataData

ConstantConstant A quantity that does not changeA quantity that does not change For Example:For Example:

• 3.14159263.1415926

• 55

• 0.060.06 VariableVariable

A representation for a quantity which is unknown or can varyA representation for a quantity which is unknown or can vary Represented by a symbolic variable nameRepresented by a symbolic variable name For Example:For Example:

• AA

• ALPHAALPHA

• X1X1 OperationsOperations

Page 12: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Data Type

IntegersIntegers 32, -832, -8

Real ValuesReal Values -15.45, 0.004-15.45, 0.004

Double-precision valuesDouble-precision values 3.1415, 1.0000063.1415, 1.000006

Complex valuesComplex values 1-2i, 5i1-2i, 5i

Character valueCharacter value ‘‘velocity’,’hello’velocity’,’hello’

Logical valuesLogical values .TRUE., .FALSE..TRUE., .FALSE.

Page 13: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Data Declaration Variable DeclarationVariable Declaration

Explicit TypingExplicit Typing With specification statementWith specification statement ExampleExample

• INTEGER INTEGER variable listvariable list• REAL REAL variable listvariable list

Implicit TypingImplicit Typing Variable names begins with I, J, K, L, M, NVariable names begins with I, J, K, L, M, N

• IntegerInteger OthersOthers

• RealReal Explicit Typing rules Implicit TypingExplicit Typing rules Implicit Typing

ExampleExample I becomes a real variable instead of an integerI becomes a real variable instead of an integer

• REAL IREAL I Fortran is a weak-typing languageFortran is a weak-typing language

Variables can be used without declaration (but this is not encouraged)Variables can be used without declaration (but this is not encouraged) Constant DeclarationConstant Declaration

PARAMETER(name1=expression, name2=expression,…)PARAMETER(name1=expression, name2=expression,…) ExampleExample

PARAMETER (PI=3.1415923)PARAMETER (PI=3.1415923)

Page 14: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Simple Input and Outputvery simple to write out information and read in variables. very simple to write out information and read in variables.

PRINT *, PRINT *, expression listexpression listExamples:-Examples:-PRINT*,’ENTER a value’PRINT*,’ENTER a value’PRINT*,’VALUE OF A= ’,A,’.’PRINT*,’VALUE OF A= ’,A,’.’

READ *, READ *, variable listvariable listExamples:-Examples:-

READ*,ValREAD*,ValREAD*,A,B,CREAD*,A,B,C

Page 15: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Assign a value to a variable FormForm

Variable name=expressionVariable name=expression ExampleExample

PI = 3.1415926PI = 3.1415926 VAR1 = VAR2VAR1 = VAR2 I = I + 1I = I + 1

Page 16: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Mixed-Mode Operations Arithmetic operationsArithmetic operations

Between two real values -> real valuesBetween two real values -> real values Between two integer values -> integerBetween two integer values -> integer Between a real value and an integer -> Between a real value and an integer ->

real valuereal value ExampleExample

ROOT = NUM**(1/2)ROOT = NUM**(1/2)

Page 17: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Truncation and Rounding TruncationTruncation

Ignore the fractional portionIgnore the fractional portion Store the number portion of the real numberStore the number portion of the real number

RoundingRounding The integer closest in value to the real numberThe integer closest in value to the real number

Assign a real number to an integerAssign a real number to an integer Truncation happenTruncation happen ExampleExample

Real AReal AInteger IInteger IA = 2.8A = 2.8I = A -> I = 2I = A -> I = 2

Page 18: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Underflow and Overflow

Magnitude of a real numberMagnitude of a real number Exponent in range of –38 through 38Exponent in range of –38 through 38

Exponent > 38Exponent > 38 OverflowOverflow

Exponent < -38Exponent < -38 UnderflowUnderflow

Page 19: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Intrinsic FunctionsSQRT (X)SQRT (X) Square Root of XSquare Root of XABS(X)ABS(X) Absolute value for XAbsolute value for XSIN (X)SIN (X) X in RadiansX in RadiansCOS (X)COS (X) X in RadiansX in RadiansTAN (X)TAN (X) X in RadiansX in RadiansEXP (X)EXP (X) e to the Xe to the XLOG (X) LOG (X) Natural Log XNatural Log XLOG 10(X)LOG 10(X) Base 10 to the XBase 10 to the XINT (X)INT (X) Truncate XTruncate XREAL (I) REAL (I) Make I a RealMake I a RealMOD(I,J) MOD(I,J) Remainder of I/JRemainder of I/J

Page 20: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Formatted PRINT Statements

Form:Form: PRINT format identifier, item listPRINT format identifier, item list

Format IdentifierFormat Identifier An asteriskAn asterisk A format specificationA format specification A reference to FORMAT statementA reference to FORMAT statement

Page 21: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Basic Form of the Format statement

n n FORMAT(FORMAT(s1, s2 , s3 ... sk)s1, s2 , s3 ... sk)

s1, s2, ... s1, s2, ... are format specificationsare format specifications

They can be character or numeric literals, or They can be character or numeric literals, or they can specify the output or input they can specify the output or input precision of character or numeric values. precision of character or numeric values.

Page 22: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Specifications Summary

• X – Spacing, No valuesX – Spacing, No values• Iw – Integer NumbersIw – Integer Numbers• Fw.d – F5.2 FLOATING POINT OR REAL Fw.d – F5.2 FLOATING POINT OR REAL

NUMBERSNUMBERS• Aw – Alphanumeric DataAw – Alphanumeric Data• Ew.d – Real Numbers in E NotationEw.d – Real Numbers in E Notation• T – tab specifies column to tab to. T – tab specifies column to tab to. • / – Continue in new line/ – Continue in new line• ‘ ‘ – ‘ ‘ – Literals between the quotesLiterals between the quotes

Page 23: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Logical Expressions

A logical expression is one that is evaluated as A logical expression is one that is evaluated as either .true. or .false. Notice the periods on either .true. or .false. Notice the periods on either side of .true. and .false.either side of .true. and .false.

Logical constantsLogical constants .TRUE..TRUE. .FALSE..FALSE.

You can declare logical variables that can take on You can declare logical variables that can take on values of .true. or .false. values of .true. or .false.

LOGICAL DONE, EASY, HARDLOGICAL DONE, EASY, HARD

Page 24: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Relational Operators

.EQ..EQ. Equal toEqual to

.NE..NE. Not Equal toNot Equal to

.LT. .LT. Less ThanLess Than

.LE. .LE. Less Than or Equal toLess Than or Equal to

.GT. .GT. Greater ThanGreater Than

.GE. .GE. Greater Than or Equal toGreater Than or Equal to

Note: Expressions are always read and evaluated from Note: Expressions are always read and evaluated from left to right. left to right.

A.LT.B ( A less than B )A.LT.B ( A less than B )

Page 25: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Logical Operators

.NOT. <Logical Expression>.NOT. <Logical Expression>

<Logical Expression> .AND. <Logical Expression><Logical Expression> .AND. <Logical Expression>

<Logical Expression> .OR. <Logical Expression><Logical Expression> .OR. <Logical Expression>

<Logical Expression> .EQV. <Logical Expression><Logical Expression> .EQV. <Logical Expression>

<Logical Expression> .NEQV. <Logical Expression><Logical Expression> .NEQV. <Logical Expression>

Note: Not valid to compare two logical variables with .EQ. or .NE.Note: Not valid to compare two logical variables with .EQ. or .NE.

AA BB .NOT. A.NOT. A A.AND.BA.AND.B A.OR.BA.OR.B A.EQV.BA.EQV.B A.NEQV.BA.NEQV.B

.FALSE..FALSE. .FALSE..FALSE. .TURE..TURE. .FALSE..FALSE. .FALSE..FALSE. .TURE..TURE. .FALSE..FALSE.

.FALSE..FALSE. .TURE..TURE. .TURE..TURE. .FALSE..FALSE. .TURE..TURE. .FALSE..FALSE. .TURE..TURE.

.TURE..TURE. .FALSE..FALSE. .FALSE..FALSE. .FALSE..FALSE. .TURE..TURE. .FALSE..FALSE. .TURE..TURE.

.TURE..TURE. .TURE..TURE. .FALSE..FALSE. .TURE..TURE. .TURE..TURE. .TURE..TURE. .FALSE..FALSE.

Page 26: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Relational and Arithmetic Operator Precedence

PriorityPriority OperationOperation OrderOrder

11 ParenthesesParentheses Innermost firstInnermost first

22 ExponentiationExponentiation Right to LeftRight to Left

33 * /* / Left to rightLeft to right

44 + -+ - Left to rightLeft to right

5 5 Relational operatorsRelational operators Left to rightLeft to right

66 .NOT..NOT. Left to rightLeft to right

77 .AND..AND. Left to rightLeft to right

88 .OR..OR. Left to rightLeft to right

99 .EQV., .NEQV..EQV., .NEQV. Left to rightLeft to right

Page 27: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Logical IF Statement

Format:Format:IF (logical expression) executable statementIF (logical expression) executable statement

If the logical expression is true, execute the statement on If the logical expression is true, execute the statement on the same line.the same line.

If the logical expression is false, jump to the next statement.If the logical expression is false, jump to the next statement.

Example:Example:IF (A.LT.0) SUM = SUM+AIF (A.LT.0) SUM = SUM+A

Page 28: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Block IF Statements

example: Portion of example: Portion of Zero DivideZero Divide

IF (DEN.EQ.0.0) THEN IF (DEN.EQ.0.0) THEN

PRINT *,’ZERO DIVIDE’PRINT *,’ZERO DIVIDE’

STOPSTOP

END IFEND IF

FRACTN = NUM/DENFRACTN = NUM/DEN

PRINT *,’FRACTION =’, FRACTNPRINT *,’FRACTION =’, FRACTN

Page 29: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

IF – THEN – ELSE

IF(IF(logical-explogical-exp)THEN)THEN

statement 1 statement 1

..

..

ELSEELSE

statement nstatement n

statement n+1statement n+1

END IFEND IF

LogicalExpression

Statements

Y

N

Statements

Page 30: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

ELSE IF StatementIF(logical-exp)THEN statement 1 . .

statement mELSE IF (logical-exp) THEN

statement m+1..statement n

ELSE IF (logical-exp) THENstatement n+1..statement p

ELSEstatement p+1..statement q

END IF

Page 31: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

While Loops

There are no while statements in Fortran 77 although There are no while statements in Fortran 77 although many compilers have implemented one. Here is how many compilers have implemented one. Here is how you do it. you do it.

nn if (if ( logical_explogical_exp) then) then statement – 1 statement – 1 statement – 2statement – 2 .. go togo to nnend ifend if

Page 32: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

DO Loop Structure

Format:Format:

DO DO kk index = initial, limit, incrementindex = initial, limit, increment

statement 1statement 1

……

statement nstatement n

kk CONTINUECONTINUE

Page 33: Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename

Files

Files are used for permanent storageFiles are used for permanent storage

When we handle files, we open, process, then When we handle files, we open, process, then close the file.close the file.

Processing can be reading from or writing to the Processing can be reading from or writing to the file.file.