#include "MusimatTutorial.h"
MusimatTutorialSection(B0101) {
Print("*** B.1.1 Basic Elements ***");
/*****************************************************************************

B.1.1 Basic Elements

Virtually all programming languages, including Musimat, share the following characteristics:

o Flow control — Specifying the order in which the steps are to be taken.

o Data types — Naming the kinds of objects to be operated on and describing their behaviors. Types 
of numbers, such as integer and real are common basic data types.

o Variables — Names of places to hold data of various types.

o Operators — A set of actions that can be performed on data. Operations like “add”, “assign”, and 
“select” perform well-defined operations on the data. 

o Conditional evaluation — Making decisions based on circumstances and taking appropriate 
action. 

o Iteration — If an algorithm is to be applied repeatedly to data, for instance, the way Euclid’s 
method does, then we need a way to express this.

o Recursion — If a future output depends upon a current or previous output as well as possibly the 
current inputs, we say that the relationship is recursive.

o Data structures — It is sometimes necessary to group data into collections, such as sets, lists, 
arrays, and matrices. The types of these data structures can be homogeneous (all alike) or heter-
ogeneous (a mixed bag).

o Named methods — When we’ve developed a set of instructions that does something useful, we 
want to be able to give it a name, like “Euclid’s method” or “Guido’s method.” Since programming 
languages developed out of the mathematics of functions, we use functional notation to represent 
the operation of methods.

*****************************************************************************/
}}

//////////////////////////////////////////////////////////////////////////////////////////////////////
/* $Revision: 1.2 $ $Date: 2006/09/05 06:32:24 $ $Author: dgl $ $Name:  $ $Id: B0101.cpp,v 1.2 2006/09/05 06:32:24 dgl Exp $ */
// The Musimat Tutorial © 2006 Gareth Loy
// Derived from Chapter 9 and Appendix B of "Musimathics Vol. 1" © 2006 Gareth Loy 
// and published exclusively by The MIT Press.
// This program is released WITHOUT ANY WARRANTY; without even the implied 
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
// For information on usage and redistribution, and for a DISCLAIMER OF ALL
// WARRANTIES, see the file, "LICENSE.txt," in this distribution.
// "Musimathics" is available here:	http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=10916
// Gareth Loy's Musimathics website:	http://www.musimathics.com/
// The Musimat website:			http://www.musimat.com/
// This program is released under the terms of the GNU General Public License
// available here:			http://www.gnu.org/licenses/gpl.txt

