Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
8 / 8 / 1
Регистрация: 17.01.2010
Сообщений: 172

Теоритический вопрос по блок схемам

09.06.2010, 13:00. Показов 1420. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сделал программу (по ООП в программе 1 класс и четыре метода на каждый метод нужна блок схема) и теперь надо составить блок схему. Вопрос такой нужно ли детально указывать и описывать все переменные которые я использую в методе например в методе по поиску одинаковых строк в двух RichTextBox я в цикле каждую строку из RichTextBox1 заношу в переменную и сравниваю ее с со всеми строками RichTextBox2 и так пока не будет достигнут конец RichTextBox1. В нутри этого цикла я конвертирую данные из одного формата в другой и есть кое какие проверки.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.06.2010, 13:00
Ответы с готовыми решениями:

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

Теоритический вопрос
У меня к вам такой вопрос: можно ли вызвать функцию в другой функции и как это сделать если это возможно?

Теоритический вопрос по трансформатору.
Имеется трансформатор с двухполярным питанием 15-0-15 от него подключен усилитель, тоже с двуполярным питанием. Собственно вопрос: Можно...

7
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
09.06.2010, 20:19
Цитата Сообщение от Marat-209 Посмотреть сообщение
Вопрос такой нужно ли детально указывать и описывать все переменные которые я использую в методе
Описывать - в смысле?
C++
1
int a;
Завели переменную, но описывать в блок схеме это не нужно. Просто дальше используем её и все. С другой стороны если это
C++
1
int a = 0;
Это уже инициализация и можно написать в блоке "преопределенный процесс" a(0); или подобный конструктор для других классов.

