00001 #include "MusimatTutorial.h" 00002 MusimatTutorialSection(B0101) { 00003 Print("*** B.1.1 Basic Elements ***"); 00004 /***************************************************************************** 00005 00006 B.1.1 Basic Elements 00007 00008 Virtually all programming languages, including Musimat, share the following characteristics: 00009 00010 o Flow control -- Specifying the order in which the steps are to be taken. 00011 00012 o Data types -- Naming the kinds of objects to be operated on and describing their behaviors. Types 00013 of numbers, such as integer and real are common basic data types. 00014 00015 o Variables -- Names of places to hold data of various types. 00016 00017 o Operators -- A set of actions that can be performed on data. Operations like "add", "assign", and 00018 "select" perform well-defined operations on the data. 00019 00020 o Conditional evaluation -- Making decisions based on circumstances and taking appropriate 00021 action. 00022 00023 o Iteration -- If an algorithm is to be applied repeatedly to data, for instance, the way Euclid's 00024 method does, then we need a way to express this. 00025 00026 o Recursion -- If a future output depends upon a current or previous output as well as possibly the 00027 current inputs, we say that the relationship is recursive. 00028 00029 o Data structures -- It is sometimes necessary to group data into collections, such as sets, lists, 00030 arrays, and matrices. The types of these data structures can be homogeneous (all alike) or heter- 00031 ogeneous (a mixed bag). 00032 00033 o Named methods -- When we've developed a set of instructions that does something useful, we 00034 want to be able to give it a name, like "Euclid's method" or "Guido's method." Since programming 00035 languages developed out of the mathematics of functions, we use functional notation to represent 00036 the operation of methods. 00037 00038 *****************************************************************************/ 00039 } 00040 00042 /* $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 $ */ 00043 // The Musimat Tutorial © 2006 Gareth Loy 00044 // Derived from Chapter 9 and Appendix B of "Musimathics Vol. 1" © 2006 Gareth Loy 00045 // and published exclusively by The MIT Press. 00046 // This program is released WITHOUT ANY WARRANTY; without even the implied 00047 // warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00048 // For information on usage and redistribution, and for a DISCLAIMER OF ALL 00049 // WARRANTIES, see the file, "LICENSE.txt," in this distribution. 00050 // "Musimathics" is available here: http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=10916 00051 // Gareth Loy's Musimathics website: http://www.musimathics.com/ 00052 // The Musimat website: http://www.musimat.com/ 00053 // This program is released under the terms of the GNU General Public License 00054 // available here: http://www.gnu.org/licenses/gpl.txt 00055