Loading...
YankoVanov avatar YankoVanov 72 Точки

[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: Променено е името на темата според правилата на форума.

Тагове:
66
Programming Basics 14/09/2014 10:44:11
iliya_boyanov avatar iliya_boyanov 28 Точки
Ето и моите решения. Надявам се, че ще намерите нещо интересно.
Моля коментирайте :) - Цък
3
borispavlov avatar borispavlov 45 Точки

Твоите решения на 9-та и 16-та задача са по-близки до това, което ми беше хрумвало ;)

Единствено на 16-та поради дългата поредица не мога да видя цялата редица на екрана на конзолата.

Първите много бързо се "изнизват".  Интересно е, че така ми се получава и при решението на Янко (по-горе).

Може и при мен да е грешката, но със сигурност мога да се разгледам ако се използва само Console.Write :

Console.Write(i+","+" "+j+","+" ");

1
XmUrF avatar XmUrF 363 Точки

iliya_boyanov според мен 15-та задача не ти е много коректна. Не става ясно какво трябва да направи потребителя. Дори и когато въведох рожденната си дата, пак нищо не стана :).

borispavlov аз имах този проблем и даже бях отворил тема тук във форума. Бях го направил като теб с Console.Write, но тук колегите ме светнаха за командата Console.BufferHeight = 1001; което решава проблема с изписването на цялата поредица на нов ред.


4
iliya_boyanov avatar iliya_boyanov 28 Точки
boris благодаря за забележката явно съм го изпуснал от условието.
XmUrF поправено е вече :)
1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.