Ohjelmointi 1, tentti 12.6.2020, arvosteluperusteet

Yleistä

Tentti (PDF) oli pistekeskiarvon 11.8 perusteella hieman keskimääräistä vaikeampi.

Opiskelijan omat tehtävät on nähtävissä TIMissä.

Tehtävä Teki (opiskelijaa, kpl) Keskiarvo Keskihajonta Tarkastaja
Tehtävä 1 7 2.9 Antti-Jussi Lakanen
Tehtävä 2 7 3.4 Antti-Jussi Lakanen
Tehtävä 3 7 3.4 Antti-Jussi Lakanen
Tehtävä 4 7 2.1 Antti-Jussi Lakanen
Yhteensä 48 11.8

Arvosana-asteikko:

Tehtävä 1

Malliratkaisu: 1A, 2C, 3C, 4B, 5C, 6B

Tehtävä 2

Malliratkaisu: 1D, 2D, 3D, 4D, 5D, 6A

Tehtävä 3

Malliratkaisu

using System;
using System.Text;
using System.Linq;
using System.Collections.Generic;

/// @author Antti-Jussi Lakanen
/// @version 12.6.2020
/// 
/// <summary>
/// Tehtävä 3, Palindromi.
/// </summary>
public class T3_Palindromi
{
    /// <summary>
    /// Tulostaa kaksi esimerkkiä HassuSana-funktion käyttämiseksi. 
    /// </summary>
    public static void Main()
    {
        Console.WriteLine(HassuSana("saippuakauppias"));
        Console.WriteLine(HassuSana("SaippuaS"));
    }

    /// <summary>
    /// Onko annettu merkkijono sama luettiinpa
    /// se etu- tai takaperin (palindromi).
    /// </summary>
    /// <param name="jono">Tutkittava jono.</param>
    /// <returns>Onko jono palindromi.</returns>
    /// <example>
    /// <pre name="test">
    /// HassuSana("Saippua") === false;
    /// HassuSana("SaippuaS") === false;
    /// HassuSana("saippuakauppias") === true;
    /// HassuSana("Saippuakauppias") === true;
    /// HassuSana("") === false;
    /// HassuSana("S") === true;
    /// </pre>
    /// </example>
    public static bool HassuSana(string jono)
    {
        if (jono.Length < 1) return false;
        for (int i = 0, j = jono.Length - 1; i < j; i++, j--)
        {
            if (Char.ToLower(jono[i]) != Char.ToLower(jono[j]))
                return false;
        }
        return true;
    }
}

Tehtävä 4

Malliratkaisu

using System;
using System.Text;
using System.Linq;
using System.Collections.Generic;
using System.Runtime.InteropServices;

/// @author Antti-Jussi Lakanen
/// @version 12.6.2020
/// <summary>
/// Tehtävä 4, merkkijonojen pituuksien keskiarvo.
/// </summary>
public class T4_Keskiarvo
{
    /// <summary>
    /// Esimerkki PituuksienKeskiarvo-funktion käyttämisestä.
    /// Funktion palauttama tulos tulostetaan ruudulle.
    /// </summary>
    public static void Main()
    {
        List<String> hedelmat = new List<String> { "Mango", "Omena", "Mandariini", "Kiiwi", "Persikka", "Hunajameloni" };
        Console.WriteLine(PituuksienKeskiarvo(hedelmat));
    }

    /// <summary>
    /// Antaa merkkijonojen pituuksien keskiarvon.
    /// </summary>
    /// <param name="jonot">Merkkijonot</param>
    /// <returns>Pituuksien keskiarvo.</returns>
    /// <example>
    /// <pre name="test">
    /// PituuksienKeskiarvo(new List<string>{ "Omena" }) === 5;
    /// </pre>
    /// </example>
    public static double PituuksienKeskiarvo(List<string> jonot)
    {
        double pituuksienSumma = 0;
        for (int i = 0; i < jonot.Count; i++)
        {
            string jono = jonot[i];
            pituuksienSumma = pituuksienSumma + jono.Length;

        }
        return pituuksienSumma / jonot.Count;
    }
}

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