Aufgabe Total Punkte

Ähnliche Dokumente
Kurze Begründung, warum der Ausdruck korrekt ist oder jeweils zwei Gegenbeispiele, die zeigen, warum der Ausdruck nicht korrekt ist

Grundlegende Programmierkonzepte: Anweisungen und Methoden

Gestern: Kara. Steuerung: Endliche Automaten

Arbeiten mit JavaKara

Methoden-Expertin. Aufgabe 1. Das Neue. Lösung in JavaKara. Puzzle: Expertin D

AUFGABE 1: REGULÄRE AUSDRÜCKE (5 PUNKTE)

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Prüfung Computation, Programming

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Einstieg in die Informatik mit Java

Eine Einführung in den Kontrollfluss durch ein JavaKara-Programm: - Aufruf von Methoden (ohne Parameter, ohne Rückgabewerte) - Programmausführung mit

Grundlegende Programmierkonzepte: Abläufe mit Wiederholungen (Schleifen)

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Arbeitsblatt zu Methoden

Informatik I Übung, Woche 40

Kapitel 1: Informationsverarbeitung durch Programme

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:

Informatik 11: Einführung in Java. Lösungen zu den Rekursions-Aufgaben

Javakurs für Anfänger

Grundlegende Programmierkonzepte: Variablen, Methoden-Parameter, Rückgabewerte

Kapitel 1: Informationsverarbeitung durch Programme

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

4.Grundsätzliche Programmentwicklungsmethoden

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

2.5 Programmstrukturen Entscheidung / Alternative

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

Schleifenprogrammierung in C/C++, Fortran und Pascal

Greenfoot: Verzweigungen

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

Programmierkurs: Delphi: Einstieg

Syntax der Sprache PASCAL

Javakurs für Anfänger

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

Informatik I Übung, Woche 41

Kapitel 4. Kontrollstrukturen

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

Informatik I Übung, Woche 41

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

Einstieg in die Informatik mit Java

Programmieren I. Kapitel 5. Kontrollfluss

JavaKara. In JavaKara gibt es folgende Anweisungen: kara.move()

Klassenvariablen, Klassenmethoden

Kontrollstrukturen -- Schleifen und Wiederholungen

Anweisungen und Kontrollstrukturen

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

2. Algorithmenbegriff

System.out.println("TEXT");

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17

In dieser Aufgabe geht es darum, das einfache Meteor-Spiel zu verstehen und anzupassen. Lade als erstes das Spiel sample12 und spiele es.

Probeklausur: Programmierung WS04/05

C.3 Funktionen und Prozeduren

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

Bash-Skripting Linux-Kurs der Unix-AG

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Einführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen

6. Iteration (Schleifenanweisungen)

Java programmieren mit JavaKara. Eine Zusammenfassung in Beispielen

Flussdiagramm / Programmablaufplan (PAP)

Grundlagen der Programmierung

Theoretische Informatik SS 03 Übung 3

Algorithmen implementieren. Implementieren von Algorithmen

Einstieg in die Informatik mit Java

Wintersemester 2010/2011 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung

1953/54 (USA) PS FORTRAN (FORmula TRANslating system) 1958/60 (Europa) ALGOL (ALGOrithmic Language)

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Programmierkurs Java

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Grundlagen der Informatik 5. Kontrollstrukturen II

Grundlagen der Fortran Sprache

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

Klausur Grundlagen der Programmierung

Schleifen in Javascript

! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 -

Elementare Konzepte von

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

5. Strukturierte Programmierung

Girls Day 2017 Programmierung

6. Iteration (Schleifenanweisungen)

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

Einführung in die Programmierung Wintersemester 2011/12

Tag 3 Repetitorium Informatik (Java)

Transkript:

Lösung der Informatikprüfung Klasse 4 Sa Kantonsschule XY 2007 Name :...Vorname :... Du hast 90 Minuten Zeit. Spicken ist nicht erlaubt (Die Prüfung wird sofort eingezoegen und Deine mögliche Bestnote wird sofort zu einer 4). Hilfsmittel sind die ausgeteilten Skripte dieser Woche. Die Computer bleiben ausgeschaltet. Achte auf eine saubere Darstellung. Deine vorgeschlagene Lösung muss eindeutig und klar ersichtlich sein. 1. Aufgabe : Aufgabe 1 2 3 4 5 6 7 8 9 10 Total Punkte 2 2 1 4 4 3 3 3 4 4 30 Was heisst das, wenn eine Variable als int (sog. integer) definiert wird? Mache Beispiele! Antwort : int definiert die Variable als eine ganze Zahl. Bsp. : {... 2, 1, 0, 1, 2, 3... = Z. Z 0.5 Pkte. / Bsp. 0.5 Pkte. Was kennst Du sonst noch ausser int? Mache Beispiele! Antwort : Wir haben auch real kennengelernt. real definiert die Variable als eine reelle Zahl. Bsp. : π, 0, 3.5, 11.123456789 usw. Mathematisch : alle x R Bemerkung : Der Computer rundet die reellen Zahlen immer auf oder ab, da sein Speicher endlich ist! 1/3 ist für ihn z.b. genau 0.333333333 und endet mit der neunten Kommastelle. R 0.5 Pkte. / Bsp. 0.5 Pkte. 1

2. Aufgabe : Was heisst auf Deutsch random und was heisst auf Deutsch square root? Antworten : Random : Zufall, um Zufallszahlen zu generieren, z.b. bei der Modellisation des Münzenwurfes. Square root : Quadratwurzel, z.b. sqrt(25) = 25 = 5. Pro Wort 1 Pkt. 3. Was ist das EVA-Prinzip? Antwort : Das EVA-Prinzip (Eingabe - Verarbeitung - Ausgabe) gilt als Grundschema der elektronischen Datenverarbeitung (EDV). Pro Wort 1/3 Pkt. 4. Aufgabe : Im folgenden JavaKara-Programm hat es 4 Syntaxfehler. Welche? Korrigiertes Program : void invertleaf() { if (kara.onleaf()) { kara.removeleaf(); else { kara.put.leaf(); public void myprogram() { invertleaf(); while (!kara.treefront()) { kara.move(); 2

invertleaf(); Bemerkung : In der Prüfung existieren nicht nur 4, sondern 5 Syntaxfehler! Pro gefundener Syntaxfehler 1 Pkt. (max. 4 Pkte.) 5. Aufgabe : Erkläre, was das Programm in der vorigen Aufgabe mit dem Objekt "kara" macht. Erklärung des Programmes : Das JavaKara-Programm besteht grundsätzlich aus einem Hauptprogramm (public void myprogramm()) und einer Methode (void invertleaf()). Die Methode (invertleaf) befiehlt dem Objekt "kara" ein Blatt zu legen, falls an dessen Aufenthaltsort kein Blatt ist, oder umgekehrt, ein Blatt aufzunehmen, falls sich am Aufenthaltsort ein Blatt befindet. Im Hauptprogramm (public void myprogramm) wird als aller erstes die Methode invertleaf aufgerufen. Dann, solange das Objekt "kara" keinen Baum vor sich hat, wird eine while-schlaufe ausgeführt. In der Schlaufe selbst wird als erstes die Methode void invertleaf() aufgerufen, wonach das Objekt "kara" um ein Feld nach vorne geschoben wird. Alles in allem kann wie folgt zusammengefasst werden : Kara, der Käfer, geht bis zum nächsten Baum gerade aus, und er legt ein Blatt nieder, falls keines da ist - respektive - nimmt eines auf, falls eines am Boden liegt. Erkennen der Programmstruktur (Mindestens eines der Worte : Hauptprogramm, Methode, Subroutine, Unterprogramm oder Funktion muss in der Lösung erwähnt werden) 1 Pkt. Erklären des Hauptprogrammes 1 Pkt. Erklären der Methode 1 Pkt. 3

Übersichtlichkeit und Klarheit (keine Widersprüche und gutes Deutsch) 1 Pkt. 6. Aufgabe : Das folgende JavaKara-Program ist das Slalomprogramm". Stelle Dir vor, es wären nur drei Slalombäume da. Der mittlere Baum wird jetzt entfernt. Schreibe ein JavaKara-Programm, das den Käfer vom einten Baum zum anderen laufen lässt, wobei der Käfer eine Linksumrundung der Bäume macht. Gib auch an, wie und wo man den Käfer zu Beginn hinsetzen muss! while(true) { while(kara.treeleft() &&!kara.treeright()) { vierteldrehunglinks(); vierteldrehungrechts(); while (!kara.treeleft() && kara.treeright()) { vierteldrehungrechts(); vierteldrehunglinks(); Mögliche Lösung : while(true) { while(!kara.treefront()) { kara.move; kara.turnright; for ( i=0; i<4; i++ ) { vierteldrehunglinks(); kara.turnright(); Kara ist zu Beginn irgendwo zwischen den Bäumen und schaut gerade auf einen der beiden Bäume zu. 4

Korrekte Grundidee 1 Pkt. Es wird angegeben, wo und wie Kara zu Beginn platziert wird 1 Pkt. Das Programm würde funktionieren 1 Pkt. 7. Aufgabe : In der Programmiersprache Pascal hast Du drei versch. Schleifen kennengelernt. Gib den genauen Syntax dieser drei Schleifen an. Lösung : {forschlaufe for i:=startwert to Endwert do begin Befehl(e); end; {whileschlaufe while Bedingung(en) do begin Befehl(e); end; {repeatschlaufe repeat Befehle; until Bedingung(en); Pro Schlaufe mit korrektem Syntax 1 Pkt. 8. Aufgabe : Mache kurze, genaue aber dennoch genügende Kommentare, in eigenen Worten, inwiefern sich die drei Schleifen, beschrieben in der vorhergehenden Aufgabe, unterscheiden. 5

Lösung : Die For-Schleife ist eine Kontrollstruktur, mit der man eine Gruppe von Anweisungen (Block) mit einer bestimmten Anzahl von Wiederholungen ausführen kann. Die While-Schleife, als Kontrollstruktur, dient dazu, eine Abfolge von Anweisungen mehrfach auszuführen, solange eine Bedingung erfüllt ist. Diese Bedingung wird geprüft, bevor die Anweisungsfolge abgearbeitet wird. Es kann also auch sein, dass die Abfolge gar nicht ausgeführt wird. Wenn die Bedingung ständig erfüllt ist, dann wird die Schleife zur Endlosschleife. Wenn deutsche Befehlsworte gewählt werden, dann heißt die While-Schleife meist Solange-Schleife. Neben der gebräuchlicheren anfangsprüfenden gibt es in vielen Sprachen auch die endprüfende While-Schleife (Repeat-until). Mit dieser lässt sich die mindestens einmalige Ausführung des eingeschlossenen Code-Blocks erzwingen. (www.wikipedia.org) For-Schleife : "...bestimmte Anzahl von Wiederholungen.." o.ä. 1 Pkt. While-Schleife : "..solange als Bedingung erfüllt..." o.ä. 1 Pkt. Repeat-Schleife : "...Endbedingung..." o.ä. 1 Pkt. 9. Aufgabe : Schreibe in der Programmiersprache Pascal ein Programm das die Summe aller Zahlen von 10 bis 21 berechnet. Du vewendest dazu eine Schleife. Das Programm darf Benutzerunfreundlich sein, d.h. ein VA-Prinzip an Stelle des klassischen EVA-Prinzipes genügt. Mögliche Lösung : program MeinProgrammHeisstMacheSumme 6

var i,r :Integer; r:=0; begin for i := 10 to 21 do r:=r+i; end. writeln( Hier ist das Resultat:, r:2:2); Richtiger Syntax 2 Pkt. Richtige Idee 1 Pkt. Das Programm würde mit richtigem Syntax funktionieren 1 Pkt. 10. Aufgabe : Schreibe in Pascal ein von Dir selbst erfundenes Programm, das die if-then-else- Struktur beinhaltet. Mögliche Lösung : program MeinProgrammHeisstSo var a,b :Real; begin writeln( Bitte geben Sie eine erste Zahl ein: ); readln(a); writeln( Bitte geben Sie eine zweite Zahl ein: ); readln(b); if a > b then writeln( a ist grösser als b! ); else 7

writeln( b ist grösser/gleich a ); end. Ein falscher Syntax gibt einen Abzug von 0.5 Pkte., wobei man maximal 2 Pkt. verlieren kann. D.h. richtiger Syntax 2 Pkt. Gute Idee 1 Pkt. Das Programm funktioniert 1 Pkt. Die Notengebung ist klassisch : ( ) Erreichte Punktzahl N = 5 + 1 Maximal moegliche Punktzahl 8