Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
21 / 21 / 19
Регистрация: 10.09.2013
Сообщений: 285
1

Использование интерфейса и делегатов при вычислении силы тока и напряжения по закону Ома

01.06.2015, 23:36. Просмотров 591. Ответов 1
Метки нет (Все метки)


Требуется написать программу с использованием интерфейса и делегатов.
Программа должна считать силу тока и напряжение по закону Ома. Причем, в одном случае резисторы соединены параллельно, а в другом последовательно...
Подскажите как такое реализовать?
Прочитал вот эти темы, но так и не понял как это совместить воедино...
https://msdn.microsoft.com/ru-... 73156.aspx
Пример использования интерфейсов разными классами
https://msdn.microsoft.com/ru-... 73171.aspx
Для чего нужны делегаты

Добавлено через 18 минут
Как-то так?
Кликните здесь для просмотра всего текста
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
 delegate double MyDelegate(double current, double voltage); //объявляем делегат 
    interface IZakonOma //объявляем интерфейс
    {
        void Amperage(MyDelegate mydelegate, double resistance);
        void Voltage(MyDelegate mydelegate, double resistance);
    }
    class GetParallel : IZakonOma
    {
        public void Amperage(MyDelegate mydelegate, double resistance)
        {
            //параллельное соединение | подсчёт силы тока
        }
        public void Voltage(MyDelegate mydelegate, double resistance)
        {
            //параллельное соединение | подсчёт напряжения
        }
    }
    class GetConsistent : IZakonOma
    {
        public void Amperage(MyDelegate mydelegate, double resistance)
        {
            //последовательное соединение | подсчёт силы тока
        }
        public void Voltage(MyDelegate mydelegate, double resistance)
        {
            //последовательное соединение | подсчёт напряжения
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
 
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2015, 23:36
Ответы с готовыми решениями:

Вычисление силы тока, напряжения и сопротивления по закону Ома
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Записать закон Ома для комплексных значений напряжения и тока последовательной rL - цепи синусоидального тока
Помогите,пожалуйста,нужно записать закон Ома для комплексных значений напряжения и тока...

Определить закон изменения силы тока I, пользуясь обобщенным законом Ома
Катушка с индуктивностью L и активным сопротивлением R подсоединена к цепи переменного тока с...

График зависимости силы тока от напряжения
рассчитать электрическую цепь и построить график зависимости силы тока от напряжения

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы С#-разработчиков‌
1
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
02.06.2015, 06:54 2
Thypson, для начала можете с использованием делегата просчитать результирующее сопротивление резисторов в зависимости от типа их соединения. Вот набросал вам пример, как это можно сделать.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Ohm_Law {
    public delegate double GetOhmResult(params double[] args);
    enum OperationType {
        GetResultSerial,
        GetResultParallel
    }
    class Program {
        static Dictionary<OperationType, GetOhmResult> operations = 
            new Dictionary<OperationType, GetOhmResult>();
        static void FillOperations() {
            operations.Add(OperationType.GetResultParallel, (double[] target) => {
                if (target.Length == 0) {
                    return 0;
                }
                else {
                    double mult = target.Sum(a => 1.0 / a);
                    return 1.0 / mult;
                }
            });
            operations.Add(OperationType.GetResultSerial, (double[] target) => {
                if (target.Length == 0) {
                    return 0;
                }
                else {
                    return target.Sum();
                }
            });
        }
        static void Main(string[] args) {
            FillOperations();
            double[] ohms_1 = { 200.0, 470.0, 220.0 };
            double serialRes = operations[OperationType.GetResultSerial](ohms_1);
            double parallelRes = operations[OperationType.GetResultParallel](ohms_1);
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2015, 06:54

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

Среднее отклонение модуля и СКО напряжения и силы тока
Подскажите пожалуйста как расчитать среднее отклонение модуля напряжения и силы тока, и...

Уменьшение скорости интернета через Wi-Fi вследствие низкой силы тока (напряжения)?!
Здравствуйте. Такая проблема - имеется роутер Asus rt-n16 с подключенным к нему интернетом на...

Создать программу вычисления сопротивления электрической цепи по известным значениям напряжения и силы тока
Здравствуйте, нужна помощь в создании программы (Создать программу вычисления сопротивления...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.