halt maul


Fichier Détails

Cartes-fiches 31
Langue Deutsch
Catégorie Informatique
Niveau Université
Crée / Actualisé 11.04.2024 / 18.04.2024
Lien de web
https://card2brain.ch/box/20240411_grundlagen_der_informatik
Intégrer
<iframe src="https://card2brain.ch/box/20240411_grundlagen_der_informatik/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Fülle die folgenden Lücken für den Algorithmus der Binäre Suche ein: 

def binaereSuche(w, L) {
first = 0
last = ___ - 1
while (___) {
int middle = ___
if (___) {
first = middle + 1
}
else {
if (___) return true
last = middle - 1
}
}
return false
}


}

L.size(), first <= last, (first+last)/2, L[middle] < w, L[middle] == w

Trenne die Lücken mit Komma und Leerzeichen

Was sagt das EVA (IPO)-Prinzip aus? 

Beschreibt den Prozess der Datenverarbeitung: 

  • Eingabe (Input)
  • Verarbeitung (Process)
  • Ausgabe (Output)

 

Was sind die wesentlichen Vorteile der automatisierten Datenverarbeitung?

- höhere Geschwindigkeit

- höhere Zuverlässigkeit

- geringere Kosten

Was beschreibt die Informatik? 

- Wissenschaft die sich mit elektronischer Datenverarbeitung beschäftigt 

-> Informationsverarbeitung unter Einsatz von Computern

 

Wie kann man bei der Erstellung eines Programms zur Lösung einses Problems beispielsweise Vorgehen?

1. Problemdefinition

2. Programmentwurf

3. Programmierung

In welche unterschiedlichen Softwarearten wird unterteilt?

Anwendungs- und Systemsoftware

Was ist der Grundgedanke der strukturierten Programmierung?

- Niemals ein Sprungbefehl

- Programmanweisungen sollen alle der Reihe nach erledigt werden

Kontrollstrukturen sind: Sequenz, Auswahl, Wiederholung

Welche Kontrollstrukturen gibt es in der strukturellen/prozeduralen Programmierung? 

1. Sequenzen (Befehele werden nacheinander und starr abgearbeitet)

2. Auswahl ( Anweisungen die nach entweder einer true oder einer false Bedingung ausgeführt werden)

3. Wiederholungen (Schleifen die gewisse Anweisungen durchführen)

Wie würde ein Objekt in der Klasse "Auto" deklariert und definiert werden?

Auto (Klassenname) meinAuto (Deklaration) = new Auto (Defintion)

Wo werden Methoden (Funktionen) in der objektorientierten Programmierung festgelegt? 

- In der Klasse

- Methode bezieht sich auf das Objekt

Wie würde eine Methode "beschreiben" auf ein mögliches Objekt angewandt werden (Beispiel Auto)? 

beschreiben.meinAuto()

Fülle die Lücken der folgenden Methode aus

___ kommentieren()

{

if (a == 0)

{

____

___ "Die Gleichung ist allgemeingueltig";

____

return "Die Gleichung ist unloesbar";

}

else

String, if(b==0), return, else

Welches Schaltungssysmbol wird hier dargestellt?

Das Symbol der NICHT-Schaltung (NOT)
Wandelt 1 in 0 und umgekehrt

Welches Schaltungssymbol wird hier dargestellt?

Das Symbol der XOR-Schaltung
auch entweder-Oder-Schaltung
Es darf also entweder nur A oder nur B auf 1 stehen

Welches Schaltungssymbol wird hier dargestellt? 

Das Symbol der ODER-Schaltung (OR)

Welches Schaltungssymbol wird hier dargestellt? 

Symbol der UND-Schaltung

A und B müssen beide auf 1 stehen

Welche drei Eigenschaften muss eine Bearbeitungsvorschrift zur Lösung eines Problems haben damit es als Algorithmus zählt? (Grundeigenschaften) 

- Fintheit = Vorschrift ist mit endlichen Mitteln beschreibbar
- Determinismus = Eindeutige Defintion welche Regel in der Vorschrift als nächste anzuwenden ist
- Derminiertheit = Die Ausgabe ist immer eindeutig bestimmt

Welche Erweiterungen von Eigenschaften werden für einen umsetzbaren Algorithmus verlangt? (zwei Stück)

- Platzkomplexität = Verfahren darf zu jedem Zeitpunkt nur angemessen viel Speicherplatz benötigen
- Terminiertheit = Das Verfahren sollte zu einem angemessenen Zeitpunkt termieren (es darf nicht ewig dauern)

Fülle die Lücken für den Algorithmus einer linearen Suchen mit den folgenden Parametern:
Eingabe: Zahl w, Liste von Zahlen L
Ausgabe: wahr, falsch
Problem: Ist w in L?

def lineareSuche(___) {
i = 0
while (____) {
if (___ == w) return true
i++
}
return false
}

w, L, i < L.size(), L[i]

Kann folgendes als Algorithmus bezeichnet werden? (Sichwortartige Begründung)

Zahlen addieren: Es werden zwei Zahlen a und b eingegeben. Die Vorschrift lautet:

Addiere die beiden Zahlen und gibt die Summe c = a + b aus.

Ja (Paradebeispiel)

- endliche Mittel (Finitheit)
- Summe ist immer eindeutig bestimmt (Determiniertheit)

Kann folgendes als Algorithmus bezeichnet werden? (Sichwortartige Begründung)

Ein Schachcomputer soll nach folgender Vorschrift programmiert

werden: Analysiere die Stellung deines Gegners; finde danach den besten Zug

und führe ihn aus.

Nein

- nicht erklärt was zu tun ist (Determinismus)
- Fraglich ob Analyse mit endlichen vielen Mitteln abgeschlossen werden kann
- Bester Zug kann bei einem Strategiespiel beim Schach nie eindeutig sein
 

Kann folgendes als Algorithmus bezeichnet werden? (Sichwortartige Begründung)

 Münzwurfspiel: Man wirft eine Münze mit den beiden Seiten „Wappen“ und

„Zahl“. Das Spiel wird durch folgende Regel gesteuert: Zeigt die Münze die Zahl,

wird noch einmal geworfen, zeigt sie das Wappen, ist das Spiel beendet.

Noch nicht

- es kann nie mit Sicherheit gesagt werden wann Wappen geworfen wird
- Algorithmus wenn Erweiterung durch "nach 10 Versuchen stoppen" 

Durch was erweitert C++ die Sprache C? 

Durch die Objektorientierung

Bei welchen Operationen ist eine lineare Suche angebracht und wann eine Binäre Suche? 

Linear: Name oder Zahl einfügen
Binär: Name Suchen

Lineare Suche nach Namen durchsucht statistisch immer die Hälfte der gesamten Liste. Grade bei großen Listen ist hier die Binäre Suche deutlich schneller
Beim Einfügen ist es meistens ratsamer eine unsortierte Liste zu führen, da das weniger komplex ist, deswegen ist hier die Lineare Suche besser

Bei der Analytischen Maschine von Babbage (nur Theorie) sollten Lochkarten für die Programme entworfen werden, was sind mögliche Vorteile von Lochkarten zur Speicherung von Daten? 

  • Niedrige Kosten
  • Haltbarkeit
  • Auch ohne Maschine Lesbar
  • Leicht zu beschreiben

Analytische Maschine: Was sind die NAchteile von Lochkarten zur Speicherung von Daten? 

  • Dateneingabe zeitraubend
  • Dateneingabe fehleranfällig
  • platzraubende Lagerung
  • Niedrige Einlesegeschwindigkeit

Fülle die Lücken der folgenden Tabelle. Reihenfolge Spalten 

 

0,1,1,1,1,0,0,0,1,0,0

Was sind die Eigenschaften eines Halbaddierers (Schaltungen/Logik)? 

 

- Schaltwerk um Dualzahlen miteinander zu addieren

- bestimmt aus zwei dualen Inputs (x,y) zwei duale Outputs (r, u)

- r ist die Ergebnisziffer und ergibt sich aus einer XOR (Entweder-Oder-Schaltung)

- u ist der Übertrag und ergibt sich aus einer UND-Schaltung

Fülle die Lücken für einen Halbaddierer aus. Reihenfolge Spalte für Spalte (oben nach unten) 

 

0,1,1,0,0,0,0,1

Was sind die Eigenschaften des Volladdierers (Schaltungen/Logik) 

- Dient der Addition zweier mehrstelliger Dualzahlen, da es hier einen alten Übertrag u1 gibt

- Additions aus drei Inputs (x,y,u1) liefert r (Ergebnisziffer) und u2 

- r steht bei 1 wenn genau ein oder genau drei Inputs auf 1 stehen

- ualso zu einem neuen Übertrag kommt es wenn genau zwei oder genau drei Inputs auf 1 stehen

Fülle die Lücken der folgenden Tabelle des Volladdieres: 

0,1,1,0,1,0,0,1,0,0,0,1,0,1,1,1