[Homework] C# Basics - Introduction to programming - March 2014
Здравейте !!!
Нека направим форумът по-лесен за търсене, като "компресираме" всяка тема от една задача до по-обща тема от даден раздел(където, ако не всички, то поне повечето задачи са решени).
Преди да продължа, искам да споделя някои добри практики, които използвам за да напиша домашната си работа, така че да е удобно на проверяващият лесно да се ориентира.
1. Коректно зададено име на solution-ът ("Introduction to programming"),
2. Коректно именуване на отделните проекти в solution-ът ("PrintMyName", "HelloCSharp") not like wrong -> ("FirstTask", "ToDoSomthingMagical") <- wrong
3. Номериране на проектите (01, 02, 03, 04 т.н.) избягвам 1,2,3,4..., защото при solution по-голям от 9 проекта, проект номер 10 ще бъде първи в solution-ът, което не е много правилно.
4. Използването на коментари в кодът помага както на Вас, така и на тези, които четат кодът Ви.
След всичко казано до тук, да продължим по същество:
04. Create, compile and run a “Hello C#” console application. Ensure you have named the application well (e.g. “”HelloCSharp”). Click /стандартна задача, няма какво много да се каже тук/
05. Modify the previous application to print your name. Ensure you have named the application well (e.g. “PrintMyName”). Click /като предната/
06. Write a program to print the numbers 1, 101 and 1001, each at a separate line. Name the program correctly. Click /нищо ново/
07. Create console application that prints your first and last name, each at a separate line. Click /като 06./
08. Create a console application that calculates and prints the square root of the number 12345. Find in Internet “how to calculate square root in C#”. Click /тук използвам методът Math.Sqrt и му подавам числото, на което искам да изчисля корен квдратен/
09. Write a program that prints the first 10 members of the sequence: 2, -3, 4, -5, 6, -7, ... Click /използвам for цикъл, проверявайки дали целочисленото деление е 0 или различно от нея, принтирам съответно положително или отрицателно число/
10. Reformat the following C# code to make it readable according to the C# best practices for code formatting. Change the casing of the identifiers in the code (e.g. use PascalCase for the class name): Click /нищо интересно тук/
14. Create a console application that prints the current date and time. Find in Internet how. Click /използвам DateTime.Now може и DateTime.Today/
15.Write a program to read your birthday from the console and print how old you are now and how old you will be after 10 years. Click /продължение на по-горната задача. Тук използвам метода DateTime.Parse() и му подавам входа от потребителят, след което изваждам от днешният ден входът (DateTime.Subtract()) и получавам годините. За да получа възрастта след 10 години използвам метода AddYears() na DateTime /
16. Write a program that prints the first 1000 members of the sequence: 2, -3, 4, -5, 6, -7, … Click
/същата логика като при зад 09., за по-добра производителност може да се ползва StringBuilder/
Чакам вашите коментари и въпроси.
Edited: Променено е името на темата според правилата на форума.
Здравей,
търся си тук малко помощ за 15 задача (AgeAfter10Years) и ми направи впечатление, че при теб от потребителя се очаква да напише не рождената си дата (както е в условието), а направо възрастта си в момента. Това опростява задачата много. Може би ще искаш да я преправиш, така че да отговаря точно на условието ;)
Поздрави!
Много, много, много мерси! Страшно съм разсеяна. Поправих го и изглежда така:
Console.WriteLine("Enter your birthday(try yyyy.m.d)");
DateTime birthDay = DateTime.Parse(Console.ReadLine());
DateTime today = DateTime.Now;
int age = today.Year - birthDay.Year;
Console.WriteLine("You are {0} years old.", age);
Console.WriteLine("After 10 years you will be {0} years old", age + 10);
Не е особено прецизно, но засега толкова :)
Ето едно малко по-прецизно решение на Проблем 15 тук
И май не съм била разсеяна този път - действително условието на Проблем 15 е променено.
Старото пейстнато условие е в коментарите в сорс кода ми(кръстила съм го Old).