Все же уточните код А то говорите про какие то циклы и проверки, а ведь это уже и есть алгоритм, и он должен быть отображен на блок схеме.
0
8 / 8 / 1
Регистрация: 17.01.2010
Сообщений: 172
09.06.2010, 21:14  [ТС]
Вот например Метод Sortirovka (берет данные из RichTextBox'а и System.Windows.Forms.ToolStripComboBox. Сортировка происходит по определенному столбцу ). В этом методе куча переменных. Нарисовал детальную блок схему на несколько листов и преподаватель сказал теперь попробуй составить по ней программу.
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
public void Sort(System.Windows.Forms.RichTextBox RTB, System.Windows.Forms.ToolStripComboBox TSC)
        {
            ArrayList myWords = new ArrayList();
            ArrayList el = new ArrayList();
            for (int i = 0; i < RTB.Lines.Length; i++)
            {
                if (RTB.Lines[i].Length > 1)
                {
                    myWords.Add(RTB.Lines[i]);
                    string[] els = myWords[i].ToString().Split(' ');
 
                    switch (TSC.SelectedIndex)
                    {
                        case 0: el.Add(els[0]); break;                                              // строка кол комнат
                        case 1: el.Add(els[4] + els[5] + els[6] + els[7] + els[8] + els[9]); break; // строка этаж
                        case 2: el.Add(els[14] + els[15] + els[16] + els[17] + els[18]); break;     // строка площадь
                    }
                }
            }
            for (int i = 0; i < el.Count - 1; i++)
            {
                int j = i + 1;
                while (j < el.Count)
                {
                    if (Convert.ToInt32(el[i]) > Convert.ToInt32(el[j]))
                    {
                        //меняем местами
                        string temp_el = el[i].ToString();
                        el[i] = el[j];
                        el[j] = temp_el;
 
                        string temp_words = myWords[i].ToString();
                        myWords[i] = myWords[j];
                        myWords[j] = temp_words;
                    }
                    j++;
                }
            }
            RTB.Clear();
            for (int r = 0; r < myWords.Count; r++)
            {
                RTB.AppendText(myWords[r] + "\n");
            }
        }
Вложения
Тип файла: doc Документ Microsoft Office Word.doc (19.9 Кб, 21 просмотров)
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
09.06.2010, 22:39
Посмотрите эту блок схему bsm.rar там исходник для Diagram Designer. Я бы сделал так Хотя в целом (если не брать в расчет что блок схема не по ГОСТ) у вас неплохо
0
8 / 8 / 1
Регистрация: 17.01.2010
Сообщений: 172
10.06.2010, 10:07  [ТС]
А что именно там не по госту?
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
10.06.2010, 11:24
Marat-209, для начала блоки должны быть одной ширины, к тому же вы забыли про блоки циклов, да вы гляньте ГОСТ то, там не очень много
1
8 / 8 / 1
Регистрация: 17.01.2010
Сообщений: 172
10.06.2010, 18:23  [ТС]
Снова переделал все 4 блок схемы. текс Класса с методами. Посмотрите если не сложно блок схемы, а конкретно на надписи в элементах можно ли так писать в них?
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
 
namespace WindowsFormsApplication1
{
    class Kvartira
    {
        public int KolKomnat;
        public int Ploshad;
        public int Floor;
        public string Area;
        public void VvodDannie(string NameFile, int KolKomnat, int Ploshad, int Floor, string Area)
        {
            System.IO.FileInfo fi = new System.IO.FileInfo(Application.StartupPath + "\\" + NameFile + ".txt");
            System.IO.StreamWriter sw;
            if (fi.Exists)
                sw = fi.AppendText();
            else
            {
                sw = fi.CreateText();
            }
            sw.WriteLine();
            sw.Write(String.Format("{0,-10}", KolKomnat.ToString()));
            sw.Write(String.Format("{0,-10}", Floor.ToString()));
            sw.Write(String.Format("{0,-10}", Ploshad.ToString()));
            sw.Write(String.Format("{0,-10}", Area.ToLower()));
            sw.Close();
        }
        public void OtobrozhenieDanie(string NameFile, System.Windows.Forms.RichTextBox TB)
        {
            try
            {
                System.IO.StreamReader sr;
                sr = new System.IO.StreamReader(Application.StartupPath + "\\" + NameFile + ".txt", System.Text.Encoding.GetEncoding(65001));
                TB.Text = sr.ReadToEnd();
                sr.Close();
            }
            catch (Exception exc)
            {
                MessageBox.Show("Файл исходных данных не найден или не создан. \n" + exc.ToString());
            }
        }
        public void Proverka(System.Windows.Forms.RichTextBox RTB1, System.Windows.Forms.RichTextBox RTB2)
        {
            int PColComnat = 0;
            int ZColComnat = 0;
            int PFloor = 0;
            int ZFloor = 0;
            int PPloshad = 0;
            int ZPloshad = 0;
            double PPloshadMax = 0;
            double PPloshadMin = 0;
            string PArea = "";
            string ZArea = "";
            int r1 = 0;
            int r2 = 0;
            int rrr = 0;
            string Pstr = "";
            for (int i = 0; i < RTB1.Lines.Length; i++)
            {
                if (RTB1.Lines[i].Length > 0)
                {
                    PColComnat = Convert.ToInt32(RTB1.Lines[i].Substring(0, 5));
                    PFloor = Convert.ToInt32(RTB1.Lines[i].Substring(10, 5));
                    PPloshad = Convert.ToInt32(RTB1.Lines[i].Substring(20, 5));
                    PPloshadMax = PPloshad + ((PPloshad / 100) * 10);
                    PPloshadMin = PPloshad - ((PPloshad / 100) * 10);
                    for (int j = 0; j < RTB2.Lines.Length; j++)
                    {
                        if (RTB2.Lines[j].Length > 0)
                        {
                            ZColComnat = Convert.ToInt32(RTB2.Lines[j].Substring(0, 5));
                            ZFloor = Convert.ToInt32(RTB2.Lines[j].Substring(10, 5));
                            ZPloshad = Convert.ToInt32(RTB2.Lines[j].Substring(20, 5));
                            if ((ZColComnat == PColComnat) && (ZFloor == PFloor) && (ZPloshad <= PPloshadMax && ZPloshad >= PPloshadMin))
                            {
                                r1 = i;
                                r2 = j;
                                rrr = 1;
                                Pstr = "Предложение. Комнат: " + Convert.ToString(PColComnat) + " Этаж: " + Convert.ToString(PFloor) + " Площадь: " + Convert.ToString(PPloshad) + " Район: " + PArea + "\n " +
                                "            Заявка. Комнат: " + Convert.ToString(ZColComnat) + " Этаж: " + Convert.ToString(ZFloor) + " Площадь: " + Convert.ToString(ZPloshad) + " Район: " + ZArea;
                                MessageBox.Show(Pstr);
                            }
                            else
                            {
 
                            }
                        }
                    }
                }
            }
 
            if (rrr == 1)
            {
                List<string> list = new List<string>();
                list.AddRange(RTB1.Lines);
                list.RemoveAt(r1);
                RTB1.Clear();
                for (int i = 0; i < list.Count; i++)
                {
                    RTB1.AppendText(list[i] + "\n");
                }
 
 
                List<string> list2 = new List<string>();
                list2.AddRange(RTB2.Lines);
                list2.RemoveAt(r2);
                RTB2.Clear();
                for (int i = 0; i < list2.Count; i++)
                {
                    RTB2.AppendText(list2[i] + "\n");
                }
 
                // удаление пустых строк
                ArrayList myWords = new ArrayList();
                for (int i = 0; i < RTB1.Lines.Length; i++)
                {
                    myWords.Add(RTB1.Lines[i]);
                }
                for (int i = 0; i < myWords.Count; i++)
                {
                    if (Convert.ToString(myWords[i]) == "")
                    {
                        myWords.RemoveAt(i);
                        i = i - 1;
                    }
                }
                RTB1.Clear();
                for (int j = 0; j < myWords.Count; j++)
                {
                    RTB1.AppendText(myWords[j] + "\n");
                }
 
                ArrayList myWords2 = new ArrayList();
                for (int i = 0; i < RTB2.Lines.Length; i++)
                {
                    myWords2.Add(RTB2.Lines[i]);
                }
                for (int i = 0; i < myWords2.Count; i++)
                {
                    if (Convert.ToString(myWords2[i]) == "")
                    {
                        myWords2.RemoveAt(i);
                        i = i - 1;
                    }
                }
                RTB2.Clear();
                for (int j = 0; j < myWords2.Count; j++)
                {
                    RTB2.AppendText(myWords2[j] + "\n");
                }
                // конец удал пуст строк
 
                System.IO.FileInfo fi = new System.IO.FileInfo(Application.StartupPath + @"\PrDB.txt");
                System.IO.StreamWriter sw = fi.CreateText();
                for (int i = 0; i < RTB1.Lines.Length; i++)
                    sw.WriteLine(RTB1.Lines[i]);
                sw.Close();
 
                System.IO.FileInfo fi1 = new System.IO.FileInfo(Application.StartupPath + @"\ZaDB.txt");
                System.IO.StreamWriter sw1 = fi1.CreateText();
                for (int i = 0; i < RTB2.Lines.Length; i++)
                    sw1.WriteLine(RTB2.Lines[i]);
                sw1.Close();
            }
        }
        public void Sort(System.Windows.Forms.RichTextBox RTB, System.Windows.Forms.ToolStripComboBox TSC)
        {
            ArrayList myWords = new ArrayList();
            ArrayList el = new ArrayList();
            for (int i = 0; i < RTB.Lines.Length; i++)
            {
                if (RTB.Lines[i].Length > 1)
                {
                    myWords.Add(RTB.Lines[i]);
                    string[] els = myWords[i].ToString().Split(' ');
 
                    switch (TSC.SelectedIndex)
                    {
                        case 0: el.Add(els[0]); break;                                              // строка кол комнат
                        case 1: el.Add(els[4] + els[5] + els[6] + els[7] + els[8] + els[9]); break; // строка этаж
                        case 2: el.Add(els[14] + els[15] + els[16] + els[17] + els[18]); break;     // строка площадь
                    }
                }
            }
            for (int i = 0; i < el.Count - 1; i++)
            {
                int j = i + 1;
                while (j < el.Count)
                {
                    if (Convert.ToInt32(el[i]) > Convert.ToInt32(el[j]))
                    {
                        //меняем местами
                        string temp_el = el[i].ToString();
                        el[i] = el[j];
                        el[j] = temp_el;
 
                        string temp_words = myWords[i].ToString();
                        myWords[i] = myWords[j];
                        myWords[j] = temp_words;
                    }
                    j++;
                }
            }
            RTB.Clear();
            for (int r = 0; r < myWords.Count; r++)
            {
                RTB.AppendText(myWords[r] + "\n");
            }
        }
    }
}
Вложения
Тип файла: doc 3 попытка.doc (38.0 Кб, 21 просмотров)
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
10.06.2010, 20:37
Marat-209, думаю да, только все же есть несколько замечаний. например в одном блоке "процесс" должен быть один процесс, а у вас бывает по много. ещё - ветка "нет" или как вы пишите "-" должна идти справа а не слева. В принципе не критично, да и у каждого преподавателя свои требования, попробуйте показать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.06.2010, 20:37
Помогаю со студенческими работами здесь

Теоритический вопрос по IP адресам
Имеется адрес 164.139.26.110 и Маска 11111111.11111111.11111111.00000000 надо определить: – класс адреса; – максимально возможное...

Солнечная энергия + акум + gsm (чисто теоритический вопрос)
Позволю себе пофантазировать: собираем девайс, который продолжительное время при помощи солнечных элементов копит заряд на...

Теоритический вопрос.Чем отличаються функции ключевых слов public и protected при описании классов?
Не могу уловить разницы.Подскажите!:)

Кто подскажет по блок-схемам
Ребята может кто помочь схему составить, либо по условию либо по коду. Программы переделываю по примеру т.к. учусь заочно.

Составить программы по блок схемам
Всем привет! Есть 2 блок-схемы, по ним нужно составить программы. Картинки вставить не могу, т.к вставлял уже в другой теме. ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru