Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 11.09.2019, 16:07   #51
oldsnowman
Участник клуба
 
Аватар для oldsnowman
 
Регистрация: 20.02.2015
Сообщений: 1,032
По умолчанию

Какая полезная, и очень нужная программа!
oldsnowman вне форума Ответить с цитированием
Старый 12.09.2019, 13:12   #52
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 492
По умолчанию

qbasic игра угадай число: 1 строка
Код:
1 IF Russia = 0 THEN Russia = 2222: RANDOMIZE TIMER: num = INT(RND * 100) + 1: GOTO 1 ELSE IF Russia <> 0 THEN INPUT n: IF n < num THEN PRINT "MORE": GOTO 1 ELSE IF n > num THEN PRINT "less": GOTO 1 ELSE IF n = num THEN PRINT "da": END ELSE GOTO 1 ' guessnum.bas
1 IF Russia = 0 THEN Russia = 2222: RANDOMIZE TIMER: num = INT(RND * 100) + 1: GOTO 1 ELSE IF Russia <> 0 THEN INPUT n: IF n < num THEN PRINT "MORE": GOTO 1 ELSE IF n > num THEN PRINT "less": GOTO 1 ELSE IF n = num THEN PRINT "da": END ELSE GOTO 1 'guessnum.bas

qbasic version of "guess my number game" 1 line

c# игра угадай число: 1 строка
Код:
using System; using System.Text;namespace GURU { class Program { static void Main(string[] args) { Random rand = new Random(); int Russia = 0; int n = 0; int num = 0; dav: if(Russia == 0) {Russia = 2222; num = rand.Next(100)+1; goto dav; }else if (Russia != 0) {Console.Write("? "); n = Convert.ToInt32(Console.ReadLine());} if (n < num) { Console.WriteLine("MORE"); goto dav;}else if (n > num) { Console.WriteLine("less"); goto dav;}else if (n == num) {Console.Write("da"); Console.ReadKey(); }else goto dav;}}}// DANILIN Russia 9-9-2019 guessnum.cs
using System; using System.Text;namespace GURU { class Program { static void Main(string[] args) { Random rand = new Random(); int Russia = 0; int n = 0; int num = 0; dav: if(Russia == 0) {Russia = 2222; num = rand.Next(100)+1; goto dav; }else if (Russia != 0) {Console.Write("? "); n = Convert.ToInt32(Console.ReadLine()) ;} if (n < num) { Console.WriteLine("MORE"); goto dav;}else if (n > num) { Console.WriteLine("less"); goto dav;}else if (n == num) {Console.Write("da"); Console.ReadKey(); }else goto dav;}}}// DANILIN Russia 9-9-2019 guessnum.cs

c# version of "guess my number game" 1 line
учим C# зная basic & excel
https://programmersforum.ru/showthre...=327446&page=9

Последний раз редактировалось сфинкс; 12.09.2019 в 17:05.
сфинкс вне форума Ответить с цитированием
Старый 17.09.2019, 14:00   #53
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 492
По умолчанию

qbasic qb64 бегущая строка running string c# dos

Код:
// strundos.cs
// строка бегущая с востока на запад и слева направо 
// вводятся тексты и ширина экрана влияет на скорость 
// https://rextester.com/TQFHVE3360
// http://ideone.com/MoC86R

using System; using System.Text; namespace DAV
{ class Program { static void Main(string[] args) 

{ int ekran = 44; string space = " ";
string ost = "Экспорт Ориентированное Импорто Замещение";
string west = "Export Oriented Replace of Import";
for (int i = 1; i <= ekran+20; i++) {space = space + " ";}

ost = space + ost + space; west = space + west + space; 

for (int i = 1; i <= west.Length-ekran -1; i++)
{ Console.SetCursorPosition(0,2); 
Console.Write(ost.Substring(i, ekran )); 
Console.SetCursorPosition(0,5); 
Console.Write(west.Substring(west.Length-ekran +1-i, ekran )); 
System.Threading.Thread.Sleep(100-ekran);}

Console.ReadKey(); System.Threading.Thread.Sleep(100); }}}
добавляю на qbasic qb64:
Код:
' strunqb64.bas
' running strings from ost to west and from left to right
' plus width of screen include in velocity

ost$ = "Russian Export Orientirovannoe Importo Zameschenie"
west$ = "Russian Export Oriented Replace of Import"
ekran = 66: s$ = " ": FOR i = 1 TO ekran + 10: s$ = s$ + " ": NEXT

ost$ = s$ + ost$ + s$: west$ = s$ + west$ + s$
ost = LEN(ost$): west = LEN(west$)

FOR i = 1 TO west - ekran
    LOCATE 2, 1: PRINT MID$(ost$, i, ekran)
    LOCATE 5, 1: PRINT MID$(west$, west - ekran + 1 - i, ekran)
    _DELAY (.1 - ekran / 1000)
    ' FOR j = 1 TO 10 ^ 7 - ekran ^ (1.5) * 1 * 10 ^ 4: NEXT
NEXT
учим C# зная basic & excel
https://programmersforum.ru/showthre...=327446&page=9

Последний раз редактировалось сфинкс; 18.09.2019 в 11:41.
сфинкс вне форума Ответить с цитированием
Старый 30.09.2019, 15:58   #54
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 492
По умолчанию

осваиваю элементы управления
причём некоторые похожие изучаю за минуту

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

справочники показывают на что из сделанного
похож очередной изучаемый элемент
и в некоторых эл. книгах пишут не про все управляющие

и пока вводимые данные не используются


Код:
// ELEMENTS.cs
// csc.exe /target:winexe ELEMENTS.cs
// pause
using System; using System.IO;
using System.Drawing; using System.Diagnostics;
using System.Windows.Forms; namespace ELEMENTS
{
	public class Program

{static void Main()
{Application.Run(new ELEMENTS());}}
	class ELEMENTS : Form 
	{
ComboBox comboBox1; TextBox textBox1, textBox2; 
CheckBox checkBox41, checkBox42; Button button1; 
RadioButton radioButton31, radioButton32, radioButton33;
Label label1, label2, label3, label31, label33; 
Label label4, label41, label42, label5, label6; ListBox listBox5; 
CheckedListBox checkedlistBox6;

	public ELEMENTS()

{ Text = "ELEMENTS"; BackColor = SystemColors.WindowText;
ForeColor = SystemColors.Window; 
ResizeRedraw = true; Width = 480; Height = 240; }

	protected override void OnPaint(PaintEventArgs dan)
	{

comboBox1 = new ComboBox(); 
	comboBox1.Location = new Point(10, 50); comboBox1.Width = 40;
	comboBox1.Items.AddRange(new string[] {"3","2","1","4","5","6"});
	comboBox1.SelectedIndex = 2; comboBox1.BackColor = Color.Red;

textBox2=new TextBox(); textBox2.Text = "2"; textBox2.Width = 20;
textBox2.Location = new Point(70, 50); textBox2.BackColor = Color.Orange;

radioButton31 = new RadioButton(); radioButton31.Location = new Point(170, 50);
	radioButton31.Checked = true; radioButton31.Width = 20;
radioButton32 = new RadioButton(); radioButton32.Location = new Point(150, 70);
	radioButton32.Checked = false; radioButton32.Width = 20;
radioButton33 = new RadioButton(); radioButton33.Location = new Point(130, 90);
	radioButton33.Checked = false; radioButton33.Width = 20;
radioButton33.BackColor = Color.Yellow;

checkBox41 = new CheckBox(); checkBox41.Location = new Point(220, 50);
checkBox41.Checked = true; checkBox41.Width = 20;
checkBox42 = new CheckBox(); checkBox42.Location = new Point(200, 70);
checkBox42.Checked = false; checkBox42.Width = 20;
checkBox42.BackColor = Color.Green; // checkBox42.Appearance = 1; // true

listBox5 = new ListBox(); listBox5.Location = new Point(280, 50);
listBox5.Items.AddRange(new string[] {"6","5","4","1","2","3"}); 
listBox5.Width = 40; listBox5.SelectedIndex = 1; listBox5.BackColor = Color.Blue;

checkedlistBox6 = new CheckedListBox(); checkedlistBox6.Location = new Point(360, 50);
checkedlistBox6.Items.AddRange(new string[] {"1","3","5","2","4","6"}); 
checkedlistBox6.Width = 40; checkedlistBox6.SelectedIndex = 5; 
checkedlistBox6.BackColor = Color.Magenta;

label1 = new Label(); label1.Text = "comboBox";
	label1.Location = new Point(10, 20); label1.Width = 60;
label2 = new Label(); label2.Text = "textBox";
	label2.Location = new Point(70, 20); label2.Width = 60;

label3 = new Label(); label3.Text = "radioButton";
	label3.Location = new Point(130, 20); label3.Width = 80;
label31 = new Label(); label31.Text = "31";
	label31.Location = new Point(130, 50); label31.Width = 20;
label33 = new Label(); label33.Text = "33";
	label33.Location = new Point(170, 90); label33.Width = 20;

label4 = new Label(); label4.Text = "checkBox";
	label4.Location = new Point(210, 20); label4.Width = 60;
label41 = new Label(); label41.Text = "41";
	label41.Location = new Point(240, 53); label41.Width = 20;
label42 = new Label(); label42.Text = "42";
	label42.Location = new Point(230, 78); label42.Width = 20;

label5 = new Label(); label5.Text = "listBox";
	label5.Location = new Point(280, 20); label5.Width = 60;
label6 = new Label(); label6.Text = "checkedlistBox";
	label6.Location = new Point(360, 20); label6.Width = 100;

Controls.Add(comboBox1); Controls.Add(textBox2); Controls.Add(listBox5); 
Controls.Add(checkBox41); Controls.Add(checkBox42); Controls.Add(radioButton31); 
Controls.Add(radioButton32); Controls.Add(radioButton33); 
Controls.Add(checkedlistBox6); 

Controls.Add(label1); Controls.Add(label2); Controls.Add(label3); 
Controls.Add(label4); Controls.Add(label41); Controls.Add(label42); 
Controls.Add(label31); Controls.Add(label33); Controls.Add(label5);
Controls.Add(label6);

button1 = new Button();	button1.Click+=button1_Click;
	button1.Location = new System.Drawing.Point(10, 80);
	button1.Width = 80; button1.Text = "Переставить";

Controls.Add(button1); 
	}

private void button1_Click(object sender, EventArgs e)
	{ 

textBox1=new TextBox(); textBox1.Text = listBox5.Text; 
textBox1.Width = 40;
	textBox1.Location = new Point(10, 120);
Controls.Add(textBox1);
}}}
перечислять через запятые в начале это хорошо
но уменьшить бы листинг где всякие label
вставляются легко да занимают место
учим C# зная basic & excel
https://programmersforum.ru/showthre...=327446&page=9
сфинкс вне форума Ответить с цитированием
Старый 10.10.2019, 11:55   #55
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 492
По умолчанию

