ÜI A4 Tetraedervolumen (Formfrage)

Benutzeravatar
base_FFM
Erstie
Erstie
Beiträge: 14
Registriert: 18. Okt 2007 12:43
Wohnort: FFM

ÜI A4 Tetraedervolumen (Formfrage)

Beitrag von base_FFM »

grüsst euch,

weiss jmd ob das so durchgehen würde?
ich hab keine anhaltspunkte zur gestaltung in hinsicht auf die beschreibung usw.

Code: Alles auswählen

; **********************************************************************
; ** PRG/PROZEDUR : Tetraedervolumen (A4, Übung I)                    **
; **********************************************************************
; ** VERTRAG      : Volumen Tetraeder : number -> number              **
; **------------------------------------------------------------------**
; ** BESCHREIBUNG : Erechnet Volumen eines Tetraeders mit             **
; **                V(a) = (sqrt 2)/12 * a^3                          **
; **------------------------------------------------------------------**
; ** BEISPIEL     : Kantenlänge (a) 3 --> 3.1819805153394642          **
; **********************************************************************


; Top Down :
; ----------------------------------------------------------------------

(define (vol a)
  (*(/ (sqrt 2) 12) (* a a a )))

; test  : 3 --> 3.1819805153394642
(vol 3)

; Bottom Up :
; ----------------------------------------------------------------------

; **********************************************************************
; ** PRG/PROZEDUR : pow 3                                             **
; **********************************************************************
; ** VERTRAG      : 3te Potenz : number --> number                    **
; **------------------------------------------------------------------**
; ** BESCHREIBUNG : Erechnet 3te Potenz von a durch  a = a * a * a    **
; **                                                                  **
; **------------------------------------------------------------------**
; ** BEISPIEL     : 3^3 = 27                                          **                  
; **********************************************************************

(define (pow3 a)                 ; define Prozedure  a^3
  (* a a a ))

; test : 3 -> 27
(pow3 3)

(define k (/(sqrt 2) 12))        ; define konstante

(define (vol a)                  ; Formel 
  (* k (pow3 a)))

; test : 3 --> 3.1819805153394642
(vol 3)
grüsse, steffen

Osterlaus
BSc Spammer
BSc Spammer
Beiträge: 1263
Registriert: 23. Aug 2007 12:46
Wohnort: DA

Beitrag von Osterlaus »

Es gibt auf der GdI-Seite ein Template, in das man die eigene Programmierung einfummeln kann. Ob das nun Pflicht ist oder man auch eine komplett eigene Datei ohne Punktabzug abliefern kann, weiß ich nicht.

Benutzeravatar
Skullz
Mausschubser
Mausschubser
Beiträge: 44
Registriert: 23. Mai 2007 16:21

Beitrag von Skullz »

Du brauchst nicht explizit anzugeben, zu welcher Prozedur dein Vertrag gehört, denn das erledigt sich von selbst, indem du im Vertrag einfach den Namen der entsprechenden Prozedur verwendest.
Es reicht also aus, wenn Vertrag, Beschreibung und Beispiel in etwa so aussehen:

Code: Alles auswählen

; 
; ********************************************************************** 
; ** VERTRAG      : volume : number -> number                         ** 
; **------------------------------------------------------------------** 
; ** BESCHREIBUNG : Errechnet das Volumen eines Tetraeders            ** 
; **------------------------------------------------------------------** 
; ** BEISPIEL     : (volume 3) --> 3.1819805153394642                 ** 
; ********************************************************************** 
Wenn du unbedingt die bei dir angegebene Formel in der Beschreibung verwenden willst, kannst du das gerne tun, aber ich glaube nicht, dass die unbedingt benötigt wird.

Top-Down- und Bottom-Up-Verfahren unterscheiden sich eigentlich nicht in der Implementierung, sondern in der Denkweise. D.h. dein Top-Down läuft so ab, dass du zwar zuerst deine Hauptprozedur implementierst, aber dabei davon ausgehst, dass du pow3 und k später sowieso noch implementierst, und deswegen einfach pow3 und k verwendest als würden sie bereits existieren.

Benutzeravatar
base_FFM
Erstie
Erstie
Beiträge: 14
Registriert: 18. Okt 2007 12:43
Wohnort: FFM

Beitrag von base_FFM »

@skullz

vielen dank! das mit der formael hatte ich mir nur vom Üblatt1 A5 abgeschaut.
ich dachte der aufgabenstellung zufolge sollte ich beide varianten angeben (top down ohne pow3,k)+(bottom up mit...).

@osterlaus

hättest du ne url für das template ???

THX

Osterlaus
BSc Spammer
BSc Spammer
Beiträge: 1263
Registriert: 23. Aug 2007 12:46
Wohnort: DA

Beitrag von Osterlaus »

base_FFM, guck mal unter http://www.mis.informatik.tu-darmstadt. ... :exercises
viel glück -nico

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Beitrag von Krümelmonster »

Mir wurde vom Tutor mitgeteilt, dass
man sich an die Namensgebung der
Prozeduren halten muss, weil es sonst
Punktabzug geben kann, da der Code wohl
automatisch geprüft wurde.

Will aber keine Gerüchte verbreiten.
Am besten mal beim jeweiligen Tutor
nachfragen, wie der Code ausgewertet
wird.
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

Benutzeravatar
base_FFM
Erstie
Erstie
Beiträge: 14
Registriert: 18. Okt 2007 12:43
Wohnort: FFM

Beitrag von base_FFM »

nice nico, das sind sie !

Code: Alles auswählen

;----------------------------------
;    GdI 1 / ICS 1 - WS 07/08
;    Uebung / Exercise 01
;----------------------------------
;     TU Darmstadt
;----------------------------------
;   Hausübung / Homework 1
;   Aufgabe / Task 8
;   
;   Name(n):
;----------------------------------

;; Define a structure 2D-point

(define-struct point (x y))

;;1a)
;;Contract: find-m: 
;;
;;Purpose: 
;;
;;Example: 
;;
;;Example: 


;;1b)
;;Contract: find-n: 
;;
;;Purpose: 
;;
;;Example: 
;;
;;Example: 


;;2)
;;Contract: is-in-line: 
;;
;;Purpose: 
;;
;;Example: 
;;
;;Example: 


;;3)
;;Contract: is-in-line-w-tol: 
;;
;;Purpose: 
;;
;;Example: 
;;
;;Example: 
;;
;;Hint: You can use (abs x) to get the absolute value of a number.



;Tests
;;
THX !

Benutzeravatar
giftnudel
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 112
Registriert: 3. Mai 2005 11:26

Beitrag von giftnudel »

Ich persönlich werde böse, wenn nicht die Templates verwendet werden, weil ich extra Arbeit habe. Böse Tutoren geben weniger Punkte als gut gelaunte Tutoren. :)
Also: Macht eure Hausaufgaben frühzeitig und ordentlich, dann fällt ein Fehler nicht ganz so auf, wie wenn man als Tutor jeden Buchstaben dreimal anschauen muss. Im zweiten Fall fällt mir sicher fast jeder Fehler auf, weil ich nachdenken muss.

Antworten

Zurück zu „Archiv“