Ohjelmointi 1, syksy 2021, luento 04
- M: 26.1 Lukujärjestelmät: 10-järjestelmä ja 2-järjestelmä, lukujen esitys tietokoneessa
- ks esimerkki bitistä TIEP114 -kurssilta
- Khan Academy - esimerkkejä JavaScriptillä (voi tehdä oheisharjoituksina)
- M: 7. Muuttujat
- LumiukkoAli.cs - lumiukko jossa myös pallot piirretään aliohjelmalla
- Muuttujat.cs - esimerkki muuttujista
- Muuttujat.java - sama esimerkki Javalla
- Eri versioiden välinen ero
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 4. luento videona Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
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ä.
- harjoitustyön EI TARVITSE olla peli (mutta saa olla)
- esimerkki oppimapista (näkyy vain Vesalle)
Oikeastaan 90% kurssin sisällöstä on jo noissa kahdessa:
- tämän päivän lumiukko joka piirretään
PiirraPallo
avulla
Miten Taunosta silmukaksi Demo 1 – 10m15s (8m32s) 16. Toistorakenteet (silmukat)
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
Open plugin
- 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
- M: 26.1 Lukujärjestelmät: 10-järjestelmä ja 2-järjestelmä, lukujen esitys tietokoneessa
#
binaaribitti
#
Plugin1
Ohjelmia
- M: 7. Muuttujat
- Keski.cs - yksinkertainen esimerkki funktioaliohjelmasta joka laskee ja PALAUTTAA keskiarvon
#
helloeka
Muuttujat
tyyppi nimi;
#
intn2
#
Miton
#
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.