Sunday, August 31, 2008

August 25-29, 2008

LEARNINGS OF THE WEEK
By: Frea Diane T. Bautista


As of last week, we just have a quiz regarding about the C Programming Language, Flow Charts and Algorithms. Below, are the additional informations that I will share to you about the topics we've discussed last week.

First, C Language was
The name of a programming language designed by Dennis Ritchie during the early 1970s and immediately used to reimplement Unix; so called because many features derived from an earlier compiler named ‘B’ in commemoration of its parent, BCPL. (BCPL was in turn descended from an earlier Algol-derived language, CPL.) Before Bjarne Stroustrup settled the question by designing C++, there was a humorous debate over whether C's successor should be named ‘D’ or ‘P’. C became immensely popular outside Bell Labs after about 1980 and is now the dominant language in systems and microcomputer applications programming. C is often described, with a mixture of fondness and disdain varying according to the speaker, as “a language that combines all the elegance and power of assembly language with all the readability and maintainability of assembly language” See also languages of choice, indent style.

While, Flowcharting is a tool for analysing processes. It allows you to break any process down into individual events or activities and to display these in shorthand form showing the logical relationships between them. Constructing flowcharts promotes better understanding of processes, and better understanding of processes is a pre-requisite for improvement.

Examples of processes are "Receiving orders and entering them into the computer system" or "Converting dry-mix powder into tablet form" or "Following-up sales enquiries". The events which make up a process, and which appear in the flowchart, may be of any type. For example, they may be "taking a phone call", "completing an order form", "printing a report", "deciding between a number of alternatives", and so on. The symbols used to represent each event may take any form. They may be boxes, circles, diamonds or other shapes, or events may simply be described in words. Connections between events are always represented by lines; usually with arrowheads to show the direction or order in which they occur. These lines represent the flow of activity in the process being described; hence the name of the technique. (See the example in the `How to use it' section of this document.)

There are specialised applications for flowcharting (such as in computer systems design and programming, engineering, and science) which use standardised sets of symbols. You must decide for yourself whether these need to be used in your particular management application. In most circumstances this will either not be necessary or you can rely on three or four simple symbols to cover most types of events. A useful set of symbols is given in the `How to use it' section below. For special standardised symbols, see the `Other references' section of this document for sources you can refer to.

And lastly, Algorithm is a well-defined procedure to solve a problem. The study of algorithms is a fundamental area of computer science. In writing a computer program to solve a problem, a programmer expresses in a computer language an algorithm that solves the problem, thereby turning the algorithm into a computer program.

In many applications, a computer program needs to adapt to changes in its environment and continue to perform well. An approach to make a computer program adaptive is to use a self-organizing data structure, such as one that is reorganized regularly so that those components most likely to be accessed are placed where they can be most efficiently accessed. A self-modifying algorithm that adapts itself is also conceivable. For developing adaptive computer programs, biological evolution has been a source of ideas and has inspired evolutionary computation methods such as genetic algorithms.

Certain applications require a tremendous amount of computation to be performed in a timely fashion. An approach to save time is to develop a parallel algorithm that solves a given problem by using a number of processors simultaneously. The basic idea is to divide the given problem into subproblems and use each processor to solve a subproblem. The processors usually need to communicate among themselves so that they may cooperate. The processors may share memory, through which they can communicate, or they may be connected by communication links into some type of network such as a hypercube.



No comments: