| Программирование на Qbasic |
| IwanS | Дата: 10:47 08.07.2008 | Сообщение # 1 |
Администратор
Сообщений: 1850
Статус: не в сети
| Всем привет! Продолжаем добрую традицию помогать всем посетителям в программировании на QBasic. Напоминаю, что у нас есть самоучитель по qbasic (1 часть и 2 часть). Ждем ваших задач и наших решений! Для большей наглядности вы можете прикрепить картинку с формулой из задачи. Для этого напечатайте формулу в Microsoft Word и нажмите кнопку PrtScr SysRq. После этого запускаем mspaint и нажимаем Правка -> Вставить. Выделяем область с формулой и нажимаем Копировать в файл. Теперь нажимаем Файл -> Открыть и пересохраняем нашу картинку в формате JPEG. Разрешено прикреплять картинки только в форматах JPEG или GIF! Техзадание - точное и четкое определение задачи, стоящей перед программистом. В техзадании должно содержаться достаточно сведений, чтобы человек мог написать адекватную запросу программу. При этом нужно уметь не просто перепечатать задание преподавателя, а понимать его смысл и быть готовым ответить на вопросы по заданию. Без нормального техзадания лично я помогать с программированием не буду! Строгому наказанию подлежит несоблюдение правил орфографии и пунктуации. Пишите грамотно, правильно расставляйте запятые. Иначе в коде мы тоже будем косячить так, что фиг разберешь, что там вообще написано!
Изменил IwanS - Четверг, 12.02.2009, 17:21
|
|
| |
| | |
| IwanS | Дата: 21:20 11.11.2008 | Сообщение # 31 |
Администратор
Сообщений: 1850
Статус: не в сети
| Quote (Revati) 1. Дан массив из 12 элементов. Вычислить в отдельный массив все элементы, значение которых <=10 Code CLS DIM a(12) DIM b(12) FOR cnt = 1 TO 12 PRINT "Введите ", cnt, " элемент массива" INPUT a(cnt) NEXT cnt cnum = 1 FOR cnt = 1 TO 12 IF a(cnt) <= 10 THEN b(cnum) = a(cnt): cnum = cnum + 1 NEXT cnt PRINT "----- Результат работы: -----" FOR cnt = 1 TO cnum - 1 PRINT b(cnt) NEXT cnt END Quote (Revati) 2. Длина матрицы из трех строк и двух стоЛбцов. Найти в матрице максимальный элемент и число, характеризующее его встречаемость в матрице. Code CLS DIM a(3, 2) FOR i = 1 TO 3 FOR j = 1 TO 2 PRINT "Введите элемент ", i, " строки", j, "столбца" INPUT a(i, j) NEXT j NEXT i max = a(1, 1) FOR i = 1 TO 3 FOR j = 1 TO 2 IF max < a(i, j) THEN max = a(i, j) NEXT j NEXT i PRINT "Максимальный элемент: ", max cnt = 0 FOR i = 1 TO 3 FOR j = 1 TO 2 IF a(i, j) = max THEN cnt = cnt + 1 NEXT j NEXT i PRINT "Максимальное значение встречается ", cnt, " раз!" END
|
|
| |
| | |
| di-r13 | Дата: 16:57 17.11.2008 | Сообщение # 32 |
Новичок
Сообщений: 5
Статус: не в сети
| Здравствуйте вот учусь на программиста 1 курс, что бы здать экзамен надо принести программу на графику и тем более что бы там была анимация, надо что бы связанно с компом вот я рисунок набросал а вот анимацию не знаю как делать нам тем болие толком не объясняти тока объяснили как двигается точка и все.... Помогите сделать анимацию какую нить существенную желательно на мониторе и рядом гденить.... Code SCREEN 9 COLOR , 8 LINE (90, 85)-(220, 190), 12, B LINE (95, 90)-(215, 185), 12, B LINE (135, 190)-(175, 205), 12, B PAINT (136, 192), 6, 12 LINE (90, 205)-(220, 210), 12, B PAINT (91, 208), 6, 12 REM " blok" LINE (260, 120)-(320, 210), 11, B LINE (265, 130)-(315, 140), 11, B LINE (265, 145)-(315, 155), 11, B CIRCLE (290, 185), 5, 11 CIRCLE (290, 195), 3, 11 REM "klava" LINE (100, 225)-(250, 260), 11, B LINE (100, 230)-(250, 230), 11 LINE (100, 235)-(250, 235), 11 LINE (100, 240)-(250, 240), 11 LINE (100, 245)-(250, 245), 11 LINE (100, 250)-(250, 250), 11 LINE (100, 255)-(250, 255), 11
LINE (110, 225)-(110, 260), 11 LINE (120, 225)-(120, 260), 11 LINE (130, 225)-(130, 260), 11 LINE (140, 225)-(140, 260), 11 LINE (150, 225)-(150, 260), 11 LINE (160, 225)-(160, 260), 11 LINE (170, 225)-(170, 260), 11 LINE (180, 225)-(180, 260), 11 LINE (190, 225)-(190, 260), 11 LINE (200, 225)-(200, 260), 11 LINE (210, 225)-(210, 260), 11 LINE (220, 225)-(220, 260), 11 LINE (230, 225)-(230, 260), 11 LINE (240, 225)-(240, 260), 11 REM "mish" CIRCLE (290, 245), 16, 2, , , 1 CIRCLE (290, 238), 13, 2, 3.14, 6.28 LINE (290, 229)-(290, 245), 2 вот код помогите плз
Изменил di-r13 - Понедельник, 17.11.2008, 17:06
|
| |
| | |
| LKruglov | Дата: 15:55 20.11.2008 | Сообщение # 33 |
Новичок
Сообщений: 11
Статус: не в сети
| Помогите пожалуйста с такой простенькой задачкой: в выходной файл a.out вывести фразу "pobeda" спасибо
|
| |
| | |
| IwanS | Дата: 20:57 20.11.2008 | Сообщение # 34 |
Администратор
Сообщений: 1850
Статус: не в сети
| Code f = FREEFILE OPEN "file.txt" FOR OUTPUT AS #f PRINT #1, "pobeda" CLOSE #f
|
|
| |
| | |
| LKruglov | Дата: 18:53 21.11.2008 | Сообщение # 35 |
Новичок
Сообщений: 11
Статус: не в сети
| а что такое f=freefile? Добавлено (21.11.2008, 18:11) --------------------------------------------- open "file.txt" for output as #1 print #1,"pobeda" close #1 так тоже работает Добавлено (21.11.2008, 18:53) --------------------------------------------- почему если я пишу \open "a.in.txt"... \, он пишет \плохое имя файла\?
|
| |
| | |
| IwanS | Дата: 12:23 23.11.2008 | Сообщение # 36 |
Администратор
Сообщений: 1850
Статус: не в сети
| petr88, тебе ЛКруглов писал прогу: Code cls
input a input b print "1-summa; 2-raznost'; 3-proizvedenie; 4- delenie" input "deystvie", c
if c = 1 then f = a+b:print "summa", f :end if c = 2 then s = a-b:print "raznost", s :end if c = 3 then j = a*b: print "proizvedenie", j :end if c = 4 then if b <> 0 then k = a/b: print "delenie", k else print "delenie na nul" :end
|
|
| |
| | |
| ton_wallker | Дата: 16:59 23.11.2008 | Сообщение # 37 |
Новичок
Сообщений: 5
Статус: не в сети
| Здраствуйте! Помогите пожалста с задачей на qbasic, ибо с массивами у меня трабл Ввести матрицу a(5,5) Ввести матрицу b(5,5) Сложить элементы матриц a и b Переставить первую и третью строки матрицы a Найти максимальный элемент матрицы a Вывести на экран матрицу a Вывести на экран матрицу b Замечание: Нарушение норм правописания.
Изменил ton_wallker - Воскресенье, 23.11.2008, 17:03
|
| |
| | |
| IwanS | Дата: 00:43 24.11.2008 | Сообщение # 38 |
Администратор
Сообщений: 1850
Статус: не в сети
| Quote (ChaoTiK) Здравствуйте!!:) помогите пожалуйста с решением 2 задачек в QBASIK! Это легкая задача. Мы помогаем в решении только средних и сложных задачек. Подсказка: сделай перебор матрицы и заведи массив, равный количеству строк. Если текущий элемент матрицы меньше элемента массива с номером текущей строки, то присваиваем ему значение из матрицы. Quote (ton_wallker) Здраствуйте! Помогите пожалста с задачей на qbasic, ибо с массивами у меня трабл Ввести матрицу a(5,5) Ввести матрицу b(5,5) Сложить элементы матриц a и b Переставить первую и третью строки матрицы a Найти максимальный элемент матрицы a Вывести на экран матрицу a Вывести на экран матрицу b Подобная задача уже решалась в этой теме. Поищи. Quote (petr88) и все таки как записать B<>0 PRINT "na nol' nel'za delit'" ? Code INPUT "1 : ", A INPUT "2 : ", B INPUT "1+ 2- 3* 4/ : ", C IF C = 1 THEN F = A + B PRINT "symma ==", F END IF IF C = 2 THEN F = A - B PRINT "raznost' ==", F END IF IF C = 3 THEN F = A * B PRINT "Proizvedenie ==", F END IF IF C = 4 THEN IF B <> 0 THEN F = A / B: PRINT "4astnoe ==", F ELSE PRINT "div by zero'" END IF END IF
|
|
| |
| | |
| IwanS | Дата: 19:41 24.11.2008 | Сообщение # 39 |
Администратор
Сообщений: 1850
Статус: не в сети
| petr88, да у тебя тоже фигня, просто задачи такого типа ещё не встречались в этой теме, насколько я помню. Однако впреть ответ на такую задачу будет сам-знаешь-какой. Quote (ton_wallker) прсмотрел все посты, нашел решения на сложение (пост №3) и на нахождение максимального элемента (пост №47). Все остальное из моей задачи для меня загадка и как это объединить в одно? В матрицах я не селен,но в посте №2 человек просил сложить 2 матрицы, а в посте№3 решение для трех или нет? Воощем я запутался! Если не сложно скопипастите эти решения конкретно под мой случай Ну смотри: Code CLS DIM a(5, 5) DIM b(5, 5) DIM c(5, 5) DIM q(5) FOR i = 1 TO 5 FOR j = 1 TO 5 PRINT "Введите элемент ", i, " строки ", j, " столбца" INPUT a(i, j) NEXT j NEXT i
FOR i = 1 TO 5 FOR j = 1 TO 5 PRINT "Введите элемент ", i, " строки ", j, " столбца" INPUT b(i, j) NEXT j NEXT i
FOR i = 1 TO 5 FOR j = 1 TO 5 c(i, j) = a(i, j) + b(i, j) NEXT j NEXT i
max = a(1, 1)
FOR i = 1 TO 5 FOR j = 1 TO 5 IF max < a(i, j) THEN max = a(i, j) NEXT j NEXT i
FOR i = 1 TO 5 q(i) = a(1, i) a(1, i) = a(3, i) a(3, i) = q(i) NEXT i В конце в матрице c у тебя будет сумма а и в, в max - максимальный элемент из матрицы а, ну а в конце я меняю первую и третью строки.
|
|
| |
| | |
| ton_wallker | Дата: 20:09 24.11.2008 | Сообщение # 40 |
Новичок
Сообщений: 5
Статус: не в сети
| Спасибо IwanS, за решение с пояснениями. В конце я так понял осталось добавить print "матрица а" ; а print "матрица b" ; b END
|
| |
| | |
| IwanS | Дата: 21:27 24.11.2008 | Сообщение # 41 |
Администратор
Сообщений: 1850
Статус: не в сети
| Quote (ton_wallker) print "матрица а" ; а print "матрица b" ; b Code FOR i = 1 TO 5 FOR j = 1 TO 5 PRINT a(i, j) NEXT j NEXT i
FOR i = 1 TO 5 FOR j = 1 TO 5 PRINT b(i, j) NEXT j NEXT i
Изменил IwanS - Понедельник, 24.11.2008, 21:27
|
|
| |
| | |
| Booka13 | Дата: 19:25 25.11.2008 | Сообщение # 42 |
Новичок
Сообщений: 4
Статус: не в сети
| Понимаю...но не очень ппытаюсь:если используем двумерный массив,..N-число строк,M-число столбцов. выводим...потом вводим оценки(при этом надо чётко задать..допустим N до двух, M до трёх).потом вводим оценки. с этим более ли менее свсё ясно. только как сделать так,чтобы из всех введённых оценок программа нашла число пятёрок. (возможно, через деление на пять; но у меня не вышло) Добавлено (25.11.2008, 19:25) --------------------------------------------- ПОПРОБОВАЛА С ОДНОМЕРНЫМ МАССИВОМ...ПОЛУЧИЛА: 10 INPUT N,M 20 P=1 30 p=N*M 40 PRINT "P="; P 50 DIM C(P) 60 FOR I=1TO P 70 INPUT C(I) 80 NEXT I 90 FOR I=1 TO P 100 PRINT C(i) 110 NEXT I КАК ПЕРЕЙТИ К КОЛИЧЕСТВУ ПЯТЁРОК, НЕ ЗНАЮ....ПОЖАЛУЙСТА, ПОМОГИТЕ С ЭТИМ..ЕСЛИ ЕСТЬ КАКОЙ-ТО ДРУГОЙ ПУТЬ, ТО,ПОЖАЛУЙСТА,РАССКАЖИТЕ..
дурочка
|
| |
| | |
| IwanS | Дата: 22:24 25.11.2008 | Сообщение # 43 |
Администратор
Сообщений: 1850
Статус: не в сети
| Booka13, посмотри вот это: Code CLS INPUT "Введите кол-во вступительных экзаментов, кол-во студентов ", i, j DIM a(i, j) FOR q = 1 TO i FOR w = 1 TO j PRINT "Введите оценку студента #", w, " по экзамену #", q INPUT a(q, w) NEXT w NEXT q FOR q = 1 TO i FOR w = 1 TO j IF a(q, w) = 5 THEN max = max + 1 NEXT w NEXT q PRINT "Количество пятерок: ", max
|
|
| |
| | |
| Alex | Дата: 22:04 13.12.2008 | Сообщение # 44 |
Новичок
Сообщений: 1
Статус: не в сети
| В прямоугольной целочисленной матрице число строк не более 5,число столбцов не более 10 подсчитать кол-во элементов,равных нулю и сумму положительных элементов,а также выяснить в какой строке стоит минимальный элемент.
|
| |
| | |
| IwanS | Дата: 22:43 13.12.2008 | Сообщение # 45 |
Администратор
Сообщений: 1850
Статус: не в сети
| Quote (Alex) В прямоугольной целочисленной матрице число строк не более 5,число столбцов не более 10 подсчитать кол-во элементов,равных нулю и сумму положительных элементов,а также выяснить в какой строке стоит минимальный элемент. Code CLS RANDOMIZE TIMER DIM a(10, 14) minelem = 100 FOR i = 1 TO 10 FOR j = 1 TO 14 a(i, j) = INT(RND * 10) - 5 IF a(i, j) = 0 THEN zeroelem = zeroelem + 1 IF a(i, j) > 0 THEN polelem = polelem + a(i, j) IF minelem > a(i, j) THEN minelem = a(i, j): minstr = i NEXT j NEXT i PRINT "Zero elements: ", zeroelem PRINT "Kol-vo polozh elem ", polelem PRINT "Min elem nahoditsia v ", minstr, " stroke" Скоро Новый год, пора сдавать все долги в ваши учебные заведения. Весь декабрь будут приниматься к решению любые задачки, даже 2+2. Давайте сдадим все что можно в этом году. P.S: тема вновь подчищена. все сообщения не удаляются, а перемещаются сюда.
|
|
| |
| |
|