PF 02

Grundlagen

Grundlagen


F. S.
Diese Lernkarten befassen sich mit grundlegenden Konzepten der Programmierung, insbesondere mit Variablen, Datentypen und Typkonvertierungen in .NET. Sie decken Themen wie Deklaration, Initialisierung, Wertebereiche und die Unterschiede zwischen globalen und lokalen Variablen ab. Zudem werden praktische Anwendungen wie die Arbeit mit Textfeldern und Numerischen Eingabefeldern behandelt. Diese Lernkarten sind ideal für Anfänger und Fortgeschrittene, die ihr Verständnis von Variablen und Datentypen vertiefen möchten, um effizienter und fehlerfreier zu programmieren.
Karten
29
Lernende
3
Sprache
Deutsch
Kategorie
Informatik
Stufe
Andere
Erstellt / Aktualisiert
19.12.2020 / 05.03.2021

Lernkarten

Steuerelement: TextBox

Welche nennenswerten Eigenschaften (properties) hat die TextBox (Txt)?

  • Text: als String
  • Multiline: Wenn true, dann ist die Eingabe über mehrere Zeilen möglich
  • ScollBars: Wenn true, wird Bildlaufliste eingeblendet.
  • MaxLength: Einschränkung von Anzahl Zeichen mittels Wert.
  • PasswordChar: Blendet Platzhalter ein, wenn Zeichen eingegeben werden. (Verschleierung der Eingabe)

Steuerelement: NumericUpDown

Welche nennenswerten Eigenschaften (properties) hat das NumericUpDown (NumAge)?

  • Value: Startwert zur Laufzeit und aktueller Wert zur Laufzeit (auslesen)
  • Maximum, Minimum
  • Increment: Schrittweite, welcher Value beim Klicken auf Pfeiltasten ändert (bspw. +5)
  • DecimalPlaces: Anzahl der Nachkommastellen im Anzeigefeld

Definition Variablen

  • Platzhalter für konkrete Werte, ein abstrakter Behälter für einen bestimmten Wert)
  • Der Wert wird im Speicher unter einer bestimmten Adresse im Arbeitsspeicher (RAM) abgelegt.
    --> durch die Variable muss man sich die Adresse nicht merken
  • Name der Variable repräsentiert oft den Inhalt
  • Hinweis: Deklaration und Initialisation

Definition Deklaration

  • Der Variable wird ein Datentyp zugewiesen.
  • Sinn: Es regelt, welche Art von Wert gespeichert wird und es wird entsprechend Platz im Speicher reserviert.

Definition Initialisation

  • Jede Variable muss vor ihrer Verwendung einen Anfangswert erhalten. Man spricht von der Initialisierung.

Datentyp byte und sbyte?

byte

  • .Net-Laufzeittyp: Byte
  • Bits: 8
  • Wertebereich: 0 ... 28-1 = 255 

sbyte

  • .Net-Laufzeittyp: SByte
  • Bits: 8
  • Wertebereich: -128 ... 127

Datentyp short und ushort?

short:

  • .Net-Laufzeittyp: Int16
  • Bit: 16
  • Wertebereich: -215... 215-1

ushort:

  • .Net-Laufzeittyp: UInt16
  • Bits: 8
  • Wertebereich: 0... 216-1 = 65'535

Erläutere den Wertebereich von Datentypen.

Bei ausschliesslich positiven Datentypen: 

  • 2n-1

Bei negativen Datentypen:

  • 1. Bit wird für negative Werte verwendet,
  • Negativer Wertebereich: 2n-1
  • Positiver Wertebereich: 2n-1-1 --> wegen der Null

 

Datentyp int und uint?

int:

  • .Net-Laufzeittyp: Int32
  • Bit: 32
  • Wertebereich: -231... 231-1

uint

  • .Net-Laufzeittyp: UInt32
  • Bits: 32
  • Wertebereich: 0... 232-1 

Datentyp long und ulong?

long:

  • .Net-Laufzeittyp: Int64
  • Bit: 64
  • Wertebereich: -263... 263-1

ulong

  • .Net-Laufzeittyp: UInt64
  • Bits: 64
  • Wertebereich: 0... 264-1 

Datentyp float?

float

  • .Net-Laufzeittyp: Single
  • Bit: 32
  • Wertebereich: 1.4 x 10-45 bis 3.4 x 1038

Datentyp double?

double

  • .Net-Laufzeittyp: Double
  • Bits: 64
  • Wertebereich: 5.0 x 10-324 bis 1.7 x 10308

Datentyp char?

char

  • .Net-Laufzeittyp: Char
  • Bits: 16
  • Wertebereich: Unicode-Zeichen zwischen 0 ... 216-1 = 65535

Datentyp string?

string

  • .Net-Laufzeittyp: String
  • Bits: pro Zeichen 16 Bits
  • Wertebereich: Ca. 231 Unicode-Zeichen

Datentyp bool?

bool

  • .Net-Laufzeittyp: Boolean
  • Bits: 8
  • Wertebereich: true, false

Welche Vorschriften bei der Bezeichnung von Variablen gibt es?

  • nur alphanummerische Nummern inkl. _
  • einmalige Verwendung
  • aussagekräftig
  • innerhalb der Methode: beginnt mit einem Kleinbuchstaben
  • Camel-Case Darstellung
  • keine methodeninternen Schlüsselworte verwenden (vgl. Liste). wenn doch nötig zuvor: _

Wie nennt man die Grossklein-Schreibweise von Variablen?

  • Camel-Case Darstellung

Wie geht man vor, wenn eine Variable immer den gleichen Wert haben soll? Nenne ein Beispiel.

  • const double PI = 3.141592659;

Erläutere den Unterschied einer globalen und lokalen Variable.

Lokale Variable

  • Nur in der entsprechenden Methode sichtbar.
  • Lebenszeit endet mit der Abarbeitung der Methode.
  • Kann gleichnamige globale Variable "überlagern".

Globale Variable

  • In der ganzen Klasse bzw. Objekt sichtbar.
  • Aus allen Methoden zugreifbar.
  • Lebenszeit endet mit Beendigung des Programms, bzw. bei Zerstörung des Objekts.

Hinweis: mit this kann man innerhalb einer Methode auf die gloable Variable zugreifen, auch wenn sie den gleichen Namen hat wie methodenintern eine Variable.

Datentypen: Erläutere die Typenkompatibilität und Typenkonvertierung und unterscheide dabei implizit und explizit.

Konvertierung

Wenn eine Variable bzw. ein Wert eines bestimmten Typs in einen anderen Typ umgewandelt werden soll, spricht man von Typkonvertierung oder engl. type conversion bzw. type casting. Hierzu verwendet man den "Casting-Operator" bspw. (int).

  • implizites type casting:
    • Der Compiler übernimmt die Umwandlung des ursprünglichen Typs zum Zieltyp automatisch
    • Geht nur von einem grösseren in einen kleineren Wert, resp. von einem ungeauen in einen genauen
  • explizites type casting:
    • Umwandlung des ursprünglichen Typen in einen Zieltypen der ungenauer ist
    • Hierfür verwenden wir die Klasse "Convert" mit der entsprechenden Methode "ToString" etc.
    • Hinweis: halte für die Prüfung die Bits vor Augen

 

 

Aufgabe A2-1-1/2

  • Textbox: Firstname, Nachname
  • NumericUpDown: Alter
  • Button: Ausgeben, Löschen

Wie sieht der Code für das Label aus?

Ausgeben:

  • LblResultat.Text = TxtFirstname.Text + " " + TxtLastname.Text + "Alter: " + Convert.ToString(NumAge.Value);

Löschen:

  • TxtFirstname.Text = " ";

Aufgabe A2-1-3

Taschenrechner programmieren

  • Zahl 1 + 2: Textbox
  • Resultat: Textbox
  • Operatoren: Buttons

Bsp. Multiplikation

  • TxtResultat.Text = Convert.ToString(Convert.ToInt32(TxtBox1.Text) * Convert.ToInt32(TxtBox2.Text));
Bsp. Division
  • TxtResultat.Text = Convert.ToString(Convert.ToDouble(TxtBox1.Text) / Convert.ToDouble(TxtBox2.Text));

oder

int value1;
int value2;
int result;


value1 = Convert.ToInt32(TxtBox1.Text);
Value2 = Convert.ToInt32 (TxtBox2.Text);

result = value1 + value2;

txtResultat.Text = Convert.ToString(result);

Aufgabe A2-2-2

Welche der folgenden Bezeichner für Variablen sind gültig? (begründe)

Aufgabe A2-2-3

Wo liegen die Fehler in den folgenden Variablenzuweisungen? (begründen)

  • const int PI = 3.14159;
  • char firstValue = "A";
  • double tall = 12,34521;
  • sbyte value = 128;
  • String firstname='Max';

const int PI = 3.14159; -->Falscher Datentyp, Fliesskommazahl!

char firstValue = "A"; --> Keine Anführungszeichen, sondern Hochkommas 

double tall = 12,34521; -> Kein Komma sondern ein Punkt!

sbyte value = 128; --> max. 127!

String firstname='Max'; --> Anführungszeichen werden für den Wert
erwartet, keine Hochkommas.

Aufgabe A2-2-4 (Teil 1)

Welche Aussagen sind richtig?

Aufgabe A2-2-4 (Teil 2)

Welche Aussagen sind richtig?

Aufgabe A2-3-1

Welche dieser Konvertierungen müssen explizit vorgenommen werden? Mit welchem Operator?

  • byte -> short
  • long -> float
  • double - long
  • short -> float
  • double -> byte
  • int -> char
  • char -> int

  • byte -> short (implizit)
  • long -> float (implizit)
  • double - long (explizit: long)
  • short -> float (implizit)
  • double -> byte (explizit: byte)
  • int -> char (explizit: char)
  • char -> int (implizit)

Aufgabe A2-3-2

Bestimmen Sie den jeweiligen Wert der Konvertierung:

  1. byte var1 = 128;
    sbyte var2 = (sbyte)var1;
     
  2. byte var1 = 134;
    sbyte var2 = (sbyte)var1;
     
  3. ushort var1 = 256;
    byte var2 = (byte)var1;
     
  4. double var1 = 123.45454;
    int var2 = (int)var1;

  1. -128
    1000 0000
     
  2. -122
    1000 0110
     
  3. 0
    (0000 0001) 0000 0000
     
  4. 123
    Komma abgeschnitten.

Aufgabe A2-3-3

Farb-Panel mit RGB-NumericUpDown

Für jeden NumericUpDown analog:

int actValueRed = Convert.ToInt16(NumRed.Value);

int actValueGreen = Convert.ToInt16(NumGreen.Value);

int actValueBlue = Convert.ToInt16(NumBlue.Value);

PanColor.BackColor = Color.FromArgb(actValueRed, actValueGreen, actValueBlue);

Lernen