itec 320 procedural programming dr. ray lecture 1
TRANSCRIPT
ITEC 320
Procedural ProgrammingDr. Ray
Lecture 1
Introduction
Outline
• Welcome• Intro to the course• Ada – first steps
Introduction
Syllabus
• R Lectures / Interactive demonstrations• Office Hours 2:00-3:00 PM MTWF– Saturday 7:00-8:00PM or Sun. 3:00-4:00
• Website– www.radford.edu/aaray => ITEC 320
• D2L for submission• Projects• Homework• Exams
Introduction
Introduction
• On a scale of 1 to 10, how interested are you in learning a different language?
• How many lines of code did you write for the largest program you’ve worked on?
• What do you want to learn in this course?
• Share with your neighbor• Introduce yourselves and answers to
the class
Introduction
Languages
• What advantages are there to learning a new computer language?
• What are the some of the reasons for learning a new language?
• Why is this important?– Objective C example
Introduction
1970s
• The era of…• Multiple languages used at the
DOD…• What are some of the problems with
using multiple languages?• What happens when you use multiple
languages for one project?
Introduction
Solution
• Design competition
Introduction
Result
• Procedural / OO mixed language• Multi-threaded / generics• Reliability and maintenance• Readability over writability
$line =~ /.{28}(\d\d)-(\d\d)-(\d\d).{8}(.+)$/
Introduction
Differences
Java
Ada
public class HelloWorld{
public static void main(String[] args){
int x;x=3;System.out.println(x);
}}
with ada.text_io;with ada.integer_text_io;procedure hello1 is x: Integer;begin x := 3; ada.text_io.put_line("Hello World"); ada.integer_text_io.put(x);end hello1;
Introduction
First impressions
• What are your thoughts on what you just saw?
with ada.text_io;with ada.integer_text_io;procedure hello1 is x: Integer;begin x := 3; ada.text_io.put_line("Hello World"); ada.integer_text_io.put(x);end hello1;
Introduction
How to make it work
• Write / Compile / Execute cycle• Editors– vi filename.adb
• Compiler– gnatmake filename
• Execution– filename or ./filename (Mac)
Introduction
Types
• Why is it important to know what type of variable it is that you are using?
• What are the different types of variables you are familiar with?
Introduction
Information
• Largest and smallest numbers possible• Integer add
– ‘first;– ‘last;– ‘range;
• Character– ‘val(65);– ‘pos(‘A’);
• Boolean– Boolean’val(0);– Boolean’pos(true);
Introduction
Extra types
• Natural– 0 to Integer’Last --Biggest integer
• Positive– 1 to Integer’Last
• Chance– 0.0 to 1.0 --Constrained float
Introduction
More types
• Character (8 bit)• Wide_Character (16 bit)• Wide_Wide_Character (32 bit)• Strings– Arrays of characters– Fixed length– 3 types (more later)
Introduction
Conversion
• Anything to String
• String to Integer
• Character conversions
intVar’imgintVar’image
Integer’val(“12”);Integer’value(“123”);
Character’val(65);Character’pos(‘A’);
Introduction
Output
• Convert non-strings to strings– Combine strings with the &
• Output and stay on same line– put( );
• Output and goto next line– put_line( );
• Enter key– new_line;
Introduction
Formatting Output
• width–minimum width
• fore–Minimum number of places before
decimal
• aft– Number of places after decimal
• exp–Minimum number of places for the
exponent
put(var, width=>2);
Introduction
Type checking
• Both sides of assignments must match
• Operands of arithmetic operators must match
• Must do it all manually– In Java, int’s will be converted to floats
• Extends to output– System.out.println how we will miss thee– ada.integer_text_io.put(3);– ada.text_io.put(“Lots of typing”);
Introduction
Summary
• Short day• History of ADA• Basics of the language• Introductory comparison of the
languages