The first computers were people! That is, electronic computers (and the earlier mechanical computers) were given this name because they performed the work that had previously been assigned to people. "Computer" was originally a job title: it was used to describe those human beings (predominantly women) whose job it was to perform the repetitive calculations required to compute such things as navigational tables, tide charts, and planetary positions for astronomical almanacs. Imagine you had a job where hour after hour, day after day, you were to do nothing but compute multiplications. Boredom would quickly set in, leading to carelessness, leading to mistakes. And even on your best days you wouldn't be producing answers very fast. Therefore, inventors have been searching for hundreds of years for a way to mechanize (that is, find a mechanism that can perform) this task.
The abacus was an early aid for mathematical computations. Its only value is that it aids the memory of the human performing the calculation. A skilled abacus operator can work on addition and subtraction problems at the speed of a person equipped with a hand calculator (multiplication and division are slower). The abacus is often wrongly attributed to China. In fact, the oldest surviving abacus was used in 300 B.C. by the Babylonians. The abacus is still in use today, principally in the far east. A modern abacus consists of rings that slide over rods, but the older one pictured below dates from the time when pebbles were used for counting (the word "calculus" comes from the Latin word for pebble).
n 1617 an eccentric (some say mad) Scotsman named John Napier invented logarithms, which are a technology that allows multiplication to be performed via addition. The magic ingredient is the logarithm of each operand, which was originally obtained from a printed table. But Napier also invented an alternative to tables, where the logarithm values were carved on ivory sticks which are now called Napier's Bones.
Monday, November 22, 2010
Sunday, November 21, 2010
C++ Language
These tutorials explain the C++ language from its basics up to the newest features of ANSI-C++, including basic concepts such as arrays or classes and advanced concepts such as polymorphism or templates. The tutorial is oriented in a practical way, with working example programs in all sections to start practicing each lesson right away.
Basics of C++
* Structure of a program
* Variables. Data types.
* Constants
* Operators
* Basic Input/Output
Control Structures
* Control Structures
* Functions (I)
* Functions (II)
Compound Data Types
* Arrays
* Character Sequences
* Pointers
* Dynamic Memory
* Data Structures
* Other Data Types
Object Oriented Programming
* Classes (I)
* Classes (II)
* Friendship and inheritance
* Polymorphism
Advanced Concepts
* Templates
* Namespaces
* Exceptions
* Type Casting
* Preprocessor directives
C++ Standard Library
* Input/Output with files
Basics of C++
* Structure of a program
* Variables. Data types.
* Constants
* Operators
* Basic Input/Output
Control Structures
* Control Structures
* Functions (I)
* Functions (II)
Compound Data Types
* Arrays
* Character Sequences
* Pointers
* Dynamic Memory
* Data Structures
* Other Data Types
Object Oriented Programming
* Classes (I)
* Classes (II)
* Friendship and inheritance
* Polymorphism
Advanced Concepts
* Templates
* Namespaces
* Exceptions
* Type Casting
* Preprocessor directives
C++ Standard Library
* Input/Output with files
Subscribe to:
Posts (Atom)