A priori und A posteriori Typ < Formale Sprachen < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 19:11 Do 29.10.2009 | Autor: | suprimos |
Aufgabe | In einem C0-Programm sind folgende Variablen deklariert:
int ix; float fx; bool bx;
int iy; float fy; bool by;
Weiterhin sind folgende Zuweisungen im Programm zu nden:
1. Zuweisung: fx = (!bx) ? 8. : ((ix > iy) ? ix-iy : iy-ix);
2. Zuweisung: ix = (3 % iy != 0) ? iy : fy;
3. Zuweisung: by = (fx + 10.) ? fy == fx : 17 % ix;
Bestimmen Sie für die jeweils einzelnen 3 Teilausdrücke, der bedingten Ausdrücke, den apriori- und den aposteriori-Typ. Würde der Compiler einen Fehler
melden, falls ein Typ-Fehler auftritt? Füllen Sie die folgenden Tabellen aus |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich habe immernoch Probleme beim bestimmen der Typen.
ich soll mir doch bei den apriori und aposteriori typen NUR auf das was in der tabelle steht beziehen...
oder muss ich um den kompletten aposteriori typ zu bestimmen die ganze zuweisung betrachten !?!?!??!!
Und bei den Fehlermeldungen die der Compiler eventuell ausgeben würde, blicke ich leider auch nicht durch....
das habe ich bisher geschafft:
[Dateianhang nicht öffentlich]
direktlink: http://img214.imageshack.us/img214/6237/bung3test.jpg
Dateianhänge: Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:45 Do 29.10.2009 | Autor: | suprimos |
keiner eine idee???
hier die def:
Es gibt Typen die vom Kontext erwartet werden (a posteriori Typen)
und Typen, die sich aus dem Aufbau des Ausdrucks bestimmen (a priori
Typen)
Werte vom Typ int k¨onnen in Werte vom Typ float konvertiert werden
(int ist anpassbar an float)
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 09:58 Fr 30.10.2009 | Autor: | felixf |
Hallo!
> In einem C0-Programm sind folgende Variablen deklariert:
Was ist C0? Ich nehme ienfach an, dass sich der Compiler aehnlich wie Java verhaelt.
> int ix; float fx; bool bx;
> int iy; float fy; bool by;
> Weiterhin sind folgende Zuweisungen im Programm zu nden:
> 1. Zuweisung: fx = (!bx) ? 8. : ((ix > iy) ? ix-iy :
> iy-ix);
> 2. Zuweisung: ix = (3 % iy != 0) ? iy : fy;
> 3. Zuweisung: by = (fx + 10.) ? fy == fx : 17 % ix;
> Bestimmen Sie für die jeweils einzelnen 3 Teilausdrücke,
> der bedingten Ausdrücke, den apriori- und den
> aposteriori-Typ. Würde der Compiler einen Fehler
> melden, falls ein Typ-Fehler auftritt? Füllen Sie die
> folgenden Tabellen aus
> Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.
>
> Ich habe immernoch Probleme beim bestimmen der Typen.
>
> ich soll mir doch bei den apriori und aposteriori typen NUR
> auf das was in der tabelle steht beziehen...
> oder muss ich um den kompletten aposteriori typ zu
> bestimmen die ganze zuweisung betrachten !?!?!??!!
>
> Und bei den Fehlermeldungen die der Compiler eventuell
> ausgeben würde, blicke ich leider auch nicht durch....
>
> das habe ich bisher geschafft:
>
> [Dateianhang nicht öffentlich]
Bei der 1. Zuweisung, zweiter Teilausdruck: 8. ist keine ganze Zahl, sondern eine Fliesskommazahl.
Bei der 2. Zuweisung, dritter Teilausdruck: wieso gibt es hier einen Fehler? Weil es ein anderer Typ als beim zweiten Teilausdruck ist? (In dem Fall hast du auch bei der 1. Zuweisung einen Fehler.)
Und bei der dritten Zuweisung wuerde ich eher sagen, dass schon beim 1. Teilausdruck ein Fehler kommt (weil vor ? ein bool erwartet wird), beim zweiten dagegen nicht (eher wieder beim dritten, wobei sowas muessig ist zu diskutieren da er schon beim 1. einen Fehler meldet und somit abbricht).
LG Felix
|
|
|
|