Skip to content
Snippets Groups Projects
Commit 5ca33a6e authored by Vesa Lappalainen's avatar Vesa Lappalainen :bicyclist:
Browse files

luento11

parent 1c77f432
No related branches found
No related tags found
No related merge requests found
Showing
with 359 additions and 16 deletions
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/modules.xml
/contentModel.xml
/.idea.live11.iml
/projectSettingsUpdater.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>
\ No newline at end of file
using System;
using System.Text;
/// @author Vesa Lappalainen
/// @version 30.09.2011
///
/// <summary>
/// Tutkitaan olioviitteiden käyttöä ja käyttäytymistä.
/// </summary>
public class Olioviitteet
{
/// <summary>
/// Alustetaan muuttujia ja tulostetaan.
/// Testaillaan olioiden ja alkeismuuttujien eroja.
/// </summary>
public static void Main()
{
StringBuilder s1 = new StringBuilder("eka");
StringBuilder s2 = new StringBuilder("eka");
Console.WriteLine(s1 == s2); // false
Console.WriteLine(s1.Equals(s2)); // true
Console.WriteLine(s1.Equals("eka")); // true
Console.WriteLine(s1.ToString().Equals("eka")); // true
int i1 = 11;
int i2 = 10 + 1;
Console.WriteLine(i1 == i2); // true
int[] it1 = new int[]{3};
int[] it2 = { 3 };
Console.WriteLine(it1 == it2); // false
Console.WriteLine(it1.Equals(it2)); // false
Console.WriteLine(it1[0] == it2[0]); // true
s2 = s1;
Console.WriteLine(s1 == s2); // true
// ==========================================================
string st1 = "eka";
string st2 = s1.ToString();
Console.WriteLine(Object.ReferenceEquals(st1, st2)); // false
Console.WriteLine(st1 == st2); // true
Console.WriteLine(st1.Equals(st2)); // true
Console.WriteLine(object.ReferenceEquals(st1, st2)); // false
st2 = null;
Console.WriteLine(st2 == null); // true
Console.WriteLine(object.ReferenceEquals(st1, st2)); // false
st1 = null;
Console.WriteLine(object.ReferenceEquals(st1, st2)); // true
}
}
\ No newline at end of file
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ExternalConsole>true</ExternalConsole>
</PropertyGroup>
</Project>

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Olioviitteet", "Olioviitteet\Olioviitteet.csproj", "{58B3B602-33E5-470A-B67B-30A99D6A88D1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{58B3B602-33E5-470A-B67B-30A99D6A88D1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
using System;
using Jypeli; using Jypeli;
/// @author Vesa Lappalainen /// @author Vesa Lappalainen
...@@ -11,10 +10,10 @@ using Jypeli; ...@@ -11,10 +10,10 @@ using Jypeli;
/// </summary> /// </summary>
public class KentanMuokkaus : PhysicsGame public class KentanMuokkaus : PhysicsGame
{ {
private PhysicsObject pelaaja; // Liikuteltava pallo, jota pystytään private PhysicsObject pelaaja; // Liikuteltava pallo, jota pystytään
// liikuttamaan kaikista tämän luokan aliohjelmista // liikuttamaan kaikista tämän luokan aliohjelmista
const int KOKO = 20; // paljonko on yksittäisen palikan koko. private const double KOKO = 20; // paljonko on yksittäisen palikan koko.
// huom const eli vakio! (ei voi muuttaa) // huom const eli vakio! (ei voi muuttaa)
/// <summary> /// <summary>
/// Asetetaan painovoima ja kutsutaan alustuksiin /// Asetetaan painovoima ja kutsutaan alustuksiin
......
using System; using System;
/// @author Vesa Lappalainen /// @author Vesa Lappalainen
/// @version 12.10.2012 /// @version 12.10.2012
...@@ -65,7 +65,7 @@ public class Kutsuminen ...@@ -65,7 +65,7 @@ public class Kutsuminen
/// <pre name="test"> /// <pre name="test">
/// int[] luvut = {2,5,4,3}; /// int[] luvut = {2,5,4,3};
/// VaihdaSuurin(luvut,1); /// VaihdaSuurin(luvut,1);
/// String.Join(" ",luvut) === "2 1 4 3"; /// luvut =J= "2, 1, 4, 3";
/// VaihdaSuurin(luvut,1); /// VaihdaSuurin(luvut,1);
/// String.Join(" ",luvut) === "2 1 1 3"; /// String.Join(" ",luvut) === "2 1 1 3";
/// VaihdaSuurin(luvut,9); /// VaihdaSuurin(luvut,9);
......
using System;
using NUnit.Framework;
using static Kutsuminen;
[TestFixture]
[DefaultFloatingPointTolerance(0.000001)]
public class TestKutsuminen
{
[Test]
public void TestSuurempi45()
{
Assert.AreEqual( 4, Suurempi(3,4) , "in method Suurempi, line 46");
Assert.AreEqual( 4, Suurempi(-3,4) , "in method Suurempi, line 47");
Assert.AreEqual( -3, Suurempi(-3,-4) , "in method Suurempi, line 48");
Assert.AreEqual( 2, Suurempi(2,2) , "in method Suurempi, line 49");
}
[Test]
public void TestVaihdaSuurin65()
{
int[] luvut = {2,5,4,3};
VaihdaSuurin(luvut,1);
Assert.AreEqual(( "2, 1, 4, 3").ToString(), String.Join(", ", luvut ), "in method VaihdaSuurin, line 68");
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 1 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 70");
VaihdaSuurin(luvut,9);
Assert.AreEqual( "2 1 1 9", String.Join(" ",luvut) , "in method VaihdaSuurin, line 72");
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 74");
VaihdaSuurin(luvut,-1);
Assert.AreEqual( "-1 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 76");
luvut = new int[]{5};
VaihdaSuurin(luvut,2);
Assert.AreEqual( "2", String.Join(" ",luvut) , "in method VaihdaSuurin, line 79");
luvut = new int[0];
VaihdaSuurin(luvut,2);
Assert.AreEqual( "", String.Join(" ",luvut) , "in method VaihdaSuurin, line 82");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NUnit" Version="3.13.1"/>
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Kutsuminen\Kutsuminen.csproj"/>
</ItemGroup>
</Project>
#define SIMPPELI #define SIMPPELI
using System;
using System.Collections.Generic;
using Jypeli; using Jypeli;
using Jypeli.Assets;
using Jypeli.Controls;
using Jypeli.Effects;
using Jypeli.Widgets;
/// @author vesal /// @author vesal
/// @version 16.10.2018 /// @version 16.10.2018
......
using NUnit.Framework;
using static Matriisit;
[TestFixture]
[DefaultFloatingPointTolerance(0.000001)]
public class TestMatriisit
{
[Test]
public void TestMiltaRiviltaLoytyy69()
{
int[,] m = {{2,4,1},{9,2,0},{5,6,1},{0,12,3}};
Assert.AreEqual( 0, MiltaRiviltaLoytyy(m,1) , "in method MiltaRiviltaLoytyy, line 71");
Assert.AreEqual( 1, MiltaRiviltaLoytyy(m,0) , "in method MiltaRiviltaLoytyy, line 72");
Assert.AreEqual( 3, MiltaRiviltaLoytyy(m,12) , "in method MiltaRiviltaLoytyy, line 73");
Assert.AreEqual( -1, MiltaRiviltaLoytyy(m,11) , "in method MiltaRiviltaLoytyy, line 74");
}
[Test]
public void TestSumma101()
{
int[,] m = {{2,4,1},{9,2,0},{5,6,1},{0,12,3}};
Assert.AreEqual( 45, Summa(m) , "in method Summa, line 103");
Assert.AreEqual( 10, Summa(new int[,]{{1,2},{3,4}}) , "in method Summa, line 104");
Assert.AreEqual( 3, Summa(new int[,]{{1,2}}) , "in method Summa, line 105");
Assert.AreEqual( 6, Summa(new int[,]{{2},{4}}) , "in method Summa, line 106");
Assert.AreEqual( 9, Summa(new int[,]{{9}}) , "in method Summa, line 107");
Assert.AreEqual( 0, Summa(new int[,]{{}}) , "in method Summa, line 108");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NUnit" Version="3.13.1"/>
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Matriisit\Matriisit.csproj"/>
</ItemGroup>
</Project>
using System; using System;
/// @author Vesa Lappalainen /// @author Vesa Lappalainen
/// @version 14.10.2012 /// @version 14.10.2012
......
using System;
using NUnit.Framework;
using static SuurinJaPienin;
[TestFixture]
[DefaultFloatingPointTolerance(0.000001)]
public class TestSuurinJaPienin
{
[Test]
public void TestPienin51()
{
Assert.AreEqual( 1, Pienin(new int[]{1, 2 ,3}) , "in method Pienin, line 52");
Assert.AreEqual( 1, Pienin(new int[]{1, 3 ,2}) , "in method Pienin, line 53");
Assert.AreEqual( 1, Pienin(new int[]{2, 1, 3}) , "in method Pienin, line 54");
Assert.AreEqual( 1, Pienin(new int[]{2, 3, 1}) , "in method Pienin, line 55");
Assert.AreEqual( 1, Pienin(new int[]{3, 1 ,2}) , "in method Pienin, line 56");
Assert.AreEqual( 1, Pienin(new int[]{3, 2 ,1}) , "in method Pienin, line 57");
Assert.AreEqual( 2, Pienin(new int[]{3, 3, 2}) , "in method Pienin, line 58");
Assert.AreEqual( 3, Pienin(new int[]{3, 3, 3}) , "in method Pienin, line 59");
Assert.AreEqual( 1, Pienin(new int[]{1, 2}) , "in method Pienin, line 60");
Assert.AreEqual( 2, Pienin(new int[]{2}) , "in method Pienin, line 61");
Assert.AreEqual( int.MaxValue, Pienin(new int[]{}) , "in method Pienin, line 62");
}
[Test]
public void TestSuurin82()
{
Assert.AreEqual( 3, Suurin(new int[]{1, 2 ,3}) , "in method Suurin, line 83");
Assert.AreEqual( 3, Suurin(new int[]{1, 3 ,2}) , "in method Suurin, line 84");
Assert.AreEqual( 3, Suurin(new int[]{2, 1, 3}) , "in method Suurin, line 85");
Assert.AreEqual( 3, Suurin(new int[]{2, 3, 1}) , "in method Suurin, line 86");
Assert.AreEqual( 3, Suurin(new int[]{3, 1 ,2}) , "in method Suurin, line 87");
Assert.AreEqual( 3, Suurin(new int[]{3, 2 ,1}) , "in method Suurin, line 88");
Assert.AreEqual( 4, Suurin(new int[]{4, 2, 4}) , "in method Suurin, line 89");
Assert.AreEqual( 1, Suurin(new int[]{1, 1, 1}) , "in method Suurin, line 90");
Assert.AreEqual( 2, Suurin(new int[]{1, 2 }) , "in method Suurin, line 91");
Assert.AreEqual( 1, Suurin(new int[]{1 }) , "in method Suurin, line 92");
Assert.AreEqual( 0, Suurin(new int[]{ }) , "in method Suurin, line 93");
}
[Test]
public void TestPienin3116()
{
Assert.AreEqual( 1, Pienin3(new int[]{1, 2 ,3}) , "in method Pienin3, line 117");
Assert.AreEqual( 1, Pienin3(new int[]{1, 3 ,2}) , "in method Pienin3, line 118");
Assert.AreEqual( 1, Pienin3(new int[]{2, 1, 3}) , "in method Pienin3, line 119");
Assert.AreEqual( 1, Pienin3(new int[]{2, 3, 1}) , "in method Pienin3, line 120");
Assert.AreEqual( 1, Pienin3(new int[]{3, 1 ,2}) , "in method Pienin3, line 121");
Assert.AreEqual( 1, Pienin3(new int[]{3, 2 ,1}) , "in method Pienin3, line 122");
Assert.AreEqual( 2, Pienin3(new int[]{3, 3, 2}) , "in method Pienin3, line 123");
Assert.AreEqual( 3, Pienin3(new int[]{3, 3, 3}) , "in method Pienin3, line 124");
}
[Test]
public void TestSuurin3145()
{
Assert.AreEqual( 3, Suurin3(new int[]{1, 2 ,3}) , "in method Suurin3, line 146");
Assert.AreEqual( 3, Suurin3(new int[]{1, 3 ,2}) , "in method Suurin3, line 147");
Assert.AreEqual( 3, Suurin3(new int[]{2, 1, 3}) , "in method Suurin3, line 148");
Assert.AreEqual( 3, Suurin3(new int[]{2, 3, 1}) , "in method Suurin3, line 149");
Assert.AreEqual( 3, Suurin3(new int[]{3, 1 ,2}) , "in method Suurin3, line 150");
Assert.AreEqual( 3, Suurin3(new int[]{3, 2 ,1}) , "in method Suurin3, line 151");
Assert.AreEqual( 4, Suurin3(new int[]{4, 2, 4}) , "in method Suurin3, line 152");
Assert.AreEqual( 1, Suurin3(new int[]{1, 1, 1}) , "in method Suurin3, line 153");
try
{
Assert.AreEqual( 1, Suurin3(new int[]{1, 1 }) , "in method Suurin3, line 154");
Assert.Fail("Did not throw IndexOutOfRangeException in method Suurin3 on line 153");
}
catch (IndexOutOfRangeException)
{
}
Assert.IsTrue( System.Text.RegularExpressions.Regex.Matches(("ABC" ).ToString(), ( "A.C").ToString()).Count > 0, "in method Suurin3, line 155 with actual value [" + "ABC" + "]" );
}
[Test]
public void TestSuurimmanPaikka173()
{
int[] luvut = {2,5,4,3};
Assert.AreEqual( 1, SuurimmanPaikka(luvut) , "in method SuurimmanPaikka, line 175");
Assert.AreEqual( 0, SuurimmanPaikka(new int[]{3,2,1}) , "in method SuurimmanPaikka, line 176");
Assert.AreEqual( 1, SuurimmanPaikka(new int[]{3,4,1}) , "in method SuurimmanPaikka, line 177");
Assert.AreEqual( 2, SuurimmanPaikka(new int[]{3,2,5}) , "in method SuurimmanPaikka, line 178");
Assert.AreEqual( 0, SuurimmanPaikka(new int[]{3}) , "in method SuurimmanPaikka, line 179");
Assert.AreEqual( -1, SuurimmanPaikka(new int[]{}) , "in method SuurimmanPaikka, line 180");
}
[Test]
public void TestVaihdaSuurin206()
{
int[] luvut = {2,5,4,3};
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 4 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 209");
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 1 3", String.Join(" ",luvut) , "in method VaihdaSuurin, line 211");
VaihdaSuurin(luvut,9);
Assert.AreEqual( "2 1 1 9", String.Join(" ",luvut) , "in method VaihdaSuurin, line 213");
VaihdaSuurin(luvut,1);
Assert.AreEqual( "2 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 215");
VaihdaSuurin(luvut,-1);
Assert.AreEqual( "-1 1 1 1", String.Join(" ",luvut) , "in method VaihdaSuurin, line 217");
luvut = new int[]{5};
VaihdaSuurin(luvut,2);
Assert.AreEqual( "2", String.Join(" ",luvut) , "in method VaihdaSuurin, line 220");
luvut = new int[0];
VaihdaSuurin(luvut,2);
Assert.AreEqual( "", String.Join(" ",luvut) , "in method VaihdaSuurin, line 223");
}
[Test]
public void TestTayta240()
{
int[] luvut = {1,2,3,4};
Tayta(luvut,5);
Assert.AreEqual( "5 5 5 5", String.Join(" ",luvut) , "in method Tayta, line 243");
}
[Test]
public void TestEtsi264()
{
int[] luvut = {1,2,3,4,3,2,0};
Assert.AreEqual( -1, Etsi(luvut,5) , "in method Etsi, line 266");
Assert.AreEqual( 3, Etsi(luvut,4) , "in method Etsi, line 267");
Assert.AreEqual( 0, Etsi(luvut,1) , "in method Etsi, line 268");
Assert.AreEqual( 6, Etsi(luvut,0) , "in method Etsi, line 269");
Assert.AreEqual( 1, Etsi(luvut,2) , "in method Etsi, line 270");
Assert.AreEqual( -1, Etsi(new int[]{},1) , "in method Etsi, line 271");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NUnit" Version="3.13.1"/>
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SuurinJaPienin\SuurinJaPienin.csproj"/>
</ItemGroup>
</Project>
...@@ -77,7 +77,7 @@ public class YksVaiKaksSilmukkaa ...@@ -77,7 +77,7 @@ public class YksVaiKaksSilmukkaa
sw.Reset(); sw.Reset();
sw.Start(); sw.Start();
double ka5 = ka= 1.0 * luvut.Where(x => x > RAJA).Average(); double ka5 = luvut.Where(x => x > RAJA).Average();
sw.Stop(); sw.Stop();
milliseconds = sw.Elapsed.TotalMilliseconds; milliseconds = sw.Elapsed.TotalMilliseconds;
Console.WriteLine("LinQ Avg where {0,7:##0.000} s", milliseconds / 1000); Console.WriteLine("LinQ Avg where {0,7:##0.000} s", milliseconds / 1000);
...@@ -124,7 +124,7 @@ public class YksVaiKaksSilmukkaa ...@@ -124,7 +124,7 @@ public class YksVaiKaksSilmukkaa
} }
// Tässähän eiole mitään järkeä sinällään. Silmukka on vain siksi, että saadaan // Tässähän ei ole mitään järkeä sinällään. Silmukka on vain siksi, että saadaan
// pyöritettyä vertailutulos if-lauseen sisältävään verrattuna ja voidaan arvioida // pyöritettyä vertailutulos if-lauseen sisältävään verrattuna ja voidaan arvioida
// if lauseen osuutta suoritusajasta suhteessa silmukan suoritukseen. // if lauseen osuutta suoritusajasta suhteessa silmukan suoritukseen.
public static int Maara(int[] luvut) public static int Maara(int[] luvut)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment