[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: Променено е името на темата според правилата на форума.
Твоите решения на 9-та и 16-та задача са по-близки до това, което ми беше хрумвало ;)
Единствено на 16-та поради дългата поредица не мога да видя цялата редица на екрана на конзолата.
Първите много бързо се "изнизват". Интересно е, че така ми се получава и при решението на Янко (по-горе).
Може и при мен да е грешката, но със сигурност мога да се разгледам ако се използва само Console.Write :
Console.Write(i+","+" "+j+","+" ");
iliya_boyanov според мен 15-та задача не ти е много коректна. Не става ясно какво трябва да направи потребителя. Дори и когато въведох рожденната си дата, пак нищо не стана :).
borispavlov аз имах този проблем и даже бях отворил тема тук във форума. Бях го направил като теб с Console.Write, но тук колегите ме светнаха за командата Console.BufferHeight = 1001; което решава проблема с изписването на цялата поредица на нов ред.
XmUrF поправено е вече :)