Datentyp < Pascal < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:28 Mi 21.02.2007 | Autor: | Harries |
Aufgabe | Definieren sie einen Datentyp mit dem namen TKomplex
1. als ein ARRAY mit den Indizes re und im und eine variable z1 dieses Datentyps und weisen sie z1 den wert 4.7 - 5i zu;
2. als einen RECORD mit den Komponenten re und im und eine Variable z2 dieses Datentyps und weisen Sie z2 den wert 3 * 4i zu. |
Hallo!
Ich hoffe mir kann hier bei jemand helfen!
bei der ersten Frage weiß ich gar nicht so recht wie ich das machen soll bloß, das ich
Type TKomplex = Array [1..2]
weiter weiß ich da nicht so recht
bei der zweiten sache hab ich bis jetzt geschrieben
Type TKomplex = record
re : integer;
im : integer;
end
var z2 : TKomplex
z2:= 3*4i
ist die zweite so richtig, oder teilweise richtig oder total falsch
danke schon im voraus
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:48 Do 22.02.2007 | Autor: | Harries |
hi kann mir denn niemand helfen??? brauche das dringend für mein staatsexam
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:03 Do 22.02.2007 | Autor: | ardik |
Hallo Harries,
also, nach 11 Minuten ungeduldig zu werden, ist doch vielleicht etwas früh, oder?
Außerdem: Warum gibst Du dann als Fälligkeitsspielraum 2 Tage an?
Schöne Grüße
ardik
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 14:16 Do 22.02.2007 | Autor: | ardik |
Hallo Harries,
Pascal ist bei mir laaange her, so dass exakte Syntax mir nicht mehr geläufig ist, aber ein paar Hinweise...
Zwischenfrage:
Komplexe Zahlen sind Dir bekannt?
Du erkennst, warum hier in re und im, nämlich REalteil und IMaginärteil aufgeteilt wird?
> 1. als ein ARRAY mit den Indizes re und im und eine
> variable z1 dieses Datentyps und weisen sie z1 den wert 4.7 - 5i zu;
> Type TKomplex = Array [1..2]
Damit erhältst Du ein Array mit den Indizes 1 und 2, aber nicht mit re und im. Also z.B. z1[1] statt z1["re"].
Ich weiß allerdings nicht mehr, wie in Pascal Arrays mit benannten Indizes definiert werden. Vielleicht Array["re","im"]??
> 2. als einen RECORD mit den Komponenten re und im und eine
> Variable z2 dieses Datentyps und weisen Sie z2 den wert 3 * 4i zu.
> bei der zweiten sache hab ich bis jetzt geschrieben
>
> Type TKomplex = record
> re : integer;
> im : integer;
> end
> var z2 : TKomplex
Das gefällt mir soweit.
> z2:= 3*4i
Der Typ von z2, nämlich TKomplex, ist doch als Record aus zwei Teilen definiert. Da kannst Du doch z2 nicht einfach einen einfachen Wert zuweisen!
Soweit ich mich erinnere, wird in Pascal der Punkt als Gliederungszeichen verwendet (ich kann mich irren...)
Dann würde die (zweiteilige!) Zuweisung so aussehen:
z2.re:= 3;
z2.im:= 4;
Hoffe, ich konnte ein wenig weiterhelfen!
Schöne Grüße
ardik
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 14:38 Do 22.02.2007 | Autor: | Harries |
Ja du hast mir ganz gut weiter geholfen.Ich weiß auch was es mit im und re
auf sich hat.
Hab das ganze jetzt noch mal zusammen geschrieben. Vielleicht kann da noch mal jemand drüber schauen ob das so gehen würde
Type Ttest = re,im;
TKomplex = array[Ttest] of real;
var z1:TKomplex
begin
z1.re:=4.7;
z1.im:=5;
end.
__________________________________________________________________
Type TKomplex = record;
re:integer;
im: integer;
end ;
var z2: TKomplex;
begin
z2.re:=3;
z2.im:=4;
end.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 14:47 Do 22.02.2007 | Autor: | Loddar |
Hallo Harries!
> Type Ttest = re,im;
Das dürfte Probleme aufwerfen, da PASCAL die Typen "re" bzw "im" nicht kennen wird.
Ich würde hier auf Konstantendefinition zurückgreifen:
CONST re=1;
im=2;
(Bitte Syntax / PASCAL-Schreibweise überprüfen, da auch bei mir furchtbar lange her!)
> TKomplex = array[Ttest] of real;
Damit würde das hier ARRAY[re...im] OF REAL; heißen
> var z1:TKomplex
>
> begin
> z1.re:=4.7;
> z1.im:=5;
Im ARRAY musst Du schon mit den eckigen Klammern arbeiten:
z1[re] := 4.7;
z1[im] := 5;
> end.
__________________________________________________________________
> Type TKomplex = record;
> re:integer;
> im: integer;
Warum "nur" Typ INTEGER? Da würde ich auch REAL verwenden.
> end ;
> var z2: TKomplex;
>
> begin
> z2.re:=3;
> z2.im:=4;
> end.
Gruß
Loddar
Ich erhebe hier für meine Korrekturhinweise keinen Anspruch auf Vollständigkeit.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:53 Do 22.02.2007 | Autor: | Harries |
danke schön!! jetzt komm ich gut weiter!!
|
|
|
|