Loading...

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

VladimirMikov avatar VladimirMikov 28 Точки

Квадратно уравнение

Здравейте, съвсем начинаещ съм в програмирането. Бях приет в подготвителния курс през януари.Бих искал да поднеса моите благодарности към екипа на SoftUni за шанса, който ми даде. Преди курса прегледах и се запознах с част от лекциите от предишни курсове. Реших, че дори с минималните знания, които придобих мога да направя нещо, което ще е от полза поне според моите виждания.Опитах да създам конзолно приложение, което решава квадратни уравнения. Ще се радвам ако споделите вижданията си. Ще се радвам ако има критики(все пак така се учи). Следващата ми цел е да направя приложение, което решава интеграли.Приемам съвети ако някой от вас е правил подобно нещо. За целта обаче вероятно ще ми се наложи да придобия още знания, но няма да се откажа.

Благодаря за вниманието

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

namespace Kvadratno_uravnenie
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Уравнение от вида: ax^2+bx+c=");
            Console.Write("Въведете а= ");
            Double a = int.Parse(Console.ReadLine());
            Console.Write("Въведете b= ");
            Double b = int.Parse(Console.ReadLine());
            Console.Write("Въведете c= ");
            Double c = int.Parse(Console.ReadLine());
            double D= b * b - 4 * a * c;
            Console.WriteLine("Стойността на дискриминантата е  {0}", D);
            double DSquare = Math.Sqrt(D);
            if (D < 0)
            {
                Console.WriteLine("Уравнението няма реални корени");
            }
            if (D == 0)
            {
                Console.WriteLine("Уравнението има един двукратен корен = {0}",-b/2*a);
                

            }
            if (D > 0)
            {
                Console.WriteLine("Уравнението има два реални корена x1= {0} i x2={1}",
                (-b + DSquare) / 2 * a, (-b - DSquare) / 2 * a);
                
            }
            

        }
    }
}

 

3
Programming Basics
vladislav.karamfilov:
Правила на форума: https://softuni.bg/forum/217/pravila
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Здравей, насочил си се към правилната посока!

Сега относно кода:

1. За споделяне на кода използвай pastebin.com, gist.github.com или някой алтернатива.

2. Не съм много съгласен на променлива от тип double да присвояваш цяло число. 

3. За степен можеш да използваш Math.Pow(стойността, степента); Хубаво е и да сложиш някоя и друга скоба за пригледност. 

Не съм ти тествал кода дали работи, но това са ми съветите от пръв поглед.

Успех за напред и отново похвала за начинанието ;)

1
Filkolev avatar Filkolev 4482 Точки

По точка 3 има място за дискусия. Math.Pow е бавен метод и особено за повдигане на квадрат е излишно и дори малко по-нечетимо.

2
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Съгласен ... Идеята ми беше да го спомена, че съществува ... :)

0
VladimirMikov avatar VladimirMikov 28 Точки

Колега Иванов, благодаря за бързата реакция в отговора от твоя страна. По отношение на точка 1. ще се запозная как функционират въпросните препоръчани сайтове. Вероятно ще възникнат въпроси от моя страна по отношение на използването.По отношение на точка 2. бих вметнал, че е възможно да се дават стойности на a, b и c не цели числа. Смятам, че ограничението с цели числа при задаването на коефициентите до някаква степен ограничава и възможностите и. По отношение на точка 3. : Не знаех за Math.Pow() . Още сега ще я тествам. Благодаря ти за съветите още веднъж! :) 

0
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

В такъв случай ползвай double.Parse(Console.ReadLine());
Иначе хвърля System.FormatException: ... И сега остава да тестваш с различни стойности дали работи :)

Лек и спорен ден ти желая

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