• Keine Ergebnisse gefunden

Einf¨uhrung in die Praktische Informatik Wintersemester 2014/15 Arbeitsblatt 1 Fragen

N/A
N/A
Protected

Academic year: 2021

Aktie "Einf¨uhrung in die Praktische Informatik Wintersemester 2014/15 Arbeitsblatt 1 Fragen"

Copied!
14
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Beantworte die folgende Fragen stichpunktartig:

1. Warum sind die ¨Ubungsaufgaben wichtig?

2. Was ist die optimale Pr¨ufungsvorbereitung?

3. Welche Wichtigkeit haben Vorlesung, ¨Ubung und eigenst¨andige Arbeit?

4. Welche Aufgabe haben die Doktoranden?

5. Wieviel Stunden pro Woche sollte ich f¨ur die Vor- und Nachbereitung investieren?

6. Was ist der Unterschied zwischen Programm und Daten?

7. Wo befinden sich Programme im Rechner und wer arbeitet sie ab?

8. Wen kann und darf ich wie um Hilfe bitten?

9. Wie lautet die Home-Page der Lehrveranstaltung?

Hausaufgaben

Nachbereiten: Kapitel: 1 bis 5 Vorbereiten : Kapitel: 6 bis 9

(2)

Beantworte die folgende Fragen stichpunktartig:

1. Was ist der Software Life Cycle?

2. Aus welchen Phasen besteht der Software Life Cycle?

3. Wof¨ur ist das Pflichtenheft?

4. Wie heißt das Hauptprogramm?

5. Wie lautet die Ausgabeanweisung?

6. Wie lautet die Eingabeanweisung?

7. Wie heißt der Datentyp, der ganze Zahlen speichern kann?

8. Mittels welcher Schritte wird aus einem C-Quelltext ein richtiges Programm?

Hausaufgaben

Nachbereiten: Kapitel: 6 bis 9 Vorbereiten : Kapitel: 10 bis 17

(3)

1. Aus welchen Teilen besteht ein Syntaxdiagramm?

2. Wof¨ur ben¨otigt man Syntaxdiagramme?

3. Was sind Identifier? Notiere mindestes sechs korrekte und sechs fehlerhafte Identifier.

4. Welcher Zahlenmenge entspricht der Datentyp int?

5. Notiere mindestens sechs verschiedene int-Konstanten, verwende mindestens einmal jede der drei unterschiedlichen Basen.

6. Definiere sechs verschiedene Variablen vom Typ int.

7. Fallunterscheidung: wie werden sie in Struktogrammen und der Schrittweisen Verfei- nerung dargestellt, wie lautet die C-Syntax?

8. Welche drei Schleifen gibt es? Wie sehen diese im Struktogramm aus, wie lautet die C-Syntax?

9. Wie lautet die Eingabeanweisung?

Hausaufgaben

Nachbereiten: Kapitel: 24 bis 28 Vorbereiten : Kapitel: 29 bis 34

(4)

1. Was definiert die ASCII-Tabelle? Warum/wozu ben¨otigt man so etwas?

2. Was kann man in einer char-Variablen ablegen?

3. Notiere mindestens sechs Zeichen, wobei jede Methode mindestens einmal verwendet wird.

4. Welcher Zahlenmenge entspricht der Datentyp double

5. Notiere mindestens sechs verschiedenedouble-Konstanten, wobei jede Methode min- destens einmal verwendet wird.

6. Wie werden die drei bisher behandelten Datentypen ineinander umgewandelt?

7. Was sind Arrays? M¨ussen alle Elemente eines Arrays vom selben Datentyp sein oder k¨onnen sie auch unterschiedliche Datentypen haben?

8. Wie k¨onnen Arrays definiert werden? Notiere mindestens sechs Arraydefinitionen.

Notiere jeweils die Zahl der Elemente sowie die g¨ultigen Indizies

Hausaufgaben

Nachbereiten: Kapitel: 29 bis 34 Vorbereiten : Kapitel: 35 bis 40

(5)

1. Was ist eine Speicherzelle, was ist in ihr und wie ist der Speicher organisiert?

2. Welche Register/Komponenten hat die CPU und welche Aufgaben haben sie?

3. Wie funktioniert die Zusammenarbeit von CPU und Arbeitsspeicher?

4. Beschreibe in eigenen Worten, wie die CPU ein Programm abarbeitet.

