Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/26: Рейтинг темы: голосов - 26, средняя оценка - 4.92
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
.NET 3.x

Дано действительное число a. Найти среди чисел 1, 1+1/2, 1+1/2+1/3 и тд. первое, большее a

16.11.2011, 17:56. Показов 5122. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, подскажите профану, где я допустил ошибку: Вот задача: надо сделать Windows Form...Дано действительное число a. Найти среди чисел 1, 1+1/2, 1+1/2+1/3 и тд. первое, большее a. А вот, что я наваял:
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            Close();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            double a, x, z, y;
            int k = 1;
            a = Convert.ToDouble(textBox1.Text);
            if (a < 1)
               x = 1;
            while (a < k)
                x = 1 + (1 / k++);
 
            label1.Text = Convert.ToString(x);
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            
        }
 
        private void label1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            label1.Text = "";
        }
    }
}
Добавлено через 38 минут
Вот тербования: Форма должна включать кнопки «Вычислить», «Выход» и «Сброс» (последняя присва¬ивает всем входным переменным нулевые значения).
В форме предусмотреть обработку возможных ошибок (деление на 0, ввод недопусти¬мых символов, ввод недопустимых значений). При нажатии клавиши Enter должен выполняться переход к редактированию следующего поля или на кнопку «Вычислить».
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2011, 17:56
Ответы с готовыми решениями:

Дано действительное число а. Найти среди чисел 1, 1+1/2, 1, 1+1/2+1/3, . первое, большее заданного числа а
Дано действительное число а. Найти среди чисел 1, 1+1/2, 1, 1+1/2+1/3, ... первое, большее заданного числа а.

Дано действительное число А, большее 1. Найти среди чисел 1, 1+1/2, 1
Дано действительное число А, большее 1. Найти среди чисел 1, 1+1/2, 1+1/2+1/3, ... первое, большее А и его номер.Помогите составить...

Дано действительно число А. Найти среди чисел 1,1+1/2, 1+1/2+1/3,..... первое, большее А.
Дано действительно число А. Найти среди чисел 1,1+1/2, 1+1/2+1/3,..... первое, большее А. Добавлено через 34 минуты 51 секунду Не...

25
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
16.11.2011, 18:23
Цитата Сообщение от Владимир23 Посмотреть сообщение
где я допустил ошибку
Вот здесь:
Цитата Сообщение от Владимир23 Посмотреть сообщение
C#
1
2
while (a < k)
                x = 1 + (1 / k++);
Надо бы так:
C#
1
2
while (a < x + 1) x += (1 / k++);
label1.Text = Convert.ToString(x+1);
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
16.11.2011, 18:50  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Вот здесь:

Надо бы так:
C#
1
2
while (a < x + 1) x += (1 / k++);
label1.Text = Convert.ToString(x+1);
у меня до этого ругался на то что "использование локаоьной переменной "х", которой не присвоено значение", ну и счас тоже ругается.....
0
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
16.11.2011, 19:03
ругается из-за того, что при не выполнении условия

Цитата Сообщение от Владимир23 Посмотреть сообщение
C#
1
2
if (a < 1)
x = 1;
переменная Х не определена. Задайте ей какое-либо значение
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
16.11.2011, 19:11  [ТС]
Цитата Сообщение от tantemka Посмотреть сообщение
ругается из-за того, что при не выполнении условия


переменная Х не определена. Задайте ей какое-либо значение
так у меня в коде:
C#
1
2
3
4
5
6
7
8
9
double a, x, z, y;
            int k = 1;
            a = Convert.ToDouble(textBox1.Text);
            if (a < 1)
               x = 1;
            while (a < k)
                x = 1 + (1 / k++);
 
            label1.Text = Convert.ToString(x);
она определенв, вроде как...
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
16.11.2011, 19:16
C#
1
double a, x = 0, z, y;
1
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
16.11.2011, 19:23  [ТС]
Цитата Сообщение от Blood-Angel Посмотреть сообщение
C#
1
double a, x = 0, z, y;
подскажите как исключить деление на ноль, поскольку отладка запускается, но проц на 100% и висит - видимо из-за нуля, хотя честно не знаю, а при просмотре ошиьки ругается на строку x+=(1/k++). ну и ответ корявый...я так предполагаю, что если я ввожу цифру 2, то ответ должен быть "2,....и дробная часть", а такого нет...
0
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
16.11.2011, 19:32
Blood-Angel, присоединяюсь.
Попробовала скомпилировать программу, но увы....
C#
1
2
 while (a < k)
x = 1 + (1 / k++);
меняйте условие

Добавлено через 8 минут
у вас получается бесконечный цикл, а не деление на 0, так как "К" все время увеличивается, а ваша переменная "а" так и остается
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
16.11.2011, 19:35  [ТС]
Цитата Сообщение от tantemka Посмотреть сообщение
Blood-Angel, присоединяюсь.
Попробовала скомпилировать программу, но увы....
C#
1
2
 while (a < k)
x = 1 + (1 / k++);
меняйте условие

Добавлено через 8 минут
у вас получается бесконечный цикл, а не деление на 0, так как К все время увеличивается, а ваше переменная а так и остается
Поменял, задаю 0,2, дает 1, задаю 2 - выдает 0, что не правильно, -2 = 1 - вывожу просто х...
0
38 / 40 / 6
Регистрация: 10.11.2011
Сообщений: 70
16.11.2011, 19:39
C#
1
2
3
4
5
6
7
8
      double a = 2; //условие
      int i = 1; // счетчик
 
      double result = 0; // результат
      while (result <= a)
      {
        result += 1.0/i++;
      }
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
16.11.2011, 19:39  [ТС]
у вас получается бесконечный цикл, а не деление на 0, так как К все время увеличивается, а ваше переменная а так и остается - та к "а" - это вводимое число, оно так и должно остаться, а к должна увеличиваться, чтобы получались числа 1 1/2, 1 1/5, 1 1/11 и тд....
0
38 / 40 / 6
Регистрация: 10.11.2011
Сообщений: 70
16.11.2011, 19:41
или так
C#
1
2
3
4
5
6
7
8
9
10
      double a = Convert.ToDouble(textBox1.Text); //условие
      int i = 1; // счетчик
 
      double result = 0; // результат
      while (result <= a)
      {
        result += 1.0/i++;
      }
 
      label1.Text = Convert.ToString(result);
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
16.11.2011, 19:41  [ТС]
Цитата Сообщение от Владимир23 Посмотреть сообщение
Поменял, задаю 0,2, дает 1, задаю 2 - выдает 0, что не правильно, -2 = 1 - вывожу просто х...
Цитата Сообщение от SergiiK Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
      double a = 2; //условие
      int i = 1; // счетчик
 
      double result = 0; // результат
      while (result <= a)
      {
        result += 1.0/i++;
      }
не понял, к чему это....?
0
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
16.11.2011, 19:42
Тогда
C#
1
2
double a;
a = Convert.ToDouble(textBox1.Text);
0
38 / 40 / 6
Регистрация: 10.11.2011
Сообщений: 70
16.11.2011, 19:46
обращаю внимание, что формула
1 / i - дает результат типа int, т.е. округленный до целых чисел
а 1.0 / i - дает результат типа double

Добавлено через 2 минуты
Цитата Сообщение от Владимир23 Посмотреть сообщение
не понял, к чему это....?
это я тестировал логику при помощи консольного приложения
1
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
16.11.2011, 19:56
Так сгодится?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
 
static class Program
{
    static void Main()
    {
        int k = 1;
        double a, x = 1;
        a = Convert.ToDouble(Console.ReadLine());
        while (a >= x)
            x += 1.0 / ++k;
        Console.WriteLine(x);
    }
}
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
16.11.2011, 20:07  [ТС]
Цитата Сообщение от Blood-Angel Посмотреть сообщение
Так сгодится?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
 
static class Program
{
    static void Main()
    {
        int k = 1;
        double a, x = 1;
        a = Convert.ToDouble(Console.ReadLine());
        while (a >= x)
            x += 1.0 / ++k;
        Console.WriteLine(x);
    }
}
объясниет, плиз, а то не понятно....здесь же проверяется только пока а >=x....
0
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
16.11.2011, 20:09
Цикл while работает только по истине. Как только ваше искомое число станет больше введенного, цикл прекратится
1
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
16.11.2011, 21:53  [ТС]
Люди, где в VS2008 найти свойство кнопки AcceptButton, чтобы по Ентеру вычисления запускались, а то ищу уже минут 15...?

Добавлено через 1 час 15 минут
Всем большое спасибо...
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
19.11.2011, 17:17  [ТС]
Ребята, подсткажите что нужно учить, если у меня задача следующего характера:
Задача: Во время предвыборной компании проводится регистрация кандидатов в депутаты. Каждый кандидат, подавая заявление на регистрацию, указывает номер округа, в котором он собирается баллотироваться, наименование партии, которую он представляет, свой возраст и профессию. Пресс-служба центральной избирательной комиссии выдает информационный бюллетень, в котором приводит следующую информацию: число кандидатов от каждой политической партии. Написать соот¬вет¬ствующую программу.
Требования:
1) Программа должна состоять из модулей. Можно вначале разработать программу без модулей, а когда все ошибки будут устранены, поместить описа¬ние класса в отдельный модуль.
2) Каждый класс обязательно должен включать конструктор.
Насколько я понял нужно создать массив с данными и потом из него вытаскивать данные с сортировкой по партии..я кое-что наваял по примеру в методичке, вот гляньте...это только часть массива создается, а что дальше делать не знаю...
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Laba2
{
    public partial class Form1 : Form
    {
        string[] kanfio ={"Петров","Иванов", "Сидоров"};
        int[] vozrast = {23,45,31};
        string[] proff = { "Слесарь", "Маляр", "Электрик" };
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
 
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.11.2011, 17:17
Помогаю со студенческими работами здесь

Дано вещественное число А>0. Найти среди чисел 1, 1+1/2, 1+1/3,… первое число, большее А
Дано вещественное число А&gt;0. Найти среди чисел 1, 1+1/2, 1+1/3,… первое число, большее А

Дано действительно число а.Найти среди чисел 1, 1*1/2, 1*/1/2+1/3, ... первое число, большее а, и его номер в последовательности чисел.
Прошу помочь решить задачки!:(очень нужно (Билет №2) Дано действительно число а.Найти среди чисел 1, 1*1/2, 1*/1/2+1/3, ... первое...

Среди чисел найти первое число, большее n
Среди чисел найти первое число, большее n

Среди чисел 1, 4, 9, 16, 25,... найти первое число, большее n
1. Обработка числовых последовательностей Дано число п. Среди чисел 1, 4, 9, 16, 25,... найти первое число, большее п.

Найти среди чисел первое число большее N
Ввели число N, большее 1 Найти среди чисел 1, 1+1 / 4, 1+1 / 4+1 / 9, ... первое число большее N


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru