File: maxima_167.html

package info (click to toggle)
maxima 5.47.0-9
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 193,104 kB
  • sloc: lisp: 434,678; fortran: 14,665; tcl: 10,990; sh: 4,577; makefile: 2,763; ansic: 447; java: 328; python: 262; perl: 201; xml: 60; awk: 28; sed: 15; javascript: 2
file content (136 lines) | stat: -rw-r--r-- 8,230 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Maxima Manual: Einf&uuml;hrung in die Programmierung</title>

<meta name="description" content="Maxima Manual: Einf&uuml;hrung in die Programmierung">
<meta name="keywords" content="Maxima Manual: Einf&uuml;hrung in die Programmierung">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="maxima_toc.html#Top" rel="start" title="Top">
<link href="maxima_334.html#Index-der-Variablen-und-Funktionen" rel="index" title="Index der Variablen und Funktionen">
<link href="maxima_toc.html#SEC_Contents" rel="contents" title="Inhaltsverzeichnis">
<link href="maxima_165.html#Programmierung" rel="up" title="Programmierung">
<link href="maxima_168.html#Funktionen-und-Variablen-der-Programmierung" rel="next" title="Funktionen und Variablen der Programmierung">
<link href="maxima_166.html#Lisp-und-Maxima" rel="previous" title="Lisp und Maxima">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
body {color: black; background: white;  margin-left: 8%; margin-right: 13%;
      font-family: "FreeSans", sans-serif}
h1 {font-size: 150%; font-family: "FreeSans", sans-serif}
h2 {font-size: 125%; font-family: "FreeSans", sans-serif}
h3 {font-size: 100%; font-family: "FreeSans", sans-serif}
a[href] {color: rgb(0,0,255); text-decoration: none;}
a[href]:hover {background: rgb(220,220,220);}
div.textbox {border: solid; border-width: thin; padding-top: 1em;
    padding-bottom: 1em; padding-left: 2em; padding-right: 2em}
div.titlebox {border: none; padding-top: 1em; padding-bottom: 1em;
    padding-left: 2em; padding-right: 2em; background: rgb(200,255,255);
    font-family: sans-serif}
div.synopsisbox {
    border: none; padding-top: 1em; padding-bottom: 1em; padding-left: 2em;
    padding-right: 2em; background: rgb(255,220,255);}
pre.example {border: 1px solid rgb(180,180,180); padding-top: 1em;
    padding-bottom: 1em; padding-left: 1em; padding-right: 1em;
    background-color: rgb(238,238,255)}
div.spacerbox {border: none; padding-top: 2em; padding-bottom: 2em}
div.image {margin: 0; padding: 1em; text-align: center}
div.categorybox {border: 1px solid gray; padding-top: 1em; padding-bottom: 1em;
    padding-left: 1em; padding-right: 1em; background: rgb(247,242,220)}
img {max-width:80%; max-height: 80%; display: block; margin-left: auto; margin-right: auto}

-->
</style>

<link rel="icon" href="figures/favicon.ico">
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6>"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>

