SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

GUIDES UND TUTORIAL

Rechner

Das folgende Beispiel beschreibt einen Taschenrechner, der Eingaben in der Infixnotation akzeptiert. Das Programm muß folgende Grammatik nachbilden, die einen Infixausdruck beschreibt:
expr->termexpr + termexpr - termterm->factorterm * factorterm / factor        factor  ->      number
                                                                ( expr )
                                        
Die obige Grammatik beinhaltet auch die unterschiedliche Wertigkeit und die Assoziativität der Operatoren. Das zugehörige Programm sieht folgendermaßen aus:
                                        # Infix Rechner
                                        # Das Hauptprogramm wird nur auf die aktuelle Eingabezeile
                                        # angewendet, wenn sie mehr als ein Feld beinhaltet. D. h. 
                                        # in jeder Zeile darf nur ein Ausdruck stehen und seine 
                                        # Operanden muessen von Leerzeichen eingeschlossen werden.
                                        # z. B. ( 5 + 2 ) * 3
                                        
                                        NF > 0 {
                                                f = 1
                                                e = expr()
                                                if (f <= NF) printf("error at %s\n", $f)
                                                else printf("\t%.8g\n", e)
                                        }
                                        
                                        # Unterprogramme, die zur Erkennung der Struktur des
                                        # Ausdrucks verwendet werden.
                                        
                                        function expr( e) {             # term | term [+-] term
                                                e = term()
                                                while ($f == "+" || $f == "-")
                                                        e = $(f++) == "+" ? e + term() : e - term()
                                                return e
                                        }
                                        
                                        function term( e) {             # factor | factor [*/] factor
                                                e = factor()
                                                while ($f == "*" || $f == "/")
                                                        e = $(f++) == "*" ? e * factor() : e / factor()
                                                return e
                                        }
                                        
                                        function factor( e) {           # number | (expr)
                                                if ($f ~ /^[+-]?([0-9]+[.]?[0-9]*|[.][0-9]+)$/) {
                                                        return $(f++)
                                                } else if ($f == "(") {
                                                        f++
                                                        e = expr()
                                                        if ($(f++) != ")")
                                                                printf("error: missing ) at %s\n", $f)
                                                        return e
                                                } else {
                                                        printf("error: expected number or ( at %s\n", $f)
                                                        return 0
                                                }
                                        }
                                        
DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere