avoin/avoin23

# avoin

Huom! TÄMÄ ON AVOIMEN YLIOPISTON SIVU.

Et voi suorittaa kurssia, ellet ole ilmoittautunut täällä.

Ohjelmointi 1, avoin 2023, luento 04

# L04

4. luento: ti 12.9.2023 klo 14:15-16:00: Aliohjelmat, muuttujat

# Plugin1

Kurssista

Kun tehtävien vastaukset on julkistettu (esim demopalautuksissa), pitää jokaisen korjata omat vastauksensa niin, että ainakin Tauno ja perustehtävät 1-6 tuottavat vähintään 1p kukin. Eli demon palautuksen jälkeen pitää demosivun näyttää 7 p.

Siis esim. ennen demo 2 tehtävien aloittamista pitää demoista 1 tulla mainittu pistemäärä.

Oikeastaan 90% kurssin sisällöstä on jo noissa kahdessa:

  • tämän päivän lumiukko joka piirretään PiirraPallo avulla

Demo 1, tiedoston tekeminen

# teht2cs

Lauseita avuksi

    for (int i=1; i<=100; i++)
    Console.Write("-");
    Console.WriteLine();
    Console.WriteLine("{0,2:00}", i);
public static void Main()
{
    for (int i = 1; i <= 1; i++)
        System.Console.WriteLine("Harjoittelen tekstitiedoston tekemistä!");

    viiva(80);

    for (int i = 1; i <= 40; i++)
        System.Console.WriteLine("{0,2:00}", i);

    viiva(4);
}


public static void Viiva(int pituus)
{
    for (int i = 1; i <= pituus; i++)
        System.Console.Write("-");
    System.Console.WriteLine();
}
using System;
using System.Text;
using System.Linq;
using System.Collections.Generic;

/// @author vesal
/// @version 15.9.2020
/// <summary>
/// Esimerkki tulostamisesta
/// </summary>
public class Teht2
{
    /// <summary>
    /// Tulostetaan demo 1 tehtävän 2 tarvittavat jutut
    /// </summary>
    public static void Main()
    {
        for (int i = 1; i <= 4; i++)
        {
            Console.WriteLine("Harjoittelen tekstitiedoston tekemistä!");
        }
        Viiva(80);
        for (int i = 1; i <= 12; i++)
        {
            Console.WriteLine($"{i,2:00}");
        }
        Viiva(80);
    }


    public static void Viiva(int pituus)
    {
        for (int i = 1; i <= pituus; i++)
        {
            Console.Write("-");
        }
        Console.WriteLine();
    }
}

LumiukkoAli

# lumiukko
  • LumiukkoAli - lumiukko jossa pallokin piirretään aliohjelmalla
  • dokumentaatiokommentti C#:issa alkaa ///, vrt tavallinen //
  • Dokumentaatio Katso myös alla olevassa ohjelmassa linkki Dokumentaatio ja lisää aliohjelmiin kunnon dokumentaatio ja katso uudelleen.
  • Jypeli dokumentaatio
# lumiukko1
    /// <summary>
    /// Aliohjelma piirtää lumiukon
    /// annettuun paikkaan.
    /// </summary>
    /// <param name="peli">Peli, johon lumiukko tehdään.</param>
    /// <param name="x">Lumiukon alimman pallon x-koordinaatti.</param>
    /// <param name="y">Lumiukon alimman pallon y-koordinaatti.</param>
    /// <param name="r1">Lumiukon alimman pallon säde.</param>
    public static void PiirraLumiukko(PhysicsGame peli, double x=0, double y=0, double r1=100.0)
    {
        PhysicsObject p1, p2, p3;
        double r2 = r1*0.5;
        double r3 = r1*0.3;

        p1 = PiirraPallo(peli, x, y, r1);
        p2 = PiirraPallo(peli, x, p1.Y + r1 + r2, r2);
        p3 = PiirraPallo(peli, x, p2.Y + r2 + r3, r3);

        p2.Color = Color.Red;
    }


    public static PhysicsObject PiirraPallo(PhysicsGame peli, double x, double y, double r)
    {
        PhysicsObject p = new PhysicsObject(2 * r, 2 * r, Shape.Circle);
        p.X = x;
        p.Y = y;
        peli.Add(p);
        return p;
    }
        Level.CreateBorders();
        Gravity = new Vector(0, -200);  // ei toimi TIMissä koska TIM ottaa yhden kuvan

Huom! Demotehtävässä muuten sama, mutta ei tarvita PiirraLumiukko!

Binäärilukuja

# intn

# binaaribitti
Reikäkortti
Reikäkortti
# Plugin1

Ohjelmia

  • M: 7. Muuttujat
  • Keski.cs - yksinkertainen esimerkki funktioaliohjelmasta joka laskee ja PALAUTTAA keskiarvon
# helloeka

Muuttujat

tyyppi nimi;

# intn2
# muuttujanSijoitus
# muuttujanAlustusEsittelyssa
# intiinDouble
# doubleenInt
# intylivuoto

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