<body lang="de" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Einf_00fchrung-in-die-Programmierung"></a>
<div class="header">
<p>
Next: <a href="maxima_168.html#Funktionen-und-Variablen-der-Programmierung" accesskey="n" rel="next">Funktionen und Variablen der Programmierung</a>, Previous: <a href="maxima_166.html#Lisp-und-Maxima" accesskey="p" rel="previous">Lisp und Maxima</a>, Nach oben: <a href="maxima_165.html#Programmierung" accesskey="u" rel="up">Programmierung</a> &nbsp; [<a href="maxima_toc.html#SEC_Contents" title="Inhaltsverzeichnis" rel="contents">Inhalt</a>][<a href="maxima_334.html#Index-der-Variablen-und-Funktionen" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Einfuhrung-in-die-Programmierung"></a>
<h3 class="section">27.2 Einf&uuml;hrung in die Programmierung</h3>

<p>In Maxima k&ouml;nnen Programme geschrieben werden.  Alle Maxima-Funktionen und 
Maxima-Variablen k&ouml;nnen in Programmen verwendet werden.  Maxima hat einen
&Uuml;bersetzer, um Maxima-Programme in Lisp-Programme zu &uuml;bersetzen, und einen
Compiler, um die &uuml;bersetzten Programme zu kompilieren.  Siehe dazu das Kapitel
<a href="maxima_169.html#g_t_00dcbersetzer">&Uuml;bersetzer</a>.
</p>
<p>Maxima-Programme bestehen aus Funktionen und Makros, die im Kapitel 
<a href="maxima_157.html#Funktionsdefinitionen">Funktionsdefinitionen</a> beschrieben sind.  Die Funktionen werden aus 
Ausdr&uuml;cken der Form <code>(expr_1, expr_2, ..., expr_n)</code> oder
<code><a href="maxima_168.html#block">block</a></code>-Anweisungen zusammengesetzt.  Mit der Anweisung <code><a href="maxima_168.html#local">local</a></code> werden
Variablen definiert, deren Werte und Eigenschaften lokal zu einem Block sind.
</p>
<p>Konditionale Verzweigen werden mit der Anweisung <code><a href="maxima_168.html#if">if</a></code> definiert und haben 
die Form <code>if ... then ... else</code>.
</p>
<p>Maxima kennt die sehr allgemeine Anweisung <code><a href="maxima_168.html#for">for</a></code>, um Schleifen zu
programmieren.  Schl&uuml;sselworte f&uuml;r die Programmierung von Schleifen sind
<code><a href="maxima_168.html#while">while</a></code>, <code><a href="maxima_168.html#unless">unless</a></code>, <code><a href="maxima_168.html#do">do</a></code> sowie <code>thru</code>, <code>step</code>,
<code>in</code>.
</p>
<p>Mit der Sprunganweisung <code><a href="maxima_168.html#return">return</a></code> kann ein Block verlassen werden und mit
der Sprunganweisung <code><a href="maxima_168.html#go">go</a></code> wird innerhalb eines Blockes zu eine Marke
verzweigt.  Nicht-lokale R&uuml;ckspr&uuml;nge aus Funktionen werden mit den 
Anweisungen <code><a href="maxima_168.html#catch">catch</a></code> und <code><a href="maxima_168.html#throw">throw</a></code> programmiert.
</p>
<p>Die Anweisung <code><a href="maxima_168.html#errcatch">errcatch</a></code> f&auml;ngt Fehler ab, so dass die Ausf&uuml;hrung eines
Programms nicht abgebrochen wird.  Mit der Anweisungen <code><a href="maxima_168.html#error">error</a></code> und
<code><a href="maxima_168.html#break">break</a></code> wird ein Programm abgebrochen.  Im ersten Fall kann eine
Fehlermelung ausgegeben werden und das Programm kehrt zur Maxima-Kommandozeile
zur&uuml;ck.  Mit <code>break</code> wird der Maxima-Debugger gestartet.
</p>
<p>Maxima kennt die folgenden Anweisungen und Variablen um Programme zu definieren:
</p>
<pre class="verbatim">   backtrace    block        break
   catch        do           eval_when
   errcatch     error        error_size
   error_syms   errormsg     for
   go           if           local
   return       throw        unless
   while
</pre>
<a name="Item_003a-Program_002ede_002fnode_002fFunktionen-und-Variablen-der-Programmierung"></a><hr>
<div class="header">
<p>
Next: <a href="maxima_168.html#Funktionen-und-Variablen-der-Programmierung" accesskey="n" rel="next">Funktionen und Variablen der Programmierung</a>, Previous: <a href="maxima_166.html#Lisp-und-Maxima" accesskey="p" rel="previous">Lisp und Maxima</a>, Nach oben: <a href="maxima_165.html#Programmierung" accesskey="u" rel="up">Programmierung</a> &nbsp; [<a href="maxima_toc.html#SEC_Contents" title="Inhaltsverzeichnis" rel="contents">Inhalt</a>][<a href="maxima_334.html#Index-der-Variablen-und-Funktionen" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>