Ohjelmointi 1, syksy 2022, luento 02

# L02

2. luento: ti 30.8.2022 klo 14:15-16:00: Aihe: yksinkertainen graafinen C#-ohjelma

Muu sisältö: Tekstinkäsittely, näppäinoikotiet

# tekstia

Tähän voit kirjoittaa vapaata tekstiä

 

Monisteesta kopioitua

# assy
  • Katso miten kieli kääntyy konekieleksi
    1. vaihda kieleksi C ja liitä seuraava ohjelma

      int summa(int a, int b)
      {
          return a + b;
      }
      
      int laske() {
          int c = summa(2,3);
          return c;

      }

    2. vaihda oikeasta reunasta kääntäjäksi x86-64 clang 3.2 ja optio-laatikkoon kirjoita
      -O ja katso miten paljon koodi lyhenee

    3. vaihda kieleksi C# ja liitä seuraava ohjelma

      public class Program
      {
          public static int Summa(int a, int b)
          {
              return a + b;
          }
      
          public static int Laske() {
              int c = Summa(2,3);
              return c;
          }
      }
# punainenympyra

Jypeli

Aja ensin alla oleva koodi painamalla Aja-painiketta. Muuta sitten koodia niin, että pallo on punainen. Aja uudelleen. Muuta vielä tausta siniseksi.

        Level.Background.Color = Color.Black;
        PhysicsObject pallo = new PhysicsObject(200,200,Shape.Circle);
        pallo.Color = Color.Yellow;
        Add(pallo);

 

# vpython2

vpython

ball=sphere(pos=vector(4,7,3),radius=2,color=color.green)
redbox=box(pos=vector(4,2,3),size=vector(8,4,6),color=color.red)

 

Komentorivistä

# koemntorivituttu

Open plugin

Miten pelataan hirsipuuta vastaan komentorivillä ja grepillä Luento 02/2019 – 11m43s (16m12s)
  • Hirsipuu (e:\pelit\hirsipuu\sanat.txt)

Mitä ohjelmoinnilla voi tehdä

Seuraavat toimivat vain IE ja silloinkin työlääsi:

# Plugin1

Konvoluutiossa tarvittava sisätulo

Tällä voit "leikkiä" miltä matriisien päällekkäin laittaminen näyttää, raahaa vihreä maskimatriisi toisen päälle siitä kohtaa mistä laskeminen suoritetaan. Huomaa että tässä kuvassa on erilainen maskimatriisi, jolloin esimerkiksi osamatriisin (se mikä jää vihreän maskimatriisin alle) kohdasta [2,1] maskin kanssa laskettu sisätulo on 273. Huomaa tässä esimerkissä on eri maski kuin edellä.

Komentoriviltä toimiva ohjelma

# helloeka

HelloWorld

public class HelloWorld
{
    public static void Main()
    {
        System.Console.WriteLine("Hello World!");
    }
}

 

  • HelloWorld
    • komentorivin aukaiseminen
    • hakemistoon siirtyminen
    • kirjoittaminen
    • kääntäminen
    • kääntäjän käyttäminen antamalla koko nimi - PowerShell ongelmat jos on välilyöntejä nimessä - ohjelman lisääminen polkuun (path)
    • ajaminen
    • muokkaaminen
    • virheiden tulkinta
# hello1

Animaatio: Tutki sanojen merkitystä ja ohjelman toimintaa

ATK

Miten yhdistetään Korppi, Excel, komentorivi ja Notepad Luento 02/2018 – 1h2m53s (30m57s)
 

Demotehtäviin tutustuminen

  • demo 1
    • anna tarvittaessa itse pisteesi silloin kun automaatti on mahdoton
  • Taunon tekeminen
# kaikkisamaksi

Tehtävä 3.2 Kaikki alkiot samoiksi

Tee Taunolla ohjelma, jolla kaikki alkiot ovat samoja kuin taulukon vasemmanpuoleisin alkio +2.

 

Graafinen ohjelma Jypilllä

# piirros

Piirrä tähän mitä tarvitsee

# k3

Kuva 3: Lumiukon kaksi ensimmäistä palloa asemoituina paikoilleen.

# lumiukko1

Lumiukko

// Otetaan käyttöön Jyväskylän yliopiston Jypeli-kirjasto
using Jypeli;

/// @author  Vesa Lappalainen, Antti-Jussi Lakanen
/// @version 22.12.2011
///
///
/// <summary>
/// Luokka, jossa harjoitellaan piirtämistä lisäämällä ympyröitä ruudulle
/// </summary>
public class Lumiukko : PhysicsGame
{

    /// <summary>
    /// Pääohjelmassa laitetaan "peli" käyntiin Jypelille tyypilliseen tapaan
    /// </summary>
    public static void Main()
    {
        using (Lumiukko peli = new Lumiukko())
        {
            peli.Run();
        }
    }


    /// <summary>
    /// Piirretään oliot ja zoomataan kamera niin että kenttä näkyy kokonaan.
    /// </summary>
    public override void Begin()
    {
        Camera.ZoomToLevel();
        Level.Background.Color = Color.Black;

        PhysicsObject p1 = new PhysicsObject(2*100.0, 2*100.0, Shape.Circle);
        p1.Y = Level.Bottom + 200.0;
        Add(p1);

        PhysicsObject p2 = new PhysicsObject(2 * 50.0, 2 * 50.0, Shape.Circle);
        p2.Y = p1.Y + 100 + 50;
        Add(p2);

        PhysicsObject p3 = new PhysicsObject(2 * 30.0, 2 * 30.0, Shape.Circle);
        p3.Y = p2.Y + 50 + 30;
        Add(p3);
    }
}

 

Alice

Esimerkki Alice 3 käytöstä Luento 2/2019 – 1h25m15s (4m46s)

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.