[Homework] C# Basics - Introduction to Programming - August 2015
Тук може да видите моят вариант на домашното към темата Въведение в програмирането
Тук може да видите моят вариант на домашното към темата Въведение в програмирането
Здравей, кодовете изглеждат много добре, но на някои от задачите не си изпълнил точно условието на самата задача. Да, най-вероятно ти изглежда доста елементарно да си принтираш името, но това е условието на задачата :) На мен лично лектора ме предупреди, да не доокрасявам задачи или да правя нещо повече от това което се изисква, защото judge-а може да отчете някъде грешка и да не получа 100 точки за принципно вярна задача.
Иначе и аз като теб ми е интересно да си доокрасявам задачите, най-малкото учим повечко неща :)
Здравейте и от мен :)
Прави сте, че на този етап, не ни е нужно да доокрасяваме задачките, но е хубаво, когато това се прави, и то както трябва. Това значи, че си любопитен, абе аджаба тука ако го чета от конзолата вместо да го хардкодна, ко ше стане ? :)
Според мен колегата се е постарал и е направил задачките добре. При четенето от конзолата, обаче мисля, че ще е по-добре да го правиш по този начин: (относно PrintSequence задачките :) )
Console.WriteLine ("Please enter the length of the sequence:");
int len;
string input = Console.ReadLine ();
bool checkInput = int.TryParse (input, out len);
Така проверяваш дали входните данни могат да бъдат Parse-нати към Int - ако Да, checkInput ще е True, ако Не - False.
След това може просто да направиш проверка с checkInput по следния начин:
if (checkInput && len > 0)
{
// Input valid... Do something...
}
else
{
// Input invalid... Print friendly Error message...
}
Ето как аз съм го направил, дано ти е полезно :)
Аз имам един въпрос относно задачата "Current Date and Time", реших да го задам тук в тази тема, а не да правя нова тема за него, тъй като видях, че дискутирате някои от домашните му.
Когато стигнах въпросната задача, направих нов проект и започнах да бараникам по библиотеките и се натъкнах на "DateTime.Now", която отпечатва датата и часа в момента, в който стартирате програмата.
using System;
class CurrentDateAndTime
{
static void Main()
{
Console.WriteLine("Current date and time: " + DateTime.Now);
Console.ReadKey();
}
}
Програмата си работи.
След това видях решението на колегата, което се различава от моето само с реда:
"DateTime localDateAndTime = DateTime.Now;"
Неговото също работи.
Грешно ли е моето решение на задачата, защото в него този ред липсва?
Когато се прави това домашно, трябва ли да го слагаме, при положение, че и при моя и при неговия начин, програмата си работи?
Как е по правилно да се направи това домашно и защо ?
Аз просто съм присвойл към променлива това свойство.
Специално за това домашно би трябвало и двете да са правилни, щом изкарват едно и също. Ако изключим факта обаче, че очакваният изход от конзолата е специално форматиран Expected Output > 19.5.2015 г. 12:02:55 ч.. Нещо от сорта
Console.WriteLine("{0:dd.MM.yyyy} г. {0:hh:mm:ss} ч.", DateTime.Now);
И аз имам едно питане относно кирилицата обаче. За да ни е вярна задачата стига ли да сложим този ред
Console.OutputEncoding = Encoding.UTF8;
Имам предвид въпросителните които излизат вместо кирилица.
Това е моето домашно по темата:
Знам че няма смисъл от въвеждането на данни (говорим на този етап от нашето обучение), които да бъдат изведени после, но все пак целта на тези задачи е да разбереш основните работи. Аз лично това как се взимат входни данни го четох в интернет. Иначе ако трябваше да правя нещо сложно, трябваше да има и проверки на входа, дали са въведени цифри или букви и т.н.
@PavelManahilov,
Изпитните задачи се проверяват от judge, като със spellchecker - и една буква разлика води до резултат 0 точки - тук и ти и лектора сте прави.
Домашното е с цел разучаване на разнообразен синтаксис - аз лично бих посъветвала в домашното outputa-a да се използва за judge - в много случаи определено си е сложно да се получи точно показания output.
Но в домашното специално има и други два приоритета - усвояване на разнообразен синтаксис, и самата идея за програмиране: смисълът е да може програмата да е възможно по-универсална, да се използва във възможно повече случаи. Аз например когато за първи път карах C# курс, за домашното Primitive Data Types си бях направила програма, която автоматично избира в какъв тип данни да запази всяка променлива - това не се иска, но в програмирането винаги важи правилото: по-добре програмата да го направи, а не аз, а и си беше удоволствие да измисля такава програма.Сега мога разбира се да я напиша по кратка и интелигентна - тогава толкова можех за една седмица обучение....
@KatyaMarincheva така е напълно съм съгласен. Ако човек не го човърка любопитството и няма желание да ровичка още и още няма как да се научи. Ние тази съботаа сме на типовете данни, така че ще видим тогава за какво иде реч :)