Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/35: Рейтинг темы: голосов - 35, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 10

Принцип объектно-ориентированного программирования при написании калькулятора

03.12.2013, 11:14. Показов 7306. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста сделать такой же калькулятор, только в 2 или 3 классах, так чтобы не нарушать принцип объектно-ориентированного программирования
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication8
{
    class Program
    {
 
        static double a, b, c, D;
        static double x1, x2;
 
        static void Main(string[] args)
        {
 
          
            while (true)
            {
                string command;
        
                Console.Write("Введите параметр или нажмите x, чтобы выйти:");
                command = Console.ReadLine();
                if (command == "x") break;
                if (command == "a")
                {
                    Console.Write("Введите a: ");
                    a = Double.Parse(Console.ReadLine());
                    Reshenie();
                    Console.WriteLine("D=" + D.ToString());
                    Console.WriteLine("x1=" + x1.ToString());
                    Console.WriteLine("x2=" + x2.ToString());
 
                    continue;
                   
                }
                if (command == "b")
                {
                    Console.WriteLine("Введите b: ");
                    b = Double.Parse(Console.ReadLine());
                    Reshenie();
                    Console.WriteLine("D=" + D.ToString());
                    Console.WriteLine("x1=" + x1.ToString());
                    Console.WriteLine("x2=" + x2.ToString());
 
                    continue;
                    
                }
                if (command == "c")
                {
                    Console.WriteLine("Введите c: ");
                   c = Double.Parse(Console.ReadLine());
                   Reshenie();
                   Console.WriteLine("D=" + D.ToString());
                   Console.WriteLine("x1=" + x1.ToString());
                   Console.WriteLine("x2=" + x2.ToString());
 
                    continue;
                   
                }
                
            }
        }
 
        static void Reshenie()
        {
            D = b*b - 4 * a * c;
            if (D > 0 || D == 0)
            {
                x1 = (-b + Math.Sqrt(D)) / (2 * a);
                x2 = (-b - Math.Sqrt(D)) / (2 * a);
 
 
            }
 
 
            else
            {
                Console.WriteLine("Дискриминант d < 0 ---> Решение квадратного уравнения невозможно.");
                x1 = 0;
                x2 = 0;
 
            }
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.12.2013, 11:14
Ответы с готовыми решениями:

Какую литературу порекомендуете для изучения объектно-ориентированного программирования?
Приветствую, я новичок в ООП, писал до этого разве на бэйсике=)) какую дитературу порекомендуете для изучения объектно-ориентированного...

Фундаментальные принципы объектно ориентированного программирования
Я вот пытаюсь изучать ООП на с++ и столкнулся с тем что все кто пытается объяснить что это такое практически всегда страстно разжовывают...

Ознакомление с принципами объектно-ориентированного программирования
Создать класс «Логические операции». Предусмотреть выполнение операций AND, OR, XOR над целыми числами.

43
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
05.12.2013, 23:35
Студворк — интернет-сервис помощи студентам
Grishaco, ни в чем. Другая аналогия "напишите программу сложения двух чисел, используя все паттерны GoF". К вам претензий - никаких, но вот задание - идиотское по своей сути.

Или вот пример, как можно написать Hello World на С++ с большинством языковых фич
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream.h>
#include <string.h>
 
class string
{
private:
  int size;
  char *ptr;
 
public: 
  explicit string(const char* chrs = 0) : size(chrs ? strlen(chrs) : 0)
  {
    ptr = new char[size + 1];
    if (chrs)
      strcpy(ptr, chrs);
    else
      ptr[size] = 0; 
  }
 
  string(const string &s) : size(s.size)
  {
    ptr = new char[size + 1];
    strcpy(ptr, s.ptr);
  }
 
  ~string()
  {
    delete [] ptr;
  }
 
  friend ostream &operator <<(ostream &, const string &);
  string &operator=(const char *);
  string &operator=(const string&);
};
 
ostream &operator<<(ostream &stream, const string &s)
{
  return(stream << s.ptr);
}
 
string &string::operator=(const string &s)
{
  this->~string ();
  new (this) string (s);
  return(*this);
}
 
string &string::operator=(const char *chrs)
{
  *this = string(chrs);
  return(*this);
}
 
int main()
{
  string str;
 
  str = "Hello World";
  cout << str << endl;
 
  return(0);
}

но ведь это не значит, что так нужно поступать?

Добавлено через 31 секунду
Рассказ "как программисты хлеб пекли", с выводами я не согласен, но ситуацию переусложнения описывает прекрасно. Можете погуглить)
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
05.12.2013, 23:47
Цитата Сообщение от Psilon Посмотреть сообщение
Grishaco, ни в чем. Другая аналогия "напишите программу сложения двух чисел, используя все паттерны GoF". К вам претензий - никаких, но вот задание - идиотское по своей сути.
Истинно не спорю.

