Programmering med C# i Microsoft Visual Studio 2010 (Ultimate)
Hej! Skulle någon kunna ge mig koderna till dessa 4 uppgifter som jag hittade på nätet.
Håller på att programmera, allt e nytt för mig.
Vill gärna ha ett facit så att jag fattar vad jag gör, det är drf jag vill ha svaret till dessa.
Programmerar med C# i Microsoft Visual Studio 2010 (Ultimate).
1.
I denna uppgift ska vi kasta tärning och föra statistik över resultaten.
Krävs att följande punkter har uppfyllts:
• Tärningen ska kastas så många gånger användaren vill.
• Hon/han avslutar tärningskastningen genom att trycka på 'q'.
Välj själv om du vill ta hand om både stora och små bokstäver (Q/q), eller bara små.
• Alla kasten ska sparas i en List<int>
• När användaren slutat kasta tärningen ska antalet kast, den totala summan samt
medelvärdet på dessa skrivas ut.
Ett slumpmässigt tal mellan ett och sex genereras med följande kod:
Random rnd = new Random();
int lastThrown = rnd.Next(1, 7);
Exempel
---------------------------------------------------------------------------------------------------------------------
2.
I denna uppgift ska användaren mata in ett värde och roten till dess värde ska beräknas.
Variabeln ska vara av datatypen double. Då vi inte arbetar med komplexa tal måste vi se till att
inga negativa värden beräknas. Om användaren matar in ett negativt värde, ex. -5, ska användaren
meddelas att vi inte kan beräkna dess rot, och ber om ett nytt tal.
Anger användaren '0' så avslutas programmet.
Alltså:
• Positiva tal – beräkna roten
• Negativa tal – meddela användaren att beräkning inte kan ske
• 0 – avsluta programmet
Exempel
---------------------------------------------------------------------------------------------------------------------
3.
Denna uppgift går ut på att hitta primtal upp till ett, av användaren, givet maxvärde.
Primtal är av definitionen heltal därför använder vi int som datatyp.
Primtalen ska sparas i en List<int> så de kan användas senare.
Vad programmet ska göra är alltså:
1. Låta användaren mata in värdet som blir vår maxgräns
2. Beräkna alla primtal upp till maxgränsen
3. Skriva ut alla primtal
För att beräkna primtalen använder vi en algoritm som
går ut på att testa alla värden från 2 till maxvärdet.
Beräkningen kan utföras via följande instruktioner:
• Deklarera en boolesk variabel (isPrime)
• Stega i en for-loop från i = 2 tills i = maxValue
• {
• Sätt isPrime = true
• Stega i en for-loop från j = 2 tills j = maxValue - 1
{
• OM resten av en division (Modulo) i % j == 0 OCH i != j
• isPrime = false.
}
• OM isPrime = true
• Lägg till värdet i listan över primtalen
• }
Algoritmen ovan är den så kallade Eratosthenes såll (Sieve of Eratosthenes) och är en
”brute force”-algoritm – alla värden testas, ofta flera gånger.
Det finns flera algoritmer för att söka efter primtal.
Hittar du en bättre får du använda denna.
Exempel
Tips
• När vi bestämt att talet inte är ett primtal (när isPrime=false) kan vi avbryta loopen med break.
• Du får gärna implementera en meny istället för att låta programmet avslutas direkt.
Några alternativ kan vara att:
◦ ändra maxvärdet och beräkna nya primtal
◦ skriva ut talen på nytt
◦ avsluta
---------------------------------------------------------------------------------------------------------------------
4.
Skapa en enkel att-göra-lista. Vi vill kunna lägga till, samt skriva ut uppgifter som ska göras.
Varje uppgift ska ha ett namn och en prioritering. Krävs att följande punkter uppfyllts:
• Man kan lägga till en ny uppgift.
• Man kan skriva ut alla uppgifter.
• Vi kan i en meny välja om vi ska lägga till, eller skriva ut uppgifterna. Enklast är att
använda strängar för valen så vi inte behöver blanda in int, enum eller andra datatyper.
• En enum kallad Priority ska innehålla de prioriteringsnivåer som finns.
Det räcker med tre stycken värden: Low, Normal och High.
• Uppgifterna ska sparas i en Dictionary<string, Priority>.
Alltså texten är nyckeln och värdet är Priority.
Exempel
Huvudmeny
Lägga till en uppgift (menyval 1)
Skriv ut alla uppgifter (menyval 2)
Tips
• För att läsa in prioriteringsnivån kan det vara lättast att göra en switch
eller if-else if-else på en string. Beroende på värdet som denna string-variabel
har kan man välja rätt prioriteringsnivå. Skriver användaren fel kan du antingen
i en while-loop be om ett korrekt värde, eller sätta en standardprioritering (ex. Normal)
• Console.Clear() tömmer texten i konsolfönstret
• Vill du utöka funktionaliteten i programmet kan du:
◦ ta bort uppgift (alltså säga att vi är klara med uppgiften)
◦ ändra prioritering på en vald uppgift