Top Banner
27

Week Four Agenda

Feb 14, 2016

Download

Documents

Lucía

Week Four Agenda. Announcements Link of the week Review week three lab assignment This week’s expected outcomes Next lab assignment Break-out problems Upcoming deadlines Lab assistance, questions and answers. Link of the week. Object Code http://en.wikipedia.org/wiki/Object_code - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Week Four Agenda
Page 2: Week Four Agenda

Week Four Agenda• Announcements• Link of the week• Review week three lab assignment• This week’s expected outcomes• Next lab assignment• Break-out problems• Upcoming deadlines• Lab assistance, questions and answers

Page 3: Week Four Agenda

Link of the weekObject Code

• http://en.wikipedia.org/wiki/Object_code• What is object code?• What format is object code in?• How are object files applied where large

systems are packaged?• What is Executable and Linking Format?

Page 4: Week Four Agenda

Link of the week

SourceFile

SourceFile

SourceFile

SourceFile

SourceFile

Object File

Object File

ObjectFile

Object File

ObjectFile

LinkerRuntimeLibrary

ExecutableProgram

Source/Object/Executable Drawing

Page 5: Week Four Agenda

Link of the week

Page 6: Week Four Agenda

Review week three lab assignment Perl is a simple language that compiles and

executes like a shell or batch type file.Perl doesn’t impose special growth limitations

on an array or data stringsPerl is a composite of C, AWK, and Basic.Perl was originally developed to manipulate text

information.

Page 7: Week Four Agenda

Review week three lab assignment

• Perl’s capabilities range from- System administration- Web development- Network programming- GUI development

• Perl’s major features are- Procedural Programming makes use of simple

sequential steps, routines, subroutines, and methods.- Object Oriented Programming (OOP) makes use of

“objects”. The key elements of are inheritance, modularity, polymorphism, and encapsulation.

Page 8: Week Four Agenda

Review week three lab assignmentPerl scalar@ARGV ~ Shell $#Perl $ARGV[0] ~ Shell $1Perl $ARGV[1] ~ Shell $2Perl unless(scalar(@ARGV)==2) ~ Shell if [ $# != 2]All Perl statements are terminated with a “;”Perl exit 0 is returned if execution was successfulPerl exit 1 is returned if execution failsThe return value for a child process is returned to the

parent process when the child process terminates.

Page 9: Week Four Agenda

Review week three lab assignment

$? – this variable contains the return value # - precedes a comment statement in Perl\n - new line syntax“ …” $strexp = “This text is considered as a string”;‘ …’ $charexp = ‘a’;` …` $cmdexp = `ls –l`;@ARGV – array containing command line arguments$_ - default implied scalar

Page 10: Week Four Agenda

Review week three lab assignmentA process associates a number with each file that it has

opened. This number is called a file descriptor. When you log in, your first process has the following three open files connected to your terminal.

Standard Input (stdin) : File descriptor 0 is open for reading. < really means <0

Standard Output (stdout): File descriptor 1 is open for writing. > really means 1>

Standard Error (stderr): File descriptor 2 is open reading. >> really means 1>>

Page 11: Week Four Agenda

Review week three lab assignmentThe open function can be used to create file

handles for different purposes (input, output, piping), you need to be able to specify which behavior you want.

open functionsopen(file_handler, “file_name”)open(file_handler, “<file_name”)open (file_handler, “>file_name”)open (file_handler, “>>file_name”)

Page 12: Week Four Agenda

Review week three lab assignmentThere are two types of relational operators.

One class operates on numeric values, the other on string values.

Relational operatorsNumeric String Meaning > gt Greater than >= ge Greater than or equal < lt Less than <= le Less than or equal

Page 13: Week Four Agenda

Review week three lab assignmentEquality OperatorsNumeric String Meaning == eq Equal to != ne Not equal to cmp Comparison, sign

results-1 if the left operand is less 0 If both operands equal 1 If the left operand is greater

Page 14: Week Four Agenda

Week four expected outcomes

• Write Perl scripts, including variables, control flow, and regular expression syntax

Page 15: Week Four Agenda

Next lab assignment• Perl is designed to

- Process text data - Perform pattern matching - Utilize string handling tasks

• Perl is available on many platforms - UNIX- Linux- HP-UX

Page 16: Week Four Agenda

Next Lab AssignmentPerl utilizes two types of categories

- Singular variables that represent a single-value. The variable prefix symbol for a scalar is the $.- Plural variables are ones that contain multiple-values. Arrays and hashes are two multi-valued variables.

Perl data types $answer = 42; (an integer)

$pi = 3.14159265; (a “real” number)$animal = “horse”; (string)$statement = “I exercise my $animal”; (string with interpolation)$amount = ‘It cost me $5.00’; (string without interpolation)$cwd = `pwd`; (string output from a command)

Page 17: Week Four Agenda

Next Lab Assignment@garage = (“car”, “mower”, “broom”);

Definition: An array is an ordered list of scalars, accessed by the scalar’s position in the list.

@persons = (“Will”, “Karim”, “Asma”, “Jay”);$count = @persons;Demonstrate:

Execute week_four.pl script

Page 18: Week Four Agenda

Next Lab AssignmentFilehandle is utilized for both input and output files.

Most file names are cryptic and are meaningless to programmers. The purpose of a filehandle is to help the programmer remember a simple file name throughout a program.

A filehandle is a name given for a file, device, socket, or pipe.

Filehandle command line format:open(filehandle, file name, permissions,

chmod);Example: open($FH,$file_name);

Page 19: Week Four Agenda

Next Lab AssignmentWhat is List Processing?

@math_array = (6 - 4, 4 * 4, 8 / 2, 9 - 8);while ( … ) {

…}

for (counter = 0; counter < 10; counter++) {

…}Three expressions are contained in a for loop: 1. Set initial state of the loop variable2. Condition test the loop variable3. Modify the the state of the loop variable

Page 20: Week Four Agenda

Next Lab Assignmentforeach VAR (List){

…}

Demonstrate:Execute read_list.pl script

@myNames = ('Larry', 'Curly', 'Moe');foreach (@myNames) {

print $_;}

Demonstrate:Execute sum_list.pl script

Page 21: Week Four Agenda

Next lab assignment

Perl Program Statement#!/usr/bin/perl #!/usr/bin/perl -w

Print continuation statementprint "error: incorrect number of arguments", "\n", "usage: intlist a b (where a < b)", "\n";Demonstrate:

Execute linenum.pl and intlist.pl scripts.

Page 22: Week Four Agenda

Next lab assignment

DemonstrateExecute arry_sort.pl script

Page 23: Week Four Agenda

Next lab assignment

Programming Perl text book readingChapter OneChapter TwoChapter Three

Page 24: Week Four Agenda

Break-out problems• $strexp = “This text is considered as a string”;• $intexp = 10;• $floatptexp = 2.54;• $charexp = ‘a’;• $cmdexp = `ls –l`;• $argexp = (“two”, “four”, “six”);• @arrayexp = (“Jackie”, “Vicki”, “Alex”);• $arrayexp[0] = “new value”;• $a = $b + 5;• $container = @container;• ($map{blue}, $map{orange}, $map{jade}) = (0xff0000, 0x00ff00,

0x0000ff0);

Page 25: Week Four Agenda

Upcoming deadlines• Advanced Shell Script, Lab Assignment 3-1 is

due 2/1/09.• Simple Perl Script, Lab Assignment 4-1 is due

2/8/09. • Mid-term outline to be posted on Bulletin

Board by 2/1/09• Mid-term exam, Lab Assignment 7-1 dates

2/16-21/09.

Page 26: Week Four Agenda

Questions and answers

• Questions• Comments• Concerns

• After class, I will help students with their scripts.

Page 27: Week Four Agenda