5. Aus welchen Teilen (abzuarbeitenden Teilschritten) besteht ein Compiler?

6. Was speicher der Compiler f¨ur jede Variable?

7. Warummuss der Compiler den zugrundeliegenden Datentyps jedes Objektes wissen?

8. Was verstehen wir unter

”impliziter Typanpassung“? Wie setzt der Compiler Aus- dr¨ucke um, die unterschiedliche Datentypen miteinander verbinden?

Hausaufgaben

Nachbereiten: Kapitel: 35 bis 37 Vorbereiten : Kapitel: 38 bis 43

(6)

1. In welchen Schritten arbeitet der Compiler gcc?

2. Welche Segmente werden vom Compiler unterschieden?

3. Welche Teile eines C-Programms organisiert der Compiler in welchen Segmenten?

4. Warum werden die Inhalte eines C-Programms in unterschiedliche Segmente gepackt?

5. Was bedeutet Evaluation? Notiere mindestens drei Beispiele.

6. Was bedeutet Auswertungsreihenfolge? Erl¨auter dies an einem Beispiel.

7. Was bedeutet Pr¨azedenz? Erl¨auter dies an drei Beispielen.

8. Was ist ein Seiteneffekt? Notiere mindstens drei Beispiele.

9. Welche Kurzformen f¨ur Ausdr¨ucke gibt es in C? Notiere mindestens ein Beispiel je Kurzform.

10. Was bedeutet

”Eine Zuweisung ist ein Ausdruck“. Notiere mindestens zwei Beispiele in denen man dies sinnvoll nutzen kann.

Hausaufgaben

Nachbereiten: Kapitel: 38 bis 43 Vorbereiten : Kapitel: 44 bis 46

(7)

1. Was ist eine Funktion im mathematischen Sinne?

2. Was ist eine Funktion im Sinne einer Programmiersprache?

3. Ist ein Makro #define max(a,b) (a>b)? a: b eine Funktion?

4. Was sind formale Parameter?

5. Was sind aktuelle Parameter?

6. Was sind lokale Parameter (Variablen)?

7. Was ist ein Stack Frame und wof¨ur ist er gut bzw. wof¨ur wird er ben¨otigt?

8. Was passiert bei einem Funktionsaufruf?

9. Was ist eine Zeigervariable und wie definiert man sie?

10. Wie bildet man die Adresse einer Variablen?

11. Wie greift man auf eine Zeigervariable zu, wie auf den Inhalt der Speicherstelle, auf die sie zeigt?

12. Was ist der Zusammenhang von Arrays und Zeigern?

Hausaufgaben

Nachbereiten: Kapitel: 44 bis 46 Vorbereiten : Kapitel: 47 bis 50

(8)

1. Wiederholung: was ist eine Variable, was merkt sich der Compiler ¨uber sie?

2. Was ist eine Adresse, was ein Zeiger, was eine Zeigervariable?

3. Wie weist man der Zeigervariablen etwas zu, wie der Speicherstelle, auf die die Zei- gervariable zeigt?

4. Was bedeutet

”dereferenzieren“?

5. Was symbolisiert der Name eines Arrays?

6. Was bedeuten & a[ 1 ]und a + 1?

7. Was ergibt & a[ 5 ] - a + 1?

Hausaufgaben

Nachbereiten: Kapitel: 45 und 47 Vorbereiten : Kapitel: 49 bis 54

(9)

1. Wie werden in C mehrdimensionale Arrays definiert?

2. Was ist der Unterschied zwischen einem zweidimensionalen Array wie beispielsweise char a2[10][20] und einem Array von Zeigern wie beispielsweise char *ap[10]?

3. Wie werden Zeichenketten (Strings) in der Programmiersprache C dargestellt?

4. Anhand welches/welcher Zeichen erkennt man, dass es sich um eine Zeichenkette und nicht um ein einzelnes Zeichen, eine Variable oder Zahl handelt?

5. In welchem Segment werden Zeichenketten im Arbeitsspeicher abgelegt?

6. Wo wird die L¨ange einer Zeichenkette abgelegt, wie bekommt man die L¨ange einer Zeichenkette heraus?

7. Was bedeutet die Deklaration int argc, char **argvund wof¨ur ist sie gut?

Hausaufgaben

Nachbereiten: Kapitel: 49 bis 51 Vorbereiten : Kapitel: 53 bis 57

