Loading...
hristolilov avatar hristolilov 394 Точки

[Homework] C# Basics - Видео решения на домашните от C# Basics май/март 2014

Реших да поизреша домашните от C# Basics курса на видео, с цел да си припомня материала и евентуално да помогна на някой  да си доизясни нещата от лекциите :)

Очаквам отзиви :)

Линкове към видеата ще публикувам тук:

Homework 1: Introduction to programming

Homework 2: Primitive Data Types And Variables - задачи

Homework 2: Example Exam - Problems 1-4

Homework 3: Operators Expressions Statements - задачи

Homework 4: Console Input Output - задачи

223
Programming Basics
vladislavtodorov avatar vladislavtodorov 8 Точки

Здравейте,

 

Аз съм от септемврийското попълнение C#, ниво нула.

Ние започнахме добре.

След първата лекция си плюх на ръцете, стъпих си на краката, потупах се /не много силно/ по главата, ударих един кикстарт на компа и сговорчиво седнах да си пиша домашното.

След величественото начало и легендарното „HelloCSharp”, положението бързо стана драматично.

Защо стана така е банално да разказвам, но така или иначе аз реализирах едно добро първо домашно.

Благодаря на Христо.

Време е за моето мнение.

В стремежа си да съм максимално ясен, ще го структурирам като точки с надеждата да не изглеждам грубовато недодялан.

Делово:

1. Идеята да се помага на по-малките винаги се е казвала... ми просто благородна.

2. Темата и концепцията на видеото е избрана и изградена добре, от един практичен човек с известен /горчив/опит, който изобщо не е забравил от къде е тръгнал.

3. Технически нещата са съвсем добре- въпреки любителската ни техника, аудиото при мен е напълно задоволително.

4. Ще се съобразя със скромността на Христо и ще избегна силните думи, но не мога и да си премълча: Христо е доста добър педагог.

5. Относно отвличането на Христо /според него/ на други теми: на мен това ми е много полезно и високо го оценявам.

Например: смътно долавям, че в дадена задача и моето решение има нещо неприятно и неопределено от типа „А бе то стана, ама някак си много мирише на заровено куче“. И тогава неволно Христо се „отвлича“ на някъде, благодарение на което аз съвсем сам откривам „Един много по-добър начин.

6. Относно опасенията на Христо, че видеото му е много дълго и няма кой да му го издържа:

И аз като повечето колеги не уча за време, а за качество. Дълго ли е видеото? Не е дълго- идеално си е и е много добро продължение на лекцийте.

Още веднъж да благодаря и да завърша:

Започнах небрежно да гледам видеото на младия колега Ицо, но към края вече най-внимателно следях урока на уважаемия г-н Лилов:-).

Разбира се това последното е въпрос: къде да донеса каса бира?

2
Rimogard avatar Rimogard 1 Точки

Благодаря за тези видео материали! Убеден съм, че инициативата ти е изключително полезна за начинаещите, какъвто съм и аз. Освен спокойните обяснения и интересните решения, които предлагаш, ми харесва, че показваш и някои трикове в боравенето с Microsoft Visual Studio. :о)

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

Здравейте! Днес изгледах първите две лекция и реших първото домашно. На който му се занимава може да му хвърли едно око - ТУК

Ще съм благодарна, ако изкажете някакви забележки, препоръки и т.н. Затрудних се със задачите със звездичките, но ми се получи всичко освен задачите за поредиците от числа. Мисля, че кодът ми е верен, но не знам защо на конзолата числата ми започват от 702 и -703...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _10.PrintLongSequence
{
class Program
{
static void Main(string[] args)
{
for (int i = 2; i <= 1001; i++)
{
if (i % 2 == 0)
{
Console.WriteLine("{0}", i);
}
else
{
Console.WriteLine("{0}", - i);
}
}
}
}
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _11.From1to1000
{
class Program
{
static void Main(string[] args)
{
for (int i = 1; i < 1001; i++)
{
Console.WriteLine(i);
}
}
}
}

1
Kamigawa avatar Kamigawa 750 Точки

Здравей,

Направи ми впечатление, че вътре в кода не е сменено името на класа, ами си седи "Program" - желателно е и там да се сменя името. На трета и четвърта задача не е нужно да се събират стринговете (числата с новия ред), може да се запише като един стринг - „1\n2\n...“. На пета задача „Square root“ е корен квадрате, ти си направила числото на втора степен. За корен квадратен може да е ползва - Math.Sqrt . На девета задача има един нов ред в повече в конзолата, това е така, понеже WriteLine си създава нов ред накрая, не е нужно да се задава такъв с "\n", освен ако не е целенасочено. На 10 задача излиза на конзолата от 703, защото самата конзола има ограничение на редовете, които може да покаже - т.е. другите числа излизат и се скиват. Не помня точно командата за даване на повече редове на конзолата - може да потърсиш в гугъл.

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

2
TrifonApov avatar TrifonApov SoftUni Team Trainer 131 Точки

Здравейте,

        Console.BufferHeight = n; е командата. Като n е броят редове. За тази задача от домашното мисля че 1001 беше достатъчно.

 

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

Много благодаря, момчета! Бяхте изключително полезни! smile

3
Tisho_Todorov avatar Tisho_Todorov 8 Точки

Здравейте,

    Аз също съм в играта от септември :) !

        Ето и опитите ми за решаване на домашното :  C# Basics - Operators-Expressions-and-Statements-Homework 12.10.2014

 

01.OddOrEvenIntegers :

 

using System;

