Zum Inhalt springen

Empfohlene Beiträge

Geschrieben
@vatandas:

Wo ist der Luhn-Algorithmus? Der war in der Aufgabe gefordert ;)

@padawan:

Klar, der Algorithmus zur Berechnung der Prüfsumme war da beschrieben. Aber wenn die verlangen, den berühmten Luhn-Algorithmus zu verwenden, bekannt aus Film und Fernsehen, dann muss ich leider passen. Ich kenne wie gesagt Modulo nicht unter "Luhn-Algorithmus" und das war mein Problem. Mit gut Glück hätte ich vielleicht während der Aufgabenlösung Modulo angewendet, aber da die Zeit zu knapp wurde, hab ich halt das mir ebenfalls unbekannte Aktivitätsdiagramm gemacht. Da habe ich für mich mehr Punkte gesehen. Luhn-Algorithmus ... *pfff* ... mein Karl-Benz-Fortbewegungsmittel hat gestern sumerische Sommer-Scheiben bekommen. Immer diese umständlichen Fragestellungen - aber das ist man ja von der IHK gewohnt. Entweder man kennt es, oder man ist im Sack...

Ach man musste den Modulo anwenden?

Ich hab den einmal verwendet, am Ende:

Wenn summe%10 != 0

Dann summe ++

reicht das?

  • Antworten 164
  • Erstellt
  • Letzte Antwort

Top-Benutzer in diesem Thema

Geschrieben
Ach man musste den Modulo anwenden?

In der Aufgabenstellung war die Verwendung des Luhn-Algorithmus gefordert. Ob und wie oft man ihn einsetzt, hängt von der individuellen Lösung der Aufgabe ab. Letztendlich entscheidet der Prüfer, ob's reicht oder nicht bzw. ob der Pseudocode seine Arbeit verrichtet...

Geschrieben
Nee war ja nur spaß ;)

Das mit der Quersumme hatte ich erst auch nur (nur ne Fkt. aufrufen), aber dann:

Maximal 18, also:

Wenn a>=10 Dann quersumme = 1 + (a-10) ;)

Darauf bin ich dann später auch noch gekommen :D Leider alles viel zu spät

Von Luhn oder Modulo weiß ich garnix mehr :S Habe ich wahrscheinlich beim schnellen durchlesen übersehen.

Nur mal so ungefähr für mich zum zusammenrechnen. Wieiviel Punkte würdet Ihr auf dieses Ergebnis geben?

Geschrieben
In der Aufgabenstellung war die Verwendung des Luhn-Algorithmus gefordert. Ob und wie oft man ihn einsetzt, hängt von der individuellen Lösung der Aufgabe ab. Letztendlich entscheidet der Prüfer, ob's reicht oder nicht bzw. ob der Pseudocode seine Arbeit verrichtet...

Also ich hab die Aufgabe aber so verstanden, das die Prüfung wie sie dort beschrieben ist dieser Luhn Alg. ist...

Geschrieben
Der Luhn-Algorithmus ist der, der zur Berechnung der Prüfsumme verwendet wird. So wie er im Beispiel angegeben war. Das Ganze war einfach nur in Pseudo-Code umzusetzen.

Mach mal bitte, ich hätte gerne gesehen wie ich es hätte machen müssen. :mod:

Geschrieben

Ich fand die GA1 ziemlich einfach und auch von der Zeit her gut zu schaffen.

Lösungen:

-- Fragen zum ERD --

1. Verstoß weil die Daten (Gesamtpreis) redundant sind und sich aus anderen Tabellen berechnen lassen.

2. Kann sinnvoll sein um lange Berechnungen nicht immer wieder auszuführen.

3. Da nur innerhalb der Transaktion die Integrität der Daten sichergestellt werden kann.

-- SQL --

SELECT ArtikelBez, MIN(Preis)

FROM Artikel

JOIN ArtikelPreis USING(ArtikelNr)

WHERE Datum_von BETWEEN '2007-01-01' AND '2007-12-31'

 OR Datum_bis BETWEEN '2007-01-01' AND '2007-12-31'

GROUP BY ArtikelBez

SELECT

 KundenNr,

 COUNT(ArtikelNr),

 AVG(Verkaufspreis)

FROM Kunde

JOIN Einkauf USING(KundenNr)

JOIN EinkaufsPosition USING(EinkaufsNr)

GROUP BY KundenNr

ORDER BY AVG(Verkaufspreis)
UPDATE Einkauf

 SET Gesamtbetrag = (

  SELECT SUM(Menge * Verkaufspreis)

  FROM Einkaufsposition

  WHERE Einkauf.EinkaufsNr = Einkaufsposition.EinkaufsNr

 )
-- TOP-DREI ARTIKEL AUFGABE --
var a1, a2, a3;


for(i = 0; i < artikel.length; i++) {

  if(a1 == null or artikelAnzahl.get(artikel[i]) > artikelAnzahl.get(a1)) {

    a3 = a2;

    a2 = a1;

    a1 = artikel[i];

  }

  else if(a2 == null or artikelAnzahl.get(artikel[i]) > artikelAnzahl.get(a2)) {

    a3 = a2;

    a2 = artikel[i];

  }

  else if(a3 == null or artikelAnzahl.get(artikel[i]) > artikelAnzahl.get(a3)) {

    a3 = artikel[i];

  }

}


// a1 - a3 enthalten die top drei

-- KREDITKARTEN --
boolean pruefe(String cc) 

{

  var e1, e2, e3, e4, e5 = 0;


  for(i = 0; i < cc.length; i++) {

    if(i % 2 == 1) {

      e1 += (cc[i] * 2 > 10) ? cc[i] * 2 - 9 : cc[i] * 2;

    }

    else {

      e2 += cc[i];

    }

  }


  e3 = e2 + e1;

  e4 = e3;


  while(e3 % 10 > 0) {

    e3++;

  }


  return cc[cc.length - 1] == e3 - e4;

}

--- GA2 ---- Hier weiss ich nur noch das Ergebnis von der Aufgabe mit den Arbeitsstunden, die auf die EDV und den Vertrieb zu 60:40 aufgeteilt werden müssen.
Budget    25000

Design    -7000

Verfügbar 18000


Gleichung:


18000 = (x * 0.4 * 60) + (x * 0.6 * 80)

18000 = 24x + 48x

18000 = 72x


 x = 250 Stunden

Geschrieben
GA1 - Aufgabe 4 (Array), kann hier jemand eine Lösung Ansatzweise aufzeigen.

Ich hoffe es hat noch keiner gepostet ... aber nachdem die Prüfung ist mir was ganz einfaches eingefallen. Wenn die schon explizit angeben das es Hashtables sind .. warum nicht die funktion einer Hastable nutzen ;)

Da in einer Hastable die Elemente nach Key Sortiert sind, hätte man einfach eine neue Hashtable machen können die WERT als Key hat und Artikel als Value ^^

leider war ich so doof die Aufgabe zu streichen

Geschrieben (bearbeitet)

aber reichen 250 stunden, oder muss man die noch aufgeteilt hinschreiben? Hab blöderweise dort aufgehört, weil ich dachte das wär fertig...

Bei SQL hab ich nur das 3. so, bei den anderen einfach nicht an das Group by gedacht...

wie war da die punkteverteilung? 1:? 2:? 3:10

Bearbeitet von hit_it
Geschrieben
aber reichen 250 stunden, oder muss man die noch aufgeteilt hinschreiben? Hab blöderweise dort aufgehört, weil ich dachte das wär fertig...

In der Aufgabenstellung war AFAIK nach den Gesamtstunden gefragt, nicht nach den Stunden je Abteilung. Das kann man sich ja auch einfach selbst ausrechnen: 100 und 150 Stunden.

Geschrieben (bearbeitet)

...

WHERE Datum_von BETWEEN '2007-01-01' AND '2007-12-31'

 OR Datum_bis BETWEEN '2007-01-01' AND '2007-12-31'

...
Was ich mich die ganze Zeit gefragt hab ist ob man das Datum_bis nicht ignorieren kann, da der Preis ja auf jeden Fall in 2007 gültig war. Auch wenn er z.B. vom 07.5.2007 bis 07.05.2008 gültig war. Also
WHERE YEAR(Datum_von) = 2007'
...

  while(e3 % 10 > 0) {

    e3++;

  }

Warum so "kompliziert". Wenn ich mich nicht täusche gibt Modulo den ganzzahligen Rest zurück -->

e3 += 10-e3%10;

Bearbeitet von giffi
Geschrieben
Ich fand die GA1 ziemlich einfach und auch von der Zeit her gut zu schaffen.

Subjektiv! Ich hoffe der Durchschnitt bestätigt mein Versagen und die IHK ist geneigt hier ein wenig einzulenken wie 23 statt 30 benötigter Punkte. :bimei

Erstaunlich - wie kann man sich das denn bitte alles merken? Oder bist Du etwa ein Prüfer? Wäre prima wenn Du vielleicht noch bitte das ER-Modell und das UML darstellen würdest? Vielen Dank!

Geschrieben
Subjektiv! Ich hoffe der Durchschnitt bestätigt mein Versagen und die IHK ist geneigt hier ein wenig einzulenken wie 23 statt 30 benötigter Punkte.

Klar ist das subjektiv. War aber irgendwie genau mein Ding.

Erstaunlich - wie kann man sich das denn bitte alles merken? Oder bist Du etwa ein Prüfer? Wäre prima wenn Du vielleicht noch bitte das ER-Modell und das UML darstellen würdest? Vielen Dank!

Nein, ich bin auch Azubi *g*. Ich hab den ganzen Kram auf dem Konzeptpapier aufgeschrieben und wir konnten/mussten das mitnehmen. Das ERD hab ich auch noch, müsste ich nur aufmalen.

