Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

AWE GA1 mögl. Lösungen (Winter 07/08)

Empfohlene Antworten

Veröffentlicht

Hi Leute

ich bin gerade am durcharbeiten der letzten GA1 für Anwendungsentwickler. Da ich leider keine Lösungen hab, poste ich euch hier mal meine Lösungen und hoffe das ihr mir sagen könnt wenn ich was falsch habe.

Dann fang ich einfach mal mit der Aufgabe 5 an:


5a,


MaxErtrag(){

	i = 0

	Array e_werte[365]

	maxErtrag = 0


	Solange i < 365 Wiederhole

	  energie = leseEngergieertragSatz().Energieertrag


	  Wenn energie > maxErtrag Dann

	  	maxErtrag = energie

	  Ende Wenn


	  e_werte[i] = energie

	  i++


	Ende Solange


	Rückgabe maxErtrag

}


5b,


ErstelleLiniendiagramm(){

	zeichneXAchse()

	zeichneYAchse(MaxErtrag())

	i = 1


	Solange i < 365 Wiederhole

	  zeichneLinie(i, e_werte[i-1], (i+1), e_werte[i])

	  i++

	Ende Solange

}

Und was sagt ihr dazu?

So und nun folgt Aufgabe 3:


a, 


SELECT a.anlagen_ID

FROM    Ertrag e, Anlage a, SonnenStd s

WHERE  e.anlagen_ID = a.anlagen_ID

AND      s.plz = a.plz

AND      e.datum = 11-11-2007

AND      (s.sonnenstunden * a.maxertrag * 0,80) > e.tagesertrag


b,


SELECT e.anlagen_ID, SUM(e.tagesertrag)

FROM    Ertrag e

WHERE  e.datum BETWEEN 10-01-2007 AND 10-31-2007

GROUP BY e.anlagen_ID


c,


SELECT e.anlagen_ID

FROM    Ertrag e, SonnenStd s

WHERE  e.anlagen_ID = s.anlagen_ID

AND      e.datum = 11-11-2007

AND      s.plz = 51491

AND      AVG(e.tagesertrag) <= e.tagesertrag

Aufgabe 2:


a,


holeSonnenstunden(plz){

  Array sonnenstunden[][] (aus Angabe)

  sonnenstd = 0


  Wenn sonnenstunden[0][0] > plz Dann

    sonnenstd = -1

  Ende Wenn


  Wenn sonnenstd <> -1 Dann

    Für (i = 0; i <= (sonnenstunden.Länge - 1); i++) Wiederhole


      Wenn sonnenstunden[i][0] = plz ODER i = (sonnenstunden.Länge - 1) Dann

        sonnenstd = sonnenstunden[i][1]

        Verlasse Für-Schleife

      Ende Wenn


      Wenn sonnenstunden[i][0] > plz Dann

        sonnenstd = sonnenstunden[i-1][1]

        Verlasse Für-Schleife

      Ende Wenn


    Ende Wiederhole

  Ende Wenn


  Ausgabe: sonnenstd

}


b,


Gesamtverguetung(nennleistung, plz, abweichung, laufzeit, kWhPreis){

  sonnenstd = holeSonnenstunden(plz)

  nennleistung = nennleistung * (1 - abweichung * 0,005 - laufzeit * 0,02) * (sonnenstd / 1800)

  ertrag = kWhPreis * nennleistung


  Ausgabe ertrag

}

Bei der b, bin ich mir nicht sicher, weil die Fragenstellung für mich nicht ganz logisch ist, aber ich hoffe das es soweit stimmt, auch wenn ich nicht verstehen kann warum es auf die b, 15 Punkte gibt und auf die a, nur 10.

Naja IHK eben ;-)

So die Aufgabe 1 hab ich als DOC-Datei mal angehängt:

PS: Ich warte immer noch auf Feedback ;)

So und nun noch zur letzten Aufgabe ;-)

Die hab ich ebenfalls als DOC-Datei angehängt.

Viel Spaß beim vergleichen und wenn euch Fehler aufgefallen sind oder Verbesserungsvorschläge, dann einfach raus mit der Sprache :D

Aufgabe 2:


a,


holeSonnenstunden(plz){

  Array sonnenstunden[][] (aus Angabe)

  sonnenstd = 0


  Wenn sonnenstunden[0][0] > plz Dann

    sonnenstd = -1

  Ende Wenn


  Wenn sonnenstd <> -1 Dann

    Für (i = 0; i <= (sonnenstunden.Länge - 1); i++) Wiederhole


      Wenn sonnenstunden[i][0] = plz ODER i = (sonnenstunden.Länge - 1) Dann

        sonnenstd = sonnenstunden[i][1]

        Verlasse Für-Schleife

      Ende Wenn


      Wenn sonnenstunden[i][0] > plz Dann

        sonnenstd = sonnenstunden[i-1][1]

        Verlasse Für-Schleife

      Ende Wenn


    Ende Wiederhole

  Ende Wenn


  Ausgabe: sonnenstd

}


b,


Gesamtverguetung(nennleistung, plz, abweichung, laufzeit, kWhPreis){

  sonnenstd = holeSonnenstunden(plz)

  nennleistung = nennleistung * (1 - abweichung * 0,005 - laufzeit * 0,02) * (sonnenstd / 1800)

  ertrag = kWhPreis * nennleistung


  Ausgabe ertrag

}

Bei der b, bin ich mir nicht sicher, weil die Fragenstellung für mich nicht ganz logisch ist, aber ich hoffe das es soweit stimmt, auch wenn ich nicht verstehen kann warum es auf die b, 15 Punkte gibt und auf die a, nur 10. Naja IHK eben ;-)
Ich glaube bei b musst Du eibne Schleife machen die die Jahre der Betriebsdauer hochzählt, dann jedesmal die Vergütung dieses Jahres ausrechnen

Für i = 0; i < betriebsdauer; i++


   gesamtvergütung = gesamtvergütung + nennleistung * vergütung     

   nennleistung = nennleistung * 0.98

Ende für

Die Schleife brauche ich glaub ich nicht, weil ich die Laufzeit (Betriebsdauer) vorher schon in der Nennleistung mit abziehe:

nennleistung = nennleistung * (1 - abweichung * 0,005 - laufzeit * 0,02) * (sonnenstd / 1800)
Die Schleife brauche ich glaub ich nicht, weil ich die Laufzeit (Betriebsdauer) vorher schon in der Nennleistung mit abziehe:

Dann ist die Vergütung des ersten Jahres schon genau so schlecht wie im letzten Jahr

das kann also nicht sein

Und zu 5

energie = leseEngergieertragSatz().Energieertrag

Woher weiß die Methode welchen Eintrag sie nehmen soll

Dieses ist in der Prüfung allerdings extrem schlecht erklärt

evtl energie = leseEngergieertragSatz(i).Energieertrag ???

kann mir jemand sagen wie man das nach der Aufgabenstellung erkennen soll??????

Bearbeitet von dawnrazor666
edit

so mal die Aufgabe 2:


int i=0; double rückgabe=-1

solange SonnenStunden[i][0] <= PLZ dann 

    Rückgabe = SonnenStunden[i][1]

    i = i + 1

ende solange..

Bearbeitet von dawnrazor666

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.