class OddOrEvenIntegers
{
   static void Main()
  {
       Console.WriteLine("Give us a number:");
       int num = int.Parse(Console.ReadLine());
       if (num % 2 == 0)
          Console.WriteLine("Your number is even");
       else
          Console.WriteLine("Your number is odd");
          Console.Title = "Created by T.Todorov";
  }
}

 

Останалите решения се намират на адрес: http://www.pastebin.com/u/Tisho_Todorov

0
12/10/2014 15:41:59
Pavche avatar Pavche 12 Точки

Като начинаещ в програмирането на С# видео урокът ми помогна много.

Добре обясняваш, с малко думи разказващ съществени информации.

Показал си практически умения по програмиране и работа със средата на MS Visual Studio.

Добра работа!

Благодаря.

2
BinevBG avatar BinevBG 1 Точки

Искам да споделя моето решение на задача 8 от третата лекция, Оператори и изрази.

using System;

class PrimeNumberCheck
{
     static void Main()
     {
          int n = int.Parse(Console.ReadLine());
          bool isPrime;

          if ((n == 0) || (n == 1))
          {
               isPrime = false;
          }
          else if ((n == 2) || (n == 3) || (n == 5) || (n == 7))
          {
               isPrime = true;
          }
          else
          {
               isPrime = (n % 2 != 0) && (n % 3 != 0) && (n % 5 != 0) && (n % 7 != 0);
          }
          Console.WriteLine(isPrime);
     }
}

1
Filkolev avatar Filkolev 4482 Точки

Проблемът с този алгоритъм е, че работи само и единствено за проверка на числа между 0 и 100. Ще даде грешен резултат ако му се подаде отрицателно число или число по-голямо от 100. Иначе поздравления за изчистената логика на решението, по условие това се иска да прави.

Предполагам си виждал стандартния алгоритъм за проверка на прости числа, в който се ползва цикъл. Ако не си - потърси го. Домашните са мястото, където може да се експериментира повече и да се пишат програми, които имат по-разширена функционалност от зададеното в условието (в случая да работи  с числа между 1 и 100).

2
BinevBG avatar BinevBG 1 Точки

Привет, Filkolev! Да, наистина си прав. Благодаря за съвета! Само да допълня, че сега не уча в СофтУни, но след 2 години като завърша средно образование, и съм при вас!! :D :)

0
31/12/2014 13:01:38
Filkolev avatar Filkolev 4482 Точки

Нищо не ти пречи да учиш в СофтУни докато си още в гимназията, освен евентуално липсата на време :) Успех!

1
BinevBG avatar BinevBG 1 Точки

Решението ми и за 10-та задача, от третата лекция.

using System;

class PointCircleRectangle
{
     static void Main()
     {
          double x = double.Parse(Console.ReadLine());
          double y = double.Parse(Console.ReadLine());

          bool insideCircle = (x - 1) * (x - 1) + (y - 1) * (y - 1) <= (1.5 * 1.5);
          bool insideRectangle = (x >= -1) && (x <= 5) && (y >= -1) && (y <= 1);

          if (insideCircle == true && insideRectangle == false)
          {
               Console.WriteLine("yes");
          }
          else
          {
               Console.WriteLine("no");
          }
     }
}

0
Pavche avatar Pavche 12 Точки

Здравей,

Радвам се от лекотата, с която решаваш задачите.
Много неща научих за програмирането на C#.
Разбрах за преките пътища за по-бълзо писане на код.
Благодаря за видео лекциите.

От своя страна имам предложение за подобрение на звукозаписа.
Гледал да съм видео лекции от Professor Messer.
Той използва микрофон, отдалечен от компютъра.
Така не се чуват странични звуци и писането по клавиатурата.
Звукът има високо качество.

Като демонстрация можеш да отвориш която и да е от неговите видео лекции тук:
https://www.youtube.com/channel/UCkefXKtInZ9PLsoGRtml2FQ

0
Ifandieva avatar Ifandieva 71 Точки

Здравейте всички,

Би било банално да пиша колко полезно е това, което Христо е направил, месеци след като видеото му е в мрежата и поне последното, което засега гледах, е видяно от над 2000 души. И все пак — обръщам се към тези решения тогава, когато съвсем не мога да се справя сама и те ми помагат да отцикля, а и ми дават кураж, че не е като чак да не ставам за програмист. Щом този по-напреднал от мен човек има същите въпроси, на същите места, значи е нормално да не знаеш всяко нещо и явно никой не решава задачите със "затворени очи", независимо от кое ниво са. Случва се и да видя, че посоката, в която съм започнала размишленията си, е посоката, която хваща и Христо, и добивам още малко самочувствие, без което вероятно скоро щях да се откажа.

Освен от решенията на Христо, уча нови неща и от всичко, което коментирате изобщо в този форум и в частност в тази тема. Всяко ваше споделено затруднение дава отговор на мое затруднение. Специално искам да благодаря на Ludmil.D за off the topic коментара и най-вече за шернатия в него линк към Numberphile. Тези клипове ми помогнаха поне малко от малко да чатна за какво служат побитовите операции.

Благодаря на всеки един от вас & keep up the good work!

0
16/01/2015 00:55:48
Nikoloff avatar Nikoloff 1 Точки

Поздравления и от мен, Христо!
Страхотно начинание! Продължавай, помагаш, наистина!
Изгледах първото видео и накратко ще си дам мнението:

Не съкращавай обясненията, именно тези допълнителни, малки пояснения са полезни за начинаещите. С аудиото всичко си е ОК. Имаш притен глас, правилна дикция, добър изказ. А най-ценното и важното за мен е, че много СПОКОЙНО, методично, структурирано и разбираемо обясняваш. 

Успех и в същия дух!

Поздрави

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