Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

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

 

Въпрос относно числова редица на C#

Featured Replies

Здравейте!Наскоро започнах да чета книгата на Светлин Наков и екип относно C# и като всеки абсолютно начинаещ в тази област изпитвам известни затруднения относно две задачи.Ще бъда благодарен ако някой ми помогне да ги изпълня и ми обясни по-подробно всичките стъпки при изпълнението. а задачите са : 1.Напишете програма, която извежда първите 100 члена на редицата 2, -3, 4, -5, 6, -7, 8. 2. Направете програма, която прочита от конзолата вашата възраст и изписва (също на конзолата) каква ще бъде вашата възраст след 10 години. Ето и упътванията към тях: 1. Опитайте се сами да научите от интернет как се ползват цикли в C#. 2. Използвайте методите System.Console.ReadLine(), int.Parse() и System.DateTime.AddYears().

Здравейте!Наскоро започнах да чета книгата на Светлин Наков и екип относно C# и като всеки абсолютно начинаещ в тази област изпитвам известни затруднения относно две задачи.Ще бъда благодарен ако някой ми помогне да ги изпълня и ми обясни по-подробно всичките стъпки при изпълнението.

а задачите са :

1.Напишете програма, която извежда първите 100 члена на редицата 2, -3, 4, -5, 6, -7, 8.

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

Ето и упътванията към тях:

1. Опитайте се сами да научите от интернет как се ползват цикли в C#.

2. Използвайте методите System.Console.ReadLine(), int.Parse() и System.DateTime.AddYears().

Започнете четенето с тази тема!

http://www.kaldata.com/forums/topic/188001-%d0%ba%d0%b0%d0%ba-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d0%bd%d0%be-%d0%b4%d0%b0-%d0%bf%d0%be%d0%b8%d1%81%d0%ba%d0%b0%d0%bc%d0%b5-%d0%bf%d0%be%d0%bc%d0%be%d1%89-%d0%b7%d0%b0-cc/

  • Автор

И какво точн не ти е ясно?

Ами за да не те затруднявам по-добре да ти кажа какво ми е ясно.Първо искам да отбележа, че си направих труда да обикалям google два поредни дни и все пак не реших проблема си.Та по темата:

1. Успях да науча как да изписвам редица от типа 2,4,6,8 ... но сега не знам как да комбинирам така, че да изпиша и отрицателните числа.

2.Успях да проумея за какво се исползва System.Console.readline(), но как да използвам int.Parse i System.DateTime.AddYears().

Първата задача е очевидна, но сложна за невъоръженото око. ;d

Трябва да отпечатиш четните положителни и нечетните отрицателни.

using System;
class Redica
{
	 static void Main(string[] args)
	 {
		 for (int i = 2; i <= 100; i++)
			 if ((i % 2) == 0)
				 Console.Write(" {0} ",i);
			 else
				 Console.Write(" {0} ",-i);
	 }
}

Моя вариант не е най-добър, но мисля че върши работа за теб.

2.Успях да проумея за какво се исползва System.Console.readline(), но как да използвам int.Parse i System.DateTime.AddYears().

Пример за четене на цели числа:

int number = Int32.Parse(Console.ReadLine());

Редактирано от frozener (преглед на промените)

Първата задача е очевидна, но сложна за невъоръженото око. ;d

Трябва да отпечатиш четните положителни и нечетните отрицателни.

using System;
class Redica
{
	 static void Main(string[] args)
	 {
		 for (int i = 2; i <= 100; i++)
			 if ((i % 2) == 0)
				 Console.Write(" {0} ",i);
			 else
				 Console.Write(" {0} ",-i);
	 }
}

Моя вариант не е най-добър, но мисля че върши работа за теб.

Пример за четене на цели числа:

int number = Int32.Parse(Console.ReadLine());

Да, не е точно отговор на задачата "Напишете програма, която извежда първите 100 члена на редицата 2, -3, 4, -5, 6, -7, 8"

Обяснете ми какво означава "100 члена"? И как ще се достигне тази бройка от тези 7 цифри, дадени в редицата.

Другите въпроси от първата глава на книгата на г-н Наков са ми елементарни, този ме заби в глината.

Явно има основно понятие, чието обяснение за автора е елементарно, поради което го е пропуснал. В първата глава, към която са задачите, дори не е споменато за "редица" нито за оператора for, ако нямах известни познания в тази област - не бих се справил с 9 от 10-те задачи към главата.

...Освен това - в този пример тук не е дефиниран i... ако не се лъжа. затова и няма да проработи веднага

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

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

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

Редактирано от Bars1967 (преглед на промените)

Да, не е точно отговор на задачата "Напишете програма, която извежда първите 100 члена на редицата 2, -3, 4, -5, 6, -7, 8"

Обяснете ми какво означава "100 члена"? И как ще се достигне тази бройка от тези 7 цифри, дадени в редицата.

Другите въпроси от първата глава на книгата на г-н Наков са ми елементарни, този ме заби в глината.

Явно има основно понятие, чието обяснение за автора е елементарно, поради което го е пропуснал. В първата глава, към която са задачите, дори не е споменато за "редица" нито за оператора for, ако нямах известни познания в тази област - не бих се справил с 9 от 10-те задачи към главата.

...Освен това - в този пример тук не е дефиниран i... ако не се лъжа. затова и няма да проработи веднага

То за това програмиране е учи като се започва с алгоритми, Иначе ставате човек, който чука по клавиатурата, не програмист

"То за това програмиране е учи като се започва с алгоритми, Иначе ставате човек, който чука по клавиатурата, не програмист" Ето това вече е отговор. Ако автора беше написал в началото на книгата "Научете първо алгоритмите и после четете книгата, иначе няма да разберете въпросите.", щях да започна с тях, а не направо с нея. Все пак - не съм единствения, който желае да стане "чукащ по клавиатурата" :) Не чета книгата, за да стана програмист, а за да науча нещо ново и интересно - вече съм пенсионер и ми е късно тепърва да овладявам C# за да си "вадя хляба с него". Срещал съм два типа хора - едни, които са суперспециалисти в дадена област и други - които не са такива спецове, но са добри учители. Досега никога не съм срещнал суперспец, който да е добър учител - той прави нещата много бързо и точно, но обясненията му са полезни само за други суперспецове, не и за начинаещите ученици. Просто мисълта му започва да тече от съвсем друго място -много по-напред от "А, Б". Забравил е своето начало, не може да си представи, че има хора, които не знаят "елементарните неща" и не му се губи време да ги обяснява. Затова и не става за учител. :) И още веднъж - благодаря за насоката - сега поне зная къде да търся "основите"! Отивам да взема от тавана учебника за С#, който ми подариха преди няколко години и който не прочетох, защото нямах свободно време

"То за това програмиране е учи като се започва с алгоритми, Иначе ставате човек, който чука по клавиатурата, не програмист"

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

Все пак - не съм единствения, който желае да стане "чукащ по клавиатурата" :)

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

Срещал съм два типа хора - едни, които са суперспециалисти в дадена област и други - които не са такива спецове, но са добри учители.

Досега никога не съм срещнал суперспец, който да е добър учител - той прави нещата много бързо и точно, но обясненията му са полезни само за други суперспецове, не и за начинаещите ученици. Просто мисълта му започва да тече от съвсем друго място -много по-напред от "А, Б". Забравил е своето начало, не може да си представи, че има хора, които не знаят "елементарните неща" и не му се губи време да ги обяснява. Затова и не става за учител. :)

И още веднъж - благодаря за насоката - сега поне зная къде да търся "основите"!

Отивам да взема от тавана учебника за С#, който ми подариха преди няколко години и който не прочетох, защото нямах свободно време

Май пак не ме разбрахте. Започнете с алгоритми, числени методи. След това научете език и прилагайте алгоритмите

П.П. И възрастта няма значение,можете да ми повярвате :) И личния ми досег с книгите на Наков показва именно това, той просто хвърля нещата и не ги обяснява.... А да си учител е призвание, не всеки става (независимо от знанията си)

Според вас числовите редици към кое спадат ? hint: учебен предмет в училище свързан с числа. What If I told you to learn algorithms you must know discrete maths Това ме накара да се замисля сериозно върху математиката защото без нея няма как да постигнеш performance и да изчисляваш сложността на алгоритъма.

Редактирано от frozener (преглед на промените)

"Започнете с алгоритми, числени методи. След това научете език и прилагайте алгоритмите" Точно това започнах да правя. Затова и Ви благодарих в предния си пост - защото получих насока, това си е най-истинската помощ. Не ми трябва готов код - както се казва "ако дадеш риба на гладния - ще го нахраниш за ден, ако го научиш да лови риба сам - ще е нахранен винаги" :)

...Освен това - в този пример тук не е дефиниран i... ако не се лъжа. затова и няма да проработи веднага

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

Тц. При мен си работи без проблеми.

На поправителен! Глупава е идеята да се назубрят 100 алгоритми! По-добре е да се научи метода и техниката зад няколко алгоритми и "съставянето" на (дори прости) алгоритми за конкретна цел. Нужно е мислене, не зубрене! Както и научаването на по-теоретични неща, като дървета, автомати, графи...

Глупава е идеята да се назубрят 100 алгоритми!

Зубрене и учене са 2 тотално различни неща. Да не научиш основните алгоритми, е все едно да откриваш топлата вода. По-лошо - може дори да не знаеш че съществуват и тогава решаването на конкретен проблем с иначе очевидно решение ще ти отнеме много повече време. Обратно - разбирането на идеята зад повече алгоритми, ще ти даде база за по-широко разглеждане на задачата, която решаваш. В математиката, да не би да не се учат теоремите и всеки път да си ги извеждаш? Моето мнение е, че теория излишна няма.

BTW, вземи влез разгледай няколко теми в раздела за C и виж колко хора има, които не само не знаят, как да си сортират 5 числа на кръст, ами и не се сещат, че едва ли са първите, които им се е налагало да сортират. Какво остава, за нещо по-сложно. Човека горе също е пример.

Редактирано от flare (преглед на промените)

Зубрене и учене са 2 тотално различни неща. Да не научиш основните алгоритми, е все едно да откриваш топлата вода. По-лошо - може дори да не знаеш че съществуват и тогава решаването на конкретен проблем с иначе очевидно решение ще ти отнеме много повече време. Обратно - разбирането на идеята зад повече алгоритми ще ти даде база за по-широко разглеждане на задачата която решаваш? В математиката да не би да не се учат теоремите и всеки път да си ги извеждаш? Моето мнение е, че теория излишна няма.

BTW, вземи влез разгледай няколко теми в раздела за C и виж колко хора има, които не само не знаят как да си сортират 5 числа на кръст, ами и не се сещат, че едва ли са първите, които им се е налагало да сортират. Какво остава за нещо по-сложно. Човека горе също е пример.

В математиката има страшно много теория без която няма как да решиш задача. Трябва да се знаят всички детайли.

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

В математиката има страшно много теория без която няма как да решиш задача. Трябва да се знаят всички детайли.

И в програмирането е съвсем точно така.

Тц. При мен си работи без проблеми.

Да, извинете ме - наистина си работи без проблем, моя грешка!

...

Твоя проблем се корени във факта, че цитираш малка частица от отговора ми! Така променяш значението му, изопачаваш го!

Ако бе прочел по-детайлно, щеше да ти стане ясно, че твоите размисли са в абсолютен унисон с моите!

И реално не е толкоз важно да се научи имплементацията на колкото се може повече алгоритми, по-скоро принципа на действие на основните алгоритми за търсене(binary search служи за пример) и сортиране(например quicksort) и др. Сиреч, по-важно е да се знае как да се анализира X алгоритъм, да се разбере кога е удобен и кога - не.

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

И щом ударихме на тема "алгоритми", погледнете тази дискусия в Stackoverflow

Редактирано от ftpkid (преглед на промените)

Аха

"11. Направете програма, която прочита от конзолата вашата възраст и изписва (също на конзолата) каква ще бъде вашата възраст след 10 години."

И къде логиката тук да използвам "методите int.Parse() и System.DateTime.AddYears()."???

Аз ли не мога да чета въпроса, или автора е имал едно предвид, а е написал друго?

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

Учебник...

Редактирано от Bars1967 (преглед на промените)

Знам малко са та*ак упражненията и трябва да се гледа в msdn ако не знаеш кой метод какво прави или не знаеш параметрите на конструктора

using System;
class Redica
{
	 static void Main(string[] args)
	 {
		
		 Console.WriteLine("Enter your age");
		 int age = int.Parse(Console.ReadLine());
		
		 DateTime ageNow = new DateTime(age,11,30); // 11 и 30 са рожденната ти дата
		 ageNow = ageNow.AddYears(10);
		 Console.WriteLine(ageNow.Year);
		
	 }
}

http://msdn.microsof...ybds8y(v=vs.71)

Иначе можеш да си допълниш кода и да позволиш на юзъра да си въведе датата на раждане като инт мисля че ще стане

и ги буташ вътре в конструктора на DateTime.

ftpkid ти колко проблема можеш да решиш от project euler ? Аз в миналото само 2 бях решил от първите. Специално ще се пробвам и сега.

Редактирано от frozener (преглед на промените)

Това върши същата работа и отговаря на задачата

Console.WriteLine("Enter your age");

int age = int.Parse(Console.ReadLine());

int ageNow = (age+10);

Console.WriteLine(ageNow);

При това просто условие, защо се очаква да дам сложен отговор?

АК 47 има десетина лесни за разглобяване и сглобяване части.

М-16 е върха на инженерната мисъл...

Срещнаха се в джунглите на Виетнам.

...Не, че снощи не стоях до 02:30 ч., опитвайки се да го направя по сложния начин :)

Редактирано от Bars1967 (преглед на промените)

Ами за да "тества" умението да търсиш в MSDN и да се справяш с всякаква ситуация. Реално погледнато ако го напишеш по твоя начин програмата ще е маааалко по-бърза в сравнение с сложния й вариант. edit: +1 rep за Ak-47

Редактирано от frozener (преглед на промените)

Повечето проблеми които ще решавате в бъдеще ако станете разработчици, нямат много общо с математика или теория. Ако искате да сортирате листа си има .Сорт и eтц..., няма да проткриеате топлата вода ... и да пишете сами "сложни" алгоритми.

Редактирано от FlagOfHate (преглед на промените)

Повечето проблеми които ще решавате в бъдеще ако станете разработчици, нямат много общо с математика или теория. Ако искате да сортирате листа си има .Сорт и ртц, няма да проткриеате топлата вода ... и да пишете сами "сложни" алгоритми.

Съгласен!

По принцип не ме интересува какво точно става в dll -те, искам да се науча с какви "команди" се предизвикват нужните ми действия.

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

Има ли начин за изпълнение на : 08/11/2011 - 09/10/1945?

Някакъв съвет в тази насока?

Редактирано от Bars1967 (преглед на промените)

Повечето проблеми които ще решавате в бъдеще ако станете разработчици, нямат много общо с математика или теория. Ако искате да сортирате листа си има .Сорт и eтц..., няма да проткриеате топлата вода ... и да пишете сами "сложни" алгоритми.

За математиката - Ок. За теорията - има част, която е абсолютно задължителна, както и във всяка друга професия.

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

Аз се занимавам с чисто C (разбирай много малко библиотеки), на RISC процесор, и милисекунда и килобайт при нас са големи величини. Е, как мислиш, дали не помага да си чувал нещо за дърво, като портваш алгоритмите за обхождане, например.

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.