Цитата Сообщение от Psilon Посмотреть сообщение
Рассказ "как программисты хлеб пекли", с выводами я не согласен, но ситуацию переусложнения описывает прекрасно. Можете погуглить)
Читал на хабре эту статью. Я за того у которого был один класс. Но у каждого может быть свое мнение. ООП ради ООП это не хорошо.

Опять же повторюсь, это форум и каждому дана возможность дать совет натолкнуть на мысль и т.д. Вы не допускаете мысли что ТС некорректно сформулировал вопрос? Я написал так как понял вопрос от ТС, пусть другие тоже напишут, а ТС решит что ему будет лучше (понятнее), называйте как хотите. Почему сразу такой негатив? Твой код гавно, вот мой он круче (вопрос к DataPlanner).
2
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
06.12.2013, 00:03
Тебе так никто не говорил, а дипломатично указали на ошибки (с аргументами)

Добавлено через 4 минуты
Вместо того чтобы обижаться, сел бы и проанализировал данный код, глядишь, чему-нибудь научился.

Добавлено через 2 минуты
ООП это не просто принципы, это мышление прогера
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
06.12.2013, 00:08
DataPlanner, раз уж пошла такая пляска, вот это

Цитата Сообщение от DataPlanner Посмотреть сообщение
Исправил твои макароны
считается

Цитата Сообщение от DataPlanner Посмотреть сообщение
дипломатично указали на ошибки (с аргументами)
Поехали дальше

Цитата Сообщение от DataPlanner Посмотреть сообщение
Вместо того чтобы обижаться, сел бы и проанализировал данный код, глядишь, чему-нибудь научился.
Добавлено через 2 минуты
ООП это не просто принципы, это мышление прогера
Задача:
1. Добавить еще 100+ действий.
2. Добавить поддержку форм.

Цитата Сообщение от DataPlanner Посмотреть сообщение
ООП это не просто принципы, это мышление прогера
Будьте так любезны показать нам смердам как это делается.

Только код, только хардкор, другого мы не примем.
0
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
06.12.2013, 00:10
Тебе я уже показал, можешь почитать соседний топик, там показываю модератору
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
06.12.2013, 00:11
Цитата Сообщение от DataPlanner Посмотреть сообщение
Тебе я уже показал, можешь почитать соседний топик, там показываю модератору
Уважаемый ВЫ уже N раз уходите от ответа или код или ...
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
06.12.2013, 00:12
DataPlanner, чего вы там показываете? Если что, макароны я сегодня уже ел.
1
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
06.12.2013, 02:08
Я тоже решил повеселиться. Что забавно, несмотря на весь АдЪ который творится в коде, листинг, да еще и с комментами получился на 15 строк короче чем у топикстартера. Вот она сила ООП!

Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using System;
 
