| Программирование на Qbasic |
| IwanS | Дата: 10:47 08.07.2008 | Сообщение # 1 |
Администратор
Сообщений: 1849
Статус: не в сети
| Всем привет! Продолжаем добрую традицию помогать всем посетителям в программировании на QBasic. Напоминаю, что у нас есть самоучитель по qbasic (1 часть и 2 часть). Ждем ваших задач и наших решений! Для большей наглядности вы можете прикрепить картинку с формулой из задачи. Для этого напечатайте формулу в Microsoft Word и нажмите кнопку PrtScr SysRq. После этого запускаем mspaint и нажимаем Правка -> Вставить. Выделяем область с формулой и нажимаем Копировать в файл. Теперь нажимаем Файл -> Открыть и пересохраняем нашу картинку в формате JPEG. Разрешено прикреплять картинки только в форматах JPEG или GIF! Техзадание - точное и четкое определение задачи, стоящей перед программистом. В техзадании должно содержаться достаточно сведений, чтобы человек мог написать адекватную запросу программу. При этом нужно уметь не просто перепечатать задание преподавателя, а понимать его смысл и быть готовым ответить на вопросы по заданию. Без нормального техзадания лично я помогать с программированием не буду! Строгому наказанию подлежит несоблюдение правил орфографии и пунктуации. Пишите грамотно, правильно расставляйте запятые. Иначе в коде мы тоже будем косячить так, что фиг разберешь, что там вообще написано!
Изменил IwanS - Четверг, 12.02.2009, 17:21
|
|
| |
| | |
| Paris | Дата: 15:37 15.06.2010 | Сообщение # 376 |
Новичок
Сообщений: 18
Статус: не в сети
| Очень нужна помощь!!! Осталась последняя задача, решение вроде написала, но она не работает, не могу понять, что не так... Найти максимальное и минимальное числа. Напечатать те элементы массива, которые в массиве находятся между ними. Например: если А = (2,4,-3,0,2,5,-2), результат: -3,0,2,5 (max=5, min=-3) Code CLS INPUT “Vvedite razmer massiva:”; n DIM a(n) FOR i=1 TO n PRINT “Vvedite”; I; “element massiva:”; INPUT a(i) NEXT i Min=0 Max=0 FOR i=1 TO n IF a(i)=max THEN imax=i IF a(i)=min THEN imin=i NEXT I IF imin < imax THEN imin=m: imax=b IF imin > imax THEN imin=b: imax=m FOR i=m TO b PRINT a(i); NEXT i С нахождением max и min пробем нет, а на вторую часть пишет ответ 0
_____________________________________________________________ ОЛОЛО
|
| |
| | |
| GreatEvilGod | Дата: 16:07 15.06.2010 | Сообщение # 377 |
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
| Попробуй вот так: Code CLS INPUT "Vvedite razmer massiva:"; n DIM A(n) FOR i = 1 TO n PRINT "Vvedite "; i; " element massiva:"; INPUT " "; A(i) NEXT i min = A(1) max = A(1) imin = 1 imax = 1 FOR i = 2 TO n IF A(i) > max THEN max = A(i): imax = i IF A(i) < min THEN min = A(i): imin = i NEXT i IF imin < imax THEN m = imin: b = imax IF imin > imax THEN b = imin: m = imax FOR i = m TO b PRINT A(i); NEXT i
Изменил GreatEvilGod - Вторник, 15.06.2010, 16:08
|
|
| |
| | |
| Paris | Дата: 16:24 15.06.2010 | Сообщение # 378 |
Новичок
Сообщений: 18
Статус: не в сети
| Всё замечательно! Спасибо за помощь!
_____________________________________________________________ ОЛОЛО
|
| |
| | |
| Студент | Дата: 10:24 16.06.2010 | Сообщение # 379 |
Новичок
Сообщений: 4
Статус: не в сети
| Люди помогите пжлст!!! Немогу сделать практическю работу(((((((((((( "Алгоритмы циклической структуры" Задания: разработать цикл и составить блок-схему. 1.Подсчитать значение функции y=2x/3 при изменении аргумента х от -12 до +1 2.Вычислить значение функции y=an/n для n, изменяющегося от 1 до 10, с шагом 1, a=2
|
| |
| | |
| IwanS | Дата: 10:26 16.06.2010 | Сообщение # 380 |
Администратор
Сообщений: 1849
Статус: не в сети
| Студент, http://admin-club.net/load/3-1-0-8
|
|
| |
| | |
| Студент | Дата: 10:42 16.06.2010 | Сообщение # 381 |
Новичок
Сообщений: 4
Статус: не в сети
| IwanS, неврубаюсь=(((((
|
| |
| | |
| GreatEvilGod | Дата: 22:51 16.06.2010 | Сообщение # 382 |
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
| Это как понимать, y=a? Quote (Студент) неврубаюсь=((((( А пробовал? Если да то выложи свой неработающий код.
|
|
| |
| | |
| Студент | Дата: 10:33 17.06.2010 | Сообщение # 383 |
Новичок
Сообщений: 4
Статус: не в сети
| если я бы пробывал то я не писал бы......если бы понимал я все это....то не обращался бы к вам) а так и понимай...написанно так в задании....
Изменил Студент - Четверг, 17.06.2010, 10:34
|
| |
| | |
| GreatEvilGod | Дата: 18:49 17.06.2010 | Сообщение # 384 |
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
| Quote (Студент) если я бы пробывал то я не писал бы Вот, то-то и оно! Но ты даже не пробовал... А ведь задачки то элементарные... Quote (Студент) 1.Подсчитать значение функции y=2x/3 при изменении аргумента х от -12 до +1 Code CLS FOR x = -12 TO 1 y = x * 2 / 3 PRINT "X = ", x, " Y = ", y NEXT x Quote (Студент) 2.Вычислить значение функции y=an/n для n, изменяющегося от 1 до 10, с шагом 1, a=2 Code CLS a = 2 FOR n = 1 TO 10 y = a * n / n PRINT " n = ", n, " y = ", y NEXT n Хотя здесь строчку y=a*n/n логичнее всего заменить на y=a*n/10... А вообще это уже не смешно! Люди, вы когда просите помощи покажите что вы сами пытались разобраться со своей проблемой, как это сделала Paris, пусть даже и кривой и неработающий, но хоть какой то код выкладывайте, или уже честно пишите, что то вроде этого: "мне это программирование не надо я учусь на филолагическом факультете, а нас заставляют решать задачки помогите пожалуйста"... Просто от фразы: "я пытался (-ась) понять но не могу" уже честно говоря подташнивает.
Изменил GreatEvilGod - Четверг, 17.06.2010, 18:50
|
|
| |
| | |
| Студент | Дата: 05:06 18.06.2010 | Сообщение # 385 |
Новичок
Сообщений: 4
Статус: не в сети
| GreatEvilGod ну чтоты ругаешься? просто ща учусь на первом курсе....а перейду потом во втором курсе на просто ремон компов и сетей.....а щас учусь на это и на программирование......я не любблю програмирование...так как не очень рублю в нем) а так спасибо большое:) и вообщето мне надо не на кубесике)))) а просто выписать решение и блок схему))))
Изменил Студент - Пятница, 18.06.2010, 05:09
|
| |
| | |
| GreatEvilGod | Дата: 06:41 18.06.2010 | Сообщение # 386 |
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
| Quote (Студент) и вообщето мне надо не на кубесике)))) И опять не понял...Если тебе надо научиться "не на QBasic" то ты не прав, т.к. разницы нет какой язык начинать учить, главное понять общие принципы, а синтаксис языка это уже дело пятое. Если же тебе нужно было решение "не на QBasic" то зачем писал в эту тему? Quote (Студент) а просто выписать решение и блок схему)))) Что значит просто выписать решение? Решение на чем? А блок-схемы я принципиально не составляю так как для больших проектов это не целесообразно по времени, а для маленьких по здравому смыслу.
|
|
| |
| | |
| IwanS | Дата: 12:49 18.06.2010 | Сообщение # 387 |
Администратор
Сообщений: 1849
Статус: не в сети
| Студент, просто ради интереса - вам не стыдно? Программы в 3 строки, а вы пишите "да я и не разбирался!" и при этом учитесь на программиста. GreatEvilGod сказал все правильно и по существу, я лишь добавлю, что для того, чтобы быть программистом, надо помимо профессиональных знаний иметь чисто человеческие качества, такие как любознательность и упорность, - вас никто программировать никогда не научит, для этого нужна личная практика и попытки самому разобраться.
|
|
| |
| | |
| Paris | Дата: 18:31 22.06.2010 | Сообщение # 388 |
Новичок
Сообщений: 18
Статус: не в сети
| Я, наверно, уже надоела со своими просьбами о помощи, но всё же... ПОМОГИТЕ ПОЖАУЙСТА!! Составила программу, вроде бы всё нормально, пошагово проверила все нужные числа отбирает.. Но в итоге выводит ответ 0.. Что неверно?! Программа дожна искать произведение четных эементов в диапазоне от 3 до 13. К примеру: А = (2,4,5,2,6,-2,20,8) результат: 4 * 6 * 8 Code CLS INPUT n DIM a(n) FOR i=1 to n PRINT "vvedite"; i; "element massiva"; INPUT a(i) NEXT i s=1 FOR i = 1 TO n IF a(i) < 3 OR a(i) > 13 THEN GOTO 40 IF FIX(a(i) / 2) <> a(i) / 2 THEN GOTO 40 a(i) = p s = s * p 40 NEXT i PRINT "S="; s
_____________________________________________________________ ОЛОЛО
Изменил Paris - Вторник, 22.06.2010, 18:41
|
| |
| | |
| GreatEvilGod | Дата: 19:06 22.06.2010 | Сообщение # 389 |
Модератор
Сообщений: 238
Награды: 4
Статус: не в сети
| Quote (Paris) Я, наверно, уже надоела со своими просьбами о помощи Нет, более того именно после вашего поста №376 я установил себе "Free Basic" + "Free Pascal" + "Geany" что бы удобнее было помогать НОРМАЛЬНЫМ пользователям... (Ибо убедился что они еще есть.) Code CLS INPUT "n = ", n DIM a(n)
FOR i=1 to n PRINT "vvedite "; i; " element massiva"; INPUT " ", a(i) NEXT i s=1
FOR i = 1 TO n IF (a(i) > 3) AND (a(i) < 13) AND (FIX(a(i) / 2) = a(i) / 2) THEN s = s * a(i) NEXT i
PRINT "S = "; s
Изменил GreatEvilGod - Вторник, 22.06.2010, 19:11
|
|
| |
| | |
| Paris | Дата: 19:23 22.06.2010 | Сообщение # 390 |
Новичок
Сообщений: 18
Статус: не в сети
| Премного багодарна и за решение и за нормального пользователя)))))
_____________________________________________________________ ОЛОЛО
|
| |
| |
|