(10)

1. Was ist ein struct und wof¨ur werden sie verwendet?

2. Definiere mittels eines struct einen Datentyp des t¨aglichen Lebens (z.B. Person, Auto, ...).

3. Wie kann man auf die einzelnen Komponenten eines structs zugreifen, wenn es sich um eine regul¨are Variable handelt?

4. Wie kann man auf die einzelnen Komponenten eines structs zugreifen, wenn es sich um einen Zeiger handelt?

5. Was versteht man in C unter einem

”Modul“?

6. Was versteht man unter dem Begriff

”getrenntes ¨Ubersetzen“?

7. Wof¨ur werden die.h-Dateien ben¨otigt?

8. Mittels welcher Directive werden eigene .h-Dateien in den Quelltext eingebunden?

9. Wof¨ur kann man die Anweisungtypedef verwenden?

Hausaufgaben

Nachbereiten: Kapitel: 53 bis 57 Vorbereiten : Kapitel: 58 bis 71

(11)

1. Welcher Mechanismus organisiert Speicher auf dem Heap-Segment?

2. Wie kann auf dem Heap organisierter Speicher wieder freigegeben werden?

3. Was versteht man unter der Gr¨oße bzw. der L¨ange einer Zeichenkette?

4. Wie viel Speicher ben¨otigt man, um zwei Zeichenketten der L¨angen L1 und L2 zu einer Zeichenkette zusammenzuf¨ugen?

5. Was ist eine Datei?

6. Wie h¨angen die Datenstruktur FILE, Filedescriptor und Datei zusammen?

7. Welchen Weg nimmt ein eigegebenes Zeichen, wenn es mittels c=getc( stdin ) gelesen wird?

Hausaufgaben

Nachbereiten: Kapitel: 58 bis 71 Vorbereiten : Kapitel: 72 bis 75

(12)

1. Was bedeuten lineare Liste und einfach verkettet?

2. Was bedeuten

”FIFO“ and

”LIFO“

3. Wie definiert man einen Datentyp f¨ur eine Liste?

4. Was ist ein Stack, was sind seine Operationen?

5. An welchen Stellen muss man ggf. Elemente in eine sortierte Liste einf¨ugen?

6. Was sind die Besonderheiten der sortierten Listen nach Wirth?

Hausaufgaben

Nachbereiten: Kapitel: 72 bis 75 Vorbereiten : Kapitel: 76

(13)

1. Was versteht man unter bin¨aren B¨aumen?

2. Was versteht man unter einem L-K-R Baum?

3. Wie definiert man die Datenstruktur f¨ur einen Baum?

4. Wie druckt man einen bin¨aren Baum?

5. Wie lange dauert das Suchen in einem Baum im Vergleich zur lineraren, sortierten Liste?

Hausaufgaben

Nachbereiten: Kapitel: 76 Vorbereiten : Kapitel: 77

(14)

1. Was versteht man unter einer Hash-Tabelle?

2. Was ist die

”Hash-Funktion“?

3. Was versteht man unter Hash-Konflikten?

4. Welchem Zweck dient die Probeklausur?

Hausaufgaben

Nachbereiten: Kapitel: 77

Vorbereiten : Kapitel: 3 bis 77 (Klausurvorbereitung)

Referenzen

ÄHNLICHE DOKUMENTE

Notiere sechs int-Konstanten, verwende alle drei Basen der Programmiersprache C?. Definiere sechs verschiedene Variablen vom

Notiere sechs Zeichen, wobei jede C-Methode mindestens einmal verwendet wird?. Welcher Zahlenmenge entspricht der

Einf¨ uhrung in die Praktische Informatik.. Wintersemester 2020/21

Welche Wichtigkeit haben Vorlesung, ¨ Ubung und eigenst¨ andige Arbeit?. Welche Aufgabe haben

Erl¨ auter Rekursion anhand eines Beispiels und f¨ uhre eine kleine Handsimulation

Warum muss der Compiler den zugrundeliegenden Datentyp jedes Objektes wissen?. Was verstehen

Welche Teile eines C-Programms organisiert der Compiler in welchen Segmenten?. Warum werden die Inhalte eines C-Programms in unterschiedliche

Was bedeuten lineare Liste und einfach verkettet2. Wie definiert man einen Datentyp f¨ ur