Und den letzten Handlungsschritt hab ich gestrichen, daher kann ich da nichts zu sagen :D

Geschrieben
Könnte doch auch den Fall geben das der Preis von 10.10.2006 bis 20.04.2007 gültig war. Somit würde nur das Datum_bis im Jahr 2007.

Deswegen steht ein OR dazwischen:

2006-10-10 BETWEEN 2007-01-01 AND 2007-12-31 => FALSE

OR

2007-04-20 BETWEEN 2007-01-01 AND 2007-12-31 => TRUE

Geschrieben

Total Panik gerade: Aktivitätsdiagramm hab ich ohne Notation geschrieben, also nur so.... Kunde gibt Pin ein ---->> Pin wird kontrolliert --->> etc

kriegt man da auch so ein paar Punkte ? wenn wieviel von 25, wenn ich die Notationen nicht hab

Aufgabe 4 hab ich Pseudocode benutzt, bin aber aus zeitlichen Gründen nicht fertig geworden... kriegt man trotzdem Punkte, wenn der Prüfer sieht das man einiger maßen mit Pseudocode umgehen kann ?

Ich fand die sau schwer, wobei ich die GH2 locker fand.....

Geschrieben

Hi 2gether :cool:

meine Meinung:

1.HS: ER-Modell war relativ einfach und dürfte ich gut hinbekommen haben. Die Theorie (Redundanz) hatte ich dank einer vorherigen Prüfung noch gut im Kopf.

2.HS: auch nach mehreren Ansätzen bin ich nicht auf den richtigen Nenner gekommen und habe dann die Aufgabe mit dem Luhn-Algorithmus (noch nie gehört :upps) gestrichen. Äußerst schwierig - wenn ich da an andere Aufgaben denke (im Vergleich zu z.B: Sonnenstunden-Aufgabe o.Ä.)

3.HS: Ich fand die ersten zwei Datenbankaufgaben einfach, doch bei der letzten habe ich dann schon mehrmals die Angabe lesen müssen. Habe mich aber dennoch vertan -> Select mit Alias und dann darunter einen Insert Into und dann den Alias verwendet .... hoffe auf gnädige Prüfer :hells:

4.HS: auch relativ schwer und schwachsinnige Aufgabe, doch habe dann einigermaßen verständlichen Pseudocode hingekritzelt :rolleyes:

5.HS: Das Aktivitätsdiagramm hatte auch Premiere oder? Super .... ich habe mein Bestes gegeben, doch leider ohne die richtige Notation und im IT-Handbuch steht darüber auch nichts brauchbares :rolleyes:

Ich hoffe ich bekomme so um die 70% .....

Grüße

Geschrieben (bearbeitet)
Deswegen steht ein OR dazwischen:

2006-10-10 BETWEEN 2007-01-01 AND 2007-12-31 => FALSE

OR

2007-04-20 BETWEEN 2007-01-01 AND 2007-12-31 => TRUE

where datum_von <= '2007-12-31' and datum_bis >= '2007-01-01' sollte alle fälle abdecken... vorausgesetzt es gilt datum_von <= datum_bis, wovon aber imho auch bei der ihk ausgegangen werden kann.

Bearbeitet von artgenosse
Geschrieben

musste nur den 1 teil machen hoffentlich sind die beiden programmieraufgaben richtig sonst hab ich n problem

pseudo is das einzige womit ich eigentlich ohne weiteres klar komme ^^

Geschrieben
Also Aktivitätsdiagramm konnte man glaube ich nichts falsch machen wenn man die Notation kennt.

Naja, ich mein uml ist wichtig und alles... Aber soll ich alle 13 :confused: Diagramme auswendig aus dem FF kennen?! Find ich ein bisschen hart. For allem wenn in allen anderen PRüfungen (bis auf eine Ausnahme - soweit ich gesehen habe) ausschliesslich Klassen- und Use-Case-Diagramm gefragt waren. was ja auch die Realität wiederspiegelt. (Hab mir ein dickes uml buch zugelegt - da gets nur um klassen- usecase- und sequenz-umls... :old)

und das tolle tabellenbuch zu Aktivitätsdiagramm:

"Darstellung von Workflow und Multithreading - Zustandsübergänge ausgelöst durch Aktionsabschlüsse innerhalb einzelner Zustände." :upps

Aber mal im Ernst: 13x Uml, PAP, ER-Modell, ER-DB-Modell, EGPK, Netzplan, Balkenplan?! - Wie viele Diagrammarten soll ich ich denn bitte draufhaben? Wenn ich auf Studienniveau lernen muss, will ich auch nach Studienniveau bezahlt werden. :P

Geschrieben

Hallo zu der Aufgabe in GAII (Stunden berechnen)

habe ich folgendes:

25000-7000 = 18000

18000/100*40 = 7200 / 60 = 120

18000/100*60 = 10800 / 80 0 135

ps: sollte nicht das buged in 40/60 aufgeteilt werden?

gruß

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...