решил сегодня за 15 минут студенческую задачку
компилируя чисто онлайн C# rextester.com/YWSN67420

Код:
// func.cs
using System; using System.Linq;
using System.Collections.Generic;
using System.Text.RegularExpressions;

namespace Rextester
{ public class Program
    { public static void Main(string[] args)
        {  double A = 3.1416/4; double B = 3.1416; int M = 22; 
Console.WriteLine(A); Console.WriteLine(B); Console.WriteLine(M); 
Console.WriteLine();Console.WriteLine();
for (double x = A; x <= B; x=x+(B-A)/M)
Console.WriteLine(5+Math.Cos(x)); 
} } }
всё благодаря данной моей учебной теме
и вдобавок то решение реально для многих функций

и естественно недодумана константа пи
т.к. не встречалась ранее в теме

парадоксально: это моё 314-е сообщение как 100пи

изучить Math.PI - домашнее задание

https://www.youtube.com/watch?v=V3gfrGL2yro
учим C# зная basic & excel
https://programmersforum.ru/showthre...=327446&page=9

Последний раз редактировалось сфинкс; 10.10.2019 в 12:06.
сфинкс вне форума Ответить с цитированием
Старый 10.10.2019, 11:57   #56
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

Не используйте 3.1416
p51x вне форума Ответить с цитированием
Старый 18.10.2019, 13:42   #57
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 492
По умолчанию

в мою программу: бегущая строка
горизонтальная мульти строчная
американский qb64 форум включил
вертикальную бегущую строку мульти строчную
Код:
    ' struniq.bas
    ' running strings from ost to west and from left to right
    ' multi-string plus width of screen include in velocity
     
    DIM q$(5): ekran = 66: s$ = " "
    FOR i = 1 TO ekran + 10: s$ = s$ + " ": NEXT
     
    q$(1) = "RRR  U U  SSS  SSS  I   A   N  N    III  QQ  "
    q$(2) = "R R  U U  S    S    I  AAA  NN N     I  Q  Q "
    q$(3) = "RR   U U  SSS  SSS  I  A A  N NN     I  Q  Q "
    q$(4) = "R R  U U    S    S  I  AAA  N  N     I  Q QQ "
    q$(5) = "R R  UUU  SSS  SSS  I  A A  N  N    III  QQ Q"
     
    DIM p$(5), q1, iQ
    FOR i = 1 TO 5: p$(i) = " " + q$(i) + " ": NEXT i: q1 = LEN(p$(1)): iQ = 0
     
    FOR i = 1 TO 5: q$(i) = s$ + q$(i) + s$: NEXT: q = LEN(q$(1))
     
    FOR n = 1 TO 5
        FOR i = 1 TO q - ekran
            FOR j = 1 TO 5
                LOCATE j + 5, 5: COLOR j + i / 15: PRINT MID$(q$(j), i, ekran)
                LOCATE j + 15, 5: COLOR j + i / 22: PRINT MID$(q$(j), q - ekran + 1 - i, ekran)
                GOSUB vertical
    NEXT: _DELAY (.1 - ekran / 3000): NEXT: NEXT
    END
     
    vertical:
    FOR i2 = 1 TO 25
        FOR j2 = 1 TO 5
            COLOR j2 + i2 / 15
            LOCATE i2, (_WIDTH / 2) - 8 + j2
            PRINT MID$(p$(j2), i2 + iQ, 1);
            COLOR j2 + i2 / 22
            LOCATE 26 - i2, (_WIDTH / 2) + 8 - j2
            PRINT MID$(p$(j2), q1 - i2 - iQ, 1);
        NEXT
    NEXT
    _DELAY .1
    IF iQ < q1 THEN iQ = iQ + 1 ELSE iQ = 0
    RETURN
Изображения
Тип файла: png RusIQ.PNG (12.9 Кб, 32 просмотров)
учим C# зная basic & excel
https://programmersforum.ru/showthre...=327446&page=9
сфинкс вне форума Ответить с цитированием
Старый 12.12.2019, 09:46   #58
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 492
По умолчанию

исследуя возможность фальсификации случайных
за час были созданы программы qbasic qb64
и таблица использующая формулы

=СЛУЧМЕЖДУ(0;1)
=ЕСЛИ(B3=B2;C2+1;0)
=СЧЁТЕСЛИ(C$3:C$55000;D2)
=СУММ(E2:E10)
=E2/E3



идея: фальсифицировать вероятность 50%

результаты:

исследование E зелёным чисто excel:
случайные распределились закономерно

исследование 0 жёлтым qb 0:
случайные распределились закономерно

исследование 1 красным qb 1:
явная подделка равное число подряд

исследование 2 лиловым qb 2:
умная подделка но не запрограммированы все возможные
и виден перекос из-за алгоритма

вывод: определить фальшивые случайные реально
Код:
' 0.bas
OPEN "0.txt" FOR OUTPUT AS #1
FOR s = 1 TO 50000: PRINT #1, (INT(RND * 1000) MOD 2): NEXT
CLOSE
Код:
' 1.bas
OPEN "1.txt" FOR OUTPUT AS #1
FOR d = 1 TO 5: FOR s = 1 TO 100
FOR i = 1 TO s: PRINT #1, 1: NEXT
FOR i = 1 TO s: PRINT #1, 0: NEXT
NEXT: NEXT: CLOSE
Код:
' 2.bas
OPEN "2.txt" FOR OUTPUT AS #1
FOR k = 1 TO 100: FOR s = 1 TO 7 
FOR d = 1 TO 2 ^ (7 - s) 
FOR i = 1 TO s: PRINT #1, 1: NEXT
FOR i = 1 TO s: PRINT #1, 0: NEXT
NEXT: NEXT: NEXT: CLOSE
учим C# зная basic & excel
https://programmersforum.ru/showthre...=327446&page=9
сфинкс вне форума Ответить с цитированием
Старый 15.12.2019, 22:53   #59
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 492
По умолчанию

последовательность фальшивая перетасованная
превращается в последовательность случайную

и стала соответствовать распределениям



причём эксцель нагляднее программ
зато возможны программы синтеза c# онлайн


sequence fake shuffled
turns into a random sequence



and began to correspond to distributions

and excel more clearly than programs
but c# synthesis programs are possible online

