Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» qbasic

Автор: STEEL
Дата сообщения: 02.10.2002 13:24
1. найти наименьшее из 3х чисел, введенных с Клавы
2. найти сумму четных чисел от 12 до 100
3. найти сумму кубов чисел от 5 (в кубе) до 10 (в кубе)
4. найти y=2x(в кубе) / 10 , если x меняется от 1 до 10, с шагом 0,5
5. получить десятичной представление обыкновенных дробей
?=0,5 ; 1/3 = 0,333 ; ? = 1.24
6. вывести 15 первых степеней чисела 2
7. найти y=sin X
если x меняется 0 до 9 с шагом 10
Автор: Felix
Дата сообщения: 02.10.2002 14:15
Держи. За длинный листинг не ругайтесь выложить негде

1.
DIM i, j, k AS INTEGER
INPUT i, j, k
IF i < j THEN
IF i < k THEN PRINT i ELSE PRINT k
ELSE
IF j < k THEN PRINT j ELSE PRINT k
END IF

2.
DIM i, j AS INTEGER
j = 0
FOR i = 12 TO 100
IF (i MOD 2) = 0 THEN j = j + i
NEXT
PRINT j
или
j = 0
FOR i = 12 TO 100 STEP 2
j = j + i
NEXT
PRINT j

3.
DIM i, j AS INTEGER
j = 0
FOR i = 5 TO 10
j = j + i ^ 3
NEXT
PRINT j

4.
DIM x, y AS INTEGER
y = 0
FOR x = 1 TO 10 STEP .5
y = ((2 * x) ^ 3) / 10
PRINT y
NEXT

6.
DIM i AS INTEGER
FOR i = 1 TO 15
PRINT 2 ^ i
NEXT

З.Ы. По поводу 5 надо подумать как красивее сделать. А про 7 надо уточнить...

Тряхнул стариной... он чуть не отвалился
Автор: STEEL
Дата сообщения: 02.10.2002 14:27
Felix

оо, благодарствую, это большая поправка...
Автор: Felix
Дата сообщения: 02.10.2002 14:32
STEEL
Не забудь проверить....
Автор: STEEL
Дата сообщения: 02.10.2002 14:52
если какая нибуд алтернатива QBASIC под win32, т.е. какой-нибуд эмулятор и т.д. зы, глючит qbasic досовский у меня под XP виндой, ну не ставить же мастдайку ради бейсика.

Добавлено
есть ли?
Автор: Felix
Дата сообщения: 02.10.2002 15:03
Про эмулятор не знаю... единственное что на ум приходит попробуй отладить в офисе под VBA (Word. Excel и т.п. Alt+F11 и окно дебаггера)
Автор: STEEL
Дата сообщения: 02.10.2002 17:35
что-то я не прпоминаю, что такое DIM, INTEGEER ?
Автор: ivank
Дата сообщения: 02.10.2002 18:26
STEEL
Вестимо плохо тебя в школе учили:
DIM -- объявление переменных/массивов
INTEGER -- целый тип
Автор: STEEL
Дата сообщения: 02.10.2002 18:33
ivank

гы, только начали обучать ещё до DIM , INTEGER не дошли
Автор: Sergeyka
Дата сообщения: 06.10.2002 10:37
ivank

Цитата:
DIM -- объявление переменных/массивов
INTEGER -- целый тип

Насколько я помню Qbasic со школы - никогда переменные не объявляли, а целый тип пременных - % (А%) вот и всё...
Автор: STEEL
Дата сообщения: 06.10.2002 13:48
вот ещё... помогите написать:

* Ввести одномерный массив (8 элементов) и вывести в строку на экран.
* Найти сумму всех переменных
* Найти сумму отрицательных
* Вывести числа стоящие на чётных местах
* Заменить положительные элементы нулями и вывести результат
Автор: Felix
Дата сообщения: 07.10.2002 12:57
Sergeyka, енто смотря как преподаватели любят



Добавлено
Лови...

CLS
FOR i = 1 TO 8: INPUT m(i): NEXT
sum = 0: otr = 0

FOR i = 1 TO 8
PRINT m(i);
sum = sum + m(i)
IF m(i) < 0 THEN otr = otr + m(i)
NEXT

PRINT : PRINT "SUM(m(i))= "; sum: PRINT "SUM(m(i) < 0)= "; otr

FOR i = 1 TO 8
IF (i MOD 2) = 0 THEN PRINT m(i)
NEXT

FOR i = 1 TO 8
IF m(i) > 0 THEN m(i) = 0
PRINT m(i);
NEXT

З.Ы. Обязательно проверь.... ммм-да, надо потихоньку в рунете по КуБасику сайт для начинающих тебе найти
Автор: SergejKa
Дата сообщения: 07.10.2002 15:26
Хм... Решил пару слов сказать... Во первых просьба меня не путать с Sergeykой. Это не я. То есть я это я, но не я
Во вторых: DIM в Квик Васике был всегда оператором объявления массива (DIM и REDIM). Никогда переменные не объявлялись.
В третьих: "нарисованное" выше преподавателям как раз и не нравится. Нравится им вот такая лажа:

CLS
FOR i = 1 TO 8
PRINT "Введите";i;" член массива: ";
INPUT m(i)
NEXT (вот здесь они очень любят чтобы было написано NEXT i, а не просто NEXT памятуя о вложенных циклах)
И про технологический отступ не забывать (Опять таки связано со всяческими вложенностями WHILE, DO, FOR).

С уважением и все дела.

Добавлено
Во, нашёл. Просто до ужаса

http://www.helloworld.ru/texts/comp/lang/qbasic/faq/basic.htm

Добавлено
И ещё большая библиотека по Васику: http://www.lanet.lv/simtel.net/msdos/qbasic-pre.html
Автор: STEEL
Дата сообщения: 08.10.2002 17:17
Felix

а можно тоже самое с DIM, только нужно ввести массив DIM..
Автор: SergejKa
Дата сообщения: 10.10.2002 05:56
STEEL
А самому в начале программы добавить DIM m(8) ?
Автор: Felix
Дата сообщения: 10.10.2002 16:12
SergejKa
sorry и спасибо за дополнение.
По поводу преподавателей согласен, но код уж не мне оформлять не правда ли ?!?
На счёт DIM в догмы вдаваться не буду, но с нас в своё время требовали именно такого объявления переменных....
Вобщем, дабы подытожить, чтите методички учебных заведений... которые пришут Ваши преподаватели
Автор: Sergeant
Дата сообщения: 02.11.2002 14:59
Всем привет, в первый раз зашел на этот форум

Попросили найти решение подобной задачи: создать программу на qbasic для решения квадратных уравнений. Естественно с соблюдением всех условий: иксы находятся по определенным формулам, дискриминант опять же... и т.д.

Вот и решил сюда обратиться. Может кто располагает готовым решением или ссылкой на оное?

Заранее спасибо.
Автор: URANUS
Дата сообщения: 02.11.2002 17:49
Sergeant
Лови:
CLS
INPUT "КОЭФФИЦИЕНТ ПЕРЕД X^2 ="; A
INPUT "КОЭФФИЦИЕНТ ПЕРЕД X ="; B
INPUT "СВОБОДНЫЙ ЧЛЕН ="; C
D=B^2 - 4*A*C
IF D>=0 THEN X1=(- B+SQR(D))/(2*A): X2=(- B - SQR(D))/(2*A): PRINT "X1 ="; X1; "X2="; X2 ELSE PRINT "КОРНЕЙ НЕТ"
END
Кидайте еще задачки....

Добавлено
Felix

Цитата:
На счёт DIM в догмы вдаваться не буду, но с нас в своё время требовали именно такого объявления переменных....

И сейчас также требуют...
Автор: Sergeant
Дата сообщения: 02.11.2002 23:50
URANUS,
Thank’s
Автор: A_V
Дата сообщения: 03.11.2002 17:49
STEEL

Цитата:
если какая нибуд алтернатива QBASIC под win32, т.е. какой-нибуд эмулятор и т.д. зы, глючит qbasic досовский у меня под XP виндой, ну не ставить же мастдайку ради бейсика.

