Loading...
iMitaka avatar iMitaka 48 Точки

[Homework] - Introduction to Programming - October 2015

Здравейте! smiley

Прилагам моите решения на задачите от домашното от втората лекция Въведение в програмирането:

Intro-Programming-Homework (линкчето е активно до 07.11)

Надявам се да съм бил полезен на някого с това, също ако някой има мнения или критики по домашното, ще се радвам да ги чуя.

6
Programming Basics 24/10/2015 01:49:37
dZf1aeA-KlimentHristov avatar dZf1aeA-KlimentHristov 56 Точки

Ето го моето: http://files.fm/u/msdfepk# ,плюс правилно решение за Аfter then years задачата и форматирана правилно.

Малко повече четене с функциите на DateTime, които ми докараха адски главоболия.

Трябваше да разбера,че трябва да се конвертира стринга , а после че може от променлива инт да се изважда друга променлива като е съчетана с today.DateTime ( тоест може да го ползваме като израз ).

Като се напише изглежда лесно , но докато го разбера защо трябва да е така ми отне към 2 3 часа ровене и гледане.

За последната задача със звездичките Print Long Sequence използвах Console.BufferHeight = 1010;  , иначе конзолата ми не изкарваше всички числа ;) това беше голямото спасение и облекчение.

Който е разгледал решението ми за задачite може да сподели мнение. Ще се радвам да разбера дали ги решавам правилно.

Благодаря

 

3
23/10/2015 20:58:15
savina.toteva avatar savina.toteva 10 Точки

Здравейте,

 

Аз бих искала да обърна внимание на задачата,показваща текуща възраст и такава след 10 години, на базата на въведена рожденна дата.

Логиката на моя код е същата,като тази на Климент. Но си направих експеримент да въведа дата от вчера или от миналата година. Разбира се програмата ми изкара грешка и заби. Вие пробвали ли сте този вариант за рънване?

В момента съм в процес на разрешаване на този проблем...Ако някой има идеи,моля споделете ги!

 

Благодаря

1
26/10/2015 22:32:15
M.Chorbadjiev avatar M.Chorbadjiev 54 Точки

Здравей , най-добре да дадеш да видим кода.Важно е да въвеждаш датата във формат спрямо системния ти език на операционната система, иначе ще ти дава грешка.

0
slavi.g.slavchev avatar slavi.g.slavchev 45 Точки

Здравей, Савина.

Когато решавах задачата, доста се бях вманиачил и я направих тотално loser-friendly и могат да се въвеждат всякакви абсурди :)

http://pastebin.com/nrLjDRr4

Това, че годината е дробно число са подробности също blush

Поздрави,

Слави

2
fearr1 avatar fearr1 10 Точки

Това е моето решение на проблема "after ten years" :

using System;

namespace AgeAfter10Years
{
    class MyAge
    {
        static void Main()
        {
            Console.WriteLine("Enter your birth date (YYYY,MM,DD): ");
            DateTime MyBirth = DateTime.Parse(Console.ReadLine());
            var DateNow = DateTime.Now;
            var MyAgeMonth = DateNow.Month   - MyBirth.Month;
            var MyAgeYear = DateNow.Year - MyBirth.Year;
            var MyAgeDay = DateNow.Day - MyBirth.Day;
            if (MyAgeMonth > 0 || (MyAgeMonth == 0 && MyAgeDay >= 0))
            {
                Console.WriteLine("Your age is: " + MyAgeYear);
                Console.WriteLine("Your age after 10 years will be: " + (MyAgeYear + 10));
            }
            else
            {
                Console.WriteLine("Your age is: " + (MyAgeYear - 1));
                Console.WriteLine("Your age after 10 years will be: " + (MyAgeYear - 1 + 10));
            }            
        }
    }
}

 

2
28/10/2015 15:33:38
Milena_81 avatar Milena_81 1 Точки

Благодаря за решението на задачата, fearr1.

 

0
Milena_81 avatar Milena_81 1 Точки

Ето и моето решение на проблем Print Long Sequence:

аз съм използвала цикъл for:

 for (int i = 2; i < 1002; i++)
        {
            if (i % 2 == 0)
            {
                Console.Write(" " + i +" ");
            }
            else
            {
                Console.Write(" " + (i * (-1)) +" ");
            }
        }
        Console.WriteLine();

//Ако някой има по-добра идея, моля да я сподели :)

Поздрави и хубав ден :)

0
bety_1988 avatar bety_1988 49 Точки

И аз съм използвала цикъл For и подобна схема за решаване за последната задача.

0
28/10/2015 09:38:35
bety_1988 avatar bety_1988 49 Точки

Ето и моето решение на задачата с годините:

using System;

class AgeAfter10Years
{
    static void Main()
    {
        Console.Write("Enter your birth date: ");
        DateTime BirthDay = DateTime.Parse(Console.ReadLine());
        int age = (int)((DateTime.Now - BirthDay).TotalDays / 365.242199);
        Console.WriteLine("Now: " + age);
        Console.WriteLine("After 10 years: " + (age + 10));
    }
}

Прегледайте и кажете, ако имате забележки :)

1
rsdenchevs avatar rsdenchevs 5 Точки

Здравейте,

Някой по-горе беше помолил за код на задачата с редицата- http://pastebin.com/EuZ3Kpv7 

 

Надявам се да е полезно,ако все пак някой се сети още по-лесен начин или такъв за оптимизиране на кода, нека сподели! :)

0
alex.mitev avatar alex.mitev 20 Точки

Това решение много ми харесва, със средният брой дни в 1 година.

Иначе е малко повече писане, но пак не е особено дълго:

 

 DateTime bday = DateTime.Parse(Console.ReadLine());
            DateTime now = DateTime.Now;
            int Age = now.Year - bday.Year;
            if (now.Month < bday.Month || (now.Month == bday.Month && now.Day < bday.Day))
                Console.WriteLine(Age + 9);
            else
                Console.WriteLine(Age + 10);

 

0
artillusion avatar artillusion 0 Точки

Хубаво казваш, че е активно. Но сега проверих и не иска да показва никакъв файл!

0
iMitaka avatar iMitaka 48 Точки

Здравей! 

Веднага проверих тая работа, но при мен всичко си е точно и файлът си е там, прилагам и снимка:

Опитай отново, може нещо да се е било бъгясало преди това, незнам.

Успех! wink

0
SandraMarinova avatar SandraMarinova 1 Точки

using System;
 
class Age10Years
{
    public static void Main()
    {
              string age = Console.ReadLine();

        string[] token = age.Split('.');


        int calcAge = (DateTime.Now.Year - int.Parse(token[token.Length - 1]));

        Console.WriteLine("You are  " + calcAge + " years old");
        Console.WriteLine("After 10 years you will be" + (calcAge + 10) + " years old");
    }
}

0
iMitaka avatar iMitaka 48 Точки

Здравей! smiley

Кодът ти работи добре и си се справила. Към тази задача порпицип може да се добави едно if-че, естествено още не си до нея лекция така, че не си задължена да ги знаеш и да ги добавяш, което if-че проверява дали деня и месеца са минали, съответно дали са навършени годините или не, ето едно примерче и от мен:

using System;
class PrintAgeAfterTenYears
{
    static void Main()
    {
        string birthDateString = Console.ReadLine();
        var birthDate = DateTime.Parse(birthDateString).Date;
        var dateTimeNow = DateTime.Now;
        var currentAge = dateTimeNow.Year - birthDate.Year;
        var currentBirthDate = birthDate.AddYears(currentAge);
        var ageAfterTenYears = currentAge + 10;
        if (dateTimeNow.Date < currentBirthDate.Date)
        {
            ageAfterTenYears--;
        }
        Console.WriteLine(ageAfterTenYears);
    }
}

 

1
artillusion avatar artillusion 0 Точки

Да видях че всичко е ок като влязах повторно! Благодаря!

0
savina.toteva avatar savina.toteva 10 Точки

Здравейте,

Изтеглих няколко домашни ,които искам да оценя, но нито едно не ми отваря проектите и Visual Studio ми дава грешка ,че не намира проектите. 

Как да се справя с този проблем?

 

 

0
ioanna.konova avatar ioanna.konova 47 Точки

Здравей,

Първо разархивирай файла.

Поздравиsmiley

0
savina.toteva avatar savina.toteva 10 Точки

Даааа Разарфивирам го и тогава го отварям, но не става...

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