kramann.info
© Guido Kramann

Login: Passwort:










Archiv
2 SoSe2022
..2.1 MIK
..2.2 SRT
..2.3 HDL
..2.4 AUT
..2.5 SLE
2 WS2020_21
..2.1 RTS
....2.1.1 day_by_day
..2.2 IE
....2.2.1 day_by_day
..2.3 ES
..2.4 EFSEE
....2.4.1 day_by_day
..2.5 KF
....2.5.1 day_by_day
....2.5.2 Haikus
....2.5.3 Haikus_en
..2.6 CC
....2.6.1 day_by_day
2 WS2021_22
..2.1 RTS
....2.1.1 day_by_day
....2.1.2 Versuch002
....2.1.3 Versuch003
....2.1.4 Versuch004
....2.1.5 Versuch005
....2.1.99 Material
..2.2 FTS
....2.2.1 day_by_day
..2.3 ESY
....2.3.1 day_by_day
..2.4 INFmecha5
....2.4.1 day_by_day
..2.5 REGmecha5
....2.5.1 day_by_day
2 WS2023_24
..2.1 day_by_day_RST
..2.2 day_by_day_SRT
..2.3 day_by_day_FTS
..2.4 day_by_day_KF
3 SoSe2021
..3.1 STR
....3.1.1 day_by_day
..3.2 SLE
....3.2.1 day_by_day
..3.3 HDL
....3.3.1 day_by_day
..3.4 MIK
....3.4.1 day_by_day
3 SoSe2024
..3.1 Mik_21_03_2024
..3.2 Mik_04_04_2024
..3.3 Mik_11_04_2024
..3.4 Mik_18_04_2024
..3.5 Mik_25_04_2024
..3.6 Mik_02_05_2024
..3.7 Mik_16_06_2024
..3.8 Mik_23_05_2024
..3.9 Mik_30_05_2024
..3.10 Mik_05_06_2024
..3.11 Mik_13_06_2024
3 WS2022_23
..3.1 day_by_day_RST_3MB
..3.2 day_by_day_RT2_5MT
..3.3 day_by_day_EMB_7MT
..3.4 day_by_day_ABP_7MT
..3.5 day_by_day_FTS_MMB
..3.6 day_by_day_KF
4 SoSe2023
..4.2 RTS_day_by_day
..4.3 MIK_day_by_day
..4.4 AUT_day_by_day
..4.5 HDL_day_by_day
4 WS2024_25
..4.1 ING_day_by_day
....4.1.1 ING_Do_26_09_2024
....4.1.2 ING_Do_10_10_2024
....4.1.3 ING_Do_17_10_2024
....4.1.4 ING_Do_24_10_2024
....4.1.5 ING_Do_07_11_2024
....4.1.6 ING_Do_14_11_2024
....4.1.7 ING_Do_21_11_2024
....4.1.8 ING_Do_28_11_2024
....4.1.9 ING_Do_05_12_2024
....4.1.10 ING_Do_12_12_2024
....4.1.11 ING_Do_19_12_2024
..4.2 INF_day_by_day
....4.2.1 INF_Fr_27_09_2024
....4.2.2 INF_Fr_04_10_2024
....4.2.3 INF_FR_18_10_2024
....4.2.4 INF_Fr_25_10_2024
....4.2.5 INF_Fr_08_11_2024
....4.2.6 INF_Fr_15_11_2024
....4.2.7 INF_Fr_22_11_2024
....4.2.8 INF_Fr_29_11_2024
....4.2.9 INF_Fr_06_12_2024
....4.2.10 INF_Fr_13_12_2024
....4.2.11 INF_Fr_20_12_2024
....4.2.12 INF_Fr_10_01_2025
..4.3 FTS_day_by_day
....4.3.1 FTS_Mi_25_09_2024
....4.3.2 FTS_Mi_02_10_2024
....4.3.3 FTS_Mi_09_10_2024
....4.3.4 FTS_Mi_16_10_2024
....4.3.5 FTS_Mi_23_10_2024
....4.3.6 FTS_Mi_30_10_2024
....4.3.7 FTS_Mi_06_11_2024
....4.3.8 FTS_Mi_13_11_2024
....4.3.9 FTS_Mi_20_11_2024
....4.3.10 FTS_Mi_27_11_2024
....4.3.11 FTS_Mi_04_12_2024
....4.3.12 FTS_Mi_11_12_2024
....4.3.13 FTS_Mi_18_12_2024
6 Ing
..6.1 Bauplan
....6.1.1 Bootstick
....6.1.2 Xubuntu
....6.1.3 Webserver
....6.1.4 Hotspot
....6.1.5 Videostream
....6.1.6 Lampe
....6.1.7 Chassis
....6.1.8 Akku
....6.1.9 Motore
....6.1.10 Laborsteckboard
....6.1.11 Antriebstest
7 007
..7.1 Einschalten
..7.2 Vorversuche
kramann.info
© Guido Kramann

Login: Passwort:




Inhalte zur Vorlesungswoche #11, Informatik 1 im Wintersemester 2024/25

(EN google-translate)

(PL google-translate)

