Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
colector
1 / 1 / 0
Регистрация: 29.03.2011
Сообщений: 29
1

Реализовать программу через выходные параметры

26.12.2011, 20:15. Просмотров 478. Ответов 1
Метки нет (Все метки)

Есть программа, реализованная через параметры значений и параметры ссылки, мне нужно реализовать через выходные параметры, помогите пожалуйста.
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
static void Main(string[] args)
 
        {
 
            double x, y;
 
            x = 7.0;
 
            y = 7.0;
 
            if (CalculateY(x, ref y))
 
                Console.WriteLine("Полученное значение y= " + y.ToString());
 
            else
 
                Console.WriteLine("уравнение не имеет решений");
 
 
 
            Console.ReadLine();
 
        }
 
        static bool CalculateY(double x, ref double y)
 
        {
 
            if ((x >= -6) && (x <= -4))
 
            {
 
                y = -2.0;
 
                return true;
 
            }
 
            if ((x>-4) && (x<0))
 
            {
 
                y =(((0-1)*(x+4))/(0-4))-1;
 
                return true;
 
            }
 
            if ((x > 0) && (x < 2))
 
            {
 
                y = Math.Sqrt(2 * Math.PI * x);
 
                return true;
 
            }
 
            if ((x > 2) && (x < 12))
 
            {
 
                y = (((-1 - 4) * (x - 2)) / (12 - 2))+4;
 
                return true;
 
            }
 
 
 
            y = 0.0;
 
            return false;
 
        }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2011, 20:15
Ответы с готовыми решениями:

Реализовать программу через выходные параметры
Дана программа, ее нужно реализовать через выходные параметры using System; using...

Выходные параметры хранимой процедуры
Почему то не возращаются выходной параметр хранимой процедуры (param2, param1). Set cmd =...

Входные и выходные параметры функции
Здравствуйте! Пытаюсь разобраться в объявлении функции, подскажите пожалуйста, если у меня есть...

Методы: выходные параметры (исправить код)
Помогите пожалуйста исправить ошибку, не могу понять в чем дело :( using System; using...

Реализовать программу "Анкета" через параметры процедуры
program tipizirovannye_parametry; const n=3; type anketa=record {фио , год рождения ,...

1
ibmpc
79 / 77 / 10
Регистрация: 29.12.2011
Сообщений: 183
29.12.2011, 19:29 2
Цитата Сообщение от colector Посмотреть сообщение
Есть программа, реализованная через параметры значений и параметры ссылки, мне нужно реализовать через выходные параметры, помогите пожалуйста.
Выходные параметры это out вместо ref ? или это возвращаемое значение? Если возвращаемое значение, то меняем тип bool на тип double и возвращаем через return соответственно x или y. Что касается замены функционала дабы его не потерять создаем статическую переменную доступную типа bool и в нее записываем true/false ее и используем при проверках if (Calculate) вместо if (CalculateY(x, ref y)). Можно запихнуть CalculateY и эту переменную в один класс для удобства.
Я бы использовал вместо типа double тип Nulable<double> и если уравнение не имеет решений просто возвращал return null. А потом в проверял if (CalculateY(x, ref y)==null). Тогда изменения минимальны, переменная типа bool не нужна.
КОД
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
using System;
 
    class Program
    {
     static Nulable<double> CalculateY(double x)
        {
            if ((x >= -6) && (x <= -4))
                return -2.0;
 
            if ((x>-4) && (x<0))
             return (((0-1)*(x+4))/(0-4))-1;
 
 
            if ((x > 0) && (x < 2))
                return Math.Sqrt(2 * Math.PI * x);
 
            if ((x > 2) && (x < 12))
                return (((-1 - 4) * (x - 2)) / (12 - 2))+4;
 
            return null;
        }   
 
        static void Main(string[] args)
        {
            double x, y;
 
            x = 7.0;
            y = 7.0;
 
            if (CalculateY(x)!=null)
                Console.WriteLine("Полученное значение y= " + y.ToString());
            else
                Console.WriteLine("уравнение не имеет решений");
 
            Console.ReadLine();
        }
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2011, 19:29

Выходные параметры IBQuery
Добрый вечер. в interbase есть рабочая процедура поиска клиента по фамилии, на выходе адрес его ...

Выходные параметры библиотечной функции
Для удобства вынес часть текста в dll. Можно ли параметры передавать в экспортируемые функции по...

Выходные параметры хранимой процедуры
Народ, подскажите пожайлуста а то ваще запутался. Есть хранимая процедура типа: Create Procedure...


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

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

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