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

Составить блок-схему по готовой программе

20.05.2013, 15:12. Показов 9095. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста составить блок-схему) ума не приложу как это сделать
Кликните здесь для просмотра всего текста
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
88
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;
using System.Runtime.InteropServices;
using System.IO;
 
 
namespace hpseo
{
    public partial class Form1 : Form
    {
 
        public Form1()
        {
            InitializeComponent();
            //Opacity = 0;
            //Timer timer = new Timer();
            //timer.Tick += new EventHandler((sender, e) =>
            //{
            //    if ((Opacity += 0.25d) == 1) timer.Stop();
            //});
            //timer.Interval = 100;
            //timer.Start(); 
            //изменение прозрачности формы при загрузке. Создаёт эффект плавного появления, но на слабых машинах может вызвать подвисания.
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.Navigate("http://wordstat.yandex.ru"); webBrowser2.Navigate("https://adwords.google.com/o/KeywordTool");
//при загрузке формы загружаются в веббраузеры с прописанными адресами.
            ToolTip t = new ToolTip();
            t.SetToolTip(pictureBox1, "Выход");
            ToolTip r = new ToolTip();
            r.SetToolTip(pictureBox2, "Развернуть");
            ToolTip y = new ToolTip();
            y.SetToolTip(pictureBox3, "Сохранить");
            ToolTip f = new ToolTip();
            f.SetToolTip(pictureBox4, "Свернуть");
//загружаются подсказки
 
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            this.Close();
//«кнопка закрыть»
        }
 
        private void pictureBox2_Click(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Maximized)
                this.WindowState = FormWindowState.Normal;
            else this.WindowState = FormWindowState.Maximized;
// «кнопка развернуть и вернуть форму в прежнее состояние»
        }
 
        private void pictureBox3_Click(object sender, EventArgs e)
        {
            System.IO.File.WriteAllText(@"\Frequency Helper\sys\x.txt", webBrowser1.Document.Body.Parent.OuterText, Encoding.GetEncoding(webBrowser1.Document.Encoding));
//сохраняет в документ всё содержимое страницы
            System.IO.File.WriteAllText(@"\Frequency Helper\sys\x2.txt", File.ReadAllText(@"\Frequency Helper\sys\x.txt").Replace(File.ReadAllText(@"\Frequency Helper\sys\1.txt"), ""));
//из документа x.txt удаляется содержимое 1.txt и сохраняет в x2.txt
            System.IO.File.WriteAllText(@"\Frequency Helper\yandex_keyword.txt", File.ReadAllText(@"\Frequency Helper\sys\x2.txt").Replace(File.ReadAllText(@"\Frequency Helper\sys\2.txt"), ""));
//из x2.txt удаляет содержимое 2.txt. и сохраняет в конечный файл yandex_keyword.txt
        }
 
        
        private void pictureBox4_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Minimized;
//позволяет свенуть форму
        }
 
        private void pictureBox5_Click(object sender, EventArgs e)
        {
            Form3 f = new Form3();
            f.Show();
//вызывает 3форму с информацией о программе
        }
 
       
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.05.2013, 15:12
Ответы с готовыми решениями:

Составить блок-схему по готовой программе
Помогите пожалуйста составить блок-схему using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

Нужно составить блок-схему к программе с массивом (программа написана)
Вот программа: using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Нарисовать блок схему к программе и расставить комментарии
помогите составить блок-схему по программе.... и с коментариями в программе о действиях static void Main(string args) { ...

10
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 15:36
bmike, никак. Можно сделать для отдельных методов блок-схемы. А для всей программы в целом не получится, т.к. это не консольная программа.
0
8 / 8 / 2
Регистрация: 14.01.2012
Сообщений: 60
20.05.2013, 17:11
Psilon, Что значит никак? Готов поспорить по любой программе можно блок-схему составить)


bmike,
ps Чем я только не займусь, лишь бы к экзаменам не готовиться
Миниатюры
Составить блок-схему по готовой программе  
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 17:14
Snowy, ок, напишите блок-схему, описывающую этот код:
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
using System;
using System.Collections.Generic;
 
namespace Model
{
    public enum OptimizationDirection
    {
        ToMin,ToMax
    }
 
    public class Rosenbrock
    {
        private readonly Func<double[], double> f;
        private readonly double epsilon;
        private Vector y;
        private Vector[] d;
        private readonly int n;
        private readonly List<IterationDetails> details = new List<IterationDetails>();
        public OptimizationDirection Direction = OptimizationDirection.ToMin;
 
        public IEnumerable<IterationDetails> Details { get { return new List<IterationDetails>(details); } }
 
        public Rosenbrock(Func<double[], double> f, Vector startPoint, double epsilon)
        {
            if (startPoint.IsEmpty)
                throw new ArgumentException("startPoint");
            n = startPoint.Length;
            this.f = x => Direction == OptimizationDirection.ToMin ? f(x) : -f(x);
            this.epsilon = epsilon;
            y = startPoint;
            d = new Vector[n];
            for (int i = 0; i < n; i++)
            {
                d[i] = new Vector(n);
                d[i][i] = 1;
            }
            SmartPoint.SetFunction(f);
        }
 
        public Vector Solve()
        {
            int k = 0;
            details.Clear();
            var lambda = new Vector(n);
            Vector previousIterationY;
            do
            {
                k++;
                previousIterationY = y;
                var iterDetails = new IterationDetails(y, k);
                for (int j = 0; j < n; j++)
                {
                    var previousStepY = y;
                    int i = j;
                    lambda[j] = Dichotomy(x => LambdaSolve(x, i), y[j]);
                    y += lambda[j] * d[j];
                    iterDetails.Add(new StepDetails(previousStepY, lambda[j], d[j], y, i+1));
                }
                details.Add(iterDetails);
                d = GramSchmidtProcess(lambda);
            } while ((y - previousIterationY).Norm >= epsilon);
            return y;
        }
 
        private double LambdaSolve(double x, int j)
        {
            return f(y + x * d[j]);
        }
 
        private Vector[] GramSchmidtProcess(Vector lambda)
        {
            var a = new Vector[n];
            for (int j = 0; j < n; j++)
                if (Math.Abs(lambda[j]) < epsilon) //Если ноль
                    a[j] = d[j];
                else
                {
                    a[j] = new Vector(n);
                    for (int i = j; i < n; i++)
                        a[j] += lambda[i] * d[i];
                }
            var b = (Vector[])a.Clone();
            b[0].Normalize();
            for (int j = 1; j < n; j++)
            {
                for (int i = 0; i < j; i++)
                    b[j] -= Vector.TransposeAndMultiply(a[j], b[i]) * b[i];
                b[j].Normalize();
            }
            return b;
        }
 
        private double Dichotomy(Func<double, double> func, double startCoord)
        {
            double deviation = Math.Abs(startCoord) < double.Epsilon ? 5 : Math.Abs(startCoord) * 0.5 + 10;
            double a = startCoord - deviation, b = startCoord + deviation;
            double delta = epsilon / 10;
            while (b - a >= epsilon)
            {
                double middle = (a + b) / 2;
                double lambda = middle - delta, mu = middle + delta;
                if (func(lambda) < func(mu))
                    b = mu;
                else
                    a = lambda;
            }
            return (a + b) / 2;
        }
    }
}
Можно как и в примере выше, одной фразой на каждый метод.
0
8 / 8 / 2
Регистрация: 14.01.2012
Сообщений: 60
20.05.2013, 17:24
Psilon, В том-то и дело, что это код, а не программа.
0
 Аватар для Spectral-Owl
608 / 583 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
20.05.2013, 17:28
Psilon, для полной победы в диалоге с аппонентом вам не хватило событий и хитрого полиморфизма, однако лямбды присутствуют, и этого вполне хватает)

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

а вообще такие однострочные блоки могут быть достигнуты с помощью спец. комментариев (которые xml, после тройного символа '/'), правда получать его прямо из кода я не научился, так что придётся оперировать сразу двумя входными файлами: сам код, а так-же сгенерированный по нему (и его комментариям) файл xml.
0
8 / 8 / 2
Регистрация: 14.01.2012
Сообщений: 60
20.05.2013, 17:33
Spectral-Owl, какой победы? ха событиями и полиморфизмом напугать решили
И опять же, для блок-схемы нужна программа или алгоритм, а не набор методов
0
 Аватар для Spectral-Owl
608 / 583 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
20.05.2013, 17:45
развиваю мысль:
для бока одного метода необходимо проанализировать его тело:
если он содержит вызываемые методы, то получаем несколько последовательных блоков с текстом комментариев вызываемых методов (а между ними вызываемые методы в них, если они есть)
если не содержит - получаем один блок с текстом комментария самого метода.

и так по всему циклу Main() (в WinForms приложениях он тоже есть, единственное там придётся делать как писалось в одном из вышеотписанных сообщений, используя блоки ожидания)
т.е. для WinForms получится что-то типо такого:

0. (начало)
1. [создание формы Form1]
1.1. [Инициализация компонентов]
1.2. [Создание экземпляра класса X]
1.2.1.[Инициализация полей объекта x]
1.2.1.1.[Загрузка файла xml]
1.2.1.2.[Чтение и применение результатов]
1.2.2.[Вызов обработчика события загрузки данных]

2.[ожидание действия пользователя]

2.1.<изменение данных>
2.2.[применение данных к объекту x]
2.3.[запись файла xml]

2.2.<Открытие формы настроек>
2.2.1.[Инициализация компонентов]
2.2.2.[ожидание действия пользователя]

2.2.2.1......
2.2.2.n.<Выход>
2.2.2.n.1.[закрытие формы настроек]

2.3......

2.n.<Выход>
2.n.1.[закрытие программы]

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

Цитата Сообщение от Snowy Посмотреть сообщение
для блок-схемы нужна программа или алгоритм, а не набор методов
это да, но блок схему отдельного класса (что и выложил Psilon) по моей методике разобрать можно, былиб комментарии в нужном формате и желание разобраться))
0
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 6
20.05.2013, 17:59  [ТС]
Snowy, спасибо тебе огромное)
я вот до последнего дотянул) завтра сдавать курсач, а я только сел писать его
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 18:30
Цитата Сообщение от Spectral-Owl Посмотреть сообщение
Psilon, для полной победы в диалоге с аппонентом вам не хватило событий и хитрого полиморфизма, однако лямбды присутствуют, и этого вполне хватает)
просто скинул кусок последней программы, где нету консоли, тащем-то все. Я вел к тому, что в ООП используется UML, а никак не блок-схемы, потому что 90% действий происходит в результате возбуждения какого-либо события, время срабатывания которого никак не угадаешь, когда как блок-схема - орграф, показывающий порядок выполнения программы. А в данном случае мы даже сами не знаем, в каком порядке эти события будут вызываться...
0
Danya_13
30.05.2013, 13:59
здравствуйте! могли бы вы и мне помочь?
программа по алгоритму soundex, очень нужна блок-схема
выкладываю программу на яндекс диск: https://disk.yandex.ru/public/... 2voo45E%3D
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2013, 13:59
Помогаю со студенческими работами здесь

Составить блок-схему
class Program { static double f(double x) { double y; if (x &gt; 3) y...

Составить блок-схему по коду
{ while (!Double.TryParse(Console.ReadLine(), out price)) Console.WriteLine(&quot;Неправильная цена&quot;); for (int i = 100; i &lt;=...

Составить блок-схему к приложенному проекту
Помогите пожалуйста сделать по этой программе блок-схемы. очень надо

Составить блок-схему по данному коду
Помогите пожалуйста составить блок-схему. Пока не могу понять, как это правильно сделать. Буду благодарен за помощь. using System; ...

Составить блок-схему и программу вычисления суммы
Составить блок-схему и программу вычисления суммы


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru