Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - цикл do-while c#

Ответить
Настройки темы
.NET - цикл do-while c#

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Помогите пожалуйста, уже 3 мучаюсь, вот такое задание:
Дана функция x=a*sin(k*t+2)*cos(k*t). Составить алгоритм для расчета значений этой функции, если а изменяется от 5до 7 с шагом 0.12, t изменяется от 4.2 до 6.2 с шагом0.17, а k=1,2,3,...,12.

С циклами for и while я сделал
Код: Выделить весь код
//методсоператором for
staticvoid RunWithFor()
        {
double a, t, x; int k;
for (a = 5; a <= 7; a += 0.12)
for (t = 4.2; t <= 6.2; t += 0.17)
for (k = 1; k <= 12; k += 1)
                    {
                        x = a * Math.Sin(k * t + 2) * Math.Cos(k * t);
Console.WriteLine("x= " + x);
                    }
        }
//методсоператором while
staticvoid RunWithWhile()
        {
double a, t, x; int k;
a = 5;
while (a <= 7)
            {
                t = 4.2;
while (t <= 6.2)
                {
                    k = 1;
while (k <= 12)
                    {
                        x = a * Math.Sin(k * t + 2) * Math.Cos(k * t);
Console.WriteLine("x= " + x);
                        k += 1;
                    }
                    t += 0.17;
                }
                a += 0.12;
            }
Console.ReadLine();
        }
А вот с циклом ду вайл никак не пойму, как мне его записать, делаю так, но он мне выдает меньше значений, чем остальные циклы
Код: Выделить весь код
//методсоператором do-while
staticvoid RunWithDo()
        {
double a, t, x; int k;
            {
                a = 5;
                k = 1;
                t = 4.2;
do
                {
                    x = a * Math.Sin(k * t + 2) * Math.Cos(k * t);
Console.WriteLine("x= " + x);

                    a += 0.12;
                    t += 0.17;
                    k += 1;
                }
while (a <= 7);
while (k <= 12) ;
while (t <= 6.2) ;

            }
        }

Отправлено: 23:53, 23-03-2012

 

Аватара для ViRTaCe

Пользователь


Сообщения: 139
Благодарности: 11

Профиль | Отправить PM | Цитировать


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

-------
Кривые руки исправляются опытом.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:11, 24-03-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - цикл do-while c#

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Цикл в Цикле deamon7 Скриптовые языки администрирования Windows 5 15-04-2023 09:04
CMD/BAT - [решено] Создать цикл retab Скриптовые языки администрирования Windows 2 22-12-2011 20:22
CMD/BAT - [решено] Цикл FOR mark23 Скриптовые языки администрирования Windows 2 15-07-2011 10:52
C/C++ - Задача на цикл. Hardcore Программирование и базы данных 6 27-09-2010 18:00
C/C++ - Цикл ganselo Программирование и базы данных 4 31-10-2008 12:13




 
Переход