Durchführung und Besprechung noch ausstehender Übungsaufgaben

  1. Aufgabe 4b vom 6.12.
  2. Aufgabe 4 vom 29.11.
  3. Aufgabe 6 vom 6.12.

Musterlösung zu 1.

#include <iostream>
using namespace std;

//1. Schritt: Prozent von Es statt Antahl zurückgeben:
//2. Schritt: Leerzeichen nicht mitzählen.
//3. Schritt: Bliebige Zeichen zählen.
double bestimmeHaeufigkeitZeichen(char satz[], char testzeichen)
{
    int anzahlE=0;
    int anzahlZeichen=0;
    char c;
    int index=0;
    do
    {
        c=satz[index++];
        //if(c=='e')
        if(c==testzeichen)
            anzahlE++;
        //else if(c=='E')
        //    anzahlE++;

        if(c!=' ')
           anzahlZeichen++; //Zählen der Zeichen 
    } while(c!='\0');

    double prozent = 100.0*(double)anzahlE / (double)anzahlZeichen;

    return prozent;
}

int main(void)
{
    char texte[][100] = {
        "Das ist ein Satz.",
        "Das ist ein weiterer Satz.",
        "Dieser Satz ist relativ lang."
    };
    int anzahlTexte = sizeof(texte)/sizeof(texte[0]);

    char c;
    cout<<"Geben Sie ein, für welches zeichen die Auftrittshäufigkeit bestimmt werden soll:"<<endl;
    cin>>c;

    for(int i=0;i<anzahlTexte;i++)
        cout<<texte[i]<<" ... besteht zu "<<bestimmeHaeufigkeitZeichen(texte[i],c)<<" Prozent aus "<<c<<endl;
    return 0;
}

Code 0-1: Musterlösung.

Musterlösung zu 2.

Musterlösung zu 3.

import java.util.Random;

Random zufall = new Random(System.currentTimeMillis());
ArrayList<int[]> flocken = new ArrayList<int[]>();

int xpos;
int COUNTDOWN = 900;
int PUNKTE = 0;
public void setup()
{
    size(500,500);     //Fenstergröße festlegen
    frameRate(30);     //Bildwiederholgeschwindigkeit für draw()
    textAlign(CENTER); //Koordinatenposition von Texten nach Mitte ausrichten
    textSize(20);      //Größe der Schneeflocken
    xpos = width/2;    //Position des "Frosches"
}

public void draw()
{
    background(0); //schwarzer Hintergrund
   
    //Frosch einzeichnen an Position xpos:
    stroke(0,255,0); //Zeichenfarbe grün
    strokeWeight(5.0); //Dicke Linie
    fill(0,255,0); //nicht ausfüllen
    ellipse(xpos,height-60,50,40);//Kreis
   
        //Frosch einzeichnen an Position xpos:
    stroke(0,200,0); //Zeichenfarbe grün
    strokeWeight(5.0); //Dicke Linie
    fill(0,200,0); //nicht ausfüllen
    ellipse(xpos,height-60,35,25);//Kreis
   
    //Frosch einzeichnen an Position xpos:
    stroke(0,255,0); //Zeichenfarbe grün
    strokeWeight(5.0); //Dicke Linie
    noFill(); //nicht ausfüllen
    ellipse(xpos,height-85,50,10);//Kreis
   
    stroke(0,255,0); //Zeichenfarbe grün
    strokeWeight(3.0); //Dicke Linie
    noFill(); //nicht ausfüllen
    ellipse((float)xpos -15,height-95,10,10);//Kreis
   
    stroke(0,255,0); //Zeichenfarbe grün
    strokeWeight(3.0); //Dicke Linie
    noFill(); //nicht ausfüllen
    ellipse((float)xpos +15,height-95,10,10);//Kreis
   
    //Punktestand und Restzeit anzeigen:
    fill(255);
    noStroke();
    text(COUNTDOWN,width-40,30);
    text("SCORE:"+PUNKTE,60,30);

    //Spiel läuft, solange Countdown nicht abgelaufenn ist
    if(COUNTDOWN>0)
    {
      //jeden fünften Durchlauf der draw-Methode eine Schneeflocke hinzufügen:
      if(COUNTDOWN%5==0)
          flocken.add(new int[] {zufall.nextInt((int)width),-20});
      for(int i=flocken.size()-1;i>=0;i--)
      {
        int[] arr = flocken.get(i);
        arr[1]+=2;
        if(arr[1]>(int)(height+20))//Schneeflocken zu weit unten entfernen
        {
           flocken.remove(i);
        }  
        else if((arr[0]/35)==(xpos/35) && (arr[1]/35)==((width-60)/35))
        {
           //Schneeflocken im Froschfokus entfernen und Punkte erhöhen
           flocken.remove(i);
           PUNKTE++;
        }  
        text("*",arr[0],arr[1]);
      }
      COUNTDOWN--;
    }   
}

//Callback-Funktion, die auf die Pfeiltasten reagiert
public void keyPressed()
{
    if(key == CODED)
    {     
      if(keyCode == LEFT)
      {
          xpos-=15;
      }
      if(keyCode == RIGHT)
      {
          xpos+=15;
      }
    }
}

Code 0-2: Frosch2

Frosch.

Bild 0-1: Frosch.