tfw Geschrieben 5. Januar 2007 Teilen Geschrieben 5. Januar 2007 hi leute, wir programmieren bei uns in der schule zurzeit mit delphi. ich hab jetzt zu weihnachten einen asuro roboter (link) geschenkt bekommen. soviel ich weiß wird der mit c programiert. kann mir jmd. von euch kurz die grundlegenden unterschiede zwischen delphi und c erklären? und was ist denn der vorteil von c? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
grueni Geschrieben 5. Januar 2007 Teilen Geschrieben 5. Januar 2007 Hier mal das, was wikipedia dazu sagt: Unterschiede zu C [bearbeiten] * keine Nullterminierten Strings – Standard Pascal hatte zwar String-Literale aber keinen Typ string (s. oben). In einigen späteren Versionen werden Strings nicht durch ein Null-Byte terminiert, sondern es wird die Länge des Strings im ersten Character String[0]) gespeichert und über die Funktion length(<Bezeichner>) abgefragt. Somit beginnt das erste Nutzzeichen bei String[1]. Da in vielen Implementierungen (z. B. Turbo Pascal) für die Speicherung der Stringlänge nur ein Byte vorgesehen war, ist die Länge auf 255 Zeichen begrenzt. Diese Einschränkung galt als die markanteste überhaupt. Im Extended Pascal Standard wurden Strings als Scheme-Typ definiert. Auch hier muss die Kapazität angegeben werden, sie wird aber in runde Klammern geschrieben und es gibt kein formales Limit: String(10240). * strikte Trennung zwischen Funktionen und Prozeduren – Pascal trennt strikt zwischen einer Funktion (Rückgabewert) und einer Prozedur (kein Rückgabewert, Typ void in C). Eine Funktion darf nicht als Prozedur aufgerufen werden – d. h. der Rückgabewert muss stets entgegen genommen werden. * parameterlose Funktionen/Prozeduren – Verfügt eine Prozedur/Funktion über keine Parameter, so darf beim Aufruf dieser keine Leerklammer () gesetzt werden. * Deklarationen – Variablen und Typdefinitionen dürfen nicht innerhalb der Implementierung einer Funktion/Prozedur (zwischen BEGIN und END) deklariert werden – dies muss in einem speziellen Block im Definitionsteil geschehen. Anders als C erlaubt Pascal die Deklarationen von lokalen Funktionen/Prozeduren. * Namen – In Pascal ist die Groß-/Kleinschreibung bei Namen (Typen, Konstanten, Variablen, Funktionen/Prozeduren) irrelevant. * Blockmarkierungen – Pascal verwendet zur Kennzeichnung von Blöcken die Schlüsselwörter BEGIN und END statt { und } wie in C. * Semikolon – Das Semikolon wird nicht wie in C als Befehls-Abschluss interpretiert, sondern als Trennzeichen zwischen Bezeichnern. Vor einem END oder UNTIL kann es somit weg gelassen werden. Vor einem ELSE darf es i. d. R. gar nicht stehen, da sonst der IF-Zweig als abgeschlossen angesehen werden würde. Ein Fall, wo es vor dem ELSE steht (und stehen muss), ist am Ende einer CASE-Auflistung. * Delimiter – Für String-Literale und Character-Literale wird das selbe Begrenzungszeichen (Delimiter), nämlich der Apostroph verwendet * Zuweisungen – Zuweisungen an Variablen werden durch die Sequenz := definiert, das Gleichheitszeichen allein dient nur dem Vergleich. * Operatoren – Pascal verwendet die Operatoren and, or, not, div (nur für Integer, bei Real ist es /), mod und <> anstatt der C Operatoren &&, ||, !, /, % und !=. Die „Shortcut“-Funktionalität von && und || in C (wenn beim and der linke Teil FALSE ist, wird der rechte nicht mehr ausgewertet) schloss N. Wirth explizit aus (Die Reihenfolge der Auswertung von Expressions obliegt dem Compiler). In Standard Pascal gibt es keine Bitoperationen für INTEGER (wie &, |, ^ und ~ von C), aber stattdessen den Typ set of (mit den Operatoren *, + und - für Durchschnitt, Vereinigung und Mengendifferenz). * strenge Typentrennung – u. a. ist CHAR nicht austauschbar mit INTEGER, die Umwandlung muss mit den Funktionen ORD() und CHR() durchgeführt werden. Explizite Typumwandlungen, sog. type casts wurden erst mit Turbo Pascal eingeführt. In Standard Pascal musste dafür ein Umweg über Variantenrecords (union in C) genommen werden. Bis auf den letzten Punkt mit den "type casts", paßt das auch auf Delphi. C wird eher bei hardware-nahen Sachen verwendet. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 16. Januar 2007 Teilen Geschrieben 16. Januar 2007 was kostet denn so ein bausatz? find das total geil^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
grueni Geschrieben 16. Januar 2007 Teilen Geschrieben 16. Januar 2007 Google doch einfach mal nach "asuro"...z.B. bei Conrad gibts das Teil. Ansonsten: Zurück zum eigentlichen Thema (Unterschiede C-Delphi) bitte. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
horstfffal Geschrieben 6. Januar 2009 Teilen Geschrieben 6. Januar 2009 hi zusammen auch ich hab den asuro geschenkt gekriegt und arbeite in der schule mit delphi am liebsten wärs mir wenn ich asuro mit pascal programmieren könnte. gibt es da eine möglichkeit? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 6. Januar 2009 Teilen Geschrieben 6. Januar 2009 Das hier könnte passen, vielleicht fragst du einfach mal nach: E-LAB Computers Ob du dafür aber mehrere hundert Euro ausgeben möchtest, weiß ich nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
horstfffal Geschrieben 7. Januar 2009 Teilen Geschrieben 7. Januar 2009 Danke Ich glaub ich werd mich dann doch an c gewöhnen. Bei der Erstellung einer hex-datei tritt jetzt aber bei mir ein fehler auf. Ich hatte beim notepad die tools make und clean eingerichtet, wenn ich aber nun test.c mit make convertieren will, so heißt es unten asuro.d: Permission denied cc1.exe: Invalid argument: when writing output to make: *** [asuro.d] Error 1. die Anleitung scherzt da nur das beim beispielprogramm kein fehler auftritt könnt ihr mir sagen wie sich der fehler beheben liesse? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.