Tutorium für Fortgeschrittene
Transcription
Tutorium für Fortgeschrittene
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 4 Variablentypen Dim Alter As Integer Alter = 22 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 Ergebnis "abxba" Like "a*a" True "abxba" Like "a?a" False "aba" Like "a?a" True "asdlfigc" Like "a?d?f*c" True Priorität von Operatoren Operator Beschreibung ^ Exponentialoperator - negatives Vorzeichen *, / Multiplikation, Division \ Ganzzahl-Division Mod Modulo +, - Addition, Subtraktion & Verkettung =, <>, <, >, <=, >=, Like Vergleichsoperatoren (das Zeichen = steht für den Vergleich, nicht für die Zuweisung Not logisches NICHT And logisches UND Or logisches ODER Übung Werte Bedingung Ergebnis a=5 b=10 a>0 And b<>10 False 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 x=1.0 y=5.7 x>=0.9 And y<=5.8 x=1.0 y=5.7 x>=0.9 And Not(y<=5.8) 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 True True True False True False Hilfe! Dokumentation von E-Basic über Help -> E-Basic Help zugänglich Sucht und erstellt eine Askbox in einem InlineSkript! 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