Hauslekture. Методическое пособие - Ситникова О.А., Галкина О.В
..pdfund wie zu erkennen. Wen wundert da die englische Übersetzung WHILE und die höfliche Aufforderung DO, die den Schleifenkörper einleitet. Formal sieht das so aus:
WHILE Bedingung DO Anweisung
Wie üblich ist Bedingung wieder ein logischer Ausdruck (was sonst?), aber bei dieser Schleife schlägt wieder erbarmungslos die Syntax (=Sprachregeln) von Pascal zu. Erlaubt ist im Gegensatz zur fußgesteuerten Schleife nur eine Anweisung, wer mehr braucht muß zum Block greifen und mit BEGII und EID klammern.
Auch hier sei noch einmal auf die Bedeutung des Semikolons hingewiesen: das Semikolon steht vor der nächsten Anweisung nach der Bedingung. Sitzt das Semikolon bereits hinter dem DO, gibt es keine Fehlermeldung, aber großes Erstaunen beim Programmierer. Dann hat man nämlich eine wunderbare Endlosschleife programmiert, aus der man nur manchmal mit geschickten Tastendrücken herrauskommt (oder auch nicht). Grund dafür ist, daß dann hinter DO eine leere Anweisung steht, die beliebig wiederholt wird, ohne daß sich an der Bedingung je etwas ändern könnte.
Beiden Schleifen gemeinsam ist, daß man als Programmierer selbst dafür sorgen muß, daß die Abbruchbedingung irgendwann einmal erreicht wird. Wenn als Kriterium das Erreichen eines Zählerstandes dient, muß das Ändern des Zählers selbst organisiert werden (Zählerverwaltung).
Die fußgesteuerte Schleife ist ideal, um Eingaben in einem gewissen Wertebereich zu erhalten. Die Eingabe wird solange wiederholt, bis die Eingabe im gewünschten Bereich liegt. Damit ist dann die Abbruchbedingung erfüllt.
Übung 6 Wie sieht ein Pascal-Programm aus, das vom Benutzer zwei positive, unterschiedliche Zahlen anfordert und dann die Summe und Differenz dieser Zahlen ausgibt?
Die kopfgesteuerte Schleife bietet sich zur Verarbeitung von einer (im voraus) unbekannten Anzahl Daten an. Dieser Fall tritt immer beim Einlesen von Datensätzen aus einer Datei auf. Das Ende der Datei ist dann die Abbruchbedingung. Eine entsprechende Übung findet sich im Abschnitt fiber Dateiverarbeitung (Seite 75).
34. Zählschleifen
Die Zählschleife nimmt dem Programmierer das Verwalten des Zählers ab. Dafür unterliegt aber die (ansonsten kopfgesteuerte) Schleife einigen Einschränkungen. Zum einen muß die Anzahl der Schleifendurchläufe vor Eintritt in die Schleife bekannt sein, zum anderen kann nur ein Zähler vom Typ Skalar (IHTEGER, CHAR oder BQOLEAI) und der Schrittweite l verwendet werden. Der Schleifenzähler nimmt nacheinander alle Werte zwischen den Anfangswert und dem Endwert an und kann im
Schleifenkörper in beliebigen Ausdrücken verwendet werden. |
|
|
||||
Formal sieht eine Zählschleife so aus: |
|
|
|
|
||
FOR |
Schleifenzähler |
:= |
Anfangswert |
TO |
Endwert |
DO |
Anweisung |
|
|
|
|
|
|
61
Diese Form setzt voraus, daß der Endwert größer ist als der Anfangswert, der Schleifenzähler also hoch gezählt wird. Den umgekehrten Fall gibt es auch, der
Schleifenzähler wird dann vom größeren Anfangswert zum kleineren Endwert heruntergezählt. Das sieht dann so aus:
FOR Schleifenzähler := Anfangswert DOWITO Endwert DO Anweisung
Für Anweisung gilt wieder die Sache mit der einen Anweisung und dem Block.
Ist bei Eintritt in die Schleife der Inhalt von Anfangswert gleich dem Inhalt von Endwert wird der Schleifenkörper genau einmal durchlaufen. Ist dagegen (im ersten Fall) zu Beginn der Inhalt von Anfangswert größer (im zweiten Fall kleiner) als der Inhalt von Endwert, so wird die Schleife überhaupt nicht durchlaufen. Ganz wichtig ist, das nach dem Durchlaufen der Schleife der Schleifenzähler überhaupt nicht definiert ist! Er hat also irgendeinen Wert, der nichts mit dem innerhalb der Schleife zu tun hat!
35. Zusammenfassung
Bis hierher haben wir alle grundlegenden Bestandteile eines Pascal-Programms kennengelernt. Wir können eine Idee in einen Algorithmus und in ein Struktogramm umsetzen und dieses Struktogramm in ein Pascal-Programm.
Wir wiesen noch nicht, wie man dieses Pascal-Programm m den Rechner bekommt oder gar wie man es ausführt. Das nächste Kapitel führt daher zunächst m den Um-«ane mit dem Rechner und mit Turbo-Pascal ein. Daran schließt sich em weiteres Pascal-Kapitel an, in dem einige Spezialitäten, Ergänzungen und Erweiterungen vor-gestellt werden.
Übung 7 Ein Programm soll Auskunft über die Zahlungsbedingungen innerhalb von 8 Tagen M, sonst 1,5% Skonto" geben. Eingegeben werden der Rechnungabetragund die Tage nach Erhalt. Ausgegeben werden der Rechnungsbetrag, das Skonto und der zu überweisende Betrag.
Übung 8 Wie sieht das Programm zu dem Struktogramm Positiv aus der Übung 4 auf Seite 23 aus?
Übung 9 Ем Programm soll den Mittelwert beliebig vieler Zahlen ermitteln Die Anzahl der Zahlen ist mitzuzählen, die Eingabe kann jederzeit durch e,ne 0 (Null) beendet werden (abweisende Schleife).
Übung 10 ändern Sie das Programm aus der vorigen Übung so ab, daß eine nichtabweisende Schleife verwendet wird.
36. Funktionen und Prozeduren im Überblik
62
Im folgenden werden die meisten Funktionen und Prozeduren von Turbo-Pascal tabellarisch aufgelistet. Diese Liste soll einen Überblick über die vorhandenen Funktionen gebe, sie ersetzt nicht den Blick ins Handbuch, um die genauen Parameter zu ergründen.
Die angegebenen Parameter stehen für eine Variable oder einen Ausdruck des Argumenttyps, also ch für CHAR, r für REAL, i für IMTEGER, b für BOOLEAM, /für Datei und s für einen String.
37. Standardprozeduren und Funktionen
Transfer-Funktionen
Chr(i) liefert das Zeichen mit der angegeben Ordnungszahl zurück Ord(ch) liefert die Ordnungszahl des angegebenen (skalaren) Wertes zurück
Round(r) konvertiert eine Realwert in einen Integerwert unter Beachtung der Rundungsregeln
Trunc(r) konvertiert einen Realwert in einen Integerwert durch Abschneiden der Nachkommastellen
Diverses
Random liefert eine Zufallszahl im Bereich 0 bis l zurück Randomize startet den Zufallszahlengenerator
UpCase(ch) wandelt ein angegebenes Zeichen in den entsprechenden Großbuchstaben um, funktioniert nicht für deutsche Umlaute
Arithmetische Funktionen
Abs(r)liefert den Absolutwert des Arguments zurück
ArcTan(r) liefert den ArcusTangens des Arguments (Bogenmaß!) zurück Cos(r) liefert den Cosinus des Argumentes zurück
Exp(r) liefert das Ergebnis der Berechnung e'4'*1"1""' zurück Frac(r) liefert die Nacbkommastellen des Arguments zurück Int(r) liefert die Vorkommaatellen des Argumentes zurück Ln(r) liefert den natürlichen Logaritmus des Argumentes zurück Pi liefert den Wert Pi (3.1415926...) zurück
Sin(r) liefert den Sinus des Argumentes zurück Sqr(r) liefert das Quadrat des Argumentes zurück Sqrt(r) liefert die Wurzel des Argumentes zurück
Skalare Prozeduren und Funktionen
Dec(i( erniedrigt eine Variable (um 1)
63
Inc(i) erhöht eine Variable (um 1)
Odd(i) prüft, ob es sich beim Argument um eine ungerade Zahl handelt
Pred(i) liefert den Vorgänger des Arguments Succ(i) liefert den Nachfolger des Arguments A.1.5 Stringprozeduren und Funktionen
Concat(sl,s2 verbindet eine Folge von Strings zu einem String Copy (il,i2,s) liefert den Teil eines Strings zurück Delete(il,i2,s) löscht einen Teil des Strigs
Insert(sl,i,82) fügt einen Stringteil in einen String ein Length(s) liefert die aktuelle Länge eines Strings zurück
Pos(ch,s) sucht die Zeichenfolge innerhalb eines Strings und liefert die Position zurück
Str(r) konvertiert einen numerischen Wert in einen String Val(s,r,i) konvertiert einen String in einen numerischen Wert
Dateibehandlung
Close(f) Datei schließen Seek(f) setzt den Positionszeiger
Assign(f,s) ornet einer Datei-Variablen eine externe Datei über ihren Namen zu EoF(f) prüft, ob das Ende der angegebenen Datei erreicht ist und
liefert einen BOOLEAI Wert zurück |
|
|
|||
lOResult liefert |
|
|
|
|
|
den |
Status |
der |
zuletzt |
ausgeführten |
Ein-/Ausgabeoperation |
zurück |
|
|
|
|
|
Rename(f,s2) gibt einer Datei einen neuen Namen Reset(f) öffnet eine exisitierende Datei Rewrite(f) erzeugt eine Datei und öffnet sie
Append(f) öffnet eine existierende Datei zum Anfügen von Datensätzen EoLn(f) prüft, ob in der angegebenen Datei das Zeilenende erreicht wurde
FilePos(f) liefert die momentane Position innerhalb der Datei zurück FileSize(f) gibt die Größe einer Datei zurück
Truncate(f) schneidet die Datei an der momentanen Position ab
Spezielle Tastenkombinationen (Hot-Keys)
Fl Hilfe
F2 speichert den Quelltext im Editor
F3 Lädt einen Quelltext in den Editor
F4 versionsabhängig
F5 schaltet die Größe des aktuellen Fensters um
F6 schaltet zwischen den Fenstern um
F7 versionsabhängig
F8 versionsabhängig
64
F9 aktiviert das Compile-Menü
F10 schaltet zwischen Hauptmenü und aktivem Fenster um
Umsch F10 bringt Copyright und Versionsnummer auf den Bildschirm Strg Fl aktiviert die Syntaxhilfe (nur im Editor)
Alt Fl bringt den letzten Hilfetext erneut Alt F aktiviert das File-Menü
Alt E aktiviert den Editor
Alt С aktiviert das Compile-Menü Alt 0 aktiviert das Options-Menu Alt R führt das Programm aus Alt X beendet Turbo-Pascal
Tastenbelegung im Editor
|
Zeichen |
nach |
links |
Strg-Sf |
|
|
Wort |
nach |
|
links |
Strg-A |
|
Zeile |
nach |
|
oben |
Strg-Ef |
|
Aufwärts |
|
Rollen |
Strg-W |
|
|
Seite nach oben |
|
|
Strg-R |
|
|
|
|
|
|
|
|
Zeilenanfang |
|
|
Strg-Q-Sf |
|
|
Oberer |
Bildschirmrand |
Strg-Q-E |
||
|
Textanfang |
|
|
Strg-Q-R |
|
|
Blockanfang |
|
|
Strg-Q-B |
|
|
Letzte Cursorposition |
|
Strg-Q-P |
||
|
|
|
|
||
|
Einfügen |
|
Ein/Aus |
Strg-Vf |
|
|
Zeile |
|
einfügen |
Strg-N |
|
|
Löschen |
bis Zeilenende |
Strg-Q-Y |
||
|
Zeichen |
unter |
Cursor |
Strg-Gf |
|
|
löschen |
|
|
|
|
|
|
|
|||
|
Blockanfang |
markieren |
Strg-K-B |
||
|
Einzelnes Wort als Block |
Strg-K-T |
|||
|
Block |
verschieben |
Strg-K-V |
||
|
Block |
|
|
lesen |
Strg-K-R |
Zeichen |
nach |
rechts |
Strg-Df |
|
|
Wort |
nach |
|
Rechts |
Strg-F |
|
Zeile |
nach |
|
unten |
Strg-Xf |
|
Abwärts |
|
Rollen |
Strg-Z |
|
|
Seite nach unten |
|
Strg-C |
|
||
|
|
|
|
|
|
Zeilenende |
|
|
Strg-Q-Df |
|
|
Unterer |
Bildschirmrand |
Strg-Q-X |
|
||
Textende |
|
|
Strg-Q-C |
|
|
Blockende |
|
|
Strg-Q-K |
|
|
Letzte Fehlerposition |
Strg-Q-W |
|
|||
|
|
|
|
|
|
Zeile |
|
|
löschen |
Strg-Y |
|
Linkes |
Zeichen |
löschen |
Strg-Hf |
|
|
Wort rechts löschen |
Strg-T |
|
|||
|
|
|
|
||
|
|
|
|||
Blockende |
markieren |
Strg-K-K |
|
||
Block |
|
kopieren |
Strg-K-C |
|
|
Block |
|
|
löschen |
Strg-K-Y |
|
Block |
|
schreiben |
Strg-K-W |
|
65
|
Block sichtbar/unsichtbar |
Strg-K-H |
Block drucken |
Strg-K-P |
|
|
|
|
|
|
|
|
|
|
|
|
|
Hilfestellung |
Fl |
|
Pascal-Syntax |
Strg-Fl |
|
Editor |
|
beenden Strg-K-D |
Neue |
Datei |
laden F3 |
Tab-Modus |
an/aus Strg-O-T |
|
Änderungen |
Strg-Q-L |
|
zurücknehmen |
Strg-Q |
|
Zu |
Marke |
springen Strg-Q-A |
Suchen |
und |
Ersetzen Strg-L |
Wdhl .Suchen/Ersetzen |
Letzter Hilfe Bildschirm Alt-Fl |
|
|||
Compiler |
|
Parameter Strg-F7 |
|
|
Editorende + |
Speichern Strg-K-S |
|
||
Tabulator |
|
|
Strg-I |
|
Auto- |
Tab |
ein/aus Strg-O-I |
|
|
Marke |
|
setzen Strg-K |
n |
|
n Suchen |
|
|
Strg-Q-F |
|
Klammerebene suchen Strg-Q- |
() |
|||
Operation abbrechen |
Strg-U |
|
Die mit t markierten Befehle können auch direkt über die in 6.1.6 angegebenen Tasten erreicht werden.
DAS INTERNET SURFT AUF EINER REISIGEN ERFOLGSWELLE.
Das Internet ist erwachsen geworden — und mit ihm seine Nutzer. Noch Ende 1996 war in Deutschland jeder zweite, der online ging, ein Student. Jetzt liegen die Angestellten bei der Nutzung des Internets klar vorn. Auch die Selbständigen, die schon längst aus dem Turnschuh-Alter herausgewachsen sind, gewinnen von Monat zu Monat an Boden. Im vierten Jahr seines Aufschwungs in Deutschland ist der Siegeszug des Internets durch Büros und Wohnzimmer endgültig nicht mehr autzuhalten.
Etwa 35 Prozent aller Unternehmen mit mehr als zehn Beschäftigten verfügen inzwischen über eine Auffahrt auf die globale Datenautobahn, rund 13 Prozent können ohne Internet keine Geschäfte mehr machen. Nach einer Umfrage des Branchendienstes Business Online werden mehr als 40 Prozent der deutschen Unternehmen in den kommenden zwölf Monaten in ihre Internet-Präsenz investieren. Das Gesamtvolumen der geplanten Investitionen beträgt 3,75 Milliarden Mark, im Schnitt wird jedes Unternehmen rund 30 000 Mark ausgeben. Mit der rasanten Ausbreitung des Internets ändert sich auch das Nutzer - Verhalten. Überwogen anfangs die Neugier und das planlose Surfen im Netz, wird das World Wide Web heute mehr zur gezielten beruflichen Informationsbeschaffung, zur wissenschaftlichen Recherche, zur Weiterbildung und zur Abfrage von Nachrichten und Produktionsinformationen genutzt.
Die privaten Internet-Nutzer wählen sich meist über eine Online-Dienst wie T- Online, AOL/Bertelsmann oder CompuServe ins Netz ein. Zwar konnte das Jointventure AOL/Bertelsmann durch den Kauf von CompuServe seinen Marktanteil in Europa erheblich aufstocken. Doch auch mit den CompuServe-Abonnenten hat AOL in Deutschland noch eine Million weniger Kunden als T-Online. Der Dienst der
66
Deutschen Telekom scheint für den härter werdenden Wettbewerb zudem gut gerüstet: Im Business-Bereich hat sich T-Online aufgrund des Vorsprungs im Home-Banking etabliert. Des weiteren besitzt der Dienst im Gegensatz zu AOL/Bertelsmann ein eigenes, gut ausgebautes Netztwerk. Fast ein Drittel der privaten Web-Surfer hat keinen Online-Dienst abonniert und gelangt über eine Universität, den Arbeitgeber oder einen Internet-Provider wie germany.net oder Metronet auf den Daten-High way.
Quellenverzeichnis
1.Chronik der Technik v.Felix R. Paturi, Chronik Verlag, Dortmund 1989
2.Das große deutschrussische Wörterbuch, Hrsg. O. I. Moskalskaja, Sowjetskaja Enziklopädija, Moskau 1969
3.Grundgrammatik Deutsch v. J. Karst u. U. Häussermann, Moritz Diesterweg, Frankfurt 1988
4.Meyers Memo: das Wissen der Welt nach Sachgebieten, Bibl. I., Mannheim 1991
5.Grundlagen der EDV Skript zur Vorlesung, Jörg D. Schake, August 2001
67
Учебное издание
HAUSLEKTURE
Методическое пособие СОСТАВИТЕЛИ: СИТНИКОВА Ольга Александровна
ГАЛКИНА Ольга Валентиновна
Редактор Н. А. Евдокимова
Подписано в печать 10.09.2004. Формат 60×84/16. Бумага тип. №1. Печать трафаретная.
Усл. печ. л. 3,95. Уч.-изд. л. 3,50.
Тираж 100 экз. Заказ Ульяновский государственный технический университет
432027, г. Ульяновск, ул. Сев. Венец, 32 Типография УлГТУ, 432027, г. Ульяновск, ул. Сев. Венец, 32