Programming embedded systems-programming models, Python Programming


Programming models

Just  as there  are several methods for organizing entire  software systems, there  are  different strategies for formally expressing computational processes within those structures.

1.3.2.1 Imperative computation

Most  of you  have  probably been  exposed to an  imperative model  of computer application, in which  we taught  of programs as giving  a sequential set of instructions to the computer to work something.  And, fact that  is how  the internals of the processors of computers are typically created. So, in C or JAVA or C++, you write  typically methods that has  of lists of instructions to the computer:

1.  Put this value  in this variable

2.  Square  the variable

3.  Divide  it by pi

4.  If the result  is larger than  1, return the result

In this model  of computation, the primitive computational elements are basic arithmetic operations  and  assignment instructions. We may combine the elements using  sequences of statements, and  functional  structures such  as if, for, and  while.  We can give away  from  the details  of a computation by defining a procedure that  does  it.  Now,  the person only  requires  to know  the specification of the method, but not the implementation information,  in order  to use it.

 

 

 

 

1.3.2.2 Functional computation

 

Another style  of programming is the  functional model.   In this  model,  we  gain  power through function invokes.  Rather  than  describing  the computer to do things,  we ask it questions: What is 4 + 5? What is the square root of 6? What is the largest  element of the list?

These questions can all be expressed as asking  for the value  of a function applied to some arguments.  But where do the method come from? The answer is, from other methods. We initiate with some set of basic methods (like "plus"), and use them  to construct more complex  functions.

This method would not be powerful without the mechanisms of conditional evaluation and  re­ cursion.  Conditional functions tells one  question under some  situations and  another question under other situations. Recursion is a method that lets the definition of a function refer to the function being described. Recursion is as useful as iteration.

In this model  of computation, the primitive computational elements are typically basic arithmetic and  list functions. We combine components using function composition (using  the output of one function as the  input to other function), if, and  recursion.  We use  method definition as a method of abstraction, and  the concept  of higher-order functions (passing functions as arguments to other functions) as a way of capturing common high-level patterns.

 

1.3.2.3 Data structures

 

In either type of asking  the computer to perform work  for us, we have another kind of modularity and abstraction, which  is centered around the organization of data.

 

At the most  primitive level, computers operate on collections of (usually 32 or 64) bits.  We may halt such  a collection  of bits  as representing different things:   a positive number, a signed value number, a ?oating-point value, a Boolean number (false or true),  characters, or an address of some  other  data  in the memory of the system. Python provides us the ability  to work directly with all of those primitives.

 

There is only so much you can do with a single value, though. We could like to create computer programs that perform on representations of documents or maps  or circuits or social networks. To do so, we require to aggregate primitive data  elements into more complex  data structures.  These can added arrays, lists,  dictionaries, and other data structure of our own devising.

Here,  again,  we  gain  the  power of abstraction.  We may prepare  programs that  do  operations on a data  structure representing a social network, as like, without having to work about  the details  of how the social network is represented in terms  of bits in the machine.

 

1.3.2.4 Object-oriented programming: computation + data structures

 

Object-oriented programming is a model  that  gives the ideas  of modularity and  abstraction to execution and data  at the same time.

An object is a data  structure, together with  a set of procedures that  operate on the  data.   Basic methods may be written in an imperative or a functional model, but in the end there is imperative assignment to state variables in the object.

One major  new  type  of abstraction in OO programming is "generic" programming. It may  be that all objects have a method called print related with  them.  So, we may ask any object to print  itself, without knowing  how  it is created. Or, in a graphics system, we may have several of different objects that know their x, y coordinates on the screen.  So each of them can be asked,  in the similar way,  to say what  their  position is, even though they may  be shown very differently inside  the objects.

In addition, most object-oriented systems support inheritance, which  is a way to make new types of objects by saying  that  they  are mostly  like another type  of object, but  with  some  errors. This is another way to take advantage of abstraction.

 

Programming  languages

Python as well as other  modern programming languages, such  as Ruby, Java and  C++, support all of these programming models. The programme needs  to choose which  programming model best suits the program. This is a point that we will give to throughout the course.

 

Posted Date: 8/9/2012 6:52:43 AM | Location : United States







Related Discussions:- Programming embedded systems-programming models, Assignment Help, Ask Question on Programming embedded systems-programming models, Get Answer, Expert's Help, Programming embedded systems-programming models Discussions

Write discussion on Programming embedded systems-programming models
Your posts are moderated
Related Questions
Structured assignment Once  we have  tuples and lists, we may use  a nice trick  in assignment expression, based  on the packing and unpacking of tuples. >>> a, b, c = 1, 2

Depending on your  previous programming background, we use different sides  through the available readings:   If you have never programmed before: you should start with a

Non-local references So far, whenever we needed to compute a variable, there  was  a binding for that  variable in the 'local' environment (the environment in which  we were e

Models It is a new system that is considerably easier than  the system being modelled, but which saves the important points of the original machine. We might create a physical

what is python

What if you had a list of integer values, and you need to add  them  up and give the sum?  Here are a number of different types of doing  it. First,  here  is a type in a style

Define a function that draws a pentagon of a size you provide when you call the function. Include a ''''''docstring'''''' as the first line of the function''s body — it tells the p

Write a program that will take price data for stocks and print it graphically to the screen. Your program should begin by asking the user for the file name. It should then create a

In Python, the fundamental abstraction of a computation is as a procedure (other  books call them "functions" instead; we will end  up  using  both  values).   A function that  tak

Coding examples Following are some  attempts at defining a function isSubset,  which  takes  two  arguments, a and  b, and  returns True if a is a subset  of b, assuming that