https://www.youtube.com/watch?v=I0QV2AZ5W5E
учим C# зная basic & excel
https://programmersforum.ru/showthre...=327446&page=9
сфинкс вне форума Ответить с цитированием
Старый 30.12.2019, 11:27   #60
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 492
По умолчанию

используя программу синтеза случайных
и разделив на малые 0 и большие 1
синтезированы 55000 случайных и проверены

несмотря на нормальность количества подряд 0...7
большее число подряд невозможно
поэтому последовательность хуже обычного rnd
Код:
'rndxx.bas
OPEN «rndxxx.txt» FOR OUTPUT AS #1

FOR i = 1 TO 55555: r = Rand
    IF r < 0.5 THEN PRINT #1, 0 ELSE PRINT #1, 1
    'IF r <= 0.5 THEN PRINT #1, 0 ELSE PRINT #1, 1
    'IF r <= 0.7 THEN PRINT #1, 0 ELSE PRINT #1, 1
NEXT: CLOSE

FUNCTION Rand: STATIC Seed
x1 = (Seed * 214013 + 2531011) MOD 2 ^ 24
Seed = x1: Rand = x1 / 2 ^ 24
END FUNCTION
на языке C# случайность тоже маломощная
предполагаю понимаемая людьми как якобы нормальная
перенесено вниз в совмещение: дизайн и расчёты

достоверная случайность: перетасованная
то бишь 2-сторонняя то бишь интегральная вероятность

Программа peretas.bas создаёт последовательность
случайные a: 0 и 1 алгоритмом ручным из интернета

и программа создаёт случайные d: 0 ... 77777
для перетасовки и сортируя массив d упорядочили массив a
и возможно против повторения лучше тасуемых 1000000
Код:
'peretas.bas
DIM a(55555), d(55555)

OPEN "aa.txt" FOR OUTPUT AS #1: OPEN "dd.txt" FOR OUTPUT AS #2
OPEN "aaaa.txt" FOR OUTPUT AS #3: OPEN "dddd.txt" FOR OUTPUT AS #4

FOR i = 1 TO 55555: r = Rand: a(i) = INT(r * 2): PRINT #1, a(i): NEXT
FOR i = 1 TO 55555: r = Rand: d(i) = INT(r * 77777): PRINT #2, d(i): NEXT

FOR i = 1 TO 55554: FOR j = i TO 55555
        IF d(i) > d(j) THEN SWAP d(i), d(j): SWAP a(i), a(j)
NEXT: NEXT

FOR i = 1 TO 55555: PRINT #3, a(i): PRINT #4, d(i): NEXT
CLOSE

FUNCTION Rand
STATIC Seed
x1 = (Seed * 214013 + 2531011) MOD 2 ^ 24
Seed = x1
Rand = x1 / 2 ^ 24
END FUNCTION
Теоретические значения в эксцель excel через формулы

=C3/2
=D3+C4
=D4*55000

показывают: из 55000 за 7 шагов охватывается 54570
номеров в своих последовательностях
и вероятно отклонение выдаёт фальшивую случайность

и перетасовав задействовано 54885 близко к теории

Тема предсказуемо развивается на форумах США
qb64.org/forum/index.php?topic=1976
csharpforums.net/threads/falsification-of-probability.5109

где дарят программы расчёта случайных
referencesource.microsoft.com/#mscorlib/system/random.cs,56

и осталось объединить мой дизайн

https://ideone.com/lgxbXJ
Код:
using System;using System.Linq;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace Rextester
{ public class Program
    { public static void Main(string[] args)
        { Random rand = new Random();
for (int i = 1; i < 55; i++)
{ double d = rand.Next(2);
Console.WriteLine(Math.Ceiling(d));
}}}}
и расчёты
для вычисления 55000 случайных через онлайн компиляторы

https://www.youtube.com/watch?v=YIJmgOTnkTU

учим C# зная basic & excel
https://programmersforum.ru/showthre...=327446&page=9
сфинкс вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос Excel Visual Basic arly123 Помощь студентам 0 20.04.2013 00:43
Visual Basic Microsoft Excel Людмила. Помощь студентам 3 23.11.2012 18:51
Задача Basic Excel tooooool Помощь студентам 0 20.04.2012 19:00
Kак связать Visual Basic с Excel Vceznayka Microsoft Office Excel 2 23.12.2011 03:12
Visual Basic интегрированный в Excel a1b2 Microsoft Office Excel 3 23.12.2010 19:53


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840