Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » qbasic

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8

Открыть новую тему     Написать ответ в эту тему

Nastya20

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста решить2 задачи.
 
1)Вычислить и напечатать  Y =  Х - sqr(x)  для Х = 2, 6, 18, 54, … (всего 55 значений). Как правильно вводить значения в окне редактора QBasic.
2)Организуйте массив. Определите значение и номер последнего положительного числа.

Всего записей: 1 | Зарегистр. 17-03-2012 | Отправлено: 21:48 17-03-2012
Tatiana11

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ПРОВЕРИТЬ РАВЕНСТВО  
 1^2 +3^2 + 5^2 +...+(2n-1)^2 = (n(4n^2-1))/3

Всего записей: 3 | Зарегистр. 14-10-2012 | Отправлено: 20:57 14-10-2012
XPEHOMETP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tatiana11
Как - проверить? Ну, понятно, что можно для каждого натурального n посчитать левую часть, посчитать правую часть и сравнить, выполняется ли равенство. Но ведь натуральный ряд бесконечен, тут жизни не хватит!    Тем более что рано или поздно начнут исчерпываться возможности данного языка по представлению натуральных чисел, а то и ресурсы данного компьютера. Так что, где-то этой проверке мы должны положить верхний предел. Там в условии про него ничего не сказано?

Всего записей: 2485 | Зарегистр. 21-06-2005 | Отправлено: 09:22 16-10-2012
interacia

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nastya20  
 

Цитата:
1)Вычислить и напечатать  Y =  Х - sqr(x)  для Х = 2, 6, 18, 54, … (всего 55 значений).

 
CLS
x = 2
FOR i = 1 TO 55
PRINT i;
PRINT ") ";
PRINT x - SQR(x)
x = x * 3
NEXT i
 
____________________________________________________________________
Мой Ареал
 
 
 
 
 
Добавлено:
Nastya20

Цитата:
2)Организуйте массив. Определите значение и номер последнего положительного числа.

 
CLS
INPUT "Vvedite N"; N
DIM Mas$(N)
PRINT "Zapolnite Massiv"
FOR i = 1 TO N
PRINT i; ")";
INPUT Mas(i)
NEXT i
Num = 1
FOR i = 1 TO N
IF Mas(i) > 0 THEN Num = i
NEXT i
PRINT "Nomer Poslednego polojitelnogo";
PRINT Num
PRINT "Znachenie Poslednego polojitelnogo";
PRINT Mas(Num)
____________________________________________________________________  
Мой Ареал
   

Всего записей: 12 | Зарегистр. 19-03-2013 | Отправлено: 18:28 25-03-2013 | Исправлено: interacia, 18:29 25-03-2013
Ghost Inets

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
Есть некий набор чисел  
 
 
Добавлено:
Доброго времени суток!
Есть некий набор чисел
10 DIM 22, 24, 25, 26, 28, 30, 32, 35, 36, 40, 42, 45, 50, 52, 55, 60, 62, 65, 70, 72, 75, 80, 82, 85, 90, 92, 95, 100, 102, 105, 110, 112, 115, 120, 125, 130, 132, 135, 140, 142, 150 AS INTEGER  
надо поочередно присваивать значения этих чисел переменным A, B, C, D, чтобы были перебраны все возможные комбинации.  
 
 ff = FREEFILE
OPEN "rez.txt" FOR OUTPUT AS #ff
 
10 CLS
10 DIM 22, 24, 25, 26, 28, 30, 32, 35, 36, 40, 42, 45, 50, 52, 55, 60, 62, 65, 70, 72, 75, 80, 82, 85, 90, 92, 95, 100, 102, 105, 110, 112, 115, 120, 125, 130, 132, 135, 140, 142, 150 AS INTEGER  
 
20 FOR A =  
30 FOR B =  
40 FOR C =  
50 FOR D =  
60 rez = B * D * 120 / (A * C)
' 70 Print A, B, C, REZ to file rez.txt
 
80 PRINT #ff, LTRIM$(RTRIM$(STR$(A!))); ", "; LTRIM$(RTRIM$(STR$(B))); ", "; LTRIM$(RTRIM$(STR$(C))); ", "; LTRIM$(RTRIM$(STR$(D))); ", "; LTRIM$(RTRIM$(STR$(rez))); ""
                           
90 NEXT D
100 NEXT C
110 NEXT B
120 NEXT A
130 END
 
CLOSE #ff
 
но для записи в файл добавить условие, что переменные A, B, C, D должны быть разные, т.е. не равны друг другу. Я не знаю, как в Бейсике обращаться поочередно к переменным массива...

Всего записей: 1982 | Зарегистр. 20-04-2009 | Отправлено: 14:28 02-12-2013
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ghost Inets
ты привел около 40 чисел, представляешь сколько из них будет уникальных перестановок? 40 факториал! это астрономическое число, солнце погаснет раньше чем эта программа выполнится ))
но если взять поменьше чисел, то можно как то так:

