200 likes | 392 Views
ITEC 320. Procedural Programming Dr. Ray Lecture 1. Outline. Welcome Intro to the course Ada – first steps. Syllabus. R Lectures / Interactive demonstrations Office Hours 2:00-3:00 P M MTWF Saturday 7:00-8:00PM or Sun. 3:00-4:00 Website www.radford.edu / aaray => ITEC 320
E N D
ITEC 320 Procedural Programming Dr. Ray Lecture 1
Outline • Welcome • Intro to the course • Ada – first steps
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 • 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
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
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?
Solution • Design competition
Result • Procedural / OO mixed language • Multi-threaded / generics • Reliability and maintenance • Readability over writability $line =~ /.{28}(\d\d)-(\d\d)-(\d\d).{8}(.+)$/
Differences public class HelloWorld { public static void main(String[] args) { int x; x=3; System.out.println(x); } } Java 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; Ada
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;
How to make it work • Write / Compile / Execute cycle • Editors • vi filename.adb • Compiler • gnatmake filename • Execution • filename or ./filename (Mac)
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?
Information • Largest and smallest numbers possible • Integer add • ‘first; • ‘last; • ‘range; • Character • ‘val(65); • ‘pos(‘A’); • Boolean • Boolean’val(0); • Boolean’pos(true);
Extra types • Natural • 0 to Integer’Last --Biggest integer • Positive • 1 to Integer’Last • Chance • 0.0 to 1.0 --Constrained float
More types • Character (8 bit) • Wide_Character (16 bit) • Wide_Wide_Character (32 bit) • Strings • Arrays of characters • Fixed length • 3 types (more later)
Conversion • Anything to String • String to Integer • Character conversions intVar’img intVar’image Integer’val(“12”); Integer’value(“123”); Character’val(65); Character’pos(‘A’);
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;
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);
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”);
Summary • Short day • History of ADA • Basics of the language • Introductory comparison of the languages