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