Tutorium für Fortgeschrittene
Stroop Aufgabe: Die Farbe gesehener Wörter ist zu klassifizieren. Es gibt 4 Farben (rot, blau, gelb, grün) In Eprime: red, blue, yellow and green. Jeder Farbe ist einer Taste zugeordnet: in der Reihenfolge von links nach rechts: s d k l 8 Tabuwörter und 8 neutrale Wörter In jeder der beiden Gruppen gibt es jeweils zwei Wörter in gleicher Farbe. Ablauf: Zunächst wird ein Fixationskreuz für 500 ms gezeigt, dann folgt eine Pause von 250 ms und schließlich das farbige Wort für 2000 ms (selfpaced). Im Anschluss kommt eine Pause von 2000 ms. Quelle: http://www.uni-saarland.de/fak5/excops/download/eprime_a1.pdf
E-Basic Easy-Basic = Programmiersprache von E-Prime 1964: Beginner s All-purpose Symbolic Instruction Code An das Englische angelehnte Programmiersprache Im Tutorium nur grundlegendsten Punkte der Sprache behandelt Für Basic-Interessierte: http://openbook.galileocomputing.de/einstieg_vb_2010/index.htm#_top
Variablen Haben Namen, Typ und Wert Dim Variablenname As Variablentyp Namen bestehen aus mind. 1 Zeichen, nur Buchstaben, Ziffern Verschiedene Typen von Variablen je nachdem was bearbeitet/gespeichert werden soll Verschiedene Gültigkeitsbereiche Wichtig vor allem der Wert der Variable, Zuweisung: Variablenname = Variablenwert
Dim Alter As Integer Alter = 22 4 Variablentypen Dim Name As String oder Dim Name$ Name = Sascha Müller Dim Gender As Boolean false wenn weiblich Gender = True Dim Groesse As Double Groesse = 1,82
Felder (Arrays) Datenstruktur zum Speichern von mehreren Einträgen, vergleichbar mit Matrizen und Tabellen Eindimensionales Feld mit 32 Einträgen: Dim Feld(1 to 32) As Integer oder Dim Feld(31) As Integer (Informatiker fangen bei 0 an zu zählen!) Mehrdimensionale Felder: Dim MFeld(1 to 4, 1 to 8) As Integer Eindimensionale Felder können randomisiert werden, mehrdimensionale Felder nicht
Objekte Sind ein Verbund verschiedener Variablen mit Funktionen und Eigenschaften Alle E-Prime Objekte werden automatisch so initialisiert, Bsp: Dim Stimulus As TextDisplay Jetzt kann auch per Inline Code auf die bekannten Eigenschaften zugegriffen werden: Stimulus.Text = Ich bin der Anzeigetext Stimulus.Duration = 1000 Hilfreich: E-Basic Hilfe
Operatoren Arithmetisch + - * / ( ) ^ Mod (Modulo) \ (ganzzahlige Division) Grundschule: 25 : 6 = 4 Rest 1 Relational (Vergleiche) = <> < > >= <= Like Logisch (Junktoren) And Not Or Xor (Ausschließendes Oder)
Like Operator zur Mustererkennung Platzhalter: * (Mehrere Zeichen)? (genau ein Zeichen) Ausdruck "abxba" Like "a*a" "abxba" Like "a?a" "aba" Like "a?a" "asdlfigc" Like "a?d?f*c" Ergebnis True False True True
Priorität von Operatoren Operator ^ Beschreibung Exponentialoperator - negatives Vorzeichen *, / Multiplikation, Division \ Ganzzahl-Division Mod Modulo +, - Addition, Subtraktion & =, <>, <, >, <=, >=, Like Not And Or Verkettung Vergleichsoperatoren (das Zeichen = steht für den Vergleich, nicht für die Zuweisung logisches NICHT logisches UND logisches ODER
Übung Werte Bedingung Ergebnis a=5 b=10 a>0 And b<>10 a=5 b=10 a>0 Or b<>10 z=10 w=100 z<>0 Or z>w Or w-z=90 z=10 w=100 z=11 And z>w Or w-z=90 False True True True x=1.0 y=5.7 x=1.0 y=5.7 x>=0.9 And y<=5.8 x>=0.9 And Not(y<=5.8) True False n1=1 n2=17 n1>0 And n2>0 Or n1>n2 And n2<>17 n1=1 n2=17 n1>0 And (n2>0 Or n1>n2) And n2<>17 True False
Hilfe! Dokumentation von E-Basic über Help -> E-Basic Help zugänglich Sucht und erstellt eine Askbox in einem Inline- Skript!
Verzweigungen und Schleifen Kontrollstrukturen, welche Abarbeitung des Programmcodes steuern, ermöglichen Sprünge Verzweigungen: Ermöglichen verzweigen in alternative Programmabschnitte, je nach Eingangsbedingung (Wenn->Dann) Schleifen: mehrfacher Durchlauf von Anweisungen schnelle wiederholte Bearbeitung ähnlicher Vorgänge
Verzweigungen: If Then Einzeiliges If Then If Bedingung 0 ist erfüllt Then Tue dies und das Mehrzeilig If Then. Else End If If Bedingung 1 ist erfüllt Then Tue mal das und das Else Tues das nicht, sondern mach was anderes End If
If ElseIf Else End If - Block If Bedingung 1 ist erfüllt Then Tue dies und das ElseIf Bedingung 2 ist erfüllt Then Mach doch bitte was anderes Else Gib dem Tutor einen Keks End If
Select Case Select Case Testausdruck Case Ausdrucksliste1 Anweisungen1 Case Ausdrucksliste2 Anweisungen2... Case Else AnweisungenX End Select
Beispiel Dim y As Integer RANDOMIZE y = Random(1,20) Select Case y Case 1,3,5,7,9 Show.Text = "Ungerade und kleiner als 10" Case 11 to 15 Show.Text = "größer/gleich 11 und kleiner/gleich 15" Case Is > 15 Show.Text = "größer als 15" Case Else Show.Text = "Gerade und kleiner/gleich 10" End Select
For Next Schleife Meist verwendet wenn Anzahl der Schleifendurchläufe bekannt ist For Zähler = Start To Ende (Step Schritt) Führe das aus [Bedingung Exit For] Mach was anderes Next Zähler Speziell für Felder: For Each Schleife
Do Loop Schleife Verwendet wenn Anzahl der Schleifendurchläufe nicht bekannt ist Do (While/Until) mach was [Bedingung Exit Do] mach noch was anderes Loop (While/Until) Abbruchbedingung sehr wichtig! -> Sonst Endlosschleife
99 Bottles of Beer 99 bottles of beer on the wall, 99 bottles of beer. Take one down and pass it around, 98 bottles of beer on the wall. 98 bottles of beer on the wall, 98 bottles of beer. Take one down and pass it around, 97 bottles of beer on the wall. 1 bottle of beer on the wall, 1 bottle of beer. Take one down and pass it around, no more bottles of beer on the wall. No more bottles of beer on the wall, no more bottles of beer. Go to the store and buy some more, 99 bottles of beer on the wall.
99 Bottles of Beer E-Prime Dim bottles As Integer bottles = 99 If bottles > 1 Then Show.Text = bottles & " bottles of beer on the wall, " & bottles & " bottles of beer. \n Take one down and pass it around, " & bottles-1 & " bottles of beer on the wall." bottles = bottles - 1 ElseIf bottles = 1 Then Show.Text = bottles & " bottle of beer on the wall, " & bottles & " bottle of beer. \n Take one down and pass it around, no more bottles of beer on the wall." bottles = bottles - 1 Else Show.Text = "No more bottles of beer on the wall, no more bottles of beer. \n Go to the store and buy some more, 99 bottles of beer on the wall." bottles = 99 End If