вобще qbasic45 под xp нормально должен работать, а под win32 много разных basic’ов - darckbasic(крутая работа с 3d графикой), libertybasic, IBasic итд. Синтаксис как и у всех basic’ов схож с Quick/Power

Добавлено
URANUS

Цитата:
Кидайте еще задачки....

Написать прогу выводящую свой исходный код.
У меня получалось только если считать ’ и " одним символом.
Походу на qb это вобще невозможно сделать.... но вдруг у тебя получится


Автор: URANUS
Дата сообщения: 03.11.2002 22:24
A_V

Цитата:
Написать прогу выводящую свой исходный код.

Кто вводит код?
Автор: A_V
Дата сообщения: 03.11.2002 23:15
URANUS

Цитата:
Кто вводит код?

это что шутка?

прога (в .exe) должна вывести СВОЙ исходник!
Автор: Major Pronin
Дата сообщения: 03.11.2002 23:17
A_V, насчет вывода исходного кода. Подобная задача рассматривалась энное количество лет назад в журнале "Наука и Жизнь". Была тогда рубрика о калькуляторах, компьютерах и программировании. К сожалению, не помню год и номер, в которых приводились коды программ (на разных языках), реализовывающих данную функцию. Но если очень интересует, то могу порыться в подшивках.
Автор: A_V
Дата сообщения: 04.11.2002 00:09
Major Pronin
я знаю, задачка старая. знаю также как решить на c и на asm.
Но если не трудно, попробуй найти решение на basic. было бы очень интересно. и я думаю, не только мне
Автор: SergejKa
Дата сообщения: 05.11.2002 04:56

Цитата:
прога (в .exe) должна вывести СВОЙ исходник!

В gwbasic’е (который шёл с DOSом 3.3, 3.0 и прочих выпуска конца восьмидесятых годов прошлого века) была команда list, которую можно было выполнить из программы. И save можно было сделать из программы. И даже save "c:\bas\myprog.bas" можно было сделать, но из ЕХЕ (имхо) такое невозможно. Может быть я ошибаюсь, но басик когда компилирует не оставляет никакой отладочной, доводочной и прочей информации (как это делает Си, когда его попросишь).
Автор: Major Pronin
Дата сообщения: 05.11.2002 23:15
A_V, на праздниках попробую... надо найти нужную папочку в залежах
Автор: Major Pronin
Дата сообщения: 09.11.2002 22:20
A_V, ничего не нашел видно, эти подшивки куда-то выкинули во время переезда. Куча всего другого есть, а именно этой статьи нету...
Автор: A_V
Дата сообщения: 10.11.2002 01:29
SergejKa

Цитата:
басик когда компилирует не оставляет никакой отладочной, доводочной и прочей информации

дело не в этом... а скорее в умении обращаться с кодом как с данными

Major Pronin
обидно, досадно, но x.. с ним
будем считать что на qb это сделать невозможно
если кто-то опровергнет - был бы рад увидеть: av@sendmail.ru

Автор: STEEL
Дата сообщения: 12.02.2003 13:45
Задача
Завод сбрасывает в реку ежедневно от 0 до 30 кг отходов. Если кол-во отходов привышает 15 кг, то за каждый последующий начисляется штраф - 100р. Ежедневная прибыль завода 700р. Рентабелен ли завод.

CLS
X = 30 * RND

А даль что делать? Как начислять за каждый лишний кг - по 100р?
Автор: URANUS
Дата сообщения: 12.02.2003 14:47
STEEL
Наверное так:
CLS
X=INT(RND*30)
PRINT "Отходов сбросили"; X
S=700
K=0
IF X<=15 THEN PRINT "Завод рентабелен" : GOTO 50
10 X=X-1
K=K+100
IF X>15 THEN GOTO 10
IF K>=S THEN PRINT "Завод не рентабелен"
IF K<S THEN PRINT "Завод рентабелен"
50 END

Страницы: 12345

Предыдущая тема: ActiveX-форма & InternetExplorer


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.