Код:
 
 ff = FREEFILE
OPEN "rez.txt" FOR OUTPUT AS #ff
   
CLS
DATA 22, 24, 25, 26, 28, 30, 32, 35, 36, 40, 42, 45, 50, 52, 55, 60, 62, 65, 70, 72, 75, 80, 82, 85, 90, 92, 95, 100, 102, 105, 110, 112, 115, 120, 125, 130, 132, 135, 140, 142, 150
Length = 5 'тут кол-во элементов
DIM Arr(Length) AS INTEGER
FOR i = 1 TO Length
  READ DAT
  Arr(i) = DAT
NEXT i
 FOR Ai = 1 TO Length
 FOR Bi = 1 TO Length
 FOR Ci = 1 TO Length
 FOR Di = 1 TO Length
   A = Arr(Ai): B = Arr(Bi): C = Arr(Ci): D = Arr(Di)
   IF (A <> B) AND (A <> C) AND (A <> D) AND (B <> C) AND (B <> D) AND (C <> D) THEN
   Rez = B * D * 120 / (A * C)
   PRINT #ff, LTRIM$(RTRIM$(STR$(A!))); ", "; LTRIM$(RTRIM$(STR$(B))); ", "; LTRIM$(RTRIM$(STR$(C))); ", "; LTRIM$(RTRIM$(STR$(D))); ", "; LTRIM$(RTRIM$(STR$(Rez))); ""
   END IF                          
 NEXT Di
 NEXT Ci
 NEXT Bi
 NEXT Ai
 END
   
CLOSE #ff
 
 

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 22:42 02-12-2013
Ghost Inets

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A_V
Спасибо, но не все так печально: я уже брал 117 чисел. Прога (Досовский Бейсик) "думала" часов 5. Комп Core Duo 1.8 GHz. Получился файл 4.4 гига.  
 ff = FREEFILE
OPEN "rez.txt" FOR OUTPUT AS #ff
 
10 CLS
10 DIM 22, 24, 25, 26, 28, 30, 32, 35, 36, 40, 42, 45, 50, 52, 55, 60, 62, 65, 70, 72, 75, 80, 82, 85, 90, 92, 95, 100, 102, 105, 110, 112, 115, 120, 125, 130, 132, 135, 140, 142, 150 AS INTEGER  
 
20 FOR A = 18 TO 135 STEP 1
30 FOR B = 18 TO 135 STEP 1
40 FOR C = 18 TO 135 STEP 1
50 FOR D = 18 TO 135 STEP 1
60 rez = B * D * 120 / (A * C)
' 70 Print A, B, C, REZ to file rez.txt
 
80 PRINT #ff, LTRIM$(RTRIM$(STR$(A!))); ", "; LTRIM$(RTRIM$(STR$(B))); ", "; LTRIM$(RTRIM$(STR$(C))); ", "; LTRIM$(RTRIM$(STR$(D))); ", "; LTRIM$(RTRIM$(STR$(rez))); ""
                           
90 NEXT D
100 NEXT C
110 NEXT B
120 NEXT A
130 END
 
CLOSE #ff
 
поэтому жалкие 50 чисел меня совсем не пугают. Пожалуйста, сделайте со всеми числами.

Всего записей: 1982 | Зарегистр. 20-04-2009 | Отправлено: 07:34 03-12-2013
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ghost Inets
да, это я торможу - ты же и хочешь не все перестановки, а только по 4..
ну в моем варианте все это есть, достаточно в Length указать кол-во твоих чисел

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 07:51 03-12-2013 | Исправлено: A_V, 07:53 03-12-2013
Ghost Inets

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A_V
Конечно по 4. Я и не понял, о чем речь идет: проклятущий грипп замучал...  
Спасибо!!!

Всего записей: 1982 | Зарегистр. 20-04-2009 | Отправлено: 13:20 03-12-2013
Antrax

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги, кому не сложно, подскажите код для решения этих задач.
 
Все задания выполняются в QBasic.
 
Задание 1
Даны три числа a, b, c. Определите, является ли их произведение больше 150.
 
Задание 2

 
Задание 3

Всего записей: 86 | Зарегистр. 16-03-2007 | Отправлено: 23:41 21-05-2020
Yevgeniy



Database Master
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Antrax

Цитата:
Задание 1
Даны три числа a, b, c. Определите, является ли их произведение больше 150.

Готово:

Код:
INPUT "Введите три числа (a, b, c) через запятую: ", a, b, c
LET r = a * b * c
IF r > 150 THEN PRINT "Число ", r, " больше 150" ELSE PRINT "Число ", r, " равно или меньше 150"
END


----------
Omnia Mea Mecum Porto
Сервера раскрытия информации
Ru-Board BitTorrent Tracker

Всего записей: 4844 | Зарегистр. 15-07-2003 | Отправлено: 22:29 25-07-2020 | Исправлено: Yevgeniy, 02:06 09-08-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » qbasic


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru