Автор Тема: Програмиране на qbasic в DOS, Windows 98SE и Windows 7  (Прочетена 20288 пъти)

Неактивен Иван Димов

  • Експериментатор
  • Сериозен
  • ***
  • Публикации: 1 046
  • Пол: Мъж
  • Невъзможно нещо е да докажеш, че нещо е невъзможно
   Преди време правих програми на qbasic чрез MSDOS, който се отваря в windows 98SE. Сега се опитвам да ги пусна и в windows 7 засега безуспешно. Прилагам три файла за да видите възможностите на стария ми компютър.
   Програмата чертае траекторията на електрон, който обикаля около два неподвижни точкови заряда (положителни). Векторът на скоростта на електрона е оцветен в синьовиолетово и се променя във времето както по големина така и по посока. Движението на електрона по екрана зависи от скоростта на пресмятане на компютъра, а информация за електронната скорост можем да получим като гледаме големината и посоката на синия вектор-скорост. Дал съм два видеофайла с различна прецизност на сметките. По-бавното движение е при по-подробно пресмятане (за по-малки интервали от пътя dS). Пресмятането става на равни интервали dS. Най-горе вляво на екрана съм дал началната скорост V1, а под нея текущопроменяшата се  V2, която достига до стойности 10^7 (m/s), че даже и една трета от скоростта на светлината. Не знам дали това е реалното положение, но е доста интересно за гледане.
   Имам и други програми за пресмятане на интеграл, чертане на функции и такива за пресмятане на конкретни експерименти. Не претендирам за суперпрецизност, защото съм любител в програмирането при това съм самоук.

Неактивен Иван Димов

  • Експериментатор
  • Сериозен
  • ***
  • Публикации: 1 046
  • Пол: Мъж
  • Невъзможно нещо е да докажеш, че нещо е невъзможно
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #1 -: Януари 16, 2016, 11:32:07 pm »
   Ето и третия файл.

Неактивен GreenHulk

  • Много Напреднал
  • *****
  • Публикации: 1 270
  • Пол: Мъж
  • Астронавигатор
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #2 -: Януари 16, 2016, 11:50:28 pm »
https://www.visualstudio.com/products/visual-studio-community-vs оттук може да си свалиш компилатор за Visual Basic, предполагам че стария код може да се преработи за новите графични библиотеки.

най-долу има как се чертае точка:
https://social.msdn.microsoft.com/Forums/en-US/3f7eed17-37bf-4140-8d0f-93510d62533f/how-do-i-draw-a-single-dotpointpixel-in-gdi-and-net?forum=Vsexpressvb

Неактивен juliang

  • Заинтригуван
  • Много Напреднал
  • *
  • Публикации: 6 178
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #3 -: Януари 17, 2016, 12:53:44 am »
qBasic за ДОС... забрави просто да влезе в Студио 2015. Синтаксиса на езика е тотално различен. По-лесно ще е да го препише от нулата.

Неактивен Иван Димов

  • Експериментатор
  • Сериозен
  • ***
  • Публикации: 1 046
  • Пол: Мъж
  • Невъзможно нещо е да докажеш, че нещо е невъзможно
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #4 -: Януари 17, 2016, 10:59:12 pm »
   Ето този сайт ми предложи nizo
http://www.qb64.net/release/dirty/2016_01_17__05_07_37__v0000/windows/qb64v0000-win.zip
   И се оказа, че старите ми файлове работят с тази програма. Ако някой иска може да я пробва. След като я разархивирате, на същото място поставете и файла с моята програма като BAS файл, който прилагам сега в zip файла заедно и с програмата ми като exe, което работи, където и да го сложите. Пускам и read me файл.

Неактивен Иван Димов

  • Експериментатор
  • Сериозен
  • ***
  • Публикации: 1 046
  • Пол: Мъж
  • Невъзможно нещо е да докажеш, че нещо е невъзможно
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #5 -: Януари 19, 2016, 09:26:41 pm »
   Това в приложения файл са три мои програмки, които описват движението на електрон:
   1. Около един положителен заряд.
   2. Около два положителни заряда и
   3. Третата програмка е движение на електрон-позитронна двойка. За ваше улеснение съм дал някакви входни данни за програмите, а вие след като щракнете на ехе-файла, ще трябва само да напишете едно число на черния екран според изискването на програмките и да натиснете enter.
   Дал съм и BAS файловете на съответните exe-та за да може, който иска да ги променя. BAS файловете се стартират с програмата qb64 както казах по-горе (натиска се F5 бутона).

Неактивен Иван Димов

  • Експериментатор
  • Сериозен
  • ***
  • Публикации: 1 046
  • Пол: Мъж
  • Невъзможно нещо е да докажеш, че нещо е невъзможно
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #6 -: Януари 22, 2016, 09:04:31 pm »
   Пускам ви един zip-файл със старата версия на Qbasic, където има и help-файл. Слагате двата файла qbasic.exe и qbasic.hlp някъде в една папка и така ще имате Help информация като щракнете на ехе-то. Вътре има и кратки примери за начините за използване на някои команди.
   Сложил съм и още два ехе-файла със съответните им bas-файлове.
   Единият (ELECTRON1N.ехе) е подобрена версия на електрона, обикалящ около положителен заряд. Доста е интересно, макар че има какво още да се промени. Поне ни дава визуална представа за електронните орбити. Електронът съм го задал да обикаля като един единствен зелен пиксел по екрана като същевременно оставя червена следа (траектория). Дал съм и възможност за различна подробност в смятането на компютъра като така сметките стават за различни интервали от пътя dS в зависимост от зададеното число на подробност в началото на програмата. Има и скоростомер, показващ огромната скорост на електрона в m/s. Може и временно да се спре движението с бутона s за да се види каква е скоростта. Векторът на скоростта е в лилав цвят.

