Задача 1. Random Numbers
Условие
Напишете програма, която генерира и принтира на конзолата 10 случайни числа в интервала [100,200].
Описание на входа
Няма вход ,тъй като се генерират десет произволни числа.
Описание на изхода
Изходът извежда на конзолата десет случайни числа в интервала 100-200.
Анализ на задачата
В задачата се ползва обект от класа Random на който се извиква функцията.Next; която връща цяло произволно число в интервала от 100 до 20 ,след което това число се принтира на конзолата и се извиква същата функция докато не стигне 10 принтирания.
Решение (сорс код)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace RandomNumbersTask2
{
class RandomNumbersTask2
{
static void Main(string[] args)
{
int randomNumber = 0;
int counter = 0;
Random rndGenerator = new Random();
do
{
counter++;
randomNumber = rndGenerator.Next(100, 201);
Console.WriteLine(randomNumber);
} while (counter != 10);
}
}
}
Тестове
Тест от конзолата няма как да се направи, тъй като се взима автоматично произволно число в интервала 100-200
Вход Изход
Задача 2. Check Today
Условие
Напишете програма, която показва на конзолата кой ден от седмицата е днес
Описание на входа
Няма вход ,тъй като той се взима автоматично от часовникът на компютъра
Описание на изхода
Изходът извежда на конзолата името на денят кой е днес на английски
Анализ на задачата
В задачата се ползва обект от класа DateTime на който се извиква функцията.Today; която връща цяло число от 1 до 7 ,след което това число с помоща на switch оператор се превежда в дума отговаряща на денят от седмицата
Решение (сорс код)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TodayTask3
{
class TodayTask3
{
static void Main(string[] args)
{
DateTime dateValue = DateTime.Today;
switch ((int)dateValue.DayOfWeek)
{
case 1: Console.WriteLine(„Monday“);
break;
case 2: Console.WriteLine(„Tuesday“);
break;
case 3: Console.WriteLine(„Wednesday“);
break;
case 4: Console.WriteLine(„Thursday“);
break;
case 5: Console.WriteLine(„Friday“);
break;
case 6: Console.WriteLine(„Saturday“);
break;
case 7: Console.WriteLine(„Sunday“);
break;
}
}
}
}
Тестове
Тест от конзолата няма как да се направи тъй като денят се взима автоматично от часовникът на компютъра.Възможно е да се премести ръчно датата ,за да се установи промяна в резултата
Вход Изход
1 Monday
Задача 3. Leap Year
Условие
Напишете програма ,коят прочита от конзолата година и проверяява дали е високосна
Описание на входа
Входните данни са едно число (година) между 0 и 9999
Описание на изхода
Изходът се извежда на един ред и гласи дали въведената година е високосна или не,и дали входът е коректен
Анализ на задачата
Първо с IF оператор се проверява дали входът е положителен след което се прави проверка на дадената година с помоща на класа DateTime и функцията към него IsLeapYear ,която връща TRUE или FALSE .
Решение (сорс код)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LeapYearTask1
{
class LeapYearTask1
{
static void Main(string[] args)
{
int year = int.Parse(Console.ReadLine());
if (year > 0)
{
if (DateTime.IsLeapYear(year)) Console.WriteLine(„{0} is leap year“, year);
else Console.WriteLine(„{0} is not a leap year“, year);
}
else Console.WriteLine(„Incorrect year“);
}
}
}
Тестове
Решението е тествано с номинални случаи,отрицателна стойност и няколко валидни години
Вход Изход
0 Incorrect year
Вход Изход
-100 Incorrect year
Вход Изход
4 4 is a leap year
Вход Изход
1990 1990 is not a leap year
Вход Изход
2056 2056 is a leap year
Задача 4. Hypotenuse By Two Sides
Условие
Напишете програма, която която по дадени два катета намира хипотенузата на правоъгален триъгалник.Реализирайте въвеждането на дължините на катетите от стандартния вход ,а за пресмятането на хипотенузата използвайте медоти на класа Math.
Описание на входа
Въвеждат се три две последователно на отделен ред всяко.
Описание на изхода
Изходът представлява един ред на който се печата дължината на хипотенузата
Анализ на задачата
Присвояват се две стойности за 2-те страни на триъгалника които трябва да са положителни ,след което с помоща на методите Math.Sqrt(коренуване) и Math.Pow(степенуване) се пресмята хипотенузата по познатата формула
Решение (сорс код)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TriangleByTwoSidesTask5
{
class TriangleByTwoSidesTask5
{
static void Main(string[] args)
{
double sideA = int.Parse(Console.ReadLine());
double sideB = int.Parse(Console.ReadLine());
if (sideA > 0 && sideB > 0)
{
double sideC = Math.Sqrt(Math.Pow(sideA, 2) + Math.Pow(sideB, 2));
Console.WriteLine(sideC);
}
else Console.WriteLine(„Incorect Input“);
}
}
}
Тестове
Решението е тествано с номинални случаи, въвеждане на отрицателни стойности,цели числа ,дробни числа
Вход Изход
-1 Incorrect Input
10
Вход Изход
-1000 Incorrect Input
-9999
Вход Изход
1 1,4142135623731
1
Вход Изход
12 1,4142135623731
6
Вход Изход
3 5
5