Archiv der Kategorie: FACHQUALIFIKATION

Division mit Rest: Modulo und Divisor

Modulo

Ein oft gebrauchtes Instrument in der Programmierung ist Modulo, der Rest einer Division. Bei einer Division zweier Zahlen (Divident : Divisor) erhält man oft ein Ergebnis (Quotient), bei der keine glatte Ganzzahl herauskommt, also einen Bruchwert. Dies ist der Rest der Division, und man bekommt den ganzzahligen Restwert so heraus: Weiterlesen

USE CASE

 use_case_03  die beiden Arten von Akteuren
 use_case_01  Assoziation / Kommunikation
zwischen Akteur und  Use Case
 use_case_02  Multiplizität von Akteur und Use Case
 use_case_04  Generalisierung von Anwendungsfällen
 use_case_05  Generalisierung von Akteuren
 use_case_07  Anwendungsfall A beinhaltet Anwendungsfall B
 use_case_08 A erweitert B

Kommt nur bei erfüllter Bedingung zur Aktion.

 use_case_09  A erweitert B, wenn Bedingung erfüllt wird.
 use_case_10
 use_case_13
 use_case_06  Anwendungsfalldiagramm
 use_case_11
use_case_12

 

Polymorphie

Polymorphie bedeutet Vielgestaltigkeit und stellt ein Kernkonzept der Objektorientierten Programmierung dar.

Es bedeutet, dass man auf verschiedene Objekte mit vererbten Methoden über die selbe Schnittstelle zugreift. Das Ergebnis hängt dann vom Objekt ab.

Beispiel:

//"Hauptklasse" mit verschiedenen Methoden
class Autopublic String getStatus(){
  }
}

//diese Klasse erbt und überschreibt Methoden von Klasse Auto
class Cabrio extends Autopublic String getStatus (){
  }
}

class Mechaniker {
  public void überprüfen (Auto Auto){
  //...
  }
}

Nun kann Mechaniker zum Beispiel mit getStatus() den Status von Auto oder Cabrio abfragen und bekommt entsprechend der implementierten Methoden ein Ergebnis zurück. Mechaniker muss sich aber nur eine Methode dafür merken.

 

 

 

Euklidischer Algorithmus

Den größten gemeinsamen Teiler (ggT) von zwei Zahlen, findet man mit dem Euklidischen Algorithmus.

am einfachsten verdeutlicht an diesem Beispiel:
Gegeben sind die beiden Ganzzahlen:

    a = 24
    b = 14

Die jeweiligen Teilermengen sind (Ganzzahlen):

24: 1,2,3,4,6,8,12,24
14: 1,2,7,14

Es finden sich hier 2 Zahlen, die in beiden Reihen vorkommen: 1,2. Dies sind die gemeinsamen Teiler von 24 und 14.

Wie sieht nun der Algorithmus aus, um den größten gemeinsamen Teiler zu finden?

1. wenn (a == b) dann {ggT = a}
2. wenn (a < b)  dann {b=b-a und Goto 1.} 
3. wenn (a > b)  dann {a=a-b und Goto 1.}

Schreibtischtest:

┌─────────────┬───────────────────────────────┐
│ Variablen   │  Vergleich und Operation      │
╞═════════════╪═════════╪═════╪═══════════════╡
│ a=24, b=14  |  a == b |  n  |               │
│             |  a < b  |  n  |               │
│             |  a > b  |  j  |  a= 24-14 =10 │
│ a=10, b=14  |  a == b |  n  |               │
│             |  a < b  |  j  |  b= 14-10 = 4 │
│ a=10, b= 4  |  a == b |  n  |               │
│             |  a < b  |  n  |               │
│             |  a > b  |  j  |  a= 10-4  = 6 │
│ a= 6, b= 4  |  a == b |  n  |               │
│             |  a < b  |  n  |               │
│             |  a > b  |  j  |  a=  6-4  = 2 │
│ a= 2, b= 4  |  a == b |  n  |               │
│             |  a < b  |  j  |  b=  4-2  = 2 │
│ a= 2, b= 2  |  a == b |  j  |  ggT=2        │
└─────────────┴─────────┴─────┴───────────────┘