September 21st
CS 430 Programming Languages
Section 2 – 3:30pm
- courtesy of Alan
Grading of Programs
- The third column is the
points you actually earned.
- Explanations for the numbers with
point deductions on your grade sheet can be found in “Comments
onFirst FORTRAN program”
- A sample grade sheet where
you can plug in the points corresponding to the points on your grade sheet is
here. You can use it to verify that your
point total is the one shown in Blackboard
- Place a ‘Program has
Ended’ at the end of your program EVERY TIME so the user does sit there
wondering what they are supposed to do at the blinking cursor
- Grading is detailed for consistency, not
for confusion
- Make an effort to talk
about what is special about your code that makes it different from other
languages
Generic Notes
- Pascal uses static scope
rules
- Static Scope Question (
Non-local v. Global
|
|
Sub2 sees A,B,Z,Y,X
Sub1 sees A,Y,Z,X
Sub3 sees
A,X,W,Y
- Dynamic scoping depends
upon the calling sequence (use the “stack model”)
|
|
|
|
Sub3 |
A |
|
Sub2 |
A |
|
Sub1 |
A |
|
Sub1 |
A |
|
Sub3 |
A |
|
|
Y |
|
|
X |
NOTE: Coloring may be off. It’s the
best I could do. – Alan
- The Pascal variables all
need to be declared.
- No FORMAT statements
needed in Pascal
- There are going to be two
different reads, and two different reads (Like Java’s print() and println())
- They are read and readln
- (From Chapter 5) Bindings occur at
different times.
For example, bindings occur
when you are defining a language, compiling a language, and running a
program. When you are designing a
language you’re going to define what data types you want to have. At compiling, type checking takes place from
the compiler. Other bindings take place
at runtime. Furthermore, others take
place when the program is loaded (addresses are bound at load-time).
- Four basic types of
binding: Name, Location, Type and Value
(values of constants bound at compile time, values of variables at run-time,
addresses of subprograms at run-time or load-time [made in regard to language])
Additional FORTRAN
Notes
- 1X is needed in a format statement before printing
numbers, however it doesn’t need it if you put a space before the string as the
preceding character
FORMAT (1X, F3.1)
FORMAT (‘ HELLO’)
Sample Program:
|
C THIS
PROGRAM WILL DO SOMETHING FUN. WHAT DO YOU C THINK
IT WILL DO? DO 10 I = 1, 10, 2 WRITE
(6, 11) I 10 CONTINUE 11 FORMAT
(1X, I5) DO 20 X
= 1, 5, 0.5 WRITE
(6, 12) I 20 CONTINUE 12 FORMAT
(1X, F2.1) STOP END |
What does it do?
Does it compile?
Homework for Tuesday