Steve Summit / Teil10
 
StartSeite | SteveSummit/ | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Veränderung (letzte Änderung) (Korrektur, Autor, Normalansicht)

Entfernt: 10,16d9
: Die allerersten Rechner konnten nur Zahlen verarbeiten, aber alle heutigen Rechner verarbeiten auch Texte. Rechner (und Programmiersprachen) unterscheiden aber immer genau zwischen Zahlenwerten und Texten, und so müssen auch wir in unseren Köpfen diese Trennung aufrecht erhalten.

[61] One fundamental component of a computer's handling of alphanumeric data is its character set. A character set is, not surprisingly, the set of all the characters that the computer can process and display. (Each character generally has a key on the keyboard to enter it and a bitmap on the screen which displays it.) A character set consists of letters, numbers, punctuation, etc., but the point of this discussion is not so much what the characters are but that we have to be careful to distinguish between characters, strings, and numbers.
: Die Grundlage der Bearbeitung von Texten ist der zugehörige Zeichensatz. Der Zeichensatz nummeriert die Menge aller Zeichen, die der Rechner verarbeiten und darstellen kann (jedes Zeichen hat ein Bitmuster für die Ausgabe am Bildschirm, die meisten Zeichen sind durch Tasten oder Tastenkombinationen mittels der Tastatur eingebbar). Ein Zeichensatz besteht aus Buchstaben, Ziffern, Satzzeichen und so weiter, aber wesentlich ist nicht so sehr die Eigenart all dieser Zeichen, sondern vielmehr, dass man Zeichen, Zeichenketten und Zahlen sorgfältig auseinanderhalten muss.

[62] A character is, well, a single character. If we have a variable which contains a character value, it might contain the letter `A', or the digit `2', or the symbol `&'.
: Ein Zeichen ist: Ein einzelnes Zeichen. Eine Variable, die ein Zeichen speichert, könnte z.B. den Buchstaben 'A' oder die Ziffer '2' oder das Symbol '&' als Wert enthalten.

Verändert: 18,29c11
[63] A string is a set of zero or more characters. For example, the string "and" consists of the characters `a', `n', and `d'. The string "K2!" consists of the characters `K', `2', and `!'. The string "." consists of the single character `.', and the empty string "" consists of no characters at all. Not to belabor the point, but the string "123" consists of the characters `1', `2', and `3', and the string "4" consists of the single character `4'.
: Eine Zeichenkette ist eine Folge von 0 oder mehr Zeichen. Beispielsweise besteht die Zeichenkette "oder" aus den Zeichen 'o', 'd', 'e' und 'r'. Die Zeichenkette "K2!" besteht aus den Zeichen 'K', '2' und '!'. Die Zeichenkette "." besteht nur aus einem einzigen Zeichen '.' (trotzdem ist die Zeichenkette "." nicht identisch mit dem Zeichen '.'). Die leere Zeichenkette "" als Sonderfall enthält überhaupt keine Zeichen. Als abschließende Beispiele: Die Zeichenkette "123" besteht aus den Zeichen '1', '2' und '3', und die Zeichenkette "4" besteht aus dem einen Zeichen '4'.

