Fachgesprächprotokoll “Praktische Informatik 3”


Heute hatte ich in PI3 mein (Gruppen-) Fachgespräch. Erwartungsgemäß lief alles sehr locker ab: Man setzt sich Christoph gegenüber und darf aus einem Stapel von Programmieraufgaben ein bis zwei Aufgaben ziehen und diese (handschriftlich) niederschreiben.

Diese Programmieraufgaben waren in unserer Gruppe sehr einfach:

  1. Zähle die Buchstaben x, y und z in einem Wort.
  2. Zähle die Vokale in einem Wort.
  3. Ersetze die Vokale in einem Wort durch das Vokal, einem »b« und nochmal dem Vokal.
  4. Nimm aus einer Liste von Zahlen die ersten k ungeraden Elemente.
countXYZ :: String -> Int
countXYZ [] = 0
countXYZ (x:xs) =
  if elem x "xyz"
  then 1 + (countXYZ xs)
  else countXZY

countVowels :: String -> Int
countVowels [] = 0
countVowels (x:xs) =
  if elem x "aeiou"
  then 1 + (countVowels xs)
  else countVowels xs

replaceVowels :: String -> String
replaceVowels [] = []
replaceVowels (x:xs) =
  if elem x "aeiou"
  then [x] ++ "b" ++ [x] ++ (replaceVowels xs)
  else replaceVowels xs

-- replace-/countVowels/countXYZ hätte
-- man auch mit foldl/foldr lösen können

takeOdd :: (Integral a) => Int -> [a] -> [a]
takeOdd k list = take k (filter odd list)
-- Trivial und Fehlerfälle werden durch
-- filter und take abgefangen

Diese Aufgaben mussten nach dem »Programmieren« noch kurz erläutert werden, und wenn es noch (offensichtliche) Verbesserungsvorschläge gab, hat Christoph danach gefragt.

Die Atmosphäre war sehr entspannt und locker, Christoph gibt ein wenig Hilfestellung/Tipps und beantwortet selbstverständlich auch Verständnisfragen zur Aufgabe.

Ich bin in das Fachgespräch mit der Erwartung gegangen, dass für Leute mit 1,0 (bei 100,5% eigentlich 0,7 :-D ) Fragen zur Theorie kommen würden. Dem war aber nicht so…

Kommentar hinzufügen

Die Felder Name und Kommentar sind Pflichtfelder.

Deine Angaben





Einen Kommentar schreiben