Неактивен Иван Димов

  • Експериментатор
  • Сериозен
  • ***
  • Публикации: 1 046
  • Пол: Мъж
  • Невъзможно нещо е да докажеш, че нещо е невъзможно
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #7 -: Януари 25, 2016, 08:19:58 pm »
   Предлагам ви последна поправка на файла с програмата, която описва траекторията на електрон, въртящ се около положителен заряд. Този път съм оцветил в зелено част от траекторията най-близо до електрона и така той по-лесно се забелязва. Сега ще може и да видите какво всъщност представлява подробността в сметките на компютъра. Като спрете движението на електрона с бутона s, ще видите дължината на зелената част от траекторията, която се отнася за 200 поредни смятания на компютъра. Колкото тази зелена част е по-дълга, толкова по-грубо е смятал компютъра (за по-големи отсечки dS от траекторията) и така се наслагват повече грешки. Затова за по-добра точност на траекторията задавайте Podrobnost под 10.
   Обърнете внимание също, че 200 поредни сметки не са еквивалентни на 200 пиксела от траекторията. Всяка една сметка компютърът прави на равни интервали dS от траекторията като при подробност =100 имаме dS = 1пиксел.
   Програмата като цяло дава само приблизителни сметки, но все пак може да се ползва за онагледяване на движението на електрона. Става също и за интересни графики с рекламна цел примерно.

Неактивен Иван Димов

  • Експериментатор
  • Сериозен
  • ***
  • Публикации: 1 046
  • Пол: Мъж
  • Невъзможно нещо е да докажеш, че нещо е невъзможно
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #8 -: Януари 27, 2016, 06:19:17 pm »
   Добавих и енергията на електрона в електронволти - [eV]. Така всеки ще може да види началната енергия Ео и енергията Е във всеки момент по електронната траектория. Спирането на движението на електрона е с бутона s, а продължаването на движението става при натискане на който и да е бутон освен s-бутона.
   Положителния заряд го направих с големина, колкото на два протона.
« Последна редакция: Януари 27, 2016, 08:48:32 pm от Иван Димов »

Неактивен Иван Димов

  • Експериментатор
  • Сериозен
  • ***
  • Публикации: 1 046
  • Пол: Мъж
  • Невъзможно нещо е да докажеш, че нещо е невъзможно
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #9 -: Март 14, 2017, 11:52:16 pm »
   Прилагам моя програма   SF(X)dX.exe   за пресмятане на интеграл. Чертае графиката на функцията, пресмята определени стойности и въобще има визуални ефекти, позволяващи по-доброто разбиране на математиката. Има и упътване за ползване.
   Прилагам и програмата ми   electron show.exe   с визуални ефекти на траекторията на електрон, движещ се около положителен заряд.

Неактивен Иван Димов

  • Експериментатор
  • Сериозен
  • ***
  • Публикации: 1 046
  • Пол: Мъж
  • Невъзможно нещо е да докажеш, че нещо е невъзможно
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #10 -: Март 16, 2017, 06:12:17 pm »
   Ако някой се чуди как да смени функцията, която иска да сметне – ето как. Първо трябва чрез програмата qb64.ехе да отворите файла SF(X)dX.BAS и най-долу в него да напишете каквато функция искате. За по-нагледно прилагам файл, в който се вижда на син фон един ред, подчертан в червено – там написвате функцията си.
   Прилагам и един файл със сметната от мен функцията:
yf = 3 * SIN(x) + SIN(10 * x)
   Сметнат е интеграл в границите за х от 3 до 16 и е защрихован в лилаво. Функцията yf може да се разглежда като смес на две функции с различни честоти – на едната честотата е 10 пъти по-висока, а на другата амплитудата е 3 пъти по-голяма.

Неактивен Иван Димов

  • Експериментатор
  • Сериозен
  • ***
  • Публикации: 1 046
  • Пол: Мъж
  • Невъзможно нещо е да докажеш, че нещо е невъзможно
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #11 -: Март 17, 2017, 03:39:36 pm »
   Ето тук може да си изтеглите програмата   qb64.exe  -  http://www.qb64.net/
   А ето какво се получава когато се смесят две функции:
1.             yf1 = SIN(x)          и   
2.             yf2 = SIN(x) * SIN(10 * x)
   Амплитудата на втората функция е SIN(x), а честотата е 10 пъти по-висока от тази на първата функция. Общо наслагването на двете функции е това:
                    yf = SIN(x) + SIN(x) * SIN(10 * x)
   Получава се доста интересна модулация. Прилагам файл с графиката.

Неактивен juliang

  • Заинтригуван
  • Много Напреднал
  • *
  • Публикации: 6 178
Re: Програмиране на qbasic в DOS, Windows 98SE и Windows 7
« Отговор #12 -: Март 17, 2017, 06:48:35 pm »
За визуализиране на графики на функции:

http://fooplot.com
https://www.desmos.com/calculator

и още стотици...