[64] The last two examples illustrate some important and perhaps surprising or annoying distinctions. The character `4' and the string "4" are conceptually different, and neither of them is quite the same as the number 4. The string "123" consists of three characters, and it looks like the number 123 to us, but as far as the computer is concerned it is just a string. The number 123 is, when used for ordinary numeric purposes, not represented internally as a string of three characters (instead, it is typically represented as a 16- or 32-bit integer). When we have a string which contains a numeric value which we wish to manipulate as a number, we must typically ask for the string to be explicitly converted to that number somehow. Similarly, we may have reason to convert a number to a string of digits making up its decimal representation.
: Die letzten beiden Beispiele zeigen einen wichtigen und möglicherweise überraschenden und ärgerlichen Unterschied: Das Zeichen '4' und die Zeichenkette "4" sind nicht dasselbe, und beide sind wiederum verschieden von der Zahl 4. Die Zeichenkette "123" besteht aus 3 Zeichen; sie sieht aus wie die Zahl 123, aber für den Rechner ist es keine Zahl sondern eine Zeichenkette, und er speichert es auch nicht wie einen Zahlenwert ab. Ein Zahlenwert für Berechnungen würde nicht in Form der einzelnen Ziffern gespeichert, sondern typischerweise als binäre 16-Bit-Zahl oder 32-Bit-Zahl. Eine Zeichenkette aus Ziffern, die als Zahlenwert aufgefasst werden soll, muss zuvor umgewandelt werden. Ebenso muss ein numerischer Wert in eine Zeichenkette umgewandelt werden, wenn er gedruckt oder am Bildschirm ausgegeben werden soll.

[65] We may also find ourselves needing to convert back and forth between characters and the numeric codes which are assigned to each character in a character set. (For example, in the ASCII character set,the character `A' is code 65, the character `.' is code 46, and the character `4' is, perhaps surprisingly, code 52.)
: Es kommt auch vor, dass man zwischen den Zeichen und ihren zugehörigen Codes hin- und herwechseln muss. Zum Beispiel hat im ASCII-Zeichensatz der Buchstabe 'A' den Code 65, der Punkt '.' hat den Code 46, und die Ziffer '4' vielleicht überraschenderweise den Code 52.


Compiler Terminology
:Compiler-Terminologie
: Die allerersten Rechner konnten nur Zahlen verarbeiten, aber alle heutigen Rechner verarbeiten auch Texte. Rechner (und Programmiersprachen) unterscheiden aber immer genau zwischen Zahlenwerten und Texten, und so müssen auch wir in unseren Köpfen diese Trennung aufrecht erhalten.

Verändert: 31,32c13
[66] C is a compiled language. This means that the programs you write are translated, by a program called a compiler, into executable machine-language programs which you can actually run. Executable machine-language programs are self-contained and run very quickly. Since they are self-contained, you don't need copies of the source code (the original programming-language text you composed) or the compiler in order to run them; you can distribute copies of just the executable and that's all someone else needs to run it. Since they run relatively quickly, they are appropriate for programs which will be written once and run many times.
: C ist eine compilierte Programmiersprache. Das heißt, die in C geschriebenen Programme werden durch einen sogenannten Compiler in die direkt ausführbaren Maschinenanweisungen übersetzt. Solche Programme benötigen keine Laufzeitumgebung und starten und arbeiten sehr schnell. Weder Programmquelle noch Compiler sind während der Programmausführung erforderlich und es genügt, die exekutierbaren Programme an die Anwender zu verteilen. Auf Grund der hohen Geschwindigkeit sind sie besonders für solche Anwendungen geeignet, bei denen Programme millionenfach unverändert über Jahre hinweg und an vielen Orten Tag für Tag eingesetzt werden.
[61] One fundamental component of a computer's handling of alphanumeric data is its character set. A character set is, not surprisingly, the set of all the characters that the computer can process and display. (Each character generally has a key on the keyboard to enter it and a bitmap on the screen which displays it.) A character set consists of letters, numbers, punctuation, etc., but the point of this discussion is not so much what the characters are but that we have to be careful to distinguish between characters, strings, and numbers.

Verändert: 34,35c15
[67] A compiler is a special kind of progam: it is a program that builds other programs. What happens is that you invoke the compiler (as a program), and it reads the programming language statements that you have written and turns them into a new, executable program. When the compiler has finished its work, you then invoke your program (the one the compiler just built) to see if it works.
: Ein Compiler ist eine besondere Art Programm: Ein Programm, das andere Programme erzeugt. Der Compiler wird aufgerufen, liest die in der Programmiersprache geschriebenen Anweisungen der Programmquelle, und erzeugt daraus das ausführbare Programm. Nachdem der Compiler seine Arbeit beendet hat, kann das gerade erzeugte ausführbare Programm aufgerufen werden.
: Die Grundlage der Bearbeitung von Texten ist der zugehörige Zeichensatz. Der Zeichensatz nummeriert die Menge aller Zeichen, die der Rechner verarbeiten und darstellen kann (jedes Zeichen hat ein Bitmuster für die Ausgabe am Bildschirm, die meisten Zeichen sind durch Tasten oder Tastenkombinationen mittels der Tastatur eingebbar). Ein Zeichensatz besteht aus Buchstaben, Ziffern, Satzzeichen und so weiter, aber wesentlich ist nicht so sehr die Eigenart all dieser Zeichen, sondern vielmehr, dass man Zeichen, Zeichenketten und Zahlen sorgfältig auseinanderhalten muss.

Verändert: 37,38c17
[68] The main alternative to a compiled computer language or program is an interpreted one, such as BASIC. An interpreted language is interpreted (by, not surprisingly, a program called an interpreter) and its actions performed immediately. If you gave a copy of an interpreted program to someone else, they would also need a copy of the interpreter to run it. No standalone executable machine-language binary program is produced.
: Die Alternative zum Compiler ist der Interpreter, etwa für die Programmiersprache BASIC. Ein Interpreter führt die Befehle eines Programms unmittelbar aus (d. h. er übersetzt Befehl für Befehl in Maschinenanweisungen und führt diese dann aus), statt daraus ein ausführbares Programm zu erzeugen. Der Interpreter ist langsamer, weil er während des Programmablaufs ständig übersetzt. Wird ein Programm einer interpretierten Sprache weitergegeben, so muss auf dem Zielrechner der Interpreter verfügbar sein, um es dort auszuführen; ein einzelnes selbständig lauffähiges Programm existiert dann nicht.
[62] A character is, well, a single character. If we have a variable which contains a character value, it might contain the letter 'A', or the digit '2', or the symbol '&'.

Verändert: 40,41c19
[69] In other words, for each statement that you write, a compiler translates into a sequence of machine language instructions which does the same thing, while an interpreter simply does it (where "it" is whatever the statement that you wrote is supposed to do).
: Zusammenfassend: Ein Compiler erzeugt für jede Programm-Anweisung eine Folge zugehöriger Maschinenanweisungen mit derselben Bedeutung, während ein Interpreter jede Programm-Anweisung unmittelbar übersetzt und ausführt.
: Ein Zeichen ist, nun ja, ein einzelnes Zeichen. Eine Variable, die ein Zeichen speichert, könnte z.B. den Buchstaben 'A' oder die Ziffer '2' oder das Symbol '&' als Wert enthalten.

Verändert: 43,44c21
[70] The big advantage of an interpreted language is that your program runs right away; you don't have to perform - and wait for - the separate tasks of compiling and then running your program. (Actually, on a modern computer, neither compiling nor interpreting takes much time, so some of these distinctions become less important.)
: Der Vorteil eines Interpreters ist, dass der Zwischenschritt des Compilierens entfällt. (Heutzutage ist jedoch weder Compilieren noch Interpretieren besonders zeitaufwendig, so dass dieser Unterschied an Bedeutung verliert.)
[63] A string is a set of zero or more characters. For example, the string "and" consists of the characters 'a', 'n', and 'd'. The string "K2!" consists of the characters 'K', '2', and '!'. The string "." consists of the single character '.', and the empty string "" consists of no characters at all. Not to belabor the point, but the string "123" consists of the characters '1', '2', and '3', and the string "4" consists of the single character '4'.

Verändert: 46,47c23,25
[71] Actually, whether a language is compiled or interpreted is not always an inherent part of the language. There are interpreters for C,and there are compilers for BASIC. However, most languages were designed with one or the other mechanism in mind, and there are usually a few difficulties when trying to compile a language which is traditionally interpreted, or vice versa.
: In Wirklichkeit ist es jedoch nicht von der Programmiersprache abhängig, ob compiliert oder interpretiert wird. So gibt es z.B. auch Compiler für BASIC und Interpreter für C. Wenn eine Sprache entworfen wird, dann hat der Sprachentwickler dabei aber normalerweise entweder einen Interpreter oder einen Compiler im Sinn, und wenn man später eine Interpreter-Sprache compilieren will oder umgekehrt, dann ist das oft mit einigen Schwierigkeiten verbunden.
: Eine Zeichenkette ist eine Folge von null oder mehr Zeichen. Beispielsweise besteht die Zeichenkette "und" aus den Zeichen 'u', 'n', und 'd'. Die Zeichenkette "K2!" besteht aus den Zeichen 'K', '2' und '!'. Die Zeichenkette "." besteht nur aus einem einzigen Zeichen '.' (trotzdem ist die Zeichenkette "." nicht identisch mit dem Zeichen '.'). Die leere Zeichenkette "" als Sonderfall enthält überhaupt keine Zeichen. Als abschließende Beispiele: Die Zeichenkette "123" besteht aus den Zeichen '1', '2' und '3', und die Zeichenkette "4" besteht aus dem einen Zeichen '4'.

[64] The last two examples illustrate some important and perhaps surprising or annoying distinctions. The character '4' and the string "4" are conceptually different, and neither of them is quite the same as the number 4. The string "123" consists of three characters, and it looks like the number 123 to us, but as far as the computer is concerned it is just a string. The number 123 is, when used for ordinary numeric purposes, not represented internally as a string of three characters (instead, it is typically represented as a 16- or 32-bit integer). When we have a string which contains a numeric value which we wish to manipulate as a number, we must typically ask for the string to be explicitly converted to that number somehow. Similarly, we may have reason to convert a number to a string of digits making up its decimal representation.

Verändert: 49,50c27
[72] The distinction between compilation and interpretation, while it is very significant and can make a big difference, is not one to get worked up over. Most of the time, once you get used to the details of how you get your programs to run, you don't need to worry about the distinction too much. But it is a useful distinction to have a basic understanding of, and to keep in the back of your mind, because it will help you understand why certain aspects of computer programming (and particular languages) work the way they do.
: So wichtig der Unterschied zwischen Compiler und Interpreter ist, er sollte auch nicht überbewertet werden. Während man ein Programm schreibt, gewöhnt man sich so sehr an diese Details, dass sie zur Nebensache werden. Aber es ist immerhin nützlich, die grundsätzlichen Unterschiede zu kennen, da sie uns manche Aspekte der verschiedenen Programmiersprachen besser verstehen lassen.
: Die letzten beiden Beispiele zeigen einen wichtigen und vielleicht überraschenden oder ärgerlichen Unterschied: Das Zeichen '4' und die Zeichenkette "4" sind konzeptionell verschieden, und beide sind wiederum verschieden von der Zahl 4. Die Zeichenkette "123" besteht aus 3 Zeichen; für uns sieht sie aus wie die Zahl 123, aber für den Rechner ist es keine Zahl sondern einfach nur eine Zeichenkette [und er speichert sie auch nicht wie einen Zahlenwert ab]. Ein Zahlenwert für Berechnungen würde nicht in Form der einzelnen Ziffern gespeichert, sondern typischerweise als binäre 16-Bit-Zahl oder 32-Bit-Zahl. Eine Zeichenkette aus Ziffern, die als Zahlenwert aufgefasst werden soll, muss zuvor umgewandelt werden. Ebenso muss ein numerischer Wert in eine Zeichenkette umgewandelt werden, wenn er gedruckt oder am Bildschirm ausgegeben werden soll.

Verändert: 52,53c29
[73] When you're working with a compiled language, there are several mechanical details which you'll want to be aware of. You create one or more source files which are simple text files containing your program, written in whatever language you're using. You typically use a text editor to work with source files (typically you don't want to use a full-fledged text editor, since the compiler won't understand ist formatting codes). You supply each source file (you may have one, or more than one) to the compiler, which creates an object file containing machine-language instructions corresponding to your program. Your program is not ready to run yet, however: if you called any functions which you didn't write (such as the standard library functions provided as part of a programming language environment), you must arrange for them to be inserted into your program, too. The task of combining object files together, while also locating and inserting any library functions, is the job of the linker. The linker puts together the object files you give it, noticing if you call any functions which you haven't supplied and which must therefore be library functions. It then searches one or more library files (a library file is simply a collection of object files) looking for definitions of the still-unresolved functions, and pulls in any that it finds. When it's done, it either builds the final, executable file, or, if there were any errors (such as a function called but not defined anywhere) complains.
: Bei der Arbeit mit einem Compiler gibt es diverse Feinheiten zu beachten. Zunächst erstellt man den Quelltext bzw. die Quelltexte in der jeweiligen Programmiersprache mit einem Text-Editor; typischerweise nicht mit einer kompletten Textverarbeitung, denn ein Compiler kann mit Formatierungen und Layout wenig anfangen. Jede dieser Quelldateien wird dann einzeln durch den Compiler übersetzt, und das Ergebnis ist jeweils eine sogenannte Objekt-Datei mit den Maschinenanweisungen. Die Objekt-Dateien sind jedoch in der Form noch nicht direkt ausführbar, denn im Allgemeinen enthalten sie Aufrufe von Funktionen, die in ihnen nicht enthalten sind, insbesondere Aufrufe von Funktionen aus der Standardbibliothek des Compilers. Die Objekt-Dateien müssen folglich mit diesen Funktionen zusammengefasst werden, was die Aufgabe des Linkers ist. Der Linker kombiniert alle Objekt-Dateien und die erforderlichen Bibliotheksfunktionen in eine ausführbaren Programmdatei. Sollte das dem Linker nicht möglich sein - etwa weil er eine aufgerufene Funktion nicht findet - dann endet das mit einer Fehlermeldung.
[65] We may also find ourselves needing to convert back and forth between characters and the numeric codes which are assigned to each character in a character set. (For example, in the ASCII character set,the character 'A' is code 65, the character '.' is code 46, and the character '4' is, perhaps surprisingly, code 52.)

Verändert: 55,56c31
[74] If you're using some kind of an integrated programming environment, many of these steps may be taken care of for you so automatically and seamlessly that you're hardly aware of them.
: Verwendet man andererseits eine sogenannte integrierte Programmierumgebung, so finden die Aufrufe von Compiler und Linker meisto automatisch und reibungslos im Hintergrund statt, so dass wir davon kaum etwas wahrnehmen.
: Es kommt auch vor, dass man zwischen den Zeichen und ihren zugehörigen Codes hin- und herwechseln muss. Zum Beispiel hat im ASCII-Zeichensatz der Buchstabe 'A' den Code 65, der Punkt '.' hat den Code 46, und die Ziffer '4' vielleicht überraschenderweise den Code 52.

Verändert: 61c36
[[Link]Next[Url=DiesesWiki:SteveSummit/Teil11]]
[[Link]Next[Url=DiesesWiki:SteveSummit/Teil11]]

Top Prev Next

Characters, Strings, and Numbers

Zeichen, Zeichenketten und Zahlen

[60] The earliest computers were number crunchers only, but almost all more recent computers have the ability to manipulate alphanumeric data as well. The computer, and our programming languages, tend to maintain a strict distinction between numbers on the one hand and alphanumeric data on the other, so we have to maintain that distinction in our own minds as well.

Die allerersten Rechner konnten nur Zahlen verarbeiten, aber alle heutigen Rechner verarbeiten auch Texte. Rechner (und Programmiersprachen) unterscheiden aber immer genau zwischen Zahlenwerten und Texten, und so müssen auch wir in unseren Köpfen diese Trennung aufrecht erhalten.

[61] One fundamental component of a computer's handling of alphanumeric data is its character set. A character set is, not surprisingly, the set of all the characters that the computer can process and display. (Each character generally has a key on the keyboard to enter it and a bitmap on the screen which displays it.) A character set consists of letters, numbers, punctuation, etc., but the point of this discussion is not so much what the characters are but that we have to be careful to distinguish between characters, strings, and numbers.

Die Grundlage der Bearbeitung von Texten ist der zugehörige Zeichensatz. Der Zeichensatz nummeriert die Menge aller Zeichen, die der Rechner verarbeiten und darstellen kann (jedes Zeichen hat ein Bitmuster für die Ausgabe am Bildschirm, die meisten Zeichen sind durch Tasten oder Tastenkombinationen mittels der Tastatur eingebbar). Ein Zeichensatz besteht aus Buchstaben, Ziffern, Satzzeichen und so weiter, aber wesentlich ist nicht so sehr die Eigenart all dieser Zeichen, sondern vielmehr, dass man Zeichen, Zeichenketten und Zahlen sorgfältig auseinanderhalten muss.

[62] A character is, well, a single character. If we have a variable which contains a character value, it might contain the letter 'A', or the digit '2', or the symbol '&'.

Ein Zeichen ist, nun ja, ein einzelnes Zeichen. Eine Variable, die ein Zeichen speichert, könnte z.B. den Buchstaben 'A' oder die Ziffer '2' oder das Symbol '&' als Wert enthalten.

[63] A string is a set of zero or more characters. For example, the string "and" consists of the characters 'a', 'n', and 'd'. The string "K2!" consists of the characters 'K', '2', and '!'. The string "." consists of the single character '.', and the empty string "" consists of no characters at all. Not to belabor the point, but the string "123" consists of the characters '1', '2', and '3', and the string "4" consists of the single character '4'.

Eine Zeichenkette ist eine Folge von null oder mehr Zeichen. Beispielsweise besteht die Zeichenkette "und" aus den Zeichen 'u', 'n', und 'd'. Die Zeichenkette "K2!" besteht aus den Zeichen 'K', '2' und '!'. Die Zeichenkette "." besteht nur aus einem einzigen Zeichen '.' (trotzdem ist die Zeichenkette "." nicht identisch mit dem Zeichen '.'). Die leere Zeichenkette "" als Sonderfall enthält überhaupt keine Zeichen. Als abschließende Beispiele: Die Zeichenkette "123" besteht aus den Zeichen '1', '2' und '3', und die Zeichenkette "4" besteht aus dem einen Zeichen '4'.

[64] The last two examples illustrate some important and perhaps surprising or annoying distinctions. The character '4' and the string "4" are conceptually different, and neither of them is quite the same as the number 4. The string "123" consists of three characters, and it looks like the number 123 to us, but as far as the computer is concerned it is just a string. The number 123 is, when used for ordinary numeric purposes, not represented internally as a string of three characters (instead, it is typically represented as a 16- or 32-bit integer). When we have a string which contains a numeric value which we wish to manipulate as a number, we must typically ask for the string to be explicitly converted to that number somehow. Similarly, we may have reason to convert a number to a string of digits making up its decimal representation.

Die letzten beiden Beispiele zeigen einen wichtigen und vielleicht überraschenden oder ärgerlichen Unterschied: Das Zeichen '4' und die Zeichenkette "4" sind konzeptionell verschieden, und beide sind wiederum verschieden von der Zahl 4. Die Zeichenkette "123" besteht aus 3 Zeichen; für uns sieht sie aus wie die Zahl 123, aber für den Rechner ist es keine Zahl sondern einfach nur eine Zeichenkette [und er speichert sie auch nicht wie einen Zahlenwert ab]. Ein Zahlenwert für Berechnungen würde nicht in Form der einzelnen Ziffern gespeichert, sondern typischerweise als binäre 16-Bit-Zahl oder 32-Bit-Zahl. Eine Zeichenkette aus Ziffern, die als Zahlenwert aufgefasst werden soll, muss zuvor umgewandelt werden. Ebenso muss ein numerischer Wert in eine Zeichenkette umgewandelt werden, wenn er gedruckt oder am Bildschirm ausgegeben werden soll.

[65] We may also find ourselves needing to convert back and forth between characters and the numeric codes which are assigned to each character in a character set. (For example, in the ASCII character set,the character 'A' is code 65, the character '.' is code 46, and the character '4' is, perhaps surprisingly, code 52.)

Es kommt auch vor, dass man zwischen den Zeichen und ihren zugehörigen Codes hin- und herwechseln muss. Zum Beispiel hat im ASCII-Zeichensatz der Buchstabe 'A' den Code 65, der Punkt '.' hat den Code 46, und die Ziffer '4' vielleicht überraschenderweise den Code 52.


Top Prev Next
StartSeite | SteveSummit/ | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 14. Mai 2002 1:17 (diff))
Suchbegriff: gesucht wird
im Titel
im Text