static class Program
{
    static void Main()
    {
        Quad myQuad = new Quad();
        Console.Write("Введите параметр или нажмите x, чтобы выйти:");
        while (true)
        {
            string com = Console.ReadLine();
            if (com == "a" || com == "b" || com == "c")
            {
                double lol = Double.Parse(Console.ReadLine());
                myQuad.Go(com, lol);
            }
            else if (com == "x") break;
            // о да, детка, это полиморфизм! хотим вызываем с аргументом, хотим без!
            // только нафига нам это нужно в данном случае? потому что так написано в ТЗ
            // не задавать глупых вопросов больше!
            else myQuad.Go();
            Console.WriteLine(myQuad.X1);
            Console.WriteLine(myQuad.X2);
        }
    }
}
// хаха! мы создали класс! о да, теперь то наша программа уж точно объетно-ориентированная!
// a что он умеет? считать дискриминант! и эта великая цель достойна отдельного класса!
class Disq
{
    // PRIVATE <sarcasm>дада это типа инкапсуляция, ага</sarcasm>
    private double d;
    // а еще мы знаем такое умное слово как PROTECTED!
    protected double D { get { return d; } }
    // создаем метод для невероятно сложного вычисления
    protected void Wtf(double a = 0, double b = 0, double c = 0)
    {
        d = b*b - 4*a*c;
    }
}
 
// это у нас типо наследование, лол
sealed class Quad : Disq
{
    private double x1, x2;
    private double a, b, c;
    public double X1 { get { return x1; } }
    public double X2 { get { return x2; } }
    // полиморфизьм во всей красе! =D
    public void Go()
    {
        Console.WriteLine("недопустимый аргумент");
    }
    public void Go(string com, double r)
    {
        if (com == "a") a = r;
        else if (com == "b") b = r;
        else if (com == "c") c = r;
        // чорт, даже я понимаю какой это же это
        Wtf(a, b, c);
        if (D >= 0)
        {
            x1 = (-b + Math.Sqrt(D)) / (2 * a);
            x2 = (-b - Math.Sqrt(D)) / (2 * a);
        }
        else
        {
            Console.WriteLine("Дискриминант d < 0 ---> Решение квадратного уравнения невозможно");
            x1 = 0;
            x2 = 0;
        }
    }
}
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
06.12.2013, 02:14
5665tm, раз уж пошла такая пьянка, скину код класса, писанного в программерской юности:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
 
namespace Quadrature
{
    internal class QuadraticEquation
    {
        public double A { get; private set; }
        public double B { get; private set; }
        public double C { get; private set; }
 
 
        public QuadraticEquation(double a, double b, double c)
        {
            A = a;
            B = b;
            C = c;
        }
 
 
        public Tuple<double, double> Solve()
        {
            double D = B * B - 4 * A * C;
            if (D < 0) return null;
            return new Tuple<double, double>((-B + Math.Sqrt(D)) / (2 * A), (-B - Math.Sqrt(D)) / (2 * A));
        }
    }
 
 
    internal class Program
    {
        private static void Main()
        {
            var e = new QuadraticEquation(1, 2, 1);
            Console.WriteLine(e.Solve());
            Console.ReadKey();
        }
    }
}
Добавлено через 51 секунду
C#
1
2
3
4
    protected void Wtf(double a = 0, double b = 0, double c = 0)
    {
        d = b*b - 4*a*c;
    }
угар...

Добавлено через 1 минуту
5665tm, не говорящие имена, эх Не все концепции использовали.
0
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
06.12.2013, 02:24
Цитата Сообщение от Psilon Посмотреть сообщение
Wtf
Цитата Сообщение от Psilon Посмотреть сообщение
не говорящие имена
по моему очень говорящее имя =D

Цитата Сообщение от Psilon Посмотреть сообщение
Не все концепции использовали.
Почему то считал что есть только наследование, инкапсуляция и полиморфизм. Только что нагуглил оказывается еще есть абстракция, увы первый раз слышу про нее. Какой же я все таки далекий от программирования человек...

Добавлено через 4 минуты
Цитата Сообщение от Psilon Посмотреть сообщение
double a = 0, double b = 0, double c = 0
кстати необязательные аргументы вроде как тоже как то относятся к полиморфизму, если я не ошибаюсь
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
06.12.2013, 10:06
5665tm, необязательные аргументы - просто синтаксический сахар языка...
0
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
06.12.2013, 11:24
Psilon, попробую привести пример как это понимаю я. Есть квадратные уравнения вида ax^2+bx+c и есть ax^2+bx

1. можем для их решения создать два метода принимающих разное число аргументов

C#
1
2
static double Quad (double a, double b, double c) {...}
static double Quad (double a, double b) {...}
2. а можем пойти другим путем и создать метод с необязательным параметром

C#
1
static double Quad (double a, double b, double c = 0) {...}
и в том и в другом случае решать квадратные уравнения мы будем так:

C#
1
2
Quad(42, 42, 42) //ax^2+bx+c
Quad(42, 42) //ax^2+bx
Добавлено через 5 минут
исходя из собственных размышлений мне пришла мысль что именнованные аргументы тоже часть полиморфиза. лол, я запутался. И тем не менее используя именованные необязательные аргументы:

C#
1
static double Quad (double a = 0, double b = 0, double c = 0) {...}
можно решать в дополнение к вышеуказанным уравнения вида ax^2, ax^2+c, с, bx+c, bx
C#
1
2
3
4
Quad(a = 42);
Quad(a = 42, c = 42);
Quad(b = 42, c = 42);
Quad(b = 42);
Добавлено через 5 минут
в общем если бы не было необязательных и именнованных аргументов пришлось бы либо:
1. Делать кучу методов для каждого вида уравнения (еще и с разными именами, потому что например y ax^2 и bx одинаковое число аргументов)
2. Обнулять нужные значения при вызове метода Quad(0, 42, 0);, что на мой взгляд не есть хорошо
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
06.12.2013, 11:33
Цитата Сообщение от Psilon Посмотреть сообщение
5665tm, раз уж пошла такая пьянка, скину код класса, писанного в программерской юности
Все предельно просто есть задача, есть решение. Есть объект, есть ООП. (человек с одним классом из статьи на хабре)

Цитата Сообщение от 5665tm Посмотреть сообщение
Я тоже решил повеселиться.
В чем смысл класса Disq, если я наследуюсь от него, то ничего кроме решения квадратного уравнения сделать не смогу. ООП ради ООП. Если выкинуть класс Disq получится нечто похожее что привел Psilon.

Добавлено через 3 минуты
Цитата Сообщение от 5665tm Посмотреть сообщение
// о да, детка, это полиморфизм! хотим вызываем с аргументом, хотим без!
Можно ссылку на источник.
0
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
06.12.2013, 11:40
Цитата Сообщение от Grishaco Посмотреть сообщение
то ничего кроме решения квадратного уравнения сделать не смогу
Не совсем верно, вы получите дискриминант. А если смотреть еще шире и глобальнее, то может быть это даже не дискриминант а результат вычисления b*b - 4*a*c А вдруг вычисления такого вида нужны не только для подсчета дискриминанта для квадратных уравнений?)))

Добавлено через 3 минуты
Цитата Сообщение от Grishaco Посмотреть сообщение
Можно ссылку на источник.
Шилдт Г. стр 243
Кликните здесь для просмотра всего текста
"В С# допускается совместное использование одного и того же имени двумя или
более методами одного и того же класса, при условии, что их параметры объявляются
по-разному. В этом случае говорят, что методы перегружаются, а сам процесс
называется перегрузкой методов. Перегрузка методов относится к одному из способов
реализации полиморфизма в С#."


Добавлено через 32 секунды
Цитата Сообщение от Grishaco Посмотреть сообщение
ООП ради ООП.
ну так никто с этим и не спорит!)
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
06.12.2013, 11:43
Цитата Сообщение от 5665tm Посмотреть сообщение
Не совсем верно, вы получите дискриминант. А если смотреть еще шире и глобальнее, то может быть это даже не дискриминант а результат вычисления b*b - 4*a*c А вдруг вычисления такого вида нужны не только для подсчета дискриминанта для квадратных уравнений?)))
Я имел ввиду то, что вы выделили базовый класс только на одно вычисления, что мне нужно сделать в вашем коде, что бы посчитать уравнение (2a+2b)\c +d

Цитата Сообщение от 5665tm Посмотреть сообщение
Шилдт Г. стр 243
Я честно в замешательстве. Ну ладно пусть будет так.
0
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
06.12.2013, 11:48
Цитата Сообщение от Grishaco Посмотреть сообщение
что мне нужно сделать в вашем коде, что бы посчитать уравнение (2a+2b)\c +d
я не понял, это был вопрос? Да никак. Зато наследуясь от класса Disq можно посчитать например результат выражения b*b - 4*a*c+1, или b*b - 4*a*c+42 или (b*b - 4*a*c)/2 Хотя на практике так конечно же никто делать не будет) Но ведь на практике никто и не будет решать квадратные уравнения в точности как это написано в шапке темы)
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
06.12.2013, 11:52
Цитата Сообщение от 5665tm Посмотреть сообщение
я не понял, это был вопрос?
Это был вопрос.

Цитата Сообщение от 5665tm Посмотреть сообщение
Хотя на практике так конечно же никто делать не будет
Тогда получается ООП ради ООП.
0
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
06.12.2013, 12:05
Цитата Сообщение от Grishaco Посмотреть сообщение
Тогда получается ООП ради ООП.
с точки зрения кода и данной задачи - да, не спорю

Не по теме:
Кликните здесь для просмотра всего текста
Цитата Сообщение от 5665tm Посмотреть сообщение
А если смотреть еще шире и глобальнее
то топикстартеру это уравнение наверняка всучили в универе, главная задача которого научить на простых примерах, пусть они даже и неуместны (хотя наверное это плохо). К примеру на лиспе мы учили макросы цель которых сокращать размер кода. Но код был настолько простым толку от макросов было ноль, и в итоге код раздулся в три раза. К кому претензии? к студентам?
1
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
06.12.2013, 12:07
Цитата Сообщение от 5665tm Посмотреть сообщение
Не по теме:
Люди добрые подскажите нам как сделать панель "не по теме"
0
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
06.12.2013, 12:41
Цитата Сообщение от Grishaco Посмотреть сообщение
Люди добрые подскажите нам как сделать панель "не по теме"
мне тоже интересно, искал, не нашел

Не по теме:

тест



Добавлено через 43 секунды

Не по теме:

заключите в OFF, там даже кнопочка есть с такой надписью



Добавлено через 32 минуты
Кликните здесь для просмотра всего текста
Цитата Сообщение от Grishaco Посмотреть сообщение
Я написал так как понял вопрос от ТС
кстати если уж совсем буквально воспринимать вопрос от ТС

Цитата Сообщение от mc10maxim Посмотреть сообщение
не нарушать принцип объектно-ориентированного программирования
то можно решить задачу на F# (функциональный язык)

C#
1
2
3
4
let solveQuadratic a b c =
  let disc = b * b - 4.0 * a *c
  let calc op = (op (-b) (sqrt disc)) / (2.0*a)
  (calc (+), calc(-))
а что? принципы ООП ведь не нарушены?) нет ООП - нет проблемы! ну или можно еще написать на C или Haskell что бы уж наверняка (в F# есть немного ООП на самом деле)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2013, 12:41

Использованние средств объектно-ориентированного программирования
Помогите пожалуйста, надо сделать программу используя средства объектно-ориентированного программирования.;) Создать класс...

Задачка для любителей объектно-ориентированного программирования
Доброго времени суток всем! Я новичок в Python и пока только учусь, споткнулся на задаче по дизайну системы, которая будет мониторить...

Основные алгоритмические структуры объектно-ориентированного программирования
Привет форумчане. Через неделю сессия, попались такие вопросы по предмету. Не могу найти решения 13 задания, нужна ваша помощь :umnik: 13...

Методами объектно-ориентированного программирования описать графический объект
Методами объектно-ориентированного программирования описать графический объект + как потомок базового объекта...

Литература VBA с грамотным объяснением объектно-ориентированного программирования.
Подскажите, пожалуйста несколько толковых книжек по VBA/VB. Желательно с грамотным объяснением